10.2.0
diff --git a/NEWS b/NEWS
index a2b6ebd..ce123f2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,32 @@
+Overview of changes leading to 10.2.0
+Saturday, January 11, 2025
+====================================
+- Consider Unicode Variation Selectors when subsetting “cmap” table.
+- Guard hb_cairo_glyphs_from_buffer() against malformed UTF-8 strings.
+- Fix incorrect “COLR” v1 glyph scaling in hb-cairo.
+- Use locale-independent parsing of double numbers is “hb-subset” command line
+  tool.
+- Fix incorrect zeroing of advance width of base glyphs in various “Courier New”
+  font versions due to incorrect “GDEF” glyph classes.
+- Fix handling of long language codes with “HB_LEAN” configuration.
+- Update OpenType language system registry.
+- Allow all Myanmar tone marks (including visarga) in any order
+- Don’t insert U+25CC DOTTED CIRCLE before superscript/subscript digits
+- Handle Garay script as right to left script.
+- New API for serializing font tables and potentially repacking them in optimal
+  way. This was a previously experimental-only API.
+- New API for converting font variation setting from and to strings.
+- Various build fixes
+- Various subsetter and instancer fixes.
+
+- New API:
++hb_subset_serialize_link_t
++hb_subset_serialize_object_t
++hb_subset_serialize_or_fail()
++hb_subset_axis_range_from_string()
++hb_subset_axis_range_to_string()
+
+
 Overview of changes leading to 10.1.0
 Tuesday, November 5, 2024
 ====================================
diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml
index 164b892..f935cea 100644
--- a/docs/harfbuzz-docs.xml
+++ b/docs/harfbuzz-docs.xml
@@ -120,6 +120,7 @@
       <index id="api-index-full"><title>API Index</title><xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include></index>
       <index id="deprecated-api-index"><title>Index of deprecated API</title><xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include></index>
 
+      <index id="api-index-10-2-0"><title>Index of new symbols in 10.2.0</title><xi:include href="xml/api-index-10.2.0.xml"><xi:fallback /></xi:include></index>
       <index id="api-index-10-1-0"><title>Index of new symbols in 10.1.0</title><xi:include href="xml/api-index-10.1.0.xml"><xi:fallback /></xi:include></index>
       <index id="api-index-10-0-0"><title>Index of new symbols in 10.0.0</title><xi:include href="xml/api-index-10.0.0.xml"><xi:fallback /></xi:include></index>
       <index id="api-index-8-5-0"><title>Index of new symbols in 8.5.0</title><xi:include href="xml/api-index-8.5.0.xml"><xi:fallback /></xi:include></index>
diff --git a/meson.build b/meson.build
index 5a02b3b..f3e43b5 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
 project('harfbuzz', 'c', 'cpp',
   meson_version: '>= 0.55.0',
-  version: '10.1.0',
+  version: '10.2.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-subset-input.cc b/src/hb-subset-input.cc
index 1261ec8..2f0b54f 100644
--- a/src/hb-subset-input.cc
+++ b/src/hb-subset-input.cc
@@ -617,7 +617,7 @@
  * Return value:
  * `true` if @str is successfully parsed, `false` otherwise
  *
- * XSince: REPLACEME
+ * Since: 10.2.0
  */
 HB_EXTERN hb_bool_t
 hb_subset_axis_range_from_string (const char *str, int len,
@@ -701,7 +701,7 @@
  * understood by hb_subset_axis_range_from_string(). The client in responsible for
  * allocating big enough size for @buf, 128 bytes is more than enough.
  *
- * XSince: REPLACEME
+ * Since: 10.2.0
  */
 HB_EXTERN void
 hb_subset_axis_range_to_string (hb_subset_input_t *input,
diff --git a/src/hb-subset-serialize.cc b/src/hb-subset-serialize.cc
index 8f86c1f..dc76136 100644
--- a/src/hb-subset-serialize.cc
+++ b/src/hb-subset-serialize.cc
@@ -40,7 +40,7 @@
  * Table specific optimizations (eg. extension promotion in GSUB/GPOS) may be performed.
  * Passing HB_TAG_NONE will disable table specific optimizations.
  *
- * XSince: REPLACEME
+ * Since: 10.2.0
  **/
 HB_EXTERN hb_blob_t *
 hb_subset_serialize_or_fail (hb_tag_t                      table_tag,
diff --git a/src/hb-subset-serialize.h b/src/hb-subset-serialize.h
index 97b6ed4..9035d4c 100644
--- a/src/hb-subset-serialize.h
+++ b/src/hb-subset-serialize.h
@@ -39,6 +39,8 @@
  *
  * Represents a link between two objects in the object graph
  * to be serialized.
+ *
+ * Since: 10.2.0
  */
 typedef struct hb_subset_serialize_link_t {
   unsigned int width;
@@ -58,6 +60,8 @@
  * @virtual_links: array of virtual link info
  *
  * Represents an object in the object graph to be serialized.
+ *
+ * Since: 10.2.0
  */
 typedef struct hb_subset_serialize_object_t {
   char *head;
diff --git a/src/hb-version.h b/src/hb-version.h
index 1083bc9..8e767cb 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 1
+#define HB_VERSION_MINOR 2
 /**
  * HB_VERSION_MICRO:
  *
@@ -60,7 +60,7 @@
  *
  * A string literal containing the library version available at compile-time.
  */
-#define HB_VERSION_STRING "10.1.0"
+#define HB_VERSION_STRING "10.2.0"
 
 /**
  * HB_VERSION_ATLEAST: