********************************************************************************
*                          Subversive Release Notes                            *
*                                                                              *
* Subversive - a brand new Eclipse Client for Subversion (SVN)                 *
* See details at http://www.eclipse.org/subversive                             *
********************************************************************************

Version 2.0.1.I20140907-1700 release date: 07 September 2014

1. What's New

   The version is 2.0.1 service release. 
   
   Changes comparatively to the previous release version are listed below. The full list of 
   changes you can find in Change Log.
		
	Features:
	 * Refactor Log should be written into console (bug 211245)
	 * Update all SVN operations console output (bug 443135)
	 * Add API to convert SVN command options into command-line counterparts (bug 443132)
	 
	Fixes:
	 * There is an exception when unversioned resources selected for synchronizing [ID-OX0F5] (bug 426049)
	 * opening a closed project with svnkit 1.3.8 working copy with JavaHL 1.7 connector freezes Eclipse (bug 440297)
	 * bugtraq:url does not work with URL starting with / (bug 441393)
	 * Create patch with workspace root produces wrong result (bug 437106)
	 * Wrong enablement in Create Patch wizard for nested projects (bug 441039)
	 * FileNotFoundException while trying to save an imported from repository and not existing locally file in "Compare with revision" editor [ID-WQB6L] (bug 438953)
	 * When Project Explorer contains semanticfs then the error "SVN: '0x0040011a: Call Menu Action' operation finished with error: The resource is inaccessible" occurs on commit (bug 437623)
	
	
2. Information

2.1. System Requirements

   Subversive requires JDK 1.6 or higher and supports following versions of Eclipse:
    * 4.2
    * 4.3
    * 4.4
   
   Subversive supports 
    Migration for Subversion below version 1.6 to version 1.7 and higher,
    Subversion version 1.7 with SVN Kit 1.7.13 and JavaHL 1.7.9,
    Subversion version 1.8 with SVN Kit 1.8.6 and JavaHL 1.8.9

2.2 Known issues

	* "Deadlock when JNA is loading" problem on Mac OS X [using SVN Kit 1.7.13 connector]
	