diff --git a/CMakeLists.txt b/CMakeLists.txt
index e9b6fb6..0935c15 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -149,8 +149,8 @@
 project(freetype C)
 
 set(VERSION_MAJOR "2")
-set(VERSION_MINOR "10")
-set(VERSION_PATCH "4")
+set(VERSION_MINOR "11")
+set(VERSION_PATCH "0")
 
 # Generate LIBRARY_VERSION and LIBRARY_SOVERSION.
 set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'")
diff --git a/ChangeLog b/ChangeLog
index 2aefedd..e649d31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2021-07-18  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.11.0 released.
+	==========================
+
+
+	Tag sources with `VER-2-11-0'.
+
+	* docs/VERSION.TXT: Add entry for version 2.11.0.
+	* docs/CHANGES: Updated.
+
+	* README, src/base/ftver.rc, builds/windows/vc2010/index.html,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/index.html, docs/freetype-config.1:
+	s/2.10.4/2.11.0/, s/2104/2110/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 11.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 24:0:18.
+	* CMakeLists.txt (VERSION_MINOR): Set to 11.
+	(VERSION_PATCH): Set to 0.
+
+	* builds/toplevel.mk (dist): Ignore more git-related files.
+
 2021-07-17  David Turner  <david@freetype.org>
 
 	* src/smooth/ftgrays.c: Fix compilation if `FT_LONG64` is undefined.
diff --git a/README b/README
index faad251..b7e1b3b 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-FreeType 2.10.4
+FreeType 2.11.0
 ===============
 
 Homepage: https://www.freetype.org
@@ -30,9 +30,9 @@
 
 and download one of the following files.
 
-  freetype-doc-2.10.4.tar.xz
-  freetype-doc-2.10.4.tar.gz
-  ftdoc2104.zip
+  freetype-doc-2.11.0.tar.xz
+  freetype-doc-2.11.0.tar.gz
+  ftdoc2110.zip
 
 To view the documentation online, go to
 
diff --git a/builds/toplevel.mk b/builds/toplevel.mk
index 789d6fb..3b3fd64 100644
--- a/builds/toplevel.mk
+++ b/builds/toplevel.mk
@@ -248,7 +248,10 @@
 
 	currdir=`pwd` ; \
 	for f in `find . -wholename '*/.git' -prune \
+	                 -o -name .gitattributes \
 	                 -o -name .gitignore \
+	                 -o -name .gitlab-ci.yml \
+	                 -o -name .gitmodules \
 	                 -o -name .mailmap \
 	                 -o -type d \
 	                 -o -print` ; do \
diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw
index 09b5584..56e0a8e 100644
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -17,7 +17,7 @@
 
 # Don't forget to update `docs/VERSIONS.TXT'!
 
-version_info='23:4:17'
+version_info='24:0:18'
 AC_SUBST([version_info])
 ft_version=`echo $version_info | tr : .`
 AC_SUBST([ft_version])
diff --git a/builds/wince/vc2005-ce/index.html b/builds/wince/vc2005-ce/index.html
index 6936a89..0b6fc29 100644
--- a/builds/wince/vc2005-ce/index.html
+++ b/builds/wince/vc2005-ce/index.html
@@ -21,7 +21,7 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.10.4 sources:</p>
+It compiles the following libraries from the FreeType 2.11.0 sources:</p>
 
 <ul>
   <pre>
diff --git a/builds/wince/vc2008-ce/index.html b/builds/wince/vc2008-ce/index.html
index ee385af..0c7ffcc 100644
--- a/builds/wince/vc2008-ce/index.html
+++ b/builds/wince/vc2008-ce/index.html
@@ -21,7 +21,7 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.10.4 sources:</p>
+It compiles the following libraries from the FreeType 2.11.0 sources:</p>
 
 <ul>
   <pre>
