4.4.0
diff --git a/NEWS b/NEWS
index e52dc21..1994703 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,37 @@
+Overview of changes leading to 4.4.0
+Monday, June 27, 2022
+====================================
+- Caching of variable fonts shaping, in particular when using HarfBuzz’s own
+  font loading functions (ot). Bringing performance of variable shaping in par
+  with non-variable fonts shaping. (Behdad Esfahbod)
+- Caching of format 2 “Contextual Substitution” and “Chained Contexts
+  Substitution” lookups. Resulting in up to 20% speedup of lookup-heavy fonts
+  like Gulzar or Noto Nastaliq Urdu. (Behdad Esfahbod)
+- Improved ANSI output from hb-view. (Behdad Esfahbod)
+- Support for shaping legacy, pre-OpenType Windows 3.1-era, Arabic fonts that
+  relied on a fixed PUA encoding. (Khaled Hosny, Behdad Esfahbod)
+- Sinhala script is now shaped by the USE shaper instead of “indic” one.
+  (Behdad Esfahbod, David Corbett)
+- Thai shaper improvements. (David Corbett)
+- hb-ot-name API supports approximate BCP-47 language matching, for example
+  asking for “en_US” in a font that has only “en” names will return them.
+  (Behdad Esfahbod)
+- Optimized TrueType glyph shape loading. (Behdad Esfahbod)
+- Fix subsetting of HarfBuzz faces created via hb_face_create_for_tables().
+  (Garret Rieger)
+- Add 32 bit var store support to the subsetter. (Garret Rieger)
+
+- New API
++HB_BUFFER_FLAG_DEFINED
++HB_BUFFER_SERIALIZE_FLAG_DEFINED
++hb_font_changed()
++hb_font_get_serial()
++hb_ft_hb_font_changed()
++hb_set_hash()
++hb_map_copy()
++hb_map_hash()
+
+
 Overview of changes leading to 4.3.0
 Friday, May 20, 2022
 ====================================
diff --git a/configure.ac b/configure.ac
index d68244e..c222a60 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 AC_PREREQ([2.64])
 AC_INIT([HarfBuzz],
-        [4.3.0],
+        [4.4.0],
         [https://github.com/harfbuzz/harfbuzz/issues/new],
         [harfbuzz],
         [http://harfbuzz.org/])
diff --git a/meson.build b/meson.build
index 6e9d769..a63a4fc 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
 project('harfbuzz', 'c', 'cpp',
   meson_version: '>= 0.55.0',
-  version: '4.3.0',
+  version: '4.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 0d9f93e..22fb349 100644
--- a/src/hb-buffer.h
+++ b/src/hb-buffer.h
@@ -373,7 +373,7 @@
  *                      flag indicating that the @HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
  *                      glyph-flag should be produced by the shaper. By default
  *                      it will not be produced since it incurs a cost. Since: 4.0.0
- * @HB_BUFFER_FLAG_DEFINED: All currently defined flags: Since: REPLACEME
+ * @HB_BUFFER_FLAG_DEFINED: All currently defined flags: Since: 4.4.0
  *
  * Flags for #hb_buffer_t.
  *
@@ -586,7 +586,7 @@
  * @HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS: serialize glyph flags. Since: 1.5.0
  * @HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES: do not serialize glyph advances,
  *  glyph offsets will reflect absolute glyph positions. Since: 1.8.0
- * @HB_BUFFER_SERIALIZE_FLAG_DEFINED: All currently defined flags. Since: REPLACEME
+ * @HB_BUFFER_SERIALIZE_FLAG_DEFINED: All currently defined flags. Since: 4.4.0
  *
  * Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs().
  *
diff --git a/src/hb-font.cc b/src/hb-font.cc
index 2760b09..51c55a6 100644
--- a/src/hb-font.cc
+++ b/src/hb-font.cc
@@ -1945,7 +1945,7 @@
  *
  * Return value: serial number
  *
- * Since: REPLACEME.
+ * Since: 4.4.0.
  **/
 unsigned int
 hb_font_get_serial (hb_font_t *font)
@@ -1961,7 +1961,7 @@
  * This has the effect of increasing the serial as returned
  * by hb_font_get_serial(), which invalidates internal caches.
  *
- * Since: REPLACEME.
+ * Since: 4.4.0.
  **/
 void
 hb_font_changed (hb_font_t *font)
diff --git a/src/hb-ft.cc b/src/hb-ft.cc
index 84a426e..b526a82 100644
--- a/src/hb-ft.cc
+++ b/src/hb-ft.cc
@@ -1042,7 +1042,7 @@
  *
  * Return value: true if changed, false otherwise
  *
- * Since: REPLACEME
+ * Since: 4.4.0
  **/
 hb_bool_t
 hb_ft_hb_font_changed (hb_font_t *font)
diff --git a/src/hb-map.cc b/src/hb-map.cc
index 4e94cdd..089615c 100644
--- a/src/hb-map.cc
+++ b/src/hb-map.cc
@@ -180,7 +180,7 @@
  *
  * Return value: Newly-allocated map.
  *
- * Since: REPLACEME
+ * Since: 4.4.0
  **/
 hb_map_t *
 hb_map_copy (const hb_map_t *map)
@@ -337,7 +337,7 @@
  * Return value:
  * A hash of @map.
  *
- * Since: REPLACEME
+ * Since: 4.4.0
  **/
 HB_EXTERN unsigned int
 hb_map_hash (const hb_map_t *map)
diff --git a/src/hb-set.cc b/src/hb-set.cc
index 16efd81..2d45829 100644
--- a/src/hb-set.cc
+++ b/src/hb-set.cc
@@ -368,7 +368,7 @@
  * Return value:
  * A hash of @set.
  *
- * Since: REPLACEME
+ * Since: 4.4.0
  **/
 HB_EXTERN unsigned int
 hb_set_hash (const hb_set_t *set)
diff --git a/src/hb-version.h b/src/hb-version.h
index ae707cd..2f6799c 100644
--- a/src/hb-version.h
+++ b/src/hb-version.h
@@ -47,7 +47,7 @@
  *
  * The minor component of the library version available at compile-time.
  */
-#define HB_VERSION_MINOR 3
+#define HB_VERSION_MINOR 4
 /**
  * HB_VERSION_MICRO:
  *
@@ -60,7 +60,7 @@
  *
  * A string literal containing the library version available at compile-time.
  */
-#define HB_VERSION_STRING "4.3.0"
+#define HB_VERSION_STRING "4.4.0"
 
 /**
  * HB_VERSION_ATLEAST: