Release candidate.
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index c889b11..81726d3 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,285 +1,29 @@
-              Apache Apache Commons Collections 4.2 RELEASE NOTES
+              Apache Apache Commons Collections 4.3 RELEASE NOTES
 
 The Apache Commons Collections package contains types that extend and augment the Java Collections Framework.
 
-Update from Java 6 to Java 7, bug fixes, and small changes.
+Update from Java 7 to Java 8, bug fixes, and small changes.
 
 Changes in this version include:
 
 New features:
-o COLLECTIONS-681:  Add test for MultiSetUtils Thanks to Stephan Fuhrmann. 
-o COLLECTIONS-658:  Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility. 
-o COLLECTIONS-589:  Add null-safe MapUtils.size(Map<?, ?>) method. Thanks to Gary Gregory. 
-o COLLECTIONS-586:  PatriciaTrie prefixMap clear throws NullPointerException. Thanks to Shailender Bathula, Gary Gregory. 
-o COLLECTIONS-654:  Add class SortedProperties to sort keys. 
-o COLLECTIONS-668:  Add CollectionUtils containsAny method for primitive array: org.apache.commons.collections4.CollectionUtils.containsAny(Collection<?>, T...). Thanks to Gary Gregory. 
-o COLLECTIONS-575:  Synchronized queue wrapper in QueueUtils. Thanks to Guram Savinov, Grzegorz Rożniecki, Bruno P. Kinoshita, Gary Gregory. 
-o COLLECTIONS-670:  Add org.apache.commons.collections4.IteratorUtils.first(Iterator). Thanks to Gary Gregory. 
-o COLLECTIONS-671:  Add org.apache.commons.collections4.IterableUtils.first(Iterable). Thanks to Gary Gregory. 
+o COLLECTIONS-696:  AbstractReferenceMap made easier for subclassing; PR #51. Thanks to Maxim Solodovnik.
 
 Fixed Bugs:
-o COLLECTIONS-599:  HashEntry array object naming data initialized with double the size during deserialization. Thanks to Tejas Patel, Saleem Akbar, Gary Gregory. 
-o COLLECTIONS-662:  Unit tests MapUtilsTest and ListIteratorWrapperTest no longer fail on Java 9. Thanks to Vamsi Kavuri. 
-o COLLECTIONS-661:  Intermittent test failures in Windows for HashSetValuedHashMap. 
-o COLLECTIONS-660:  Uncomment test in AbstractMapTest regarding LRUMap equals. 
-o COLLECTIONS-656:  Fix site build on Java 8. 
-o COLLECTIONS-653:  Update Javadoc to Build on Java 1.8. 
-o COLLECTIONS-606:  Build status, Coverage status and Maven central weren't in README.md Thanks to Vamsi Kavuri. 
-o COLLECTIONS-594:  Web site spelling error: MultiValuedMapeList. Thanks to Javen O'Neal. 
-o COLLECTIONS-597:  Correction of Javadoc for org.apache.commons.collections4.functors.CatchAndRethrowClosure. Thanks to Enrique. 
-o COLLECTIONS-678:  The verification of unsupported iterator methods is not complete. Thanks to Oscar Luis Vera Pérez. 
-o COLLECTIONS-673:  ListUtils.partition potential integer overflow. Thanks to John Mark, Stephan Fuhrmann. 
+o COLLECTIONS-691:  Use boolean operator for boolean result. Thanks to Eitan Adler.
+o COLLECTIONS-701:  StackOverflowError in SetUniqueList.add() when it receives itself. Thanks to Shin Hong, Don Jeba.
+o COLLECTIONS-703:  The PassiveExpiringMap#put() method should return the previous record only if not expired. Thanks to Tomas Tulka.
+o COLLECTIONS-706:  Add SetUtils.unmodifiableSet(T... items) method. Thanks to Richard Eckart de Castilho, Gary Gregory.
 
 Changes:
-o COLLECTIONS-602:  Improve efficiency of DefaultedMap.get. Thanks to John Mark. 
-o COLLECTIONS-603:  Small improvements for generics, conditional statements, and warnings suppressions. Thanks to Artem Konovalov. 
-o COLLECTIONS-655:  Update platform from Java 6 to Java 7. 
-o COLLECTIONS-666:  org.apache.commons.collections4.ListUtils.union(List, List) should pre-allocate result list. Thanks to BELUGA BEHR. 
-o COLLECTIONS-669:  Update org.apache.commons.collections4.CollectionUtils.addAll(Collection<C>, C[]) to addAll(Collection<C>, C...). Thanks to BELUGA BEHR, Gary Gregory. 
+o COLLECTIONS-688:  Update platform requirement from Java 7 to 8.
+o COLLECTIONS-689:  Link to Javadoc API broken. Thanks to Richard Walker.
+o COLLECTIONS-692:  Replace use of deprecated Class#newInstance() PR #49. Thanks to Gary Gregory, Eitan Adler.
 
