Skip to content

chore: release v0.0.2 - #1

Merged
MagicalTux merged 1 commit into
masterfrom
release-plz-2026-10-17T23-29-13Z
Oct 19, 2026
Merged

MagicalTux merged 1 commit into
masterfrom
release-plz-2026-10-17T23-29-13Z

Conversation

@MagicalTux

@MagicalTux MagicalTux commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

🤖 New release

  • puregit: 0.0.1 -> 0.0.2 (⚠ API breaking changes)

⚠ puregit breaking changes

--- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field ---

Description:
A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.51.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field IndexEntry.extended_flags in /tmp/.tmp5lYi0t/puregit/src/index.rs:78
  field FetchArgs.deepen_since in /tmp/.tmp5lYi0t/puregit/src/protocol/v2.rs:173
  field FetchArgs.deepen_not in /tmp/.tmp5lYi0t/puregit/src/protocol/v2.rs:175
  field FetchArgs.deepen_relative in /tmp/.tmp5lYi0t/puregit/src/protocol/v2.rs:178
  field DaemonRequest.protocol_version in /tmp/.tmp5lYi0t/puregit/src/server/daemon.rs:54
  field FetchRequest.deepen_since in /tmp/.tmp5lYi0t/puregit/src/protocol/mod.rs:187
  field FetchRequest.deepen_not in /tmp/.tmp5lYi0t/puregit/src/protocol/mod.rs:190
  field FetchRequest.deepen_relative in /tmp/.tmp5lYi0t/puregit/src/protocol/mod.rs:196

--- failure enum_variant_added: enum variant added on exhaustive enum ---

Description:
A publicly-visible enum without #[non_exhaustive] has a new variant.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.51.0/src/lints/enum_variant_added.ron

Failed in:
  variant ObjectFilter:TreeNone in /tmp/.tmp5lYi0t/puregit/src/object_filter.rs:21
Changelog

0.0.2 - 2026-10-18

Fixed

  • (transport) retry reads/requests interrupted by a signal (EINTR)
  • (client) clone writes the index; filter cap; HTTP v2 push/sha256/deepen
  • (server) git-compatible upload-pack negotiation, shallow, include-tag, atomic
  • (protocol) parse v1/peeled adverts, deepen-since/not/relative, v2 unshallow
  • (cli) keep Windows separators in a local clone's origin URL
  • (init) write core.symlinks=false off Unix
  • (config) read and write git's value quoting and escapes
  • (cli) make the puregit CLI output and exit codes git-compatible
  • (diff) emit git's hunk header ranges
  • (worktree) checkout/reset --hard/merge keep index and work tree in sync
  • (status,add) stage symlinks as links, compare modes, honor intent-to-add
  • (commit-graph) git's generation/date bit layout and octopus EDGE parents
  • (walk) pick the best merge base and walk history in git's date order
  • (index) read/write v4, keep extended flags, honor skipHash, drop stale cache-tree
  • (pack) resolve delta chains iteratively and accept git's deep chains

Other

  • (interop) faster fixtures, no TCP half-close, skip git daemon client on Windows
  • (interop) wire-protocol interop against the real git CLI
  • (interop) model symlinks the Git for Windows way off Unix
  • exclude interop/ from the published package
  • run the libgit2 interop harness on Linux, macOS and Windows
  • (interop) libgit2 interop harness in interop/libgit2
  • (interop) CLI parity tests against the real git binary
  • (interop) on-disk format interop against the real git CLI, both directions
  • require git for interop tests
  • relicense under MIT only
  • add CI, crates.io, docs.rs and license badges
  • keep test fixtures byte-exact on Windows

Added

  • Initial scaffold of the pure-Rust git engine.
    • no_std + alloc core: object ids (SHA-1/SHA-256), the blob/tree/commit/tag
      object model, loose + in-memory object databases, zlib compression over
      compcol, packfile reading with OFS_DELTA/REF_DELTA resolution and v2
      .idx lookup, references (loose + packed-refs + symrefs), the DIRC
      staging index, the git config parser, and the sans-IO smart protocol
      (pkt-line, capabilities, ref advertisement, fetch request).
    • std shell: the Vfs trait and its StdFs backend, Repository
      (init/open, object I/O, HEAD, config/index), and worktree checkout.
    • Feature-gated scaffolds for the HTTP (rsurl) and SSH (puressh)
      transports and the upload-pack/receive-pack server handlers.
    • A puregit CLI (git-compatible front end) with init, hash-object, cat-file, and rev-parse.
  • Project README.md and a milestone-based ROADMAP.md.
  • Combined loose + packed object database with cross-backend delta resolution;
    reachability/RevWalk; pack writing (PackWriter + .idx) and pack ingest
    (explode_pack); write-tree from the index.
  • Local porcelain: Repository::add_path / commit, and CLI add /
    write-tree / commit / log / unpack-objects. Output is byte-compatible
    with canonical git (passes git fsck).
  • Smart transfer protocol: upload_pack and receive_pack server handlers, a
    client fetch / clone / push, and an in-process LocalTransport.
  • Smart-HTTP(S) transport over rsurl — clones real repositories from GitHub
    over HTTPS (pure-Rust TLS). CLI git clone <url>.
  • SSH transport over puressh (single owned exec channel; strict
    known_hosts; password auth). CLI clone routes ssh:// and scp-style URLs.
  • Fixed an inflate_capped infinite loop (compcol's capped decoder spins at the
    exact-size cap with trailing pack bytes); reimplemented with a bounded
    scratch-buffer loop, plus inflate_exact for packfile iteration.


This PR was generated with release-plz.

@MagicalTux
MagicalTux force-pushed the release-plz-2026-10-17T23-29-13Z branch 8 times, most recently from 8295042 to 722a0bb Compare October 18, 2026 00:17
@MagicalTux
MagicalTux force-pushed the release-plz-2026-10-17T23-29-13Z branch from 722a0bb to 10db39e Compare October 18, 2026 00:42
@MagicalTux
MagicalTux merged commit be47dda into master Oct 19, 2026
9 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant