diff --git a/NEWS b/NEWS
index 2d6a4a7d6..e94c6a893 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,16 @@
+Overview of changes leading to 8.4.0
+Saturday, March 29, 2024
+====================================
+- Add /bigobj to MSVC compiler flags in meson build, to fix building hb-subset.cc
+- Specify minimum versions of various dependencies in meson and autotools build.
+- When subsetting, place variation store at the end of “GDEF” table to fix
+ shaping issues with some versions of Adobe InDesign.
+- Various build fixes.
+
+- New API:
++hb_buffer_set_random_state()
++hb_buffer_get_random_state()
+
Overview of changes leading to 8.3.1
Saturday, March 16, 2024
====================================
diff --git a/configure.ac b/configure.ac
index f853b7418..40f5994e8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [8.3.1],
+ [8.4.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 1700a34b4..cd4c5f00b 100644
--- a/docs/harfbuzz-docs.xml
+++ b/docs/harfbuzz-docs.xml
@@ -120,6 +120,7 @@
API Index
Index of deprecated API
+ Index of new symbols in 8.4.0
Index of new symbols in 8.3.1
Index of new symbols in 8.2.0
Index of new symbols in 8.1.0
diff --git a/meson.build b/meson.build
index fa4bf7f0c..fed3dc055 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
project('harfbuzz', 'c', 'cpp',
meson_version: '>= 0.55.0',
- version: '8.3.1',
+ version: '8.4.0',
default_options: [
'cpp_eh=none', # Just to support msvc, we are passing -fno-exceptions also anyway
# 'cpp_rtti=false', # Do NOT enable, wraps inherit it and ICU needs RTTI
diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc
index f464f20a0..d621a7cc5 100644
--- a/src/hb-buffer.cc
+++ b/src/hb-buffer.cc
@@ -1375,7 +1375,7 @@ hb_buffer_get_not_found_glyph (const hb_buffer_t *buffer)
* Defaults to 1 and when buffer contents are cleared.
* A value of 0 disables randomness during shaping.
*
- * XSince: REPLACEME
+ * Since: 8.4.0
**/
void
hb_buffer_set_random_state (hb_buffer_t *buffer,
@@ -1396,7 +1396,7 @@ hb_buffer_set_random_state (hb_buffer_t *buffer,
* Return value:
* The @buffer random state
*
- * XSince: REPLACEME
+ * Since: 8.4.0
**/
unsigned
hb_buffer_get_random_state (const hb_buffer_t *buffer)
diff --git a/src/hb-version.h b/src/hb-version.h
index d90e36391..68681874c 100644
--- a/src/hb-version.h
+++ b/src/hb-version.h
@@ -47,20 +47,20 @@ HB_BEGIN_DECLS
*
* The minor component of the library version available at compile-time.
*/
-#define HB_VERSION_MINOR 3
+#define HB_VERSION_MINOR 4
/**
* HB_VERSION_MICRO:
*
* The micro component of the library version available at compile-time.
*/
-#define HB_VERSION_MICRO 1
+#define HB_VERSION_MICRO 0
/**
* HB_VERSION_STRING:
*
* A string literal containing the library version available at compile-time.
*/
-#define HB_VERSION_STRING "8.3.1"
+#define HB_VERSION_STRING "8.4.0"
/**
* HB_VERSION_ATLEAST: