[Changes for 2.0.2 - 20 Jul, 2007]

  Mirror subsystem
    * be more friendly when trying to relocating incorrect mirror
      path.

  Merge subsystem
    * Fix a problem when repeatedly merging renames tracked with
      --track-renames, and when merging back such files.
    * Fix the "file not found at revision 0" bug when smerge to a
      mirror where copy source is not normalized.
    * Fix a bug that deletes inside copies aren't properly merged
      across branches even the status output says so.
    * Fix a bug when merging copies across branches we be using
      incorrect dst revision causing "file not found at revision 0".
    * Fix a bug where copies outside the mirror source across merge
      are not expanded as non-copies.
    * Fix an inconsistency for smerge -IC behaviour when the base is
      a txn path.

  Pullyu
    * properly translate to local path when mirroring remote root.
    * Fix pullyu for translating "included" records, which are
      replaced entries.

  Others
    * Improve error reporting when failed to save config.
    * Perl 5.9.5 compatibility fixes.
    * Work around a problem that push -P might be using outdated
      memory pool.
    * svk diff -r:123 should report invalid -r rather than blow up.
    * Add -i as shorthand for --interactive in svk ci.
    * Various win32 fixes.
    * Various i18n fixes.

[Changes for 2.0.1 - 26 Mar, 2007]

  Mirror subsystem
    * You can now use $SVKNORAREPLAY forcing svk to use old SVN::Mirror
      for sync.
    * Fix a bug when mirroring partial repository with copies, the from
      revision number might not be exactly the ones we have mirrored.
    * In the pipelined sync editor, use pool more wisely for invoking
      editor calls.  This fixes the memory bloat for syncing revisions
      with large number of deleted files.
    * In pipelined replay, make perl don't segfault on SIGINT.
    * Fix the bug committing to subdirs of mirrors that are on /.
    * Fix a bug preventing mirror --relocate to work on mirrors on '/'.
    * Fix a problem replaying failing with RA_DAV_REQUEST_FAILED in some
      servers.

  Merge subsystem
    * Fix a pool usage in Editor::Merge::apply_textdelta, which has a
      side-effect causing rename-tracking smerge on a new file inside a
      renamed directory to fail with SWIG-runtime error.
    * Prevent unwanted repeated merges when repeatedly merging tags to a
      branch.  We now also record the copy source(s) of the path being
      merged from in the merge ticket.
    * Fix a bug in merging moved files that are modified.
    * Fix a bug that smerge to checkout with changes to a copied file is
      causing incomplete svn delta string.
    * When merging the replaced directory, do not ignore the fact when
      the delete part is already conflicting.
    * Fix a bug when merging a copy that happened on an intermediate
      branch, which might not map back to the merge destination.

  Tools
    * verify-mirror improvements.
    * Ship vc-svk.el with the distribution.

  Others
    * Make updating a checkout that no longer exists in the depot give
      proper message.
    * Make checkout more robust when resuming a interrupted checkout.
    * Check for .svk/floating before assuming floating checkout.
    * Fix a regression which caused binary files to sometimes be
      displayed as text during an "svk diff".

[Changes for 2.0.0 - 28 Dec, 2006]

  Dependency
    * Require Subversion 1.3.0
    * Require App::CLI, UNIVERSAL::require, YAML::Syck, Path::Class,
      Class::Accessor::Fast, Class::Data::Inheritable
    * No longer require YAML, Clone, Regexp::Shellish, Date::Parse

  Performance:
    * Don't load Locale::* modules if the user's language is English
    * Reduce Data::Hierarchy calls in checkout_delta
    * SVK::Mirror now uses a separate process to pipeline sync
    * Use POSIX::strftime for date formatting rather than Date::Parse
      The log command now runs about 25% faster when generating long
      logs

  Merge subsystem
    * Renames and copies can now be merged across branches
    * svk now tries to use alleged merge result as next merge base,
      making push more reliable and accurate
    * Interactive tree conflict resolution
    * Display the anchor along with THEIR and YOUR during interactive
      conflict resolution
    * Use svn:date to find the closest ancestor, not the revision number
    * use only related node as base if it is one of merge source or
      destination
    * When picking base, the immediate merged-from source should take
      precedence
    * When doing add-merge on checkout, unschedule the add
    * Only consider a g-merge to be a change when the merge source and
      destination paths are the same
    * Fix a leak in SVK::Editor::Merge in delete_entry
    * Fix merging a file change or deletion which has been replaced as
      directory

  Tests:
    * Test helpers are now in SVK::Test
    * Don't use the user's .subversion/config during tests

  General 
    * Support view spec as depotpath
    * Support win32 and keychain auth providers if available
    * Modularize the MIME type detection code which makes that feature
      optional
    * New command: svk ignore
    * New global option --ignore
    * svk --version now displays the Subversion bindings version number
    * Make -r{DATE} consistent with Subversion, by making YYYY-MM-DD be
      midnight at the beginning of that day
    * Add the negative number revision support
    * Make -r HEAD and -r BASE case insensitive
    * Most svk commands now find peg revision.  -r N PATH@M will find
      the correct path if PATH@M was copied from somewhere else after N
    * Fix a bug in replaced copy schedule entries in XD

  svk add
    * Display " - (bin)" when adding executable files

  svk annotate
    * Documented --remoterev option

  svk checkout
    * Support floating checkout
    * Allow svk co --detach to be applied to multiple checkouts
    * Fix co --relocate with checkout schedule information
    * When doing autovivification from URL, release the giant lock and
      tell user what to do if the sync failed

  svk commit
    * Support chunk-based interactive commit
    * Don't suck file into memory on commit
    * Support --set-revprop
    * Fix committing single-file checkout

  svk copy
    * Fix a bug that svk cp A B would die if A has properties
    * Support -r N@
    * When trying to copy across mirrors, suggests sm -IB for publish
    * Cleanup stalled txn after died
    * Fix "svk cp //path%2Fwith_escape //path/other", which the underlying
      library was unescaping for us
    * Make copy work with directory with unknown files

  svk delete
    * Support --force
    * On failed rm, report all modified, unknown and scheduled nodes
      instead of just the first one, and suggests --force
    * Support rm multiple depotpath

  svk describe
    * Fix "svk desc 1234@"
    * Report error immediate if a nonexistent revision is given
    * Let 'svk desc 456' work even the checkout in . is only at r123

  svk depot
    * Fix error messages in depot --relocate

  svk diff
    * Fix svk diff on 0-length file on checkout
    * Support --non-recursive (-N)
    * Support --change (-c)
    * Only show differences from copy source for copied nodes
      unless -X is specified
    * Show 'new directory' and copied from in diffs
    * Fix svk diff depotfile checkoutfile
    * Fix diff with copies and modified files
    * Changed diff output for binaries to show file names using local
      path separators

  svk info
    * Improve the "Depot path" information
    * Fix the bug that "svk info non-existent-file" display exception
      messages twice
    * Support -R
    * fix the bug that "svk info" blows up on checkout added with history
    * Sort "merged from" in "svk info" output
    * Make info path@N work even if path is deleted on revision N+1

  svk list
    * Display single when used on a file

  svk log
    * filter and output plugin support
    * Support --quiet
    * Support --xml
    * Change behavior of log not to stop on a rename

  svk merge
    * Support -c REV@ and -REV@

  svk mirror
    * Make sure that columns in mirror listings line up even if the depot
      paths are long

  svk move
    * Fix unicde filename bugs
    * Fix 'svk mv dir dir/subdir' and 'svk mv * dir'

  svk patch
    * Allow for "svk patch ls" to stand for "svk patch --ls"
      and generally dropping -- off subcommands for "patch"
    * Fix a bug for displaying patch with copies

  svk proplist, propget
    * Support -R

  svk pull
    * Support --force-incremental

  svk push
    * Fix a problem pushing from renamed branch

  svk revert
    * Support --quiet
    * Fix unicde filename bugs
    * Fix a revert bug when reverting a copied directory with
      deleted entries

  svk smerge
    * Document sm --summary
    * Allow --base in merge command to override merge base
      when there's one
    * Fix a bug where smerge fails to merge files to checkout that
      are copied from somewhere else
    * Disallow smerge with -c or -r, as they will be ignored
    * Allow --track-rename for smerge

  svk status
    * Support --verbose
    * Fix svk st on deeply deleted nodes
    * Fix st when run inside a added path

  svk sync
    * Exit with non-zero when failed

  svk switch
    * Fix switching from a branch that is removed in HEAD
    * Switch now takes url

  svk update
    * Disallow up -N, as it doesn't update the DH state correctly
    * Fix a bug that 'svk update' can assume part of your directory
      are already up-to-date even when they are not

  Tools
    * "verify-mirror" for verifying mirrored revision integrity
    * "pullyu" for reconstructing original repository from a mirror

  Internal
    * Optionally use Log4perl to log debug information
    * The callbacks used in merge editor are now SVK::Inspector
    * Use SVK::Accessor for classes requires cloning but keeping certain
      fields shared
    * SVN::Mirror is now replaced by SVK::Mirror if you use Subversion 1.4
      and the server support replay
    * Support mirror on root path as repository replication
    * Workaround problems in some SVN::Core build that swig doesn't
      like overloaded or magic pv as const char *
    * Overhaul SVK's global lock and checkout lock handling
    * If svk:notify-commit is set on rev 0, set the svk:commit property on
      the txn so the hook scripts know the commit is coming from svk
    * Allow post_handler used in get_editor to stop committed callback from
      being run by returning 0
    * Rewrite support of svn:ignore and auto-props to use apr_fnmatch
    * SVK::Config and SVK::Depot
    * We now use SVK::Editor as editor base class
    * $SVKSVNBACKTRACE environment variable to do stack dump on svn errors
