JACQUESG / Git-Raw-0.40 / Changes

Revision history for Git-Raw

0.40      2014-06-25 21:05:55SAST+0200 Africa/Johannesburg

 - Tag -> tagger() now returns undef if a tag doesn't have a tagger instead
    of crashing (GH#103, GH#104)

0.39      2014-06-12 18:06:58SAST+0200 Africa/Johannesburg

 - Fixed Windows specific path comparison test case (verified this time)

0.38      2014-06-11 20:03:53SAST+0200 Africa/Johannesburg

 - Fixed Windows specific path comparison test case
 - (Possibly) Fix cross-compilation issues with ARM architectures

0.37      2014-06-08 17:25:17SAST+0200 Africa/Johannesburg (TRIAL RELEASE)

 - Removed Index -> add_conflict() (Incompatible change) (GH#97)
 - Index -> read() now takes an optional force argument (GH#97)
 - Added Raw -> features() method. This may be used to query the features
    built into libgit2 (and thus Git::Raw).
 - Added Repository methods (GH#97):
    + Repository -> cherry_pick()
    + Repository -> revert()
 - Update libgit2 to df19219 (GH#99,GH#102)
 - Added Index methods (GH#100):
    + Index -> capabilities()
    + Index -> path()
    + Index -> add_all()
    + Index -> remove_all()
 - Improved documentation (GH#101)
 - Improved the error model (GH#101)
    All errors are now Git::Raw::Error objects. Extended error information
	provided by libgit2 may be queried (code/category/message) via the
	corresponding accessor. All existing code should continue to work as is
	(via "" and bool overloads).
 - Added Error methods (GH#101):
	+ Error -> code()
	+ Error -> category()
	+ Error -> message()
 - Removed constants from Filter (Incompatible change) (GH#101):
   They are now located in the Error namespace.

0.36      2014-05-02 15:59:18SAST+0200 Africa/Johannesburg (TRIAL RELEASE)

 - Repository -> reset() now understands a 'hard' reset (GH #96)
 - Removed the unused/unimplemented 'completion' callback type from Repository
   and Remote (GH #96)
 - Update libgit2 to 89e9c16
 - Threaded libgit2 is now disabled when using the SunPro compiler (even with pthreads)
 - Should now build on older versions of MidnightBSD and Cygwin
 - Hopefully now builds against libssh2 if its available on OpenBSD

0.35      2014-04-28 18:43:14SAST+0200 Africa/Johannesburg

 - Added support for building with compilers other than gcc/clang (GH #93):
    + Windows: MSVC
    + Solaris: SunPro
 - Silenced a number of warnings (GH #93)
 - libgit2 is now built with the correct bits setting when building a 32-bit
    version on a 64-bit system (GH #93)
 - Remote -> is_url_supported() test cases only run when network testing
    is enabled. (GH #93)
 - Set core.autocrlf to "true" in the test repository for diff tests. This
    fixes test cases failures on Windows (GH #93)
 - Use file:/// on Windows for local push tests. (GH #93)
 - Users can now specify the OpenSSL and/or libssh2 to use as argument
    to Makefile.PL (GH #94):
    + --with-openssl-include
    + --with-openssl-libs
    + --with-libssh2-include
    + --with-libssh2-lib
 - Improve reliability of time-dependent tests

0.34      2014-04-27 12:38:41SAST+0200 Africa/Johannesburg (TRIAL RELEASE)

 - Add Repository -> message() method (GH#72) (thanks, @jacquesg!)
 - Add Reference methods (GH#73) (thanks, @jacquesg!):
    + Reference -> shorthand()
    + Reference -> is_tag()
    + Reference -> is_note()
 - Enable libgit2 threading support (GH#74) (thanks, @jacquesg!)
 - Add support for push callbacks (GH#75) (thanks, @jacquesg!)
 - Update to libgit2 4f9d541 (GH#76) (GH#78) (GH#85) (thanks, @jacquesg!)
 - Add support for SSH interactive login (GH#78) (thanks, @jacquesg!)
 - Add Push -> update_tips() method (GH#79) (thanks, @jacquesg!)
 - Make clone tests more robust (GH#79) (thanks, @jacquesg!)
 - Add Repository -> is_head_detached() (GH#83) (thanks, @jacquesg!)
 - Allow "tree" parameter to be undef in Repository -> tree()
   (GH#81) (thanks, @jacquesg!)
 - Added additional diff flags (GH#86):
    + include_typechange
    + include_typechange_trees
    + ignore_case
    + skip_binary_check
    + enable_fast_untracked_dirs
    + show_untracked_content
    + show_unmodified
 - Repository -> branches() now takes an optional branch
    type argument (GH#85)
 - Add Remote methods (GH#87):
    + Remote -> pushurl()
    + Remote -> check_cert()
    + Remote -> clear_refspecs()
    + Remote -> refspec_count()
    + Remote -> refspecs()
    + Remote -> fetch()
    + Remote -> is_url_valid()
    + Remote -> is_url_supported()
 - Add RefSpec methods (GH#87):
    + RefSpec -> dst_matches()
    + RefSpec -> src_matches()
    + RefSpec -> string()
    + RefSpec -> direction()
    + RefSpec -> transform()
    + RefSpec -> rtransform()
    + RefSpec -> is_force()
 - Add Branch methods (GH#84):
    + Branch -> remote_name()
    + Branch -> upstream_name()
 - The Reference returned by Branch -> remote() now has enough information
    to be used as a real Reference. Previously it didn't capture the owning
    Repository. (GH#84)
 - Add Commit methods (GH#88):
    + Commit -> ancestor()
 - Add Graph methods (GH#88):
    + Graph -> is_ancestor_of()
 - Repository -> merge_base() now accepts a "commitish" (GH#88)
 - Add Diff methods (GH#77):
    + Diff -> find_similar()
    + Diff -> stats()
 - Add Diff::Stats methods (GH#77):
    + Diff::Stats -> insertions()
    + Diff::Stats -> deletions()
    + Diff::Stats -> files_changed()
    + Diff::Stats -> buffer()
 - Add PathSpec methods (GH#89):
    + PathSpec -> new()
    + PathSpec -> match()
 - Add PathSpec::MatchList methods (GH#89):
    + PathSpec::MatchList -> count()
    + PathSpec::MatchList -> entries()
    + PathSpec::MatchList -> failed_count()
    + PathSpec::MatchList -> failed_entries()
 - Fixed branch test cases:
    There may be a 1-2 second difference in time between commiting and
	comparing against the current signature.
 - Fixed internal callback leaks (GH#90)
 - Cred -> sshkey() now doesn't require a passphrase (GH#90)
 - 'progress' callback for Repository -> clone() and Remote -> set_callbacks()
    has been renamed to 'sideband_progress' (incompatible change).
 - Add Walker methods (GH#91):
    + Walker -> push_range()
 - Compiler options should be determined in Makefile.PL context (GH#91)
    Fixes problems building a 32-bit perl on a 64-bit system

0.33      2014-04-14 12:28:23+02:00 Europe/Rome

 - Fix segfaults caused by invalid object creation (GH#66) (thanks, @pipcet!)
 - Add Config -> default() method (GH#67) (thanks, @magnolia-k!)
 - Do not fail when a lightweight tag is found in the Tag->foreach() callback
   (GH#68) (thanks, @pipcet!)
 - Add Tree::Entry -> file_mode() method (GH#69) (thanks, @pipcet!)
 - Repository -> merge() now takes %merge_opts and %checkout_opts as 2
   separate parameters. (incompatible change) (GH#70)
 - Merge options parameter member 'automerge' has been renamed to 'favor',
   inline with libgit2 API changes. (incompatible changes) (GH#70)
   It has also learned about a 'union' merge.
 - Checkout options has learned new options: 'target_directory', 'ancestor_label',
   'our_label' and 'their_label'. (GH#70)
 - Checkout strategy has additional options: (GH#70)
   'use_ours', 'use_theirs', 'skip_locked_directories', 'dont_overwrite_ignored',
   'conflict_style_merge', 'conflict_style_diff3' and 'disable_pathspec_match'.
 - Added new Repository methods (#GH70):
    + Repository -> merge_analysis()
    + Repository -> merge_base()
 - Added new Index methods (#GH70):
    + Index -> write_tree_to()
    + Index -> checkout()
    + Index -> entries()
    + Index -> add_conflict()
    + Index -> remove_conflict()
 - Added new Commit method (#GH70):
    + Commit -> merge()
 - Added new Tree method (#GH70):
    + Tree -> merge()
 - Index -> add() now either takes a path or a Index::Entry (GH#70)
 - Remote->create_inmemory() has been replaced by Remote->create_anonymous()
   (incompatible change) (GH#71).
   The order of 'url' and 'fetchspec' has also been reversed to bring it
   inline with the upstream changes.
 - Update libgit2 to bcc6229

0.32      2014-03-16 15:02:47+01:00 Europe/Rome

 - Update libgit2 to 648a985 (GH#53, GH#56) (thanks, @jacquesg!)
 - Minor Win32 build fix
 - Add Reflog class (GH#55) (thanks, @jacquesg!)
 - Suport non-default stash flags (GH#56) (thanks, @jacquesg!)
 - Clean-up test repositories after test run (GH#59) (thanks, @jacquesg!)
 - Rename classes (incompatible changes):
    + Git::Raw::TreeBuilder -> Git::Raw::Tree::Builder
    + Git::Raw::TreeEntry -> Git::Raw::Tree::Entry
 - Improve patch and diff support (GH#61) (thanks, @jacquesg!)
    + New classes: Git::Raw::Patch, Git::Raw::Diff::Delta,
      Git::Raw::Diff::Hunk, Git::Raw::Diff::File
 - Improve index conflicts handling (GH#62) (thanks, @jacquesg!)
 - Add support for filters (GH#57) (thanks, @jacquesg!)
 - Add support for blame (GH#63) (thanks, @jacquesg!)
 - Visual Studio build fixes (GH#64) (thanks, @jacquesg!)
 - Correctly handle Git::Raw::Remote refcount (GH#65) (thanks, @jacquesg!)

0.31      2014-02-08 19:07:55 Europe/Rome

 - Fix include paths on FreeBSD (GH#49) (GH#50) (thanks, @jacquesg!)
 - (Try to) support building libgit2 on Windows
 - Properly create Commit objects in Walker -> next()
   (GH#52) (thanks, @karel-m for the test case!)

0.30      2014-01-26 14:39:08 Europe/Rome (TRIAL RELEASE)

 - Add "paths" checkout option (GH#23) (thanks, @jacquesg!)
 - Various fixes to make it possible to build with MSVC
   (GH#24, GH#25, GH#26, GH#27, GH#28) (thanks, @jacquesg!)
 - Repository -> remotes() now returns a list like branches() and refs()
   (incompatible change)
 - Repository -> tags() now returns a list like branches() and refs()
   (incompatible change)
 - Add Commit -> summary() method (GH#32) (thanks, @jacquesg!)
 - Add new Repository methods (GH#33) (thanks, @jacquesg!):
    + Repository -> state()
    + Repository -> state_cleanup()
    + Repository -> is_shallow()
 - Add new clone options (GH#34) (thanks, @jacquesg!):
    + "remote_name"
    + "checkout_branch"
    + "ignore_cert_errors"
    + "disable_checkout"
 - Update to libgit2 426d845
 - Move Blob/Tree -> is_blob() and -> is_tree() to XS
   (GH#36) (thanks, @magnolia-k!)
 - Add Repository -> new() (GH#37) (thanks, @jacquesg!)
 - Add Remote -> create_inmemory() and Remote -> ls()
   (GH#37) (thanks, @jacquesg!)
 - Add support for more callbacks for:
    + Remote -> callbacks()
    + Repository -> clone()
    + Repository -> checkout()
   (GH#39) (thanks, @jacquesg!) (incompatible change)
 - Add Repository -> path_is_ignored() (GH#38) (thanks, @jacquesg!)
 - Improve Repository -> status() (incompatible change):
    + It can now return the statuses of multiple files (GH#29)
    + It can now detect file renames (GH#30) (thanks, @jacquesg!)
 - Improve Repository -> diff() and Tree -> diff(), they can now take options
   and flags (GH#42) (thanks, @jacquesg!) (incompatible change)
 - Add Signature -> default() method (GH#43) (thanks, @jacquesg!)
 - Repository -> reset() now takes an %opts argument, which can also be used
   to specify the entries that should be updated (like "git reset -- file")
   (GH#44) (thanks, @jacquesg!) (incompatible change)
 - Reference -> target() now takes an additional optional parameter $new_target
   used to change the reference's target (GH#47) (thanks, @jacquesg!)
 - Add Index -> has_conflicts() and Index -> conflict_cleanup() methods
   (GH#46) (thanks, @jacquesg!)
 - Add Repository -> merge() method (GH#31) (thanks, @jacquesg!)

0.29      2013-11-24 20:17:02 Europe/Rome

 - Update to libgit2 v0.20
    + Remove Branch -> foreach() (incompatible change)
    + Repository -> branches() now returns a "real" list instead of an array
      reference
 - Rename Cred -> plaintext() to Cred -> userpass() and Cred -> keyfile()
   to Cred -> sshkey() (incompatible change)
 - Add Cred -> sshagent() method
 - Add is_tree() and is_blob() to Tree and Blob (GH#22) (thanks, @ap!)

0.28      2013-11-18 15:00:10 Europe/Rome

 - Add Blob -> id() (GH#15) (thanks, @hoelzro!)
 - Add TreeBuilder API (GH#16) (thanks, @hoelzro!)
 - Add Reference -> create() (GH#17) (thanks, @hoelzro!)
 - Add Repository -> refs() method (GH#19) (thanks, @hoelzro!)
 - Make Commit -> create() take an optional parameter indicating the name
   of a reference to update (GH#19) (thanks, @hoelzro!)

0.27      2013-10-23 12:34:13 Europe/Rome

 - Update to libgit2 1c74686
 - Add Diff -> print() which replaces Diff -> patch() and Diff -> compact()
 - Remove deprecated methods (incompatible change):
    + Remote -> cred_acquire()
    + Diff -> patch()
    + Diff -> compact()

0.26      2013-10-09 16:11:42 Europe/Rome

 - Fix build with glibc < 2.17

0.25      2013-10-09 15:17:56 Europe/Rome

 - Update to libgit2 711333e
    + Rename Branch -> tracking() to upstream() (incompatible change)
    + Rename Remote -> fetchspec() to add_fetch and pushspec to add_push()
      They will not return the remote spec anymore (incompatible change)
 - Enable support for libssh2 at build-time
 - Add support for SSH key credentials via Cred -> keyfile()
 - Add Remote -> callbacks() method
 - Add Remote -> load() method

0.24      2013-03-31 13:06:30 Europe/Rome

 - Update libgit2 to d2a4a54
 - Config -> bool()/int()/str() now return undef when a configuration variable
   is not found, instead of segfaulting (GH#13)

0.23      2013-03-25 14:09:09 Europe/Rome

 - Update libgit2 to 3f21a23
    + The Branch -> move() method does not modify the Branch object anymore, as
      per the new underlying libgit2 implementation. An additional lookup is
      needed in order to get the new object (incompatible change)
    + Remove Reference -> is_packed() method since it disappeared from libgit2
 - Add Branch -> tracking() method

0.22      2013-02-23 15:19:30 Europe/Rome

 - Remove test_repo after tests, to allow "make test" to run multiple times
   (should fix OpenBSD CPAN Testers)
 - Update libgit2 to 5eeb357

0.21      2013-02-20 17:41:56 Europe/Rome

 - Reference -> target(), Tree -> diff() and TreeEntry -> object() methods do
   not accept a Repository argument anymore (incompatible change)
 - Fix memory leak in Tree -> entry_bypath() (GH#11)
 - Tag -> delete() is now an object method just like other delete() methods
   (incompatible change)
 - Do not use Makefile.embed to build libgit2 to avoid FTBFS on *BSD
 - Update libgit2 to fd69c7b

0.20      2013-01-26 13:46:00 Europe/Rome

 - Documentation fixes (GH#6) (thanks, @daknok!)
 - Add note in the documentation about the API being unstable
 - Update libgit2 to f42beff
    + Update checkout strategies' names: "update_unmodified", "update_missing",
      "update_modified" and "update_untracked" have been removed (incompatible
      change)
 - Repository -> head() now takes an additional optional parameter $new_head
   used to change the repository's HEAD (GH#7)
 - Repository -> workdir() now takes an additional optional parameter $new_dir
   used to change the repository's working directory
   (GH#8, #9) (thanks, @thaljef)
 - Add Tree -> entry_by{name,path}() methods (GH#10) (thanks, @keedi!)

0.19      2013-01-03 19:24:50 Europe/Rome

 - Fix errors in the Push and Repository examples (no functional changes)
 - Reference -> target() does not need a Repository argument anymore (its
   documentation was also incorrect) (thanks, @ruz!)
 - Repository -> head() now returns a Reference like the underlying libgit2 API
   instead of a Commit (incompatible change) (thanks, @ruz!)
 - Update libgit2 to 07871d3
    + Rename Remote -> add() method to Remote -> create() and remove
      Remote -> new() (incompatible changes)
    + Update Repository -> clone() to take an URL again (instead of a remote)
      and a generic %opts parameter (incompatible changes)
 - Update Repository -> checkout() to take a generic %opts parameter and improve
   its documentation (incompatible change)

0.18      2012-12-14 18:39:16 Europe/Rome

 - Add Walker -> push_*() and hide_*() methods (thanks, @ruz!)
 - Update libgit2 to 37ac443
 - Add Push and Cred classes
    + Now pushing to remote HTTP(S) repositories is supported
 - Fix a double-free bug in Reference -> delete() method (GH#4)
 - Add Reference -> owner() method (thanks, @ruz)
 - Now Repository -> clone() takes a Remote argument instead of a URL to support
   authentication while cloning over HTTP(S) (incompatible change)

0.17      2012-12-04 13:49:35 Europe/Rome

 - Update libgit2 to da82043
    + Add Tag -> foreach() method
 - Documentation fixes (no functional changes)
 - Add Branch -> is_head() method
 - Add Config -> new(), add_file(), refresh() and foreach() methods
 - Add Index -> read_tree() and remove() methods
 - Add Repository -> checkout() method
 - Support custom checkout strategies in Repository -> clone() and checkout()
   methods
    + This adds an additional parameter to Repository -> clone()
      (incompatible change)
 - SSL support is now enabled if OpenSSL is present at build time

0.16      2012-11-30 12:43:50 Europe/Rome

 - Load Git::Raw from other modules too (thanks, @ruz!)
 - Make Branch ISA Reference (thanks, @ruz!)
 - Add Branch -> foreach() method (thanks, @ruz!)
    + Add Repository -> branches() method
 - Add Repository -> ignore() method
 - Add Stash class
 - The Remote -> name() and url() methods now take an optional argument that
   is used to change the name/url of a remote.
 - Add RefSpec class
    + Add Remote -> {fetch,push}spec() methods
 - Add Blob -> size() method
 - Add Blob -> create() method
    + Add Repository -> blob() method
 - Add Reference -> is_{branch,packed,remote}() methods (thanks, @ruz!)
 - Add Branch -> move() method

0.15      2012-10-30 22:39:50 Europe/Rome

 - The $is_bare check in Repository -> clone() was inverted
 - Update libgit2 to 6c21358a8
    + Remove Index -> uniq() and append() methods

0.14      2012-10-19 12:26:40 Europe/Rome

 - Test fixes (GH#2) (thanks, @vlet)
 - Update libgit2 to b2b571ce0

0.13      2012-10-02 18:27:05 Europe/Rome

 - Fix test failures

0.12      2012-09-22 19:24:45 Europe/Rome

 - Fix typo in Reference's docs
 - Add a proper Changes file
 - Update libgit2 to d75074:
    + Remove Branch -> delete() method (incompatible change)
    + Add Repository -> clone() method

0.11      2012-08-23 09:41:38 Europe/Rome

 - Various documentation fixes (no functional changes)

0.10      2012-08-22 18:53:04 Europe/Rome

 - Add delete() method for all the objects that support it
 - Move Repository -> tag(), branch() and walker() functionality to the
   respective object constructors

0.09      2012-08-22 17:56:59 Europe/Rome

 - Add lookup() method for all the objects that support it
 - Add Diff class

0.08      2012-08-21 15:15:17 Europe/Rome

 - Add Repository -> reset() method
 - Add Branch class and Repository -> branch() method
 - Embed libgit2 sources to ease building

0.07      2012-08-20 19:02:44 Europe/Rome

 - Add Repository -> discover() method

0.06      2012-08-17 14:13:05 Europe/Rome

 - Add Remote class
 - Add Repository -> tags() method

0.05      2012-08-09 15:56:21 Europe/Rome

 - Add Reference class

0.04      2012-08-08 21:42:46 Europe/Rome

 - Add Blob class
 - Add TreeEntry class and Tree -> id() method
 - Add Commit -> tree() method
 - Rename Config -> string() method to Config -> str()

0.03      2012-08-06 16:45:57 Europe/Rome

 - Add proper support for commit parents
 - Add Walker class
 - Add Repository -> status() method
 - Add more Config methods

0.02      2012-08-05 20:18:56 Europe/Rome

 - Improve exception messages
 - Add Commit -> id() method
 - Add Repository -> lookup() and -> head() methods
 - Add Tag class

0.01      2012-08-05 11:43:13 Europe/Rome

 - Initial version



Hosting generously
sponsored by Bytemark