chrismair | 00dc7bd | 2014-05-11 21:21:28 +0000 | [diff] [blame] | 1 | MockFtpServer Change Log
|
| 2 | -------------------------------------------------------------------------------
|
| 3 |
|
| 4 | Changes in version 2.5 (May 2014)
|
| 5 | ------------------------------------------
|
| 6 | - Fix #23 PWD response should have commentary: "{0}" is current directory.
|
| 7 | Also adjusted reply text for MKD to adhere to RFC959: "{0}" created.
|
| 8 | - Removed deprecation of assertSessionReply(int,Object)
|
| 9 | - Fix broken internal links on the web site pages.
|
| 10 | - Update “Log4J Configuration Required to See Log Output” section on “FakeFtpServer – Getting Started” with info for SLF4J.
|
| 11 | - Added MockFtpServer logo image. Thanks to cooltext.com.
|
| 12 |
|
| 13 |
|
| 14 | Changes in version 2.4 (15 Jul 2012)
|
| 15 | ------------------------------------------
|
| 16 | - FEATURE #2466395: Remove log4j dependency. Switch to using SLF4J (http://www.slf4j.org/).
|
| 17 | - FEATURE #3544349: Return MockFtpServer information as part of connect 220 response.
|
| 18 | - Upgrade to Groovy 1.7.10; fix Maven site plugin incompatibility.
|
| 19 | - Change “pom.xml” to use SFTP to deploy to Maven repo.
|
| 20 |
|
| 21 |
|
| 22 | Changes in version 2.3 (05 Jun 2011)
|
| 23 | ------------------------------------------
|
| 24 | - FEATURE #2996739: Use a dynamically chosen free port number ("ephemeral")for the server control port
|
| 25 | if you specify 0 for the serverControlPort property of FakeFtpServer or StubFtpServer. Then call
|
| 26 | getServerControlPort() AFTER start() has been called to determine the actual port number being used.
|
| 27 | This is useful if you are running on a system where the default port (21) is already in use or cannot
|
| 28 | be bound from a user process (such as Unix).
|
| 29 | - FEATURE #3304849: Add a new readData(int numBytes) to Session
|
| 30 | - BUG #3103132: shutting down takes too long.
|
| 31 |
|
| 32 |
|
| 33 | Changes in version 2.2 (23 Mar 2010)
|
| 34 | ------------------------------------------
|
| 35 | - FakeFtpServer: Support renaming of directories.
|
| 36 | * BUG FIX: #2823519 "The RnfrCommandHandler is currently set to only support renaming of files": https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2823519&group_id=208647.
|
| 37 | * Change fake RNTO and RNFR CommandHandlers to allow renaming directories.
|
| 38 | - BUG FIX: #2828362: "Unit tests using FakeFtpServer are slow" https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2828362&group_id=208647. DefaultSession.readCommand().
|
| 39 | * Reduce default socket read interval time to 20ms.
|
| 40 | - BUG FIX: #2953392: "AbstractFtpServer waits endless if binding to port fails" https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2953392&group_id=208647.
|
| 41 | - FakeFtpServer (AbstractFakeFileSystem): Change rename() to fail if the TO file already exists.
|
| 42 | - Add sample directory listing(s) to online docs for StubFtpServer ListCommandHandler. Update online docs/javadoc describing that multiple directory entries in a file listing can be simulated.
|
| 43 | - PatternUtil: Support plus sign ('+') within wildcard strings. See convertStringWithWildcardsToRegex().
|
| 44 | - TESTS: Rename AbstractTest to AbstractTestCase and AbstractGroovyTest to AbstractGroovyTestCase.
|
| 45 |
|
| 46 |
|
| 47 | Changes in version 2.1 (16 Jun 2009)
|
| 48 | ------------------------------------------
|
| 49 | - Added support for IPv6 (EPRT and EPSV commands) to FakeFtpServer and StubFtpServer. Thanks to Fernando Martinez for testing.
|
| 50 | - BUG FIX: #2696898: �WindowsFakeFilesystem DirectoryEntry case sensitivity� (https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2696898&group_id=208647).
|
| 51 | - BUG FIX: #2797980: �UnixFakeFileSystem IsValidName Regex incorrect� (https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=2797980&group_id=208647).
|
| 52 | - Add getServerControlPort() to AbstractFtpServer.
|
| 53 | - Create HostAndPort class. Refactor both PortCommandHandler(s) and the PortParser classes to use HostAndPort.
|
| 54 | - TESTS: Convert PortParserTest to Groovy.
|
| 55 |
|
| 56 |
|
| 57 | Changes in version 2.0.2 (09 Mar 2009)
|
| 58 | ------------------------------------------
|
| 59 | - BUG FIX: #2654577: 'month' in UnixDirectoryListingFormatter is Locale specific. http://sourceforge.net/tracker/index.php?func=detail&aid=2654577&group_id=208647&atid=1006533.
|
| 60 | - BUG FIX: #2653626: Cannot start() server after calling stop(). https://sourceforge.net/tracker2/index.php?func=detail&aid=2653626&group_id=208647&atid=1006533.
|
| 61 |
|
| 62 |
|
| 63 | Changes in version 2.0.1 (09 Feb 2009)
|
| 64 | ------------------------------------------
|
| 65 | - BUG FIX: #2543193 �"cd .." and "pwd" don't work properly together� (https://sourceforge.net/tracker2/?func=detail&aid=2543193&group_id=208647&atid=1006533).
|
| 66 | - BUG FIX: #2540548 �Missing new line on directory listing� (https://sourceforge.net/tracker2/?func=detail&aid=2540548&group_id=208647&atid=1006533).
|
| 67 | - BUG FIX: #2540366 �FileEntry.setContents( byte [] contents ) change the content� (https://sourceforge.net/tracker2/?func=detail&aid=2540366&group_id=208647&atid=1006533).
|
| 68 | - AbstractFtpServer: Use entrySet() to iterate through sessions (From Rijk van Haaften).
|
| 69 |
|
| 70 |
|
| 71 | Changes in version 2.0 (03 Jan 2009)
|
| 72 | ------------------------------------------
|
| 73 | - BUG FIX: #2462794 filesystem.pathDoesNotExist key is missing from the ReplyText resource bundle. See https://sourceforge.net/tracker2/?func=detail&aid=2462794&group_id=208647&atid=1006533
|
| 74 | - BUG FIX: #2462973 FileEntry.cloneWithNewPath doesn't clone out field. See https://sourceforge.net/tracker/index.php?func=detail&aid=2462973&group_id=208647&atid=1006533
|
| 75 | - Add note to online doc about requiring Log4J configuration file if you want to see log output.
|
| 76 |
|
| 77 |
|
| 78 | Changes in version 2.0-rc3 (14 Dec 2008)
|
| 79 | ------------------------------------------
|
| 80 | - BUG FIX: ClassCastException in AbstractFtpServer during server cleanup.
|
| 81 | - Reorganize sample code and include in online doc.
|
| 82 |
|
| 83 |
|
| 84 | Changes in version 2.0-rc2 (12 Dec 2008)
|
| 85 | ------------------------------------------
|
| 86 | - BUG FIX: AbstractFtpServer: Fix bug when iterating through sessions.
|
| 87 | - [BREAKING CHANGE] Move ConnectCommandHandler into core package.
|
| 88 | - [BREAKING CHANGE] Unify Fake and Stub CommandHandlers. Change ServerConfiguration to remove getReplyTextBundle(); make AbstractFakeCommandHandler implement ReplyTextBundleAware instead. Change FakeFtpServer to check for ReplyTextBundleAware and set replyTextBundle. Pull common from stub/fake into AbstractCommandHandler.
|
| 89 | - [BREAKING CHANGE] Rename AbstractCommandHandler to AbstractTrackingCommandHandler.
|
| 90 | - Create AbstractStaticReplyCommandHandler, and make both AbstractStubCommandHandler and StaticReplyCommandHandler subclasses.
|
| 91 | - Create new UnrecognizedCommandHandler, and use to return 502 reply from FakeFtpServer and StubFtpServer when a requested command is not supported.
|
| 92 | - Add support for STAT command; Add systemStatus property to FakeFtpServer.
|
| 93 | - Add support for SMNT command to FakeFtpServer;
|
| 94 | - AbstractFtpServer: Add createSession() method. Make some attributes protected.
|
| 95 | - StubFtpServer: Introduce AbstractStorCommandHandler. Remove final from stub CommandHandler classes.
|
| 96 | - Cleanup code and javadoc
|
| 97 | - DOCS: Add �Requirements� section to main (index) page. Also �Maven� section.
|
| 98 | - DOCS: Add "Configuring CommandHandler for New (Unsupported) Command" and �Creating Your Own Custom CommandHandler Class� sections to StubFtpServer Getting Started Guide.
|
| 99 | - DOCS: Add "Configuring Custom CommandHandlers" section to Getting Started Guide (FakeFtpServer).
|
| 100 | - TESTS: Move AbstractCommandHandlerTest into core package.
|
| 101 | - TESTS: Create sample test of FakeFtpServer with StaticReplyCommandHandler command handler(s).
|
| 102 | - Create source jar during package and include within assemblies.
|
| 103 | - Change "assembly.xml" to include "fakeftpserver*.xml" files.
|
| 104 |
|
| 105 |
|
| 106 | Changes in version 2.0-rc1 (23 Nov 2008)
|
| 107 | ------------------------------------------
|
| 108 | NEW FakeFtpServer.
|
| 109 | This is an alternative "mock" FTP server implementation. FakeFtpServer provides a higher-level abstraction
|
| 110 | than StubFtpServer. You define a virtual file system, including directories and files, as well as a set of
|
| 111 | valid user accounts and credentials. The FakeFtpServer then responds with appropriate replies and reply
|
| 112 | codes based on that configuration. See online documentation for more information.
|
| 113 | StubFtpServer
|
| 114 | - StubFtpServer: Refactored to inherit from common AbstractFtpServer superclass.
|
| 115 | - Change default org.mockftpserver.stub.command.CdupCommandHandler CDUP reply code from 250 to 200.
|
| 116 | - Rename ReplyCodes.SEND_DATA_INITIAL_OK and SEND_DATA_FINAL_OK to TRANSFER_DATA_.. indicate bi-directionality.
|
| 117 | - Rename Command.getRequiredString(int) to getRequiredParameter(int).
|
| 118 | - Change StubFtpServer CommandHandlers to reply with 501 if required command parameters are missing. Changed AbstractCommandHandler and AbstractCommandHandlerTest.
|
| 119 | - Refactor (Stub)PortCommandHandler - pull out common logic into PortParser util class.
|
| 120 |
|
| 121 |
|
| 122 | Changes in version 1.2.4 (01 Sep 2008)
|
| 123 | ------------------------------------------
|
| 124 | - BUG FIX: StubFtpServer: Only execute serverSocket.close() if serverSocket != null.
|
| 125 | - BUG FIX: Terminate replies with <CRLF> (\r\n).
|
| 126 | - DOCS: Fix Getting Started Guide code example: setOverrideFinalReplyCode() to setFinalReplyCode().
|
| 127 | - DOCS: Add note to Getting Started Guide about calling setServerControlPort() if on Unix system.
|
| 128 |
|
| 129 |
|
| 130 | Changes in version 1.2.3 (13 Aug 2008)
|
| 131 | ------------------------------------------
|
| 132 | - BUG FIX: Tracker item #2047355. Parse host IP numbers as unsigned bytes.
|
| 133 | See https://sourceforge.net/tracker/index.php?func=detail&aid=2047355&group_id=208647&atid=1006533
|
| 134 |
|
| 135 |
|
| 136 | Changes in version 1.2.2 (27 May 2008)
|
| 137 | ------------------------------------------
|
| 138 | - BUG FIX: Move serverThread.start() into synchronized block to avoid server hang if
|
| 139 | server thread runs faster than main thread.
|
| 140 | See https://sourceforge.net/tracker/?func=detail&atid=1006533&aid=1925590&group_id=208647
|
| 141 |
|
| 142 |
|
| 143 | Changes in version 1.2.1 (10 Mar 2008)
|
| 144 | ------------------------------------------
|
| 145 | - Change Maven POM (pom.xml) to enable sync-ing with central Maven repository (ibiblio).
|
| 146 |
|
| 147 | Changes in version 1.2 (29 Feb 2008)
|
| 148 | ------------------------------------------
|
| 149 | - BUG FIX: StubFtpServer: Add wait/notify to ensure that the server starts up and opens the server
|
| 150 | control port before the start() method returns. This fixes a potential race condition, which
|
| 151 | shows up on some Linux systems. (Thanks to Aasman Bajaj for identifying the problem and providing the fix)
|
| 152 | - Modify tests to make server port configurable (through "ftp.server.port" system property), allowing
|
| 153 | tests to run on non-Windows systems.
|
| 154 |
|
| 155 |
|
| 156 | Changes in version 1.1 (20 Feb 2008)
|
| 157 | ------------------------------------------
|
| 158 | - StubFtpServer: Allow configuring server control connection port other than the default (21).
|
| 159 | - AbstractTest: Add some test convenience methods.
|
| 160 |
|
| 161 |
|
| 162 | Changes in version 1.0 final (11 Dec 2007)
|
| 163 | ------------------------------------------
|
| 164 | - Implement default CommandHandlers for NLST, REIN, SMNT, SITE, ABOR and ALLO commands.
|
| 165 | - Handle command names in any case.
|
| 166 | - CwdCommandHandler: Fix PATHNAME_KEY constant value; change to "pathname".
|
| 167 |
|
| 168 |
|
| 169 | Changes in version 1.0-RC1 (1 Nov 2007)
|
| 170 | ---------------------------------------
|
| 171 | Initial release. |