# Roadmap * Configuration * [X] Parsing * [ ] Includes * [ ] Writing * [X] Object IDs * [X] SHA-256 * [X] SHA-1 * [X] Object model (incl., parse, serialize) * [X] Blobs * [X] Trees * [X] File mode definitions * [X] Entry insertion ordering * [X] Traversal * [ ] Pathspec * [X] Commits * [X] Annotated tags * [X] Stored objects * Further cryptography * [ ] OpenPGP signatures * [ ] SSH signatures * [X] Reading object stores * [X] Pluggable interface * [X] Chain lookup store * [X] Bundle store * [X] MRU lookup store * [X] Reading loose objects * [ ] Promisor remotes * [ ] Alternates * [X] Reading packed objects * [X] Pack index lookups * [X] Delta caching * [X] Delta application * [ ] Pack-wide bloom filters * [ ] Multi pack indexes * [ ] Writing objects * [X] Loose object writing * Misc bundle features * [ ] Writing bundles * Misc packfile features * [X] Writing pack indexes * [X] Writing reverse pack indexes * [ ] Writing packfiles * [ ] Writing thin packs * [ ] Compressing deltas * [ ] Delta islands * [ ] Pack verification * Compression * [ ] Plugabble compression algorithms * [X] ZLIB support * [ ] DEFLATE optimizations * [X] Adler-32 SIMD optimizations * [X] References * [X] Detached references * [X] Symbolic references * [X] Name verification/resolution * [X] Annotated tag ref peeling * [ ] Describe * [ ] Revision syntax * [ ] Namespaces * [ ] Replace refs, grafts * [X] Reference stores * [X] Chain lookup store * [X] Files reference store * [X] Reading loose refs * [X] Reading packed refs * [X] Atomic writes * [X] Batched writes * [ ] Packing refs * [ ] Reflogs * [ ] Reftable * Reachability * [X] Have/wants walks * [X] Is ancestor * [X] Merge bases * [X] Commit graph * [X] Changed path bloom filters * [X] Chained graphs * [ ] Writing * [ ] Reachability bitmaps * [ ] For a single packfile * [ ] For Multi pack indexes * Misc repository * [X] Opening relevant stores * [ ] Creating repositories * [ ] Filter branch/repo * [ ] Fast import/export * [ ] Git notes * [ ] Git attributes * [ ] Pseudorefs * Integrity and maintenance * [ ] Fsck * [ ] Repacking * [ ] Garbage collection * [ ] Cruft packing * [ ] Expiration * [ ] Grep * [ ] Submodules * [ ] Worktrees * [ ] Archive * [ ] LFS * [ ] Revision log walk * [ ] Topological ordering * [ ] Date ordering * [ ] Path-limited * [ ] Diffing * [ ] Blame * [ ] Annotate * [X] Tree diffing * [ ] Similarity/rename/copy detection * [ ] Multi-way diffs * [ ] Patch-id * [ ] Range-diff * Blob diffing * [ ] Word diffs * [X] Myers * [ ] Patience * [ ] Histogram * [ ] Tree-way * [ ] Format patch * [ ] Apply/amend patch * Branch integration/rewrite/etc methods * [ ] Merge * [ ] Recursive * [ ] ORT * [ ] Rebase * [ ] Cherry pick * [ ] Revert * [ ] Rerere * Network protocols and related features * [X] pkt-line * [X] side-band-64k * [X] Ingesting packfiles * [X] Quarantine areas * [X] Un-thinning thin packs * Version 0, version 1 protocols * [X] Server side * [X] Reference advertisement * [X] Capability negotiation * [X] Receive * [ ] "Upload" * [ ] Client side * [ ] Send * [ ] Fetch * Version 2 protocol * [ ] Server side * [ ] "Upload" * [ ] Client side * [ ] Fetch * Protocol-independent logic * Common * [X] Progress meters * Client side * [ ] Refspec * [ ] Fetch * [ ] Partial clones * [ ] Object filtering * [ ] Bundle URI * [ ] Packfile URI * [ ] Shallow clones * [ ] Send * Server side * [ ] Upload * [ ] Object filtering * [X] Receive * [ ] Signed push * Hooks * Slots * [ ] After ref negotiation * [X] After object unpacking * Provided samples * [X] Chain * [X] Force push rejection * [ ] Working trees * [ ] Stashing * [ ] Ignore rules * [ ] Checkouts * [ ] Sparse checkouts * [ ] CR/LF conversions * [ ] File mode conversions * [ ] Indexes * [ ] Conflict resolution * [ ] Split index * [ ] Sparse index * [ ] Untracked cache * [ ] Status listing * [ ] Filesystem monitor * [ ] Worktree * [ ] Common directory * [ ] Worktree-specific references * Research * [ ] Dynamic packfiles * [ ] Compaction; page-sized hole punching * [ ] Dynamic indexing * [ ] Linear/extendible/spiral hashing * [ ] Dynamic reachability bitmaps ## Not planned * CLI tools * Clone * Anything reasonably considered "porcelain" * Credential helper * Transports * Auth * Remote management * Bisect * Any use of env vars * Repository discovery walking