diff --git a/builds/meson/extract_freetype_version.py b/builds/meson/extract_freetype_version.py
index 50e5a54..15e87db 100644
--- a/builds/meson/extract_freetype_version.py
+++ b/builds/meson/extract_freetype_version.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 """Extract the FreeType version numbers from `<freetype/freetype.h>`.
 
-This script parses the header to extract the version number defined there. 
+This script parses the header to extract the version number defined there.
 By default, the full dotted version number is printed, but `--major`,
 `--minor` or `--patch` can be used to only print one of these values
 instead.
diff --git a/docs/CHANGES b/docs/CHANGES
index bca560b..a2f6d87 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -1,3 +1,52 @@
+CHANGES BETWEEN 2.10.2 and 2.10.3
+
+  I. IMPORTANT CHANGES
+
+  - New flag `FT_OUTLINE_OVERLAP'.  If set, make the smooth rasterizer
+    do  4x4 oversampling  to  mitigate artifacts  in pixels  partially
+    covered  by  overlapping  contours.    Note  that  this  at  least
+    quadruples the rendering time.
+
+    If  a  glyph  in  a  TrueType font  has  the  `OVERLAP_SIMPLE'  or
+    `OVERLAP_COMPOUND'  bit set,  FreeType automatically  selects this
+    rendering mode.
+
+
+  II. MISCELLANEOUS
+
+  - Using the  arcane method of  including FreeType header  files with
+    macros like  `FT_FREETYPE_H' is no longer  mandatory (but retained
+    as an optional feature for backward compatibility).
+
+  - Support for  building the library  with Meson.  Building  the demo
+    programs with Meson will follow in a forthcoming release.
+
+  - Minor improvements to the B/W rasterizer.
+
+  - Auto-hinter support for Medefaidrin script.
+
+  - Fix various  memory leaks (mainly  for CFF) and other  issues that
+    might cause crashes in rare circumstances.
+
+  - Jam support has been removed.
+
+  - In  `ftview', custom  LCD  filter values  are  now normalized  and
+    balanced.  Unorthodox filters are still available through the `-L'
+    command line option.
+
+  - The GUI demo programs can now be resized.
+
+  - Demo programs that accept command  line option `-k' can now handle
+    function keys, too.  The  corresponding character codes start with
+    0xF1.  As  an example, the  POSIX shell syntax (accepted  by bash,
+    ksh, and zsh)
+
+      -k $'\xF3q'
+
+    emulates the pressing of function key `F3' followed by key `q'.
+
+
+======================================================================
 
 CHANGES BETWEEN 2.10.1 and 2.10.2
 
@@ -19,7 +68,7 @@
     `docwriter'  (Python >= 3.5 is required for targets  `make refdoc'
     and `make refdoc-venv').
 
-  - Auto-hinter support for Hanifi Rohingya and Medefaidrin.
+  - Auto-hinter support for Hanifi Rohingya.
 
   - Document the `FT2_KEEP_ALIVE' debugging environment variable.
 
@@ -246,7 +295,7 @@
       use the `pkg-config' interface.
 
       The `configure'  script no longer installs  `freetype-config' by
-      default.  For  backwards compatibility,  a new  configure option
+      default.  For  backward  compatibility,  a new  configure option
       `--enable-freetype-config'   is  provided   that  reverts   this
       decision.
 
diff --git a/docs/INSTALL.ANY b/docs/INSTALL.ANY
index 31d63b3..879dddb 100644
--- a/docs/INSTALL.ANY
+++ b/docs/INSTALL.ANY
@@ -10,7 +10,7 @@
 
   * If you use macro names  for FreeType header files (while mandatory
     in earlier versions,  this is now optional  since FreeType version
-    2.11) it  is necessary to  disable pre-compiled headers.   This is
+    2.10.3) it  is necessary to disable pre-compiled headers.  This is
     very important for Visual C++, because lines like
 
       #include FT_FREETYPE_H
diff --git a/include/freetype/ftimage.h b/include/freetype/ftimage.h
index 58b674f..b125ce9 100644
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -403,7 +403,7 @@
    *   FT_OUTLINE_OVERLAP ::
    *     This flag indicates that this outline contains overlapping contrours
    *     and the anti-aliased renderer should perform oversampling to
-   *     metigate possible artifacts.  This flag should _not_ be set for
+   *     mitigate possible artifacts.  This flag should _not_ be set for
    *     well designed glyphs without overlaps because it quadruples the
    *     rendering time.
    *
@@ -1017,11 +1017,11 @@
    * @note:
    *   The @FT_RASTER_FLAG_AA bit flag must be set in the `flags` to
    *   generate an anti-aliased glyph bitmap, otherwise a monochrome bitmap
-   *   is generated. The `target` should have appropriate pixel mode and its
+   *   is generated.  The `target` should have appropriate pixel mode and its
    *   dimensions define the clipping region.
    *
    *   If both `( @FT_RASTER_FLAG_AA | @FT_RASTER_FLAG_DIRECT )` bit flags
-   *   are set in `flags`, the raster will call an @FT_SpanFunc callback
+   *   are set in `flags`, the raster calls an @FT_SpanFunc callback
    *   `gray_spans` with `user` data as an argument ignoring `target`.  This
    *   allows direct composition over a pre-existing user surface to perform
    *   the span drawing and composition.  To optionally clip the spans, set
diff --git a/include/freetype/ftlcdfil.h b/include/freetype/ftlcdfil.h
index b8c5c00..c6995f2 100644
--- a/include/freetype/ftlcdfil.h
+++ b/include/freetype/ftlcdfil.h
@@ -195,7 +195,7 @@
    *   FreeType error code.  0~means success.
    *
    * @note:
-   *   Since 2.11 the LCD filtering is enabled with @FT_LCD_FILTER_DEFAULT.
+   *   Since 2.10.3 the LCD filtering is enabled with @FT_LCD_FILTER_DEFAULT.
    *   It is no longer necessary to call this function explicitly except
    *   to choose a different filter or disable filtering altogether with
    *   @FT_LCD_FILTER_NONE.
diff --git a/src/raster/ftraster.c b/src/raster/ftraster.c
index 1408e51..9f0a797 100644
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -459,8 +459,9 @@
 #define IS_TOP_OVERSHOOT( x )    \
           (Bool)( x - FLOOR( x ) >= ras.precision_half )
 
-  /* smart dropout rounding to find which pixel is closer to span ends;    */
-  /* to mimick Windows, symmetric cases break down indepenent of precision */
+  /* Smart dropout rounding to find which pixel is closer to span ends. */
+  /* To mimick Windows, symmetric cases break down indepenently of the  */
+  /* precision.                                                         */
 #define SMART( p, q )  FLOOR( ( (p) + (q) + ras.precision * 63 / 64 ) >> 1 )
 
 #if FT_RENDER_POOL_SIZE > 2048
@@ -2507,7 +2508,7 @@
                 x2 / (double)ras.precision ));
 
     /* We should not need this procedure but the vertical sweep   */
-    /* mishandles horizontal lines through pixel centers. So we   */
+    /* mishandles horizontal lines through pixel centers.  So we  */
     /* have to check perfectly aligned span edges here.           */
     /*                                                            */
     /* XXX: Can we handle horizontal lines better and drop this?  */
