| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <document> |
| |
| <properties> |
| <title>Migration How-to</title> |
| <author email="brekke@apache.org">Jeffrey D. Brekke</author> |
| </properties> |
| |
| <body> |
| |
| <section name="Migration How-To"> |
| <p> |
| This how-to lists the migration steps for moving between versions of Apache Commons Net. |
| </p> |
| </section> |
| |
| <section name="Commons Net 3.x to Commons Net 3.5"> |
| <p> |
| Version 3.5 is binary compatible with previous 3.x versions and 2.0. |
| There should be no changes required to existing binary code. |
| </p> |
| <p> |
| Version 3.5 is source compatible with 3.4. |
| However, version 3.4 is <b>not source compatible</b> with 3.3. |
| </p> |
| <p> |
| The interface NtpV3Packet has been updated to add 3 new methods. |
| Adding methods to an interface <a href="https://docs.oracle.com/javase/specs/jls/se5.0/html/binaryComp.html#45348">does not affect binary compatibility</a> |
| The <a href="clirr-report.html">clirr report</a> shows which methods have been added. |
| (note that the report does not distinguish between source and binary incompatibility) |
| Code that uses the interface will need to be updated and recompiled. |
| However code that uses the implementation class NtpV3Impl will continue to work as before. |
| </p> |
| </section> |
| |
| <section name="Commons Net 2.x to Commons Net 3.0"> |
| <p> |
| Version 3.0 is binary compatible with version 2.0. There should be no changes required to existing binary code. |
| </p> |
| <p> |
| However, version 3.0 is <b>not source compatible</b> with 2.0. |
| </p> |
| <p> |
| Several obsolete/unused constants have been removed.<br/> |
| (Such changes do not affect binary code, because compilers are required to localise constants).<br/> |
| The <a href="clirr-report.html">clirr report</a> shows which constants have been removed. |
| If any source code happens to be using one of these constants, then the source will have to be updated. |
| </p> |
| <p> |
| Also, some throws clauses have been removed from methods which did not actually throw them.<br/> |
| Throws clauses are not part of method signatures, so do not affect binary compatibility.<br/> |
| The following public methods no longer throw IOException: |
| <ul> |
| <li>TelnetClient#addOptionHandler(TelnetOptionHandler)</li> |
| <li>TelnetClient#deleteOptionHandler(int)</li> |
| </ul> |
| Source code using these methods will need to be updated. |
| </p> |
| </section> |
| |
| <section name="Commons Net 1.4.x to Commons Net 2.0"> |
| <p> |
| Version 2.0 requires a JDK 5.0+ runtime. It has also been tested on JDK 6.0. There should |
| be no changes required to existing client code. |
| </p> |
| </section> |
| |
| <section name="NetComponents 1.3.8 to Commons Net 1.x"> |
| <p> |
| This version is a drop in replacement for NetComponents. Only package names have changed. |
| </p> |
| <ol> |
| <li>Change all occurrences of <tt>com.oroinc.net.*</tt> to <tt>org.apache.commons.net.*</tt></li> |
| <li>Change all occurrences of <tt>com.oroinc.io.*</tt> to <tt>org.apache.commons.net.io.*</tt></li> |
| <li>Change all occurrences of <tt>com.oroinc.util.*</tt> to <tt>org.apache.commons.net.util.*</tt></li> |
| </ol> |
| </section> |
| |
| |
| </body> |
| </document> |