diff --git a/builds/windows/vc2010/index.html b/builds/windows/vc2010/index.html
index 3b60c5f..6332d41 100644
--- a/builds/windows/vc2010/index.html
+++ b/builds/windows/vc2010/index.html
@@ -12,7 +12,7 @@
 <p>This directory contains solution and project files for
 Visual&nbsp;C++&nbsp;2010 or newer, named <tt>freetype.sln</tt>,
 and <tt>freetype.vcxproj</tt>.  It compiles the following libraries
-from the FreeType 2.10.4 sources:</p>
+from the FreeType 2.11.0 sources:</p>
 
 <ul>
   <li>freetype.dll using 'Release' or 'Debug' configurations</li>
diff --git a/builds/windows/visualc/index.html b/builds/windows/visualc/index.html
index cec26d2..dbc93ad 100644
--- a/builds/windows/visualc/index.html
+++ b/builds/windows/visualc/index.html
@@ -12,7 +12,7 @@
 <p>This directory contains project files <tt>freetype.dsp</tt> for
 Visual C++ 6.0, and <tt>freetype.vcproj</tt> for Visual C++ 2002
 through 2008, which you might need to upgrade automatically.
-It compiles the following libraries from the FreeType 2.10.4 sources:</p>
+It compiles the following libraries from the FreeType 2.11.0 sources:</p>
 
 <ul>
   <li>freetype.dll using 'Release' or 'Debug' configurations</li>
diff --git a/builds/windows/visualce/index.html b/builds/windows/visualce/index.html
index 474e85c..45aec7a 100644
--- a/builds/windows/visualce/index.html
+++ b/builds/windows/visualce/index.html
@@ -21,7 +21,7 @@
   <li>PPC/SP WM6 (Windows Mobile 6)</li>
 </ul>
 
-It compiles the following libraries from the FreeType 2.10.4 sources:</p>
+It compiles the following libraries from the FreeType 2.11.0 sources:</p>
 
 <ul>
   <pre>
diff --git a/docs/CHANGES b/docs/CHANGES
index 10cad43..7dab3e7 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -2,11 +2,6 @@
 
   I. IMPORTANT CHANGES
 
-  - The legacy Type 1 and CFF  engines are further demoted due to lack
-    of CFF2 charstring support.  You now need to use `FT_Property_Set`
-    to  enable   it  besides  the   `T1_CONFIG_OPTION_OLD_ENGINE`  and
-    `CFF_CONFIG_OPTION_OLD_ENGINE` options.
-
   - A  new rendering  module has  been  added to  create 8-bit  Signed
     Distance Field (SDF)  bitmaps for both outline  and bitmap glyphs.
     The new  rendering mode is called  `FT_RENDER_MODE_SDF`, the pixel
@@ -72,6 +67,11 @@
 
     This work was Priyesh Kumar's GSoC 2020 project.
 
+  - The legacy Type 1 and CFF  engines are further demoted due to lack
+    of CFF2 charstring support.  You now need to use `FT_Property_Set`
+    to  enable  them  besides  the  `T1_CONFIG_OPTION_OLD_ENGINE`  and
+    `CFF_CONFIG_OPTION_OLD_ENGINE` options, respectively.
+
   - The experimental 'warp' mode (AF_CONFIG_OPTION_USE_WARPER) for the
     auto-hinter has been removed.
 
@@ -83,9 +83,8 @@
   - PCF bitmap fonts compressed with LZW (these are usually files with
     the extension `.pcf.Z`) are now handled correctly.
 
-  - Improved Meson build support for the library.
-
-  - Meson support to build the FreeType demo programs.
+  - Improved  Meson  build  files,  including  support  to  build  the
+    FreeType demo programs.
 
   - A new demo program `ftsdf` is available to display Signed Distance
     Fields of glyphs.
diff --git a/docs/INSTALL.GNU b/docs/INSTALL.GNU
index 8810f2a..a04e6fc 100644
--- a/docs/INSTALL.GNU
+++ b/docs/INSTALL.GNU
@@ -152,7 +152,7 @@
 
     To  launch  the build,  simply  invoke  GNU  Make again:  The  top
     Makefile will detect the configuration file and run the build with
