tree 21fddfea7ccc9824ca39060e61706cf3b032febf
parent 324f0eecb63da00e26977f3fe7561756df91b2d2
author Vicent Marti <tanoku@gmail.com> 1310594508 +0200
committer Vicent Marti <tanoku@gmail.com> 1310606768 +0200

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
