diff --git a/ChangeLog b/ChangeLog
index d867c6a..66fb731 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2010-09-27: Version 2.4.6
+        Fixed assertion failure related to copy-on-write arrays (issue 876).
+
+        Fixed build failure of 64-bit V8 on Windows.
+
+        Fixed a bug in RegExp (issue http://crbug.com/52801).
+
+        Improved the profiler's coverage to cover more functions (issue 858).
+
+        Fixed error in shift operators on 64-bit V8
+        (issue http://crbug.com/54521).
+
+
+2010-09-22: Version 2.4.5
+        Changed the RegExp benchmark to exercise the regexp engine on different
+        inputs by scrambling the input strings.
+
+        Fixed a bug in keyed loads on strings.
+
+        Fixed a bug with loading global function prototypes.
+
+        Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
+
+        Performance improvements on all platforms.
+
+
+2010-09-15: Version 2.4.4
+
+        Fixed bug with hangs on very large sparse arrays.
+
+        Now tries harder to free up memory when running out of space.
+
+        Added heap snapshots to JSON format to API.
+
+        Recalibrated benchmarks.
+
+
 2010-09-13: Version 2.4.3
 
         Made Date.parse properly handle TZ offsets (issue 857).
@@ -31,33 +68,33 @@
 
 2010-09-01: Version 2.4.0
 
-        Fix bug in Object.freeze and Object.seal when Array.prototype or
-        Object.prototype is changed (issue 842).
+        Fixed bug in Object.freeze and Object.seal when Array.prototype or
+        Object.prototype are changed (issue 842).
 
-        Update Array.splice to follow Safari and Firefox when called
+        Updated Array.splice to follow Safari and Firefox when called
         with zero arguments.
 
-        Fix a missing live register when breaking at keyed loads on ARM.
+        Fixed a missing live register when breaking at keyed loads on ARM.
 
         Performance improvements on all platforms.
 
 
 2010-08-25: Version 2.3.11
 
-        Fix bug in RegExp related to copy-on-write arrays.
+        Fixed bug in RegExp related to copy-on-write arrays.
 
-        Refactoring of tools/test.py script, including the introduction of
+        Refactored tools/test.py script, including the introduction of
         VARIANT_FLAGS that allows specification of sets of flags with which
         all tests should be run.
 
-        Fix a bug in the handling of debug breaks in CallIC.
+        Fixed a bug in the handling of debug breaks in CallIC.
 
         Performance improvements on all platforms.
 
 
 2010-08-23: Version 2.3.10
 
-        Fix bug in bitops on ARM.
+        Fixed bug in bitops on ARM.
 
         Build fixes for unusual compilers.
 
@@ -68,7 +105,7 @@
 
 2010-08-18: Version 2.3.9
 
-        Fix compilation for ARMv4 on OpenBSD/FreeBSD.
+        Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
 
         Removed specialized handling of GCC 4.4 (issue 830).
 
@@ -109,7 +146,7 @@
         Fixed handling of JSObject::elements in CalculateNetworkSize
         (issue 822).
 
-        Allow compiling with strict aliasing enabled on GCC 4.4 (issue 463).
+        Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
 
 
 2010-08-09: Version 2.3.6
@@ -119,7 +156,7 @@
 
         Object.seal and Object.freeze return the modified object (issue 809).
 
-        Fix building using GCC 4.4.4.
+        Fixed building using GCC 4.4.4.
 
 
 2010-08-04: Version 2.3.5
@@ -128,7 +165,7 @@
         dot-notation property access now allows keywords. Also allowed
         non-identifiers after "get" or "set" in an object initialiser.
 
-        Randomize the addresses of allocated executable memory on Windows.
+        Randomized the addresses of allocated executable memory on Windows.
 
 
 2010-08-02: Version 2.3.4
@@ -240,15 +277,15 @@
 
 2010-06-30: Version 2.2.21
 
-        Fix bug in externalizing some ASCII strings (Chromium issue 47824).
+        Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
 
-        Update JSON.stringify to floor the space parameter (issue 753).
+        Updated JSON.stringify to floor the space parameter (issue 753).
 
-        Update the Mozilla test expectations to the newest version.
+        Updated the Mozilla test expectations to the newest version.
 
-        Update the ES5 Conformance Test expectations to the latest version.
+        Updated the ES5 Conformance Test expectations to the latest version.
 
-        Update the V8 benchmark suite.
+        Updated the V8 benchmark suite.
 
         Provide actual breakpoints locations in response to setBreakpoint
         and listBreakpoints requests.
@@ -256,13 +293,13 @@
 
 2010-06-28: Version 2.2.20
 
-        Fix bug with for-in on x64 platform (issue 748).
+        Fixed bug with for-in on x64 platform (issue 748).
 
-        Fix crash bug on x64 platform (issue 756).
+        Fixed crash bug on x64 platform (issue 756).
 
-        Fix bug in Object.getOwnPropertyNames. (chromium issue 41243).
+        Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
 
-        Fix a bug on ARM that caused the result of 1 << x to be
+        Fixed a bug on ARM that caused the result of 1 << x to be
         miscalculated for some inputs.
 
         Performance improvements on all platforms.
@@ -270,7 +307,7 @@
 
 2010-06-23: Version 2.2.19
 
-        Fix bug that causes the build to break when profillingsupport=off
+        Fixed bug that causes the build to break when profillingsupport=off
         (issue 738).
 
         Added expose-externalize-string flag for testing extensions.
@@ -278,7 +315,7 @@
         Resolve linker issues with using V8 as a DLL causing a number of
         problems with unresolved symbols.
 
-        Fix build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
+        Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
         defined.
 
         Performance improvements on all platforms.
@@ -289,11 +326,11 @@
         Added API functions to retrieve information on indexed properties
         managed by the embedding layer.  Fixes bug 737.
 
-        Make ES5 Object.defineProperty support array elements.  Fixes bug 619.
+        Made ES5 Object.defineProperty support array elements.  Fixes bug 619.
 
-        Add heap profiling to the API.
+        Added heap profiling to the API.
 
-        Remove old named property query from the API.
+        Removed old named property query from the API.
 
         Incremental performance improvements.
 
@@ -319,12 +356,12 @@
 
 2010-06-07: Version 2.2.15
 
-        Add an API to control the disposal of external string resources.
+        Added an API to control the disposal of external string resources.
 
-        Add missing initialization of a couple of variables which makes
+        Added missing initialization of a couple of variables which makes
         some compilers complaint when compiling with -Werror.
 
-        Improve performance on all platforms.
+        Improved performance on all platforms.
 
 
 2010-06-02: Version 2.2.14
@@ -338,12 +375,12 @@
 
 2010-05-31: Version 2.2.13
 
-        Implement Object.getOwnPropertyDescriptor for element indices and
+        Implemented Object.getOwnPropertyDescriptor for element indices and
         strings (issue 599).
 
-        Fix bug for windows 64 bit C calls from generated code.
+        Fixed bug for windows 64 bit C calls from generated code.
 
-        Add new scons flag unalignedaccesses for arm builds.
+        Added new scons flag unalignedaccesses for arm builds.
 
         Performance improvements on all platforms.
 
@@ -358,7 +395,7 @@
 
 2010-05-21: Version 2.2.11
 
-        Fix crash bug in liveedit on 64 bit.
+        Fixed crash bug in liveedit on 64 bit.
 
         Use 'full compiler' when debugging is active.  This should increase
         the density of possible break points, making single step more fine
@@ -368,11 +405,11 @@
 
         Misc. fixes to the Solaris build.
 
-        Add new flags --print-cumulative-gc-stat and --trace-gc-nvp.
+        Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
 
-        Add filtering of CPU profiles by security context.
+        Added filtering of CPU profiles by security context.
 
-        Fix crash bug on ARM when running without VFP2 or VFP3.
+        Fixed crash bug on ARM when running without VFP2 or VFP3.
 
         Incremental performance improvements in all backends.
 
@@ -384,12 +421,12 @@
 
 2010-05-10: Version 2.2.9
 
-        Allow Object.create to be called with a function (issue 697).
+        Allowed Object.create to be called with a function (issue 697).
 
         Fixed bug with Date.parse returning a non-NaN value when called on a
         non date string (issue 696).
 
-        Allow unaligned memory accesses on ARM targets that support it (by
+        Allowed unaligned memory accesses on ARM targets that support it (by
         Subrato K De of CodeAurora <subratokde@codeaurora.org>).
 
         C++ API for retrieving JavaScript stack trace information.
@@ -543,9 +580,9 @@
 
 2010-02-23: Version 2.1.2
 
-        Fix a crash bug caused by wrong assert.
+        Fixed a crash bug caused by wrong assert.
 
-        Fix a bug with register names on 64-bit V8 (issue 615).
+        Fixed a bug with register names on 64-bit V8 (issue 615).
 
         Performance improvements on all platforms.
 
@@ -581,13 +618,13 @@
         Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
         <ry@tinyclouds.org>.
 
-        Fix a bug that Math.round() returns incorrect results for huge
+        Fixed a bug that Math.round() returns incorrect results for huge
         integers.
 
-        Fix enumeration order for objects created from some constructor
+        Fixed enumeration order for objects created from some constructor
         functions (isue http://crbug.com/3867).
 
-        Fix arithmetic on some integer constants (issue 580).
+        Fixed arithmetic on some integer constants (issue 580).
 
         Numerous performance improvements including porting of previous IA-32
         optimizations to x64 and ARM architectures.
@@ -726,11 +763,11 @@
 
         X64: Convert smis to holding 32 bits of payload.
 
-        Introduce v8::Integer::NewFromUnsigned method.
+        Introduced v8::Integer::NewFromUnsigned method.
 
-        Add missing null check in Context::GetCurrent.
+        Added missing null check in Context::GetCurrent.
 
-        Add trim, trimLeft and trimRight methods to String
+        Added trim, trimLeft and trimRight methods to String
         Patch by Jan de Mooij <jandemooij@gmail.com>
 
         Implement ES5 Array.isArray
@@ -738,14 +775,15 @@
 
         Skip access checks for hidden properties.
 
-        Add String::Concat(Handle<String> left, Handle<String> right) to the V8 API.
+        Added String::Concat(Handle<String> left, Handle<String> right) to the
+        V8 API.
 
-        Fix GYP-based builds of V8.
+        Fixed GYP-based builds of V8.
 
 
 2009-10-07: Version 1.3.15
 
-        Expand the maximum size of the code space to 512MB for 64-bit mode.
+        Expanded the maximum size of the code space to 512MB for 64-bit mode.
 
         Fixed a crash bug happening when starting profiling (issue
         http://crbug.com/23768).
@@ -757,10 +795,10 @@
         located on the object or in the prototype chain skipping any
         interceptors.
 
-        Fix the stack limits setting API to work correctly with threads. The
+        Fixed the stack limits setting API to work correctly with threads. The
         stack limit now needs to be set to each thread thich is used with V8.
 
-        Remove the high-priority flag from IdleNotification()
+        Removed the high-priority flag from IdleNotification()
 
         Ensure V8 is initialized before locking and unlocking threads.
 
@@ -828,7 +866,7 @@
         Implemented missing pieces of debugger infrastructure on ARM.  The
         debugger is now fully functional on ARM.
 
-        Make 'hidden' the default visibility for gcc.
+        Made 'hidden' the default visibility for gcc.
 
 
 2009-09-09: Version 1.3.10
@@ -883,9 +921,9 @@
 
 2009-08-21: Version 1.3.6
 
-        Add support for forceful termination of JavaScript execution.
+        Added support for forceful termination of JavaScript execution.
 
-        Add low memory notification to the API. The embedding host can signal
+        Added low memory notification to the API. The embedding host can signal
         a low memory situation to V8.
 
         Changed the handling of global handles (persistent handles in the API
@@ -899,9 +937,9 @@
 
 2009-08-19: Version 1.3.5
 
-        Optimize initialization of some arrays in the builtins.
+        Optimized initialization of some arrays in the builtins.
 
-        Fix mac-nm script to support filenames with spaces.
+        Fixed mac-nm script to support filenames with spaces.
 
         Support for using the V8 profiler when V8 is embedded in a Windows DLL.
 
@@ -914,7 +952,7 @@
 
         Added API for getting object mirrors.
 
-        Make sure that SSE3 instructions are used whenever possible even when
+        Made sure that SSE3 instructions are used whenever possible even when
         running off a snapshot generated without using SSE3 instructions.
 
         Tweaked the handling of the initial size and growth policy of the heap.
@@ -936,20 +974,20 @@
 
 2009-08-12: Version 1.3.3
 
-        Fix issue 417: incorrect %t placeholder expansion.
+        Fixed issue 417: incorrect %t placeholder expansion.
 
-        Add .gitignore file similar to Chromium's one.
+        Added .gitignore file similar to Chromium's one.
 
-        Fix SConstruct file to build with new logging code for Android.
+        Fixed SConstruct file to build with new logging code for Android.
 
         API: added function to find instance of template in prototype
         chain.  Inlined Object::IsInstanceOf.
 
         Land change to notify valgrind when we modify code on x86.
 
-        Add api call to determine whether a string can be externalized.
+        Added api call to determine whether a string can be externalized.
 
-        Add a write() command to d8.
+        Added a write() command to d8.
 
 
 2009-08-05: Version 1.3.2
@@ -1232,7 +1270,7 @@
 
         Added EcmaScript 5 JSON object.
 
-        Fix bug in preemption support on ARM.
+        Fixed bug in preemption support on ARM.
 
 
 2009-04-23: Version 1.2.0
