Changelog

2.1.0 - 2023-06-04

Features

  • add support for libgit2 1.6

Minor Fixes

  • add OSX dynamic library discovery

  • set detached head when checking out a commit

  • expose BASIC-ERROR symbol, it was made private for no good reason

  • detect symbolic tags with TAG-P

Tests

  • test checkout of reference

2.0.0 - 2023-01-05

Features

  • add support for libgit2 0.27, 0.28, 1.0, 1.1, 1.2, 1.4, 1.5

  • add REACHABLE-FROM API for inspecting the graph.

  • add MESSAGE-TRAILERS API for parsing commit message trailers.

  • unify the git tag creation API

  • pass credentials through to remote-push

  • expose libgit2 init functions

  • add git checkout method

  • add branch make-object method

Minor Fixes

  • force a GC after tests

  • convert some types to size-t

  • translate to foreign type

  • proxy options translation

  • update more structs to support libgit 1.3.0

  • move remote callbacks to fetch remotes

  • load cffi before building docs

  • update remote callbacks location

  • bug where missing USER or USERNAME would error

  • backwards compatible support for libgit2

  • only implemented in some versions of libgit2

  • expose missing error symbols

  • make the get-object return a commit if looking for a commit

  • remove duplicate git-dif-options-version constant

  • rename COMMIT to TARGET

  • FETCH-OPTIONS struct is now freed

  • disable follow redirects for old versions

  • bug in definition of checkout generic

Documentation

  • produce all formats and update urls

  • make documentation building more portable

  • add documentation for reference logs

  • exposed documentation or the git index entries method

1.3.0 - 2022-07-03

  • updated to work with libgit2 1.3.0

0.20.0 - 2014-06-18

  • updated to work with libgit2 0.20.0.

  • re-factored some of the internals to work better with CFFI.

  • updated for asdf 3

  • updated and improved diff interface

0.19.0 - 2013-10-23

  • added initial diff interface

  • added more CFFI like translations to string lists

  • added groveling for some platform specific datatypes

0.18.1 - 2013-07-02

  • get-tree has been renamed to commit-tree

  • re-factored index functionality

  • documentation improvements

  • now exporting of error symbols.

  • removed with-revisions

  • updated revision-walker, it now uses commit objects not direct oids. It also uses conditions handling instead of return values to stop iteration.

0.18.0 - 2013-06-13

  • Changed numbering to match libgit2.

  • support for multiple start revisions when doing revision walk [Willem]

  • Git blob interface [Willem]

  • Conversion to new CFFI struct interface [Willem]

  • Signature translation to native types [Willem]

  • New Tree API using a mixin [Russell]

  • Implementation of remotes [Willem]

  • OID Translation to native types [Willem]

  • initial implementation of narrative documentation [Willem]

  • Complete re-factoring of public API, changes since 0.1 Removed symbols:

    • git-repository

    • git-repository-index

    • git-repository-init

    • git-repository-open

    • git-repository-free

    Renamed Symbols:

    • git-commit-create -> make-commit

    • git-commit-author -> commit-author

    • git-commit-message -> commit-message

    • git-commit-committer -> commit-committer

    • git-commit-create -> commit-create

    • git-commit-create -> commit-create

    • with-git-repository-index -> with-repository-index

    • ensure-git-repository-exist -> ensure-repository-exist

    • with-git-repository -> with-repository

    Most other changes involved removing git- prefixes from symbols.

0.1 - 2012-01-20

  • basic support for the libgit2 features like creating a new repository and listing it’s commit history [Russell]