diff --git a/ChangeLog b/ChangeLog
index 4651c14..e65b18c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,203 @@
 
 ----------------------------------------------------------------------
 
+Changes: V5.7.3.pre5 -> V5.7.3.rc1
+
+commit 8fc7514b59dc46b8f3e36c81a92af008dc8dc188
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date:   Wed Oct 1 09:59:26 2014 -0700
+
+    make depend for 5.7.3.rc1
+
+commit 3ea514423d9373af77cbc4b8336b170143864389
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date:   Tue Sep 30 23:12:40 2014 -0700
+
+    Release Candidate for V5-7-patches
+
+commit abb7f2eec173c8d262bf6ef1b7deb5b70839d15f
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date:   Tue Sep 30 23:12:39 2014 -0700
+
+    Version number update: 5.7.3.rc1
+
+commit bcaab48d9d498361fdd451652773b3b956c7f10c
+Author: Robert Story <rstory@localhost>
+Date:   Thu Sep 25 09:36:00 2014 -0400
+
+    remove bad assert check
+
+commit 5d1ecf6d1591a53e711c5feea158d10dd90fab3b
+Author: Bart Van Assche <bvanassche@acm.org>
+Date:   Mon Sep 1 14:46:50 2014 +0200
+
+    CHANGES: MinGW: Port T005table_dataset_cagentlib.c to MinGW
+
+commit af8c17e6482cb55206c5027098366f60ad8f7cc7
+Author: Bart Van Assche <bvanassche@acm.org>
+Date:   Mon Sep 1 13:24:18 2014 +0200
+
+    CHANGES: BUG: 2568: Avoid that file descriptors above FD_SETSIZE trigger abort()
+
+commit 4224cabcb112d0d437f9ca9f4d3430501d1c8750
+Author: Bill Fenner <fenner@gmail.com>
+Date:   Tue Jul 22 06:49:28 2014 -0700
+
+    When enlarging a large_fd_set, use FD_ZERO if possible
+    
+    The most common case of creating a large_fd_set on UNIX
+    is to create it with size zero, and then immediately enlarge
+    it to size FD_SETSIZE.  Instead of looping and calling
+    FD_CLR(), we can optimize this common case with the OS's
+    FD_ZERO.
+
+commit 3524a92f227eb3e736908b1f1f525da2dc949d22
+Author: Bart Van Assche <bvassche@users.sourceforge.net>
+Date:   Sat Jan 23 17:42:41 2010 +0000
+
+    Fixed a Solaris-specific compiler warning.
+    
+    git-svn-id: file:///home/hardaker/lib/sf-bkups/net-snmp-convert-svnrepo/trunk@18029 06827809-a52a-0410-b366-d66718629ded
+
+commit 954ea4d70840aa5f753a06e5df7652b258d92042
+Author: Dave Shield <dts12@users.sourceforge.net>
+Date:   Mon Jun 21 08:01:43 2010 +0000
+
+    Ensure that fdset structure is resized sufficiently
+    to accomodate the specified socket ID.
+    Problem reported by Shiyalei.
+    
+    git-svn-id: file:///home/hardaker/lib/sf-bkups/net-snmp-convert-svnrepo/trunk@19066 06827809-a52a-0410-b366-d66718629ded
+
+commit 3da0c378b5cb1bbf35d05a6212a483abda84a201
+Author: Niels Baggesen <nba@users.sourceforge.net>
+Date:   Mon Sep 1 08:59:04 2014 +0200
+
+    Fix commit 7f4a7b891332899cea26e95be0337aae01648742: dont mix code and declarations.
+
+commit 0837b21e798a9856c0a9f438ec44a83bed1f8536
+Author: Magnus Fromreide <magfr@lysator.liu.se>
+Date:   Fri Aug 29 08:18:20 2014 +0200
+
+    Empty initializers are (sadly) not part of C.
+    Stop using them.
+
+commit 5e4f6e3f43035a689c9fa289027eed60a22dbfaf
+Author: Bill Fenner <fenner@gmail.com>
+Date:   Thu Aug 28 12:12:21 2014 -0400
+
+    Add a debug message when skipping a key
+
+commit e5706150c4532d7fc1832718568bb50bb0ffc01f
+Author: Jan Safranek <jsafranek@users.sourceforge.net>
+Date:   Thu Jul 31 15:44:31 2014 +0200
+
+    Added test for sprint_realloc_variable with -OQ cmdline argument.
+
+commit 7f4a7b891332899cea26e95be0337aae01648742
+Author: Jan Safranek <jsafranek@users.sourceforge.net>
+Date:   Thu Jul 31 13:46:49 2014 +0200
+
+    Added checks for printing variables with wrong types.
+    
+    When -OQ command line argument is used, variable formatter preffers the type
+    of the varible parsed from a MIB file instead of checking type of the variable
+    as parsed from SNMP message.
+    
+    This can lead to crashes when incoming packets contains a variable with
+    NULL type, while the MIB says the variable should be non-NULL, like Integer.
+    The formatter then tries to interpret the NULL (from packet) as Integer (from
+    MIB file).
+
+commit 9c4ddca96082c139cfce928eea3cfe793d34f5c2
+Author: Jeff Gehlbach <jeffg@opennms.org>
+Date:   Thu Jul 31 11:52:18 2014 -0400
+
+    Add a scalar object containing the number of processors seen by the agent. Placed this in the systemStats group for lack of an obviously better location. Updated UCD-SNMP-MIB accordingly.
+    
+    Signed-off-by: Niels Baggesen <nba@users.sourceforge.net>
+
+commit 664ed943f63dfe9393e959840ecd23c31c9d8f89
+Author: Bill Fenner <fenner@gmail.com>
+Date:   Wed Aug 27 16:02:57 2014 -0400
+
+    Handle duplicates in a binary_array container
+    
+    The CONTAINER_KEY_ALLOW_DUPLICATES setting is fundamentally flawed;
+    it really effectively meant "I promise I won't insert duplicates
+    so don't check at insert time".  However, the ip-forward-mib
+    sets this flag but relies on the duplicate prevention at insert
+    time under certain scenarios (e.g., multiple attachments to the
+    same subnet on MacOS), resulting in a loop in ip-forward-mib
+    in these scenarios.  So, now it means "check for duplicates at
+    getnext time" - the binary search will find an arbitrary one
+    of the entries with the same key, and when we've incremented
+    we have to check whether or not we've actually incremented past
+    any duplicates.  This costs an extra key compare per getnext.
+    
+    If there's a scenario in the future where a MIB implementation
+    can really guarantee that it isn't inserting duplicates, we
+    might want to add a "CONTAINER_KEY_I_PROMISE_I_WONT_INSERT_DUPLICATES",
+    that disables the insertion check but doesn't perform the getnext
+    check.
+
+commit f82d2d63493f4079c167ba36b203e49cda3bde8d
+Author: Niels Baggesen <nba@users.sourceforge.net>
+Date:   Mon Aug 18 21:55:04 2014 +0200
+
+    Fix for FreeBSD9 losing mib-modules list because of missing NL in sed input.
+
+commit 52b072bcff32e3512fbf956b72d1a353e50a962b
+Author: Niels Baggesen <nba@users.sourceforge.net>
+Date:   Mon Aug 18 21:53:38 2014 +0200
+
+    Updates for BFD mibs.
+
+commit 03db67b322d76d717be17a87e777c91dd0fdd3ac
+Author: Bill Fenner <fenner@gmail.com>
+Date:   Tue Aug 12 23:55:07 2014 -0400
+
+    If sdl_alen is too long for the static buffer, call it incomplete instead of overrunning the buffer
+
+commit 8ae78da391d5b6b61cc2516eb1a6520b0dabb6bf
+Author: Bill Fenner <fenner@gmail.com>
+Date:   Tue Aug 12 22:55:45 2014 -0400
+
+    Use vm_region_64 on 64-bit arch; cache memory for longer
+    
+    This is a port of the Apple patches at
+    http://www.opensource.apple.com/source/net_snmp/net_snmp-140.1/patches/darwin64.patch
+    1. Use vm_region_64 instead of vm_region on __ppc64__ or __x86_64__
+    2. Use 300 second timeout for the cache.
+    
+    This comment about the code being incredibly expensive is
+    very true: on a 1.7 GHz i7 with 8 GB of RAM (admittedly a
+    small machine) it took 17 seconds to calculate and
+    return HOST-RESOURCES-MIB::hrMemorySize.0.  Most SNMP
+    clients would give up long before getting this answer.
+
+commit 613e93704ba95f3c6440114eb73bf09f7775560e
+Author: Bill Fenner <fenner@gmail.com>
+Date:   Tue Aug 12 22:34:06 2014 -0400
+
+    darwin13 also uses kernel_sysctl
+
+commit c13dd97d7bdde7302d002787eef03d772f29bcd4
+Author: Bill Fenner <fenner@gmail.com>
+Date:   Tue Aug 12 12:30:23 2014 -0700
+
+    Use the right header guard.
+    
+    Believe it or not, clang found this detail with -Wheader-guard.
+
+commit d5d40302b0ab340e211ad76d7f195b807f387ef3
+Author: Wes Hardaker <hardaker@users.sourceforge.net>
+Date:   Mon Aug 11 12:33:50 2014 -0700
+
+    update to new key ID
+
+----------------------------------------------------------------------
+
 Changes: V5.7.3.pre4 -> V5.7.3.pre5
 
 commit f3f371b276d265b455fc490fce1947dadf89e9c2
