diff --git a/NEWS b/NEWS
index d8d219e43..5fbdca8b1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,24 @@
+Overview of changes leading to 3.1.0
+Wednesday, November 3, 2021
+====================================
+- Better offset-overflow handling in the subsetter library. (Garret Rieger)
+- Improved Unicode 14 properties in the USE shaper, and various other USE
+ shaper fixes. (David Corbett)
+- MATH and COLR v1 tables subsetting support, and various other subsetter fixes.
+ (Qunxin Liu)
+- Support for Pwo Karen / Ason Chin medial la. (Simon Cozens)
+- Apply GPOS positioning when substituting with morx table, if kerx is missing.
+ (Behdad Esfahbod)
+- Apply calt and clig features across syllable boundaries in Indic shaper.
+ (Behdad Esfahbod)
+- meson option for enabling Graphite 2 has been renamed to graphite2.
+- Build and documentation fixes.
+
+- New API:
++hb_buffer_set_not_found_glyph()
++hb_buffer_get_not_found_glyph()
+
+
Overview of changes leading to 3.0.0
Friday, September 17, 2021
====================================
diff --git a/configure.ac b/configure.ac
index 5d6875830..80e92b969 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [3.0.0],
+ [3.1.0],
[https://github.com/harfbuzz/harfbuzz/issues/new],
[harfbuzz],
[http://harfbuzz.org/])
diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml
index a7e9ca379..5fa365898 100644
--- a/docs/harfbuzz-docs.xml
+++ b/docs/harfbuzz-docs.xml
@@ -116,6 +116,7 @@
API Index
Index of deprecated API
+ Index of new symbols in 3.1.0
Index of new symbols in 3.0.0
Index of new symbols in 2.9.1
Index of new symbols in 2.9.0
diff --git a/meson.build b/meson.build
index 4b441a51e..d54872182 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
project('harfbuzz', 'c', 'cpp',
meson_version: '>= 0.52.0',
- version: '3.0.0',
+ version: '3.1.0',
default_options: [
'cpp_rtti=false', # Just to support msvc, we are passing -fno-exceptions also anyway
'cpp_std=c++11',
diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc
index caa562939..b4f7f7237 100644
--- a/src/hb-buffer.cc
+++ b/src/hb-buffer.cc
@@ -1171,7 +1171,7 @@ hb_buffer_get_invisible_glyph (hb_buffer_t *buffer)
* The not-found glyph defaults to zero, sometimes knows as the
* ".notdef" glyph. This API allows for differentiating the two.
*
- * Since: REPLACEME
+ * Since: 3.1.0
**/
void
hb_buffer_set_not_found_glyph (hb_buffer_t *buffer,
@@ -1192,7 +1192,7 @@ hb_buffer_set_not_found_glyph (hb_buffer_t *buffer,
* Return value:
* The @buffer not-found #hb_codepoint_t
*
- * Since: REPLACEME
+ * Since: 3.1.0
**/
hb_codepoint_t
hb_buffer_get_not_found_glyph (hb_buffer_t *buffer)
diff --git a/src/hb-version.h b/src/hb-version.h
index 70325f88e..62922c5a3 100644
--- a/src/hb-version.h
+++ b/src/hb-version.h
@@ -47,7 +47,7 @@ HB_BEGIN_DECLS
*
* The minor component of the library version available at compile-time.
*/
-#define HB_VERSION_MINOR 0
+#define HB_VERSION_MINOR 1
/**
* HB_VERSION_MICRO:
*
@@ -60,7 +60,7 @@ HB_BEGIN_DECLS
*
* A string literal containing the library version available at compile-time.
*/
-#define HB_VERSION_STRING "3.0.0"
+#define HB_VERSION_STRING "3.1.0"
/**
* HB_VERSION_ATLEAST: