Tags give the ability to mark specific points in history as being important
-
v0.1.2
Release: Agate v0.1.2fca0664d · ·v0.1.2 — Fix buffer leak and null pointer dereference Fixed: - Buffer leak in Diff#patch and Patch#to_s when an exception was raised after git_patch_to_buf but before git_buf_dispose - Segfault in Error.last when no libgit2 error was pending (null pointer dereference) Added: - Error.check! — raises the last error if one is pending (replaces Error.raise?) - Error.clear — wraps git_error_clear() to reset pending error state Changed: - TagCollection#exist? is now O(1) via git_reference_lookup instead of iterating all tags Deprecated: - Error.raise? — use Error.check! instead (emits compile-time warning)
-
v0.1.1
Release: Agate v0.1.108e08341 · ·v0.1.1 — Fix heap corruption on libgit2 1.7.x Fixed: - Heap corruption on Ubuntu 24.04 / glibc 2.39 / libgit2 1.7.2 caused by GC finalizers double-freeing recycled malloc addresses (closes #2) - Memory leak in Commit.alloc_c_sigs on second allocation failure - to_strarray lifetime hazard (now block-scoped with_strarray) - InitOptions string lifetime (retained as instance variables) - Exception safety in Repository#each_id and Tree#walk C callbacks - Missing #hash on Commit, Object, Reference, Repository 40/40 consecutive passes on Ubuntu 24.04 with libgit2 1.7.2 (previously crashed ~60-80% of runs).
-
v0.1.0
Release: Agate v0.1.0996c252a · ·Agate v0.1.0 — Crystal bindings for libgit2 First public release. - Crystal bindings for libgit2 (repository, commit, tree, blob, reference, branch, tag, remote, index, diff, patch, blame, config, and more) - Support for Crystal >= 1.13.0, libgit2 >= 1.7.2 (>= 1.9 recommended) - Compile-time libgit2 version detection (1.7.x / 1.9.x) - 631 specs, zero unreachable public methods - Cross-platform: macOS, Alpine Linux, Ubuntu 24.04