== 2.5.0 / 2012-04-22 * Minor Enhancements * 100% Git-compliant actor creation. * Handle newlines in author/committer. * Grit::Git check_applies/patch related methods take command hash. * Tags api now resty. * Remove all the grit jruby hacks in favor of updated posix-spawn. * Add Grit::Commit#patch_id. * Support large packfiles with index v2. * Bug Fixes * Fix Loose Objects with non-ASCII content in Ruby 1.9 * Fix bugs in Grit::Repo #objects, #commit_objects, and #diff_objects due to passing multiple arguments in a single argv element. * ruby rev_list passes --verify to native rev_parse in fallback. * Git ls-tree raises on non-zero exit. == 2.4.1 / 2011-01-13 * Minor Enhancements * Grit::Process is used to implement Grit::Git#check_applies, Grit::Git#get_patch, and Grit::Git#apply_patch. == 2.4.0 / 2011-01-06 * Major Enhancements * Add support for parsing git notes. * Add `git cat-file --batch` support with Grit::Repo#batch. * Grit::Process is a custom written external command invocation heavily optimized for running git commands quickly and efficiently. * Grit::Git#native takes an :input option for piping data into git commands * Grit::Git#native takes an :env option for setting the git child process's environment without futsing with the parent's environment. * Grit::Git#native takes an :chdir option for setting the current working directory (PWD) of the git child process. * Grit::Git#native takes an :raise => true option that causes an exception to be raised when the git child process exits non-zero. * Minor Enhancements * Grit::Index#commit supports custom committer/author names and dates. * Performance enhancements with internal command output buffering. * Reduce fork/execs needed to execute a smoke command from between 3-4 to 1. * Git child processes are now properly parented under the grit Ruby process instead of being dropped under init. * Bug Fixes * Zero-Padding issue in Grit::Index was fixed. * Fix issue where Repo#diff skips the first diff (#42) * Fix Repo.init_bare for repo names not ending in .git (#40) * Fix a variety of process hangs when git stderr output or data written to stdin exceeded PIPE_BUF bytes. == 2.3.2 / 2011-01-06 * Erroneously released. SemVer violation and misc release screwups. == 2.3.1 * Skipped for unknown reasons. == 2.3.0 / 2010-09-29 * Minor Enhancements * Add Grit::Repo.init. * Bug Fixes * Fix Ruby 1.9 compatibility (#24). == 2.2.1 / 2010-08-23 * Bug Fixes * Fix minor regression due to the changed default values in Grit::Index#commit. == 2.2.0 / 2010-08-19 * Minor Enhancements * Add Grit::Index#delete to allow deletions of files from the index. == 2.1.0 / 2010-08-04 * Major Enhancements * Add support for parsing annotated tag objects. * Add Grit::Repo#recent_tag_name for getting the latest tag name that is reachable in a commit. * Grit::Diff tracks renames properly if given the :M option. * Grit::Commit#diffs and Grit::Commit.diffs both take a git options hash that is passed to `git diff`. * Minor Enhancements * Allow diff to only take one sha * Add merge commit diff support * Pass along the options to Real Git on a rev-parse miss * Raise NoSuchPath with no tree in ls_tree_path * Make pure-ruby `ls-tree -r` work with commits * Implement select_existing_objects * Switch to RakeGem for build management * Bug Fixes * Add no_quote option for fixing tag listings. * Raise custom exceptions on invalid tree objects. * Fix Repo#diff (was throwing an error). == 2.0.0 / 2009-10-27 * Major Enhancements * All filesystem calls have been moved into Grit::Git to allow proxying * Non-code changes * Removed all trailing whitespace in code files * Bug Fixes * Repo.archive_tar_gz now passes -n option to gzip to be idempotent * Fix RubyGit's diff to detect additions and deletions [github.com/defunkt] == 1.1.1 / 2009-03-31 * Changes * Don't include test directory in gem package (it's too big) == 1.1.0 / 2009-03-29 * Backwards breaking changes * Diff#a_commit -> Diff#a_blob, Diff#b_commit -> Diff#b_blob * Major Enhancments * Ruby 1.9 compatibility [github.com/chapados, github.com/js] * Minor Enhancements * Convert readme to markdown * Added a shortcut for commit_stats as Commit#stats [github.com/js] * Add a #basename method to Submodule, Blob and Tree for retrieving the name [github.com/js] * Make Grit::Submodule grasp the concept of non-unix lineendings [github.com/js] * Added Repo#commit_deltas_from [github.com/js] * do some mild shell escaping when running commands [github.com/js] * Added two shortcut methods to Tree, for picking trees/blobs only [github.com/Voker57] * Added <=> method to Blob, needed for sorting tree [github.com/Voker57] * Make the number of bytes to be read from git's stdout configurable [github.com/josb] * Repo.archive_to_file accepts extra parameters making plain zipping possible [github.com/darwin] * Handle commit stats that summarize commits with binary changes [github.com/therealadam] * Add a DiffStat class for easy access to diff stats [github.com/therealadam] * Don't split git logs that contain blank lines into two CommitStats [github.com/therealadam] * Add DiffStat#net for total change count [github.com/therealadam] == 1.0.3 / 2009-02-13 * Minor Enhancements * Added Grit::Commit#to_patch for plaintext formatted patches. * Fixed Grit::Tag to work with annotated tags. == 1.0.2 / 2009-02-10 * Minor Enhancements * Implement Grit.version to use VERSION.yml file == 1.0.1 / 2009-02-10 * Bug Fixes * Add diff-lcs as a dependency == 1.0.0 / 2009-01-27 * Tons of awesome in here. Also, we suck at updating the history. * Let's do better at that from now on. == 0.8.3 / 2008-07-07 * Capture stderr and log if debug is true (rsanheim) == 0.8.2 / 2008-06-27 * Allow user provided logger (rsanheim) == 0.8.0 / 2008-04-24 * Lots of fixes and additions == 0.7.0 / 2008-01-07 * First public release!