-    it.  If you have used variables in  step 3, you must used the same
+    it.  If you have used variables in  step 3, you must use  the same
     variables here, too.
 
 
diff --git a/docs/VERSIONS.TXT b/docs/VERSIONS.TXT
index 0d58619..e4b16ef 100644
--- a/docs/VERSIONS.TXT
+++ b/docs/VERSIONS.TXT
@@ -60,6 +60,7 @@
 
     release     libtool     so
   -------------------------------
+     2.11.0     24.0.18   6.18.0
      2.10.4     23.4.17   6.17.4
      2.10.3     23.3.17   6.17.3
      2.10.2     23.2.17   6.17.2
diff --git a/docs/freetype-config.1 b/docs/freetype-config.1
index 7dea66a..692ec79 100644
--- a/docs/freetype-config.1
+++ b/docs/freetype-config.1
@@ -1,4 +1,4 @@
-.TH FREETYPE-CONFIG 1 "October 2020" "FreeType 2.10.4"
+.TH FREETYPE-CONFIG 1 "July 2021" "FreeType 2.11.0"
 .
 .
 .SH NAME
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index 566f56d..77fede3 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -4724,8 +4724,8 @@
    *
    */
 #define FREETYPE_MAJOR  2
-#define FREETYPE_MINOR  10
-#define FREETYPE_PATCH  4
+#define FREETYPE_MINOR  11
+#define FREETYPE_PATCH  0
 
 
   /**************************************************************************
diff --git a/src/base/ftver.rc b/src/base/ftver.rc
index 371adb5..5fe433c 100644
--- a/src/base/ftver.rc
+++ b/src/base/ftver.rc
@@ -18,8 +18,8 @@
 
 #include<windows.h>
 
-#define FT_VERSION      2,10,4,0
-#define FT_VERSION_STR  "2.10.4"
+#define FT_VERSION      2,11,0,0
+#define FT_VERSION_STR  "2.11.0"
 
 VS_VERSION_INFO      VERSIONINFO
 FILEVERSION          FT_VERSION
diff --git a/src/psaux/psblues.c b/src/psaux/psblues.c
index 7bfd419..f9c864f 100644
--- a/src/psaux/psblues.c
+++ b/src/psaux/psblues.c
@@ -506,8 +506,8 @@
             /* guarantee minimum of 1 pixel overshoot */
             dsNew = FT_MIN(
                       cf2_fixedRound( bottomHintEdge->dsCoord ),
-                      SUB_INT32 ( blues->zone[i].dsFlatEdge,
-                                  cf2_intToFixed( 1 ) ) );
+                      SUB_INT32( blues->zone[i].dsFlatEdge,
+                                 cf2_intToFixed( 1 ) ) );
           }
 
           else
diff --git a/src/psnames/psmodule.c b/src/psnames/psmodule.c
index 186e8ed..fff9c42 100644
--- a/src/psnames/psmodule.c
+++ b/src/psnames/psmodule.c
@@ -166,7 +166,7 @@
       /* `.notdef', `.null' and the empty name are short cut */
       if ( p > glyph_name )
       {
-        value =  (FT_UInt32)ft_get_adobe_glyph_index( glyph_name, p );
+        value = (FT_UInt32)ft_get_adobe_glyph_index( glyph_name, p );
 
         if ( *p == '.' )
           value |= (FT_UInt32)VARIANT_BIT;
diff --git a/src/sfnt/ttpost.c b/src/sfnt/ttpost.c
index 427c3f4..b92ca5d 100644
--- a/src/sfnt/ttpost.c
+++ b/src/sfnt/ttpost.c
@@ -265,7 +265,7 @@
           if ( FT_QREALLOC( strings, 1, 2 ) )
             goto Fail;
 
-          post_len = 1;
+          post_len          = 1;
           strings[post_len] = 0;
         }
 
