Release Notes for P4Java, the Perforce Java API Version 2009.1 Introduction P4Java is a Java-native API for accessing Perforce SCM services from within Java applications, servlets, plugins, and other Java contexts. Perforce numbers releases YYYY.R/CCCCC, for example, 2002.1/30547. YYYY is the year; R is the release of that year; CCCCC is the bug fix change level. Each bug fix in these release notes is marked by its change number. Any build includes (1) all bug fixes of all previous releases and (2) all bug fixes of the current release up to the bug fix change level. Please send all feedback to support@perforce.com Requirements * Java: full standard JDK 6 or later, or JDK 5 with file helper class implementation as discussed in "Known Limitations" below. * Operating systems: Linux, Unix, Windows XP and later, Mac OS X. * Perforce server at Release 2007.3 or higher. * (Optional) Perforce p4 command line executable, Release 2007.3 or higher. Documentation P4Java interfaces, classes, methods, etc., are documented in the Javadoc tree included in the P4Java distribution and by the P4Java User Guide PDF also included in the distributed zip file. Advanced usage issues, example patterns, etc., are documented in the User Guide PDF. Installation After downloading the P4Java zip distribution file, unzip the file's contents to a suitable directory. Copy or move the enclosed P4Java p4java.jar JAR file to a suitable location for use by IDEs, compilers, applications etc. Similarly copy or move the enclosed Javadoc tree to a suitable place for browsing. Known Limitations * P4Java is limited to working in JDK 6 or later environments unless you supply a suitable implementation of the P4Java com.perforce.p4java.impl.generic.sys.P4JSystemFileCommandsHelper interface as described in the P4Java User Guide and associated Javadoc documents. * P4Java does not honor Unix / Linux umask settings on file creation and sync operations by default (this is a general Java JVM issue, not a P4Java issue). If this is an issue, you can supply a suitable 'com.perforce.p4java.impl.generic.sys.P4JSystemFileCommandsHelper' interface as described in the P4Java User Guide and associated Javadoc documents. * P4Java does not correctly implement or deal with Unix / Linux symbolic links. This is a known issue related to Java's inability to itself implement symbolic links. * P4Java is heavily reliant on the quality and performance of the underlying JVM's NIO implementation; if these are in any way limited or restricted on a target platform, performance and even correctness may suffer. ------------------------------------------- Major new functionality in 2009.1 P4Java API supporting SCM usage operations Minor new functionality in 2009.1 N/A. Bugs fixed in 2009.1 #210842 (Bug #34917) P4Java now properly uses the default system charset instead of ISO-8859-1 on non-unicode enabled servers.