- 
+
 For complete information on Apache Commons Collections, including instructions on how to submit bug reports,
 patches, or suggestions for improvement, see the Apache Apache Commons Collections website:
 
 http://commons.apache.org/proper/commons-collections/
 
 Download page: http://commons.apache.org/proper/commons-collections/download_pool.cgi
-
-===============================================================================
-
-              Apache Commons Collections
-                     Version 4.1
-                    RELEASE NOTES
-
-INTRODUCTION:
-
-Apache Commons Collections is a project to develop and maintain collection
-classes based on and inspired by the JDK collection framework.
-
-This v4.1 release is a minor and security release, fixing several bugs present in
-previous releases of the 4.X branch. Additionally, this release provides a mitigation
-for a known remote code exploitation via the standard java object serialization
-mechanism. Serialization support for unsafe classes in the functor package has been
-completely removed (classes do not implement the Serializable interface anymore).
-For more details, please refer to COLLECTIONS-580.
-
-All users are strongly encouraged to updated to this release.
-
-
-Compatibility
--------------
-
- o Java 6 or later is now required (previous version 4.0 required Java 5).
- o This release is source and binary compatible with the previous 4.0 release
-   of Commons Collections with the exception that some classes in the functor
-   package do not implement the Serializable interface anymore (see COLLECTIONS-580). 
- o some unit tests are disabled when executed with an IBM JDK 6 due to a faulty
-   java.util.TreeMap implementation.
-
-Major changes since 4.0
------------------------
-
- o Added interface MultiSet (package multiset)
- o Added interfaces MultiValuedMap, ListValuedMap and SetValuedMap (package multimap) 
- o Added fluent API for Iterable instances (class FluentIterable)
-
-
-Changes
--------
-
-o [COLLECTIONS-580]: Serialization support for unsafe classes in the functor package
-                     has been removed as this can be exploited for remote code execution
-                     attacks. Classes considered to be unsafe are: CloneTransformer,
-                     ForClosure, InstantiateFactory, InstantiateTransformer, InvokerTransformer,
-                     PrototypeCloneFactory, PrototypeSerializationFactory, WhileClosure. 
-o [COLLECTIONS-551]: Deprecated various method in "CollectionUtils" in favor of similar
-                     methods in the newly introduced "IterableUtils". 
-o [COLLECTIONS-570]: All constructors and static factory methods will now throw a "NullPointerException"
-                     if a required input argument is null. Previously sometimes a "IllegalArgumentException"
-                     was used. 
-o [COLLECTIONS-571]: Deprecated methods "synchronizedCollection(Collection)" and
-                     "unmodifiableCollection(Collection)" in class "CollectionUtils", the corresponding
-                     methods in "java.util.Collections" should be used instead. 
-o [COLLECTIONS-562]: Upgraded minimum java requirement to Java 6 (up from Java 5). 
-
-
-New features
-------------
-
-o [COLLECTIONS-508]: Added new interfaces "MultiValuedMap", "ListValuedMap" and "SetValuedMap"
-                     as a replacement for "MultiMap". Decorators and implementations reside in
-                     the "multimap" package and a "MultiMapUtils" class has been added.
-                     The existing interface "MultiMap" as well as the concrete implementation
-                     "MultiValueMap" has been deprecated. 
-o [COLLECTIONS-567]: Added new MultiSet interface which is intended to be a replacement for
-                     the Bag interface. The main difference is that a MultiSet is fully compatible
-                     to the Collection contract. 
-o [COLLECTIONS-572]: Added set operations to "SetUtils": union, difference, intersection and disjunction.
-                     The operations return a view of the result that is backed by the input sets. 
-o [COLLECTIONS-557]: Added support to specify the initial size of a "LRUMap". Thanks to Philippe Mouawad. 
-o [COLLECTIONS-565]: Added decorators for "NavigableSet" interface. 
-o [COLLECTIONS-464]
-  +COLLECTIONS-442]: Added new class "FluentIterable" to support a fluent API for manipulating
-                     Iterable instances. Additionally various supporting methods have been
-                     added to "IterableUtils" and "IteratorUtils". 
-o [COLLECTIONS-464]: Added new "ZippingIterator" and factory methods "IteratorUtils#zippingIterator(...)". 
-o [COLLECTIONS-464]: Added new decorator "SkippingIterator" and factory methods "IteratorUtils#skippingIterator(...)". 
-o [COLLECTIONS-556]: Added method "SetUtils#newIdentityHashSet()" which returns a new identity HashSet
-                     using reference-equality instead of object-equality. 
-o [COLLECTIONS-395]: Added method "LRUMap#get(Object, boolean)" that allows to query the map
-                     without affecting the least recently used order. Thanks to David Hawthorne. 
-o [COLLECTIONS-427]: Added "toString(...)" methods to newly created "IterableUtils" and existing "IteratorUtils"
-                     to get a string representation of an Iterable/Iterator instance similar to "Arrays#toString(...)".
-                     Thanks to Gonçalo Marques. 
-o [COLLECTIONS-539]: Changed scope of "CircularFifoQueue#isAtFullCapacity()" to public. Thanks to Guram Savinov. 
-o [COLLECTIONS-511]: Added new methods "IterableUtils#partition(...)" to partition an input collection
-                     into separate output collections based on evaluation of one or more predicates.
-                     Thanks to Nathan Blomquist, Brent Worden. 
-o [COLLECTIONS-529]: Added methods "removeAll(...)" and "retainAll(...)" to "CollectionUtils" that perform
-                     equality checks using the provided "Equator" object instead of "Object#equals()".
-                     Thanks to Alexander Muthmann, Dipanjan Laha. 
-o [COLLECTIONS-503]: Added new transformer "IfTransformer" and factory methods "TransformerUtils#ifTransformer(...)"
-                     which replace "TransformerUtils#switchTransformer(Predicate, Transformer, Transformer)".
-                     Thanks to Josh Cain. 
-o [COLLECTIONS-471]: Added new decorator "BoundedIterator" and factory methods "IteratorUtils#boundedIterator(...)".
-                     Thanks to Radford Tam. 
-
-
-Fixed Bugs
-----------
-
-o [COLLECTIONS-580]: Added validation when de-serializing a "MultiValueMap#ReflectionFactory":
-                     only Collection classes are allowed, otherwise an UnsupportedOperationException
-                     will be thrown during de-serialization. 
-o [COLLECTIONS-576]: Subclasses of MultiKey did not re-calculate their hashcode after de-serialization.
-                     Thanks to Stephan Roch. 
-o [COLLECTIONS-566]: "IteratorUtils#collate(...)" methods did not use natural ordering when a
-                     null comparator was provided. 
-o [COLLECTIONS-558]: Changed return type of "ListOrderedSet#remove(int)" from Object to the generic
-                     type parameter. Thanks to Felix Rabe. 
-o [COLLECTIONS-555]: Added clarification to javadoc of "TreeBag#add(Object)" wrt null arguments.
-                     Thanks to M Kim. 
-o [COLLECTIONS-427]: Reverted performance improvement for "SetUniqueList#retainAll(Collection)"
-                     introduced in 4.0. Added clarifying javadoc wrt runtime complexity instead. 
-o [COLLECTIONS-426]: Reverted performance improvement for "ListOrderedSet#retainAll(Collection)"
-                     introduced in 4.0. Added clarifying javadoc wrt runtime complexity instead. 
-o [COLLECTIONS-530]: Added a Builder for "PredicatedCollection". Elements added to the builder
-                     that fail the predicate will not throw an IllegalArgumentException. The builder
-                     supports creating predicated lists, bags, sets and queues. Thanks to Erik. 
-o [COLLECTIONS-545]: Documented runtime complexity of "CollectionUtils#removeAll(Collection, Collection).
-                     Thanks to Oswaldo Olivo. 
-o [COLLECTIONS-543]: "AbstractCollectionDecorator" doesn't forward equals and hashCode anymore. 
-o [COLLECTIONS-544]: Documented runtime complexity of "CollectionUtils#retainAll(Collection, Collection).
-                     Thanks to Oswaldo Olivo. 
-o [COLLECTIONS-542]: "AbstractHashedMap" still inherits from "AbstractMap", contrary to what
-                     the class javadoc stated. The inheritance will now be removed in v5.0. 
-o [COLLECTIONS-525]: The map returned by "PatriciaTrie#prefixMap()" did not contain all keys
-                     that are prefixed by the given search key in some rare cases. Thanks to Zigler Zhang. 
-o [COLLECTIONS-537]: Harmonized signature of factory methods for functor-related classes which take
-                     a collection as input with their array counterparts. Thanks to Frank Jakop. 
-o [COLLECTIONS-540]: Added overloaded method "CollectionUtils#get(Enumeration, int)" and simplified
-                     code for "CollectionUtils#get(Object, int)". Thanks to Daniel Stewart, Issam El Atif. 
-o [COLLECTIONS-536]: Improved check for null input in "MapUtils#putAll(Map, Object[])". Thanks to Tagir Valeev. 
-o [COLLECTIONS-534]: Added clarifying javadoc wrt runtime complexity of "CollectionBag#retainAll".
-                     Thanks to Oswaldo Olivo. 
-o [COLLECTIONS-531]: Use correct type bounds in
-                     "CollectionUtils#isEqualCollection(Collection, Collection, Equator)" to
-                     prevent a "ClassCastException" at runtime for invalid inputs. Thanks to Dipanjan Laha. 
-o [COLLECTIONS-523]: Removed unneeded private method in "PassiveExpiringMap". Thanks to Thiago Andrade. 
-o [COLLECTIONS-516]: Added clarification to the javadoc of "MapUtils#toProperties(Map)" in case
-                     of null keys/values. Thanks to Cyrille Artho. 
-o [COLLECTIONS-524]: "ListOrderedSet#listOrderedSet(List)" did not remove duplicates from the
-                     input list as advertised in the javadoc. Thanks to J Goodfellow. 
-o [COLLECTIONS-521]: "MultiKeyMap" was throwing a "NullPointerException" for various operations
-                     if two key arguments have been used and the second was "null". Thanks to Maxime Nay. 
-o [COLLECTIONS-522]: Updated code example for "PredicatedList". Thanks to Erik. 
-o [COLLECTIONS-512]: "TransformingComparator" and "FixedOrderComparator" did not comply with
-                     the contract of "Object#equals". Thanks to Cyrille Artho. 
-o [COLLECTIONS-510]: Fix compilation errors when using source level 1.8 and a recent java 8 compiler.
-                     Thanks to Hollis Waite. 
-o [COLLECTIONS-509]: Clarified javadoc of "CollectionBag" wrt changes from the original Bag interface. 
-o [COLLECTIONS-507]: Removed wrong type bounds for "ComparatorUtils#chainedComparator(...)". Thanks to Gerson. 
-o [COLLECTIONS-506]: Added javadoc clarification to class "CollectionUtils" that input objects which
-                     override "Object#equals(Object)" must also maintain the general contract of
-                     "Object#hashCode()" as various utility methods take advantage of sets/maps/bags.
-                     Thanks to Anthony Communier. 
-
- 
-For complete information on Apache Commons Collections, including instructions on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Apache Commons Collections website:
-
-http://commons.apache.org/proper/commons-collections/
-
-===============================================================================
-
-              Apache Commons Collections
-                    Version 3.2.2
-                    RELEASE NOTES
-
-
-INTRODUCTION:
-
-Commons collections is a project to develop and maintain collection classes
-based on and inspired by the JDK collection framework.
-This release is JDK1.3 compatible, and does not use JDK1.5 generics.
-
-This v3.2.2 release is a bugfix release, fixing several bugs present in the previous
-releases of the 3.2 branch. Additionally, this release provides a mitigation for a
-known remote code exploitation via the standard java object serialization mechanism.
-By default, serialization support for unsafe classes in the functor package is
-disabled and will result in an exception when either trying to serialize or de-serialize
-an instance of these classes. For more details, please refer to COLLECTIONS-580.
-
-All users are strongly encouraged to updated to this release.
-
-
-Changes in this version include:
-
-CHANGES
-=======
-
-o COLLECTIONS-580:  Serialization support for unsafe classes in the functor package is
-                    disabled by default as this can be exploited for remote code execution
-                    attacks. To re-enable the feature the system property
-                    "org.apache.commons.collections.enableUnsafeSerialization" needs to be
-                    set to "true".
-                    Classes considered to be unsafe are: CloneTransformer, ForClosure,
-                    InstantiateFactory, InstantiateTransformer, InvokerTransformer,
-                    PrototypeCloneFactory, PrototypeSerializationFactory, WhileClosure.
-
-BUGFIXES
-========
-
-o COLLECTIONS-538:  "ExtendedProperties" will now use a privileged action to access the
-                    "file.separator" system property. In case the class does not have
-                    permission to read system properties, the "File#separator" field will
-                    be used instead. Thanks to Trejkaz. 
-o COLLECTIONS-447:  Tree traversal with a TreeListIterator will not be affected anymore by
-                    the removal of an element directly after a call to previous(). Thanks to Jeffrey Barnes. 
-o COLLECTIONS-444:  SetUniqueList.set(int, Object) now works correctly if the object to be inserted
-                    is already placed at the given position. Thanks to Thomas Vahrst, John Vasileff. 
-o COLLECTIONS-350:  Removed debug output in "MapUtils#getNumber(Map)". Thanks to Michael Akerman. 
-o COLLECTIONS-335:  Fixed cache assignment for "TreeBidiMap#entrySet". Thanks to sebb. 
-o COLLECTIONS-334:  Synchronized access to lock in "StaticBucketMap#size()". Thanks to sebb. 
-o COLLECTIONS-307:  "SetUniqueList#subList()#contains(Object)" will now correctly check the subList
-                    rather than the parent list. Thanks to Christian Semrau. 
-o COLLECTIONS-304:  "SetUniqueList#set(int, Object)" will now correctly enforce the uniqueness constraint.
-                    Thanks to Rafa? Figas,Bjorn Townsend. 
-o COLLECTIONS-294:  "CaseInsensitiveMap" will now convert input strings to lower-case in a
-                    locale-independent manner. Thanks to Benjamin Bentmann. 
-o COLLECTIONS-266:  "MultiKey" will now be correctly serialized/de-serialized. Thanks to Joerg Schaible. 
-o COLLECTIONS-261:  "Flat3Map#remove(Object)" will now return the correct value mapped to the removed key
-                    if the size of the map is less or equal 3. Thanks to ori. 
-o COLLECTIONS-249:  "SetUniqueList.addAll(int, Collection)" now correctly add the collection at the
-                    provided index. Thanks to Joe Kelly. 
-o COLLECTIONS-228:  "MultiValueMap#put(Object, Object)" and "MultiValueMap#putAll(Object, Collection)"
-                    now correctly return if the map has changed by this operation. 
-o COLLECTIONS-219:  "CollectionUtils#removeAll" wrongly called "ListUtils#retainAll". Thanks to Tom Leccese. 
-o COLLECTIONS-217:  Calling "setValue(Object)" on any Entry returned by a "Flat3Map" will now
-                    correctly set the value for the current entry. Thanks to Matt Bishop. 
-
- 
-For complete information on Apache Commons Collections, including instructions on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons Collections website:
-
-http://commons.apache.org/collections/
diff --git a/pom.xml b/pom.xml
index 88e85bd..beb9718 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>commons-collections4</artifactId>
-  <version>4.3-SNAPSHOT</version>
+  <version>4.3</version>
   <name>Apache Commons Collections</name>
 
   <inceptionYear>2001</inceptionYear>
@@ -450,13 +450,13 @@
     <dependency>
       <groupId>org.easymock</groupId>
       <artifactId>easymock</artifactId>
-      <version>4.0</version>
+      <version>4.0.2</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
-      <version>3.8</version>
+      <version>3.8.1</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
@@ -676,7 +676,7 @@
       </plugin>
       <plugin>
         <artifactId>maven-pmd-plugin</artifactId>
-        <version>3.10.0</version>
+        <version>3.11.0</version>
         <configuration>
           <targetJdk>${maven.compiler.target}</targetJdk>
         </configuration>
@@ -752,3 +752,4 @@
   </profiles>
 
 </project>
+
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index de297c0..1658d4d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -20,7 +20,7 @@
     <title>Commons Collections Changes</title>
   </properties>
   <body>
-  <release version="4.3" date="2018-MM-DD" description="Update from Java 7 to Java 8, bug fixes, and small changes.">
+  <release version="4.3" date="2018-12-21" description="Update from Java 7 to Java 8, bug fixes, and small changes.">
     <action issue="COLLECTIONS-691" dev="kinow" type="fix" due-to="Eitan Adler">
       Use boolean operator for boolean result.
     </action>
diff --git a/src/site/site.xml b/src/site/site.xml
index 8c722fc..e2ce592 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -29,6 +29,7 @@
             <item name="Security Reports"     href="/security-reports.html"/>
             <item name="Users guide"          href="/userguide.html"/>
             <item name="History"              href="/history.html"/>
+            <item name="Release Notes 4.3"    href="/release_4_3.html"/>
             <item name="Release Notes 4.2"    href="/release_4_2.html"/>
             <item name="Release Notes 4.1"    href="/release_4_1.html"/>
             <item name="Release Notes 4.0"    href="/release_4_0.html"/>