diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index ee4c826..e8a5cc4 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -72,3 +72,254 @@
 
 ------------------------------------------------------------------------------
 
+            Apache Commons CLI
+                Version 1.4
+               Release Notes
+
+
+INTRODUCTION:
+
+This document contains the release notes for this version of the Commons CLI
+package. Commons CLI provides a simple API for working with the command line
+arguments and options.
+
+Commons CLI 1.4 is a feature release and binary compatible with the
+previous versions, except for the OptionValidator class that is no longer public
+(change introduced in v1.2). Commons CLI 1.4 at least requires Java 5.0.
+
+More information can be found on the project site at
+https://commons.apache.org/cli.
+
+
+NEW FEATURES
+============
+
+o CLI-269: Introduce CommandLine.Builder
+o CLI-267: Add an addRequiredOption method to Options.
+           Thanks to Ricardo Ribeiro.
+
+
+BUG FIXES
+=========
+
+o CLI-265: Optional argument picking up next regular option as its argument.
+           Thanks to Martin Sandiford.
+o CLI-266: HelpFormatter.setOptionComparator(null) doesn't display the values
+           in inserted order. Thanks to Ravi Teja.
+
+
+                Release Notes for version 1.3.1
+
+BUG FIXES
+=========
+
+o CLI-252: LongOpt falsely detected as ambiguous. Thanks to Simon Harrer.
+
+
+                Release Notes for version 1.3
+
+NOTES
+=====
+
+A new parser is available: DefaultParser. It combines the features of the
+GnuParser and the PosixParser. It also provides additional features like
+partial matching for the long options, and long options without
+separator (i.e like the JVM memory settings: -Xmx512m). This new parser
+deprecates the previous ones.
+
+DEPRECATIONS
+============
+
+o org.apache.commons.cli.BasicParser
+    replaced by org.apache.commons.cli.DefaultParser
+
+o org.apache.commons.cli.GnuParser
+    replaced by org.apache.commons.cli.DefaultParser
+
+o org.apache.commons.cli.OptionBuilder
+    replaced by org.apache.commons.cli.Option.builder()
+                org.apache.commons.cli.Option.builder(String)
+                org.apache.commons.cli.Option.Builder
+
+o org.apache.commons.cli.Parser
+    replaced by org.apache.commons.cli.DefaultParser
+
+o org.apache.commons.cli.PosixParser
+    replaced by org.apache.commons.cli.DefaultParser
+
+
+NEW FEATURES
+============
+
+o CLI-161: PosixParser doesn't stop the parsing on "--" tokens following an
+           option with an argument
+o CLI-167: Support options like Java memory settings (-Xmx512M)
+o CLI-181: Unified Parser
+o CLI-224: Added new fluent API to create Option instances via builder class
+           Option.Builder. This replaces the now deprecated OptionBuilder.
+           Thanks to Duncan Jones, Brian Blount.
+o CLI-160: PosixParser now supports partial long options (--ver instead of
+           --version).
+o CLI-169: HelpFormatter now supports setting the displayed separator of long
+           options. Thanks to J. Lewis Muir.
+o CLI-214: Added new method Options.addOption(String, String). Thanks to
+           Alexandru Mocanu.
+
+
+BUG FIXES
+=========
+
+o CLI-248: Dead links on doc page.
+o CLI-234: Fixed code example in javadoc of
+           "Option#Builder#valueSeparator(char)". Thanks to Greg Thomas.
+o CLI-241: Clarified behavior of "OptionValidator#validateOption(String)"
+           in case of null input. Thanks to Beluga Behr.
+o CLI-202: Default options will now work correctly with required options that
+           are missing.
+o CLI-203: Default options will now work correctly together with option groups.
+o CLI-205: HelpFormatter.setArgName(String) now correctly sets the argument
+           name.
+o CLI-204: Passing default values for not defined options to a parser will now
+           trigger a ParseException instead of a NullPointerException.
+o CLI-201: Default properties provided as input to the Parser.parse() methods
+           are now correctly processed.
+o CLI-215: CommandLine.getParsedOptionValue() now returns a String object if no
+           option type has been explicitly set. Thanks to Manuel Müller.
+o CLI-212: HelpFormatter now prints command-line options in the same order as
+           they have been added. Thanks to Per Cederberg.
+o CLI-186: Standard help text now shows mandatory arguments also for the first
+           option. Thanks to Kristoff Kiefer.
+o CLI-207: HelpFormatter does not strip anymore leading whitespace in the
+           footer text. Thanks to Uri Moszkowicz.
+o CLI-185: Strip quotes contained in argument values only if there is exactly
+           one at the beginning and one at the end. Thanks to
+           Einar M. R. Rosenvinge.
+o CLI-184: Negative numerical arguments take precedence over numerical options.
+o CLI-193: Fix possible StringIndexOutOfBoundsException in HelpFormatter.
+           Thanks to Travis McLeskey.
+o CLI-183: OptionGroups no longer throw an AlreadySelectedException when reused
+           for several parsings.
+o CLI-182: OptionGroup now selects properly an option with no short name.
+
+
+CHANGES
+=======
+
+o CLI-240: Small cleanup of Option class. Thanks to Beluga Behr.
+o CLI-230: Options.getRequiredOptions() now returns an unmodifiable list.
+o CLI-218: Clarify javadoc for CommandLine.getOptionValue() that the first
+           specified argument will be returned. Thanks to Sven.
+o CLI-227: Changed unit tests to junit 4 annotation style. Thanks to
+           Duncan Jones.
+o CLI-209: The javadoc of OptionBuilder now states that the class is not
+           thread-safe. Thanks to Thomas Herre.
+o CLI-200: Fixed typo in javadoc of class CommandLine. Thanks to
+           Gerard Weatherby.
+o CLI-223: Source code now uses generic types instead of raw types where
+           possible. Thanks to Gerard Weatherby.
+o CLI-220  Corrected javadoc for return type of
+           MissingOptionException.getMissingOptions(). Thanks to Joe Casadonte.
+o CLI-197: Improve description of parameter "stopAtNonOption" in method
+           CommandLine.parse(Options, String[], boolean). Thanks to
+           Anders Larsson.
+o CLI-231: Removed DoubleCheckedLocking test from checkstyle configuration.
+           Thanks to Duncan Jones.
+
+
+                Release Notes for version 1.2
+
+NEW FEATURES
+============
+
+o --     : The method getOptionProperties() in the CommandLine class was added
+           to retrieve easily the key/value pairs specified with options like
+           -Dkey1=value1 -Dkey2=value2.
+o CLI-157: GnuParser now supports long options with an '=' sign
+           (ie. --foo=bar and -foo=bar)
+o CLI-155: The ordering of options can be defined in help messages.
+
+
+BUG FIXES
+=========
+
+o CLI-137: The number of arguments defined for an option specifies the
+           arguments per occurence of the option and not for all occurences.
+o CLI-164: PosixParser no longer ignores unrecognized short options.
+o CLI-163: PosixParser no longer stops the bursting process of a token if
+           stopAtNonOption is enabled and a non option character is
+           encountered.
+o CLI-165: PosixParser no longer keeps processing the tokens after an
+           unrecognized long option when stopAtNonOption is enabled.
+o CLI-156: Required options are properly checked if an Options instance is used
+           twice to parse a command line.
+o CLI-151: The line wrapping in HelpFormatter now works properly.
+
+
+CHANGES
+=======
+
+o CLI-149: The message of MissingOptionException has been improved.
+o CLI-86:  The exceptions have been enhanced with methods to retrieve easily
+           the related options.
+o CLI-141: Option.toString() now reports arguments properly.
+o CLI-142: The Parser class has been changed to be more easily extendable.
+o CLI-140: The following classes are now serializable: Option, OptionGroup,
+           CommandLine and Options.
+o --     : OptionValidator is no longer public, its methods were all private.
+
+
+                Release Notes for version 1.1
+
+NEW FEATURES
+============
+
+o CLI-78:  Setting description of a Option.
+
+CHANGES
+=======
+
+o CLI-2:   Wrong usage summary.
+o CLI-5:   Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained.
+o CLI-8:   Line separator as first char for helpformatter (footer) throws
+           exception.
+o CLI-13:  CommandLine.getOptionValue() behaves contrary to docs.
+o CLI-21:  clone method in Option should use super.clone().
+o CLI-23:  Passing properties in Parser does not work for options with a single
+           argument.
+o CLI-26:  Only long options without short option seems to be noticed.
+o CLI-28:  Infinite Loop in Command-Line processing.
+o CLI-29:  Options should not be able to be added more than once.
+o CLI-35:  HelpFormatter doesn't sort options properly.
+o CLI-38:  HelpFormatter doesn't function correctly for options with only
+           LongOpt.
+o CLI-44:  Document enhancement.
+o CLI-45:  Documentation errors.
+o CLI-51:  Parameter value "-something" misinterpreted as a parameter.
+o CLI-56:  clone() method doesn't fully clone contents.
+o CLI-59:  No Javadoc for HelpFormatter!.
+o CLI-65:  Parser breaks up command line parms into single characters.
+o CLI-67:  Missing arguments in HelpFormatter.renderOptions(..).
+o CLI-69:  Error parsing option arguments.
+o CLI-71:  A weakness of parser.
+o CLI-129: CLI_1_BRANCH build.xml doesn't work.
+o CLI-130: Remove the Commons Lang dependency.
+o CLI-131: Options class returns options in random order.
+o CLI-132: MissingOptionException should contain a useful error message.
+o CLI-133: NullPointerException in Util.stripLeadingHyphens when passed a null
+           argument.
+o CLI-134: 1.1 is not backwards compatible because it adds methods to the
+           CommandLineParser interface.
+o CLI-135: Backwards compatibility between 1.1 and 1.0 broken due to
+           Option.addValue removal.
+
+
+Historical list of changes: https://commons.apache.org/cli/changes-report.html
+
+For complete information on Commons CLI, including instructions on how to
+submit bug reports, patches, or suggestions for improvement, see the
+Apache Commons CLI website:
+
+https://commons.apache.org/cli/
+
+Have fun!
+-Apache Commons CLI team
