[ANNOUNCE] libgit2 v0.14.0 "watermelon wheat"
- From
Vicent Marti <vicent@github.com>
- Date
- Jul 14, 2011, 01:34 UTC
- Message-ID
- <CAFFjANRSVJvex9v_2E_QRdJW951+CZF_w4KS_w=afYU+F9H46g@mail.gmail.com>
Hello everyone,
this minor release of libgit2 comes very feature packed. Exciting.
The release has been tagged at:
https://github.com/libgit2/libgit2/tree/v0.14.0
A dist package can be found at:
https://github.com/downloads/libgit2/libgit2/libgit2-0.14.0.tar.gz
Updated documentation can be found at:
http://libgit2.github.com/libgit2/
The full change log follows after the message.
Thanks as always, Vicent
========================
libgit2 v0.14.0, "watermelon wheat"
This a very packed minor release. The usual guilty parties have been working harder than usual during the holidays -- thanks to everyone involved!
As always, the updated API docs can be found at:
http://libgit2.github.com/libgit2/
NEW FEATURES:
- New OS abstraction layer. This should make all POSIX calls much more reliable under Windows.
- Much faster writes of simple objects (commits, tags, trees) to the ODB via in-memory buffering and direct writes, instead of streaming.
- Unified & simplified API for object creation. All the `create` methods now take Objects instead of OIDs to ensure that corrupted (dangling) objects cannot be created on the repository.
- Fully Git-compilant reference renaming (finally!), with the already existing `git_reference_rename`.
- Deletion of config keys with `git_config_delete`
- Greatly improved index performance when adding new entries
- Reflog support with the `git_reflog` API
- Remotes support with the `git_remote` API
- First parts of the Networking API, including refspecs and the transport abstraction layer. (Note that there are no actual transports implemented yet)
- Status support with the `git_status_foreach` and `git_status_file` functions.
- Tons of bugfixes, including the outstanding bug #127 (wrong sort ordering when querying tree entries).
KNOWN ISSUES:
- The reference renaming code leaks memory. This is being worked on as part of a reference handling overhaul.
- The tree-from-index builder has abysmal performance because it doesn't handle the Treecache extension yet. This is also being worked on.
FULL API CHANGELOG:
- removed, * modified, + added
- git_commit_create_o - git_commit_create_ov - git_reference_create_oid_f - git_reference_create_symbolic_f - git_reference_rename_f - git_tag_create_f - git_tag_create_fo - git_tag_create_o
* git_commit_create * git_commit_create_v * git_config_foreach * git_reference_create_oid * git_reference_create_symbolic * git_reference_rename * git_tag_create * git_tag_create_frombuffer
+ git_clearerror + git_config_delete + git_index_uniq + git_odb_hashfile + git_oid_fromstrn + git_reflog_entry_byindex + git_reflog_entry_committer + git_reflog_entry_msg + git_reflog_entry_oidnew + git_reflog_entry_oidold + git_reflog_entrycount + git_reflog_free + git_reflog_read + git_reflog_write + git_refspec_src_match + git_refspec_transform + git_remote_connect + git_remote_fetchspec + git_remote_free + git_remote_get + git_remote_ls + git_remote_name + git_remote_url + git_repository_head_detached + git_repository_head_orphan + git_status_file + git_status_foreach + git_tag_create_lightweight + git_tag_list_match + git_transport_new