diff --git a/NEWS b/NEWS
index 0d4b5dc6f..dbe17554f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,29 @@
+Overview of changes leading to 3.4.0
+Sunday, February 13, 2022
+====================================
+- Perform sanity checks on shaping results is now part of “harfbuzz” library
+ and can be enabled by setting the buffer flag HB_BUFFER_FLAG_VERIFY.
+ (Behdad Esfahbod)
+- Arabic Mark Transient Reordering Algorithm have been updated to revision 6.
+ (Khaled Hosny)
+- ISO 15924 code for mathematical notation, ‘Zmth’, now maps to the OpenType
+ ‘math’ tag. (Alexis King)
+- It is now possible to get at once all math kerning values for a given glyph
+ at a given corner. (Alexis King)
+- Fix locale_t portability issues on systems the typdef’s it to a void pointer.
+ (Behdad Esfahbod)
+
+- New API:
++HB_BUFFER_FLAG_VERIFY
++HB_OT_TAG_MATH_SCRIPT
++HB_SCRIPT_MATH
++hb_ot_math_kern_entry_t
++hb_ot_math_get_glyph_kernings
+
+- Deprecated API
++HB_OT_MATH_SCRIPT
+
+
Overview of changes leading to 3.3.2
Sunday, February 6, 2022
====================================
diff --git a/configure.ac b/configure.ac
index 24ee6329f..24048cf33 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [3.3.2],
+ [3.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 b96fad386..d81b9fd05 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.4.0
Index of new symbols in 3.3.0
Index of new symbols in 3.1.0
Index of new symbols in 3.0.0
diff --git a/meson.build b/meson.build
index 848c5fb2e..3e64cba2d 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
project('harfbuzz', 'c', 'cpp',
meson_version: '>= 0.55.0',
- version: '3.3.2',
+ version: '3.4.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.h b/src/hb-buffer.h
index 7bcdcd901..ee72dfafb 100644
--- a/src/hb-buffer.h
+++ b/src/hb-buffer.h
@@ -356,7 +356,7 @@ hb_buffer_guess_segment_properties (hb_buffer_t *buffer);
* @HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE:
* flag indicating that a dotted circle should
* not be inserted in the rendering of incorrect
- * character sequences (such at <0905 093E>). Since: 2.4
+ * character sequences (such at <0905 093E>). Since: 2.4.0
* @HB_BUFFER_FLAG_VERIFY:
* flag indicating that the hb_shape() call and its variants
* should perform various verification processes on the results
@@ -364,7 +364,7 @@ hb_buffer_guess_segment_properties (hb_buffer_t *buffer);
* fails, then either a buffer message is sent, if a message
* handler is installed on the buffer, or a message is written
* to standard error. In either case, the shaping result might
- * be modified to show the failed output.
+ * be modified to show the failed output. Since: 3.4.0
*
* Flags for #hb_buffer_t.
*
diff --git a/src/hb-common.h b/src/hb-common.h
index b0c688ce7..0f0cfe9f5 100644
--- a/src/hb-common.h
+++ b/src/hb-common.h
@@ -481,7 +481,7 @@ hb_language_get_default (void);
* @HB_SCRIPT_TANGSA: `Tnsa`, Since: 3.0.0
* @HB_SCRIPT_TOTO: `Toto`, Since: 3.0.0
* @HB_SCRIPT_VITHKUQI: `Vith`, Since: 3.0.0
- * @HB_SCRIPT_MATH: `Zmth`, Since: REPLACEME
+ * @HB_SCRIPT_MATH: `Zmth`, Since: 3.4.0
* @HB_SCRIPT_INVALID: No script set
*
* Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding
@@ -699,7 +699,7 @@ typedef enum
HB_SCRIPT_VITHKUQI = HB_TAG ('V','i','t','h'), /*14.0*/
/*
- * Since REPLACEME
+ * Since 3.4.0
*/
HB_SCRIPT_MATH = HB_TAG ('Z','m','t','h'),
diff --git a/src/hb-ot-deprecated.h b/src/hb-ot-deprecated.h
index f01075795..5192ff73e 100644
--- a/src/hb-ot-deprecated.h
+++ b/src/hb-ot-deprecated.h
@@ -61,7 +61,7 @@ HB_BEGIN_DECLS
* usage is no longer supported. Use #HB_SCRIPT_MATH instead.
*
* Since: 1.3.3
- * Deprecated: REPLACEME
+ * Deprecated: 3.4.0
*/
#define HB_OT_MATH_SCRIPT HB_OT_TAG_MATH_SCRIPT
diff --git a/src/hb-ot-math.cc b/src/hb-ot-math.cc
index b1ffc27b6..f44ac3584 100644
--- a/src/hb-ot-math.cc
+++ b/src/hb-ot-math.cc
@@ -211,7 +211,7 @@ hb_ot_math_get_glyph_kerning (hb_font_t *font,
*
* Return value: the total number of kern values available or zero
*
- * Since: REPLACEME
+ * Since: 3.4.0
**/
unsigned int
hb_ot_math_get_glyph_kernings (hb_font_t *font,
diff --git a/src/hb-ot-math.h b/src/hb-ot-math.h
index b9e55bab7..1378a0639 100644
--- a/src/hb-ot-math.h
+++ b/src/hb-ot-math.h
@@ -59,7 +59,7 @@ HB_BEGIN_DECLS
* #hb_ot_layout_collect_features. In other cases, #HB_SCRIPT_MATH should be
* used instead.
*
- * Since: REPLACEME
+ * Since: 3.4.0
*/
#define HB_OT_TAG_MATH_SCRIPT HB_TAG('m','a','t','h')
@@ -215,7 +215,7 @@ typedef enum {
*
* Data type to hold math kerning (cut-in) information for a glyph.
*
- * Since: REPLACEME
+ * Since: 3.4.0
*/
typedef struct {
hb_position_t max_correction_height;
diff --git a/src/hb-version.h b/src/hb-version.h
index 493a09f8c..1f52d9228 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 2
+#define HB_VERSION_MICRO 0
/**
* HB_VERSION_STRING:
*
* A string literal containing the library version available at compile-time.
*/
-#define HB_VERSION_STRING "3.3.2"
+#define HB_VERSION_STRING "3.4.0"
/**
* HB_VERSION_ATLEAST: