Merge cros/upstream to cros/main - 1.33.7-dev

Part of an uprev that contains the following commits:

" 806b64b5 build: unstable release version bump to 1.33.7 (Aleksander Morgado)"
" 3acb52b1 build-aux,mkenums: remove obsolete comment (Aleksander Morgado)"
" 1eba37dc libqmi-glib: separate files for flags and enums types (Aleksander Morgado)"
" 4e5e10a1 build-aux,mkenums: allow having separate files for flags and enums (Aleksander Morgado)"
" 7c035590 docs: update copyright (Aleksander Morgado)"
" b969092e qmi-proxy: update copyright (Aleksander Morgado)"
" 3bb90e2d qmicli: update copyright (Aleksander Morgado)"
" 66b5d732 ci: don't attempt to build container on branches or pushes (Aleksander Morgado)"
" b59fb3ed build: version bump to flag existence of new API (new card status enum) (Aleksander Morgado)"
" b4d67aa1 uim: new UIM personalization feature enum in Card Status messages (Aleksander Morgado)"
" 806ea64a build-aux,codegen: allow tagging 'since' in struct types (Aleksander Morgado)"
" ad8fb46d ci: no need for buildtype=release in dependencies (Aleksander Morgado)"
" a4cae3b6 ci: add explicit debug build with all features (Aleksander Morgado)"
" 65b50bb9 Revert "uim: update UIM personalization feature enum" (Aleksander Morgado)"
" 87dfad0c qmi-codegen: support 'since' tag in common TLVs (Aleksander Morgado)"
" 5f366be3 uim: update UIM personalization feature enum (Akash Aggarwal)"
" 637b0bc7 libqmi-glib: Correct QMI_SERVICE_SAR documentation (Lukas Arnold)"

BUG=b:276453081
FIXED=b:276453081

TEST=None
Cq-Depend: chromium:4518128

Change-Id: Iaf9485a3bf9ebfe7c0537b2189a26ff79063616c
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index db0d488..3bd0a6e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,10 +26,9 @@
   stage: container prep
   only:
     - main
-    - branches
     - merge_requests
     - tags
-    - pushes
+    - schedules
 
 build-no-qrtr-no-mbim-no-rmnet-no-introspection:
   stage: build
@@ -202,6 +201,35 @@
     - ninja -C build
     - ninja -C build install
 
+build-debug:
+  stage: build
+  extends:
+  - .fdo.distribution-image@ubuntu
+  - .common_variables
+  only:
+    - main
+    - merge_requests
+    - tags
+    - schedules
+  script:
+    - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
+    - pushd libmbim
+    - meson setup build --prefix=/usr -Dgtk_doc=true
+    - ninja -C build
+    - ninja -C build install
+    - popd
+    - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git
+    - pushd libqrtr-glib
+    - meson setup build --prefix=/usr -Dgtk_doc=true
+    - ninja -C build
+    - ninja -C build install
+    - popd
+    - meson setup build --buildtype=debug --prefix=/usr -Dwerror=true -Dgtk_doc=true
+    - ninja -C build
+    - ninja -C build install
+    - ninja -C build dist
+    - ninja -C build uninstall
+
 build-release:
   stage: build
   extends:
@@ -215,13 +243,13 @@
   script:
     - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
     - pushd libmbim
-    - meson setup build --buildtype=release --prefix=/usr -Dgtk_doc=true
+    - meson setup build --prefix=/usr -Dgtk_doc=true
     - ninja -C build
     - ninja -C build install
     - popd
     - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git
     - pushd libqrtr-glib
-    - meson setup build --buildtype=release --prefix=/usr -Dgtk_doc=true
+    - meson setup build --prefix=/usr -Dgtk_doc=true
     - ninja -C build
     - ninja -C build install
     - popd
diff --git a/build-aux/qmi-codegen/Container.py b/build-aux/qmi-codegen/Container.py
index 0ecb5ea..7ac9791 100644
--- a/build-aux/qmi-codegen/Container.py
+++ b/build-aux/qmi-codegen/Container.py
@@ -74,10 +74,12 @@
                            copy = dict(common)
                            if 'prerequisites' in field_dictionary:
                                copy['prerequisites'] = field_dictionary['prerequisites']
-                           # Fix 'since' in the copy
+                           # If an explicit 'since' is given in the field, prefer it over any other one
                            if 'since' in field_dictionary:
                                copy['since'] = field_dictionary['since']
-                           else:
+                           # If the common type does not have any explicit 'since', take the one from the message
+                           # If the common type has a 'since', take it only if it is newer than the one from the message
+                           elif not 'since' in copy or utils.version_compare(copy['since'],self.since) > 0:
                                copy['since'] = self.since
                            new_dict.append(copy)
                            break
diff --git a/build-aux/qmi-codegen/VariableStruct.py b/build-aux/qmi-codegen/VariableStruct.py
index 3e5b0ae..d63de16 100644
--- a/build-aux/qmi-codegen/VariableStruct.py
+++ b/build-aux/qmi-codegen/VariableStruct.py
@@ -45,6 +45,8 @@
         self.public_format = self.element_type
         self.private_format = self.public_format
 
+        self.since = dictionary['since'] if 'since' in dictionary else ''
+
         # Load members of this struct
         self.members = []
         for member_dictionary in dictionary['contents']:
@@ -108,7 +110,7 @@
             member['object'].emit_types(hfile, cfile, since, static)
 
         translations = { 'format' : self.public_format,
-                         'since'  : since }
+                         'since'  : since if not self.since else self.since }
         template = '\n'
         hfile.write(string.Template(template).substitute(translations))
 
diff --git a/build-aux/qmi-codegen/utils.py b/build-aux/qmi-codegen/utils.py
index 7dcfaaa..0de344c 100644
--- a/build-aux/qmi-codegen/utils.py
+++ b/build-aux/qmi-codegen/utils.py
@@ -115,7 +115,9 @@
         "\n"
         "#include \"${name}.h\"\n"
         "#include \"qmi-enum-types.h\"\n"
+        "#include \"qmi-flag-types.h\"\n"
         "#include \"qmi-enum-types-private.h\"\n"
+        "#include \"qmi-flag-types-private.h\"\n"
         "#include \"qmi-flags64-types.h\"\n"
         "#include \"qmi-error-types.h\"\n"
         "#include \"qmi-device.h\"\n"
diff --git a/build-aux/qmi-mkenums b/build-aux/qmi-mkenums
index 7077e34..e44eea0 100755
--- a/build-aux/qmi-mkenums
+++ b/build-aux/qmi-mkenums
@@ -2,8 +2,6 @@
 
 # qmi-mkenums is ported from glib-mkenums.
 # Same license applies.
-# The 'since' tag support was introduced in upstream GLib 2.66,
-# so remove this custom mkenums once 2.66 is required in the project.
 
 # If the code below looks horrible and unpythonic, do not panic.
 #
@@ -350,6 +348,10 @@
                     help='Value tail, produced after iterating over enum values')
 parser.add_argument('--comments', default='', dest='comment_tmpl',
                     help='Comment structure')
+parser.add_argument('--enums-only', default=False, action='store_true', dest='enumsonly',
+                    help='Only process enums, not flags')
+parser.add_argument('--flags-only', default=False, action='store_true', dest='flagsonly',
+                    help='Only process flags, not enums')
 parser.add_argument('--template', default='', dest='template',
                     help='Template file')
 parser.add_argument('--output', default=None, dest='output')
@@ -383,6 +385,9 @@
 idprefix += options.idprefix
 symprefix += options.symprefix
 
+enumsonly = options.enumsonly
+flagsonly = options.flagsonly
+
 # This is a hack to maintain some semblance of backward compatibility with
 # the old, Perl-based glib-mkenums. The old tool had an implicit ordering
 # on the arguments and templates; each argument was parsed in order, and
@@ -556,6 +561,11 @@
             if flags is None:
                 flags = seenbitshift
 
+            if flags and enumsonly:
+                continue
+            elif not flags and flagsonly:
+                continue
+
             # Autogenerate a prefix
             if enum_prefix is None:
                 for entry in entries:
diff --git a/build-aux/templates/qmi-enum-types-nodoc.h.template b/build-aux/templates/qmi-enum-types-nodoc.h.template
index 31e0732..69fa558 100644
--- a/build-aux/templates/qmi-enum-types-nodoc.h.template
+++ b/build-aux/templates/qmi-enum-types-nodoc.h.template
@@ -17,13 +17,7 @@
 /* Define type-specific symbols */
 #define __@ENUMNAME@_IS_@TYPE@__
 
-#if defined __@ENUMNAME@_IS_ENUM__
 const gchar *@enum_name@_get_string (@EnumName@ val);
-#endif
-
-#if defined __@ENUMNAME@_IS_FLAGS__
-gchar *@enum_name@_build_string_from_mask (@EnumName@ mask);
-#endif
 
 /*** END value-header ***/
 
diff --git a/build-aux/templates/qmi-enum-types.c.template b/build-aux/templates/qmi-enum-types.c.template
index d267011..011793e 100644
--- a/build-aux/templates/qmi-enum-types.c.template
+++ b/build-aux/templates/qmi-enum-types.c.template
@@ -36,7 +36,6 @@
 /* Enum-specific method to get the value as a string.
  * We get the nick of the GEnumValue. Note that this will be
  * valid even if the GEnumClass is not referenced anywhere. */
-#if defined __@ENUMNAME@_IS_ENUM__
 const gchar *
 @enum_name@_get_string (@EnumName@ val)
 {
@@ -49,51 +48,6 @@
 
     return NULL;
 }
-#endif /* __@ENUMNAME@_IS_ENUM__ */
-
-/* Flags-specific method to build a string with the given mask.
- * We get a comma separated list of the nicks of the GFlagsValues.
- * Note that this will be valid even if the GFlagsClass is not referenced
- * anywhere. */
-#if defined __@ENUMNAME@_IS_FLAGS__
-gchar *
-@enum_name@_build_string_from_mask (@EnumName@ mask)
-{
-    guint i;
-    gboolean first = TRUE;
-    GString *str = NULL;
-
-    for (i = 0; @enum_name@_values[i].value_nick; i++) {
-        /* We also look for exact matches */
-      if ((guint)mask == @enum_name@_values[i].value) {
-            if (str)
-                g_string_free (str, TRUE);
-            return g_strdup (@enum_name@_values[i].value_nick);
-        }
-
-        /* Build list with single-bit masks */
-        if (mask & @enum_name@_values[i].value) {
-            guint c;
-            gulong number = @enum_name@_values[i].value;
-
-            for (c = 0; number; c++)
-                number &= number - 1;
-
-            if (c == 1) {
-                if (!str)
-                    str = g_string_new ("");
-                g_string_append_printf (str, "%s%s",
-                                        first ? "" : ", ",
-                                        @enum_name@_values[i].value_nick);
-                if (first)
-                    first = FALSE;
-            }
-        }
-    }
-
-    return (str ? g_string_free (str, FALSE) : NULL);
-}
-#endif /* __@ENUMNAME@_IS_FLAGS__ */
 
 /*** END value-tail ***/
 
diff --git a/build-aux/templates/qmi-enum-types.h.template b/build-aux/templates/qmi-enum-types.h.template
index 5500038..58af686 100644
--- a/build-aux/templates/qmi-enum-types.h.template
+++ b/build-aux/templates/qmi-enum-types.h.template
@@ -17,7 +17,6 @@
 /* Define type-specific symbols */
 #define __@ENUMNAME@_IS_@TYPE@__
 
-#if defined __@ENUMNAME@_IS_ENUM__
 /**
  * @enum_name@_get_string:
  * @val: a @EnumName@.
@@ -28,21 +27,6 @@
  * Since: @enumsince@
  */
 const gchar *@enum_name@_get_string (@EnumName@ val);
-#endif
-
-#if defined __@ENUMNAME@_IS_FLAGS__
-/**
- * @enum_name@_build_string_from_mask:
- * @mask: bitmask of @EnumName@ values.
- *
- * Builds a string containing a comma-separated list of nicknames for
- * each #@EnumName@ in @mask.
- *
- * Returns: (transfer full): a string with the list of nicknames, or %NULL if none given. The returned value should be freed with g_free().
- * Since: @enumsince@
- */
-gchar *@enum_name@_build_string_from_mask (@EnumName@ mask);
-#endif
 
 /*** END value-header ***/
 
diff --git a/build-aux/templates/qmi-flag-types-nodoc.h.template b/build-aux/templates/qmi-flag-types-nodoc.h.template
new file mode 100644
index 0000000..46319f3
--- /dev/null
+++ b/build-aux/templates/qmi-flag-types-nodoc.h.template
@@ -0,0 +1,27 @@
+/*** BEGIN file-header ***/
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+
+/* enumerations from "@filename@" */
+/*** END file-production ***/
+
+/*** BEGIN value-header ***/
+GType @enum_name@_get_type (void) G_GNUC_CONST;
+#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ())
+
+/* Define type-specific symbols */
+#define __@ENUMNAME@_IS_@TYPE@__
+
+gchar *@enum_name@_build_string_from_mask (@EnumName@ mask);
+
+/*** END value-header ***/
+
+/*** BEGIN file-tail ***/
+G_END_DECLS
+
+/*** END file-tail ***/
diff --git a/build-aux/templates/qmi-flag-types-private.c.template b/build-aux/templates/qmi-flag-types-private.c.template
new file mode 120000
index 0000000..aae32e4
--- /dev/null
+++ b/build-aux/templates/qmi-flag-types-private.c.template
@@ -0,0 +1 @@
+qmi-flag-types.c.template
\ No newline at end of file
diff --git a/build-aux/templates/qmi-flag-types-private.h.template b/build-aux/templates/qmi-flag-types-private.h.template
new file mode 120000
index 0000000..0ee7e8b
--- /dev/null
+++ b/build-aux/templates/qmi-flag-types-private.h.template
@@ -0,0 +1 @@
+qmi-flag-types-nodoc.h.template
\ No newline at end of file
diff --git a/build-aux/templates/qmi-flag-types.c.template b/build-aux/templates/qmi-flag-types.c.template
new file mode 100644
index 0000000..9ae0a7c
--- /dev/null
+++ b/build-aux/templates/qmi-flag-types.c.template
@@ -0,0 +1,81 @@
+/*** BEGIN file-header ***/
+
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+/* enumerations from "@filename@" */
+/*** END file-production ***/
+
+/*** BEGIN value-header ***/
+static const G@Type@Value @enum_name@_values[] = {
+/*** END value-header ***/
+/*** BEGIN value-production ***/
+    { @VALUENAME@, "@VALUENAME@", "@valuenick@" },
+/*** END value-production ***/
+/*** BEGIN value-tail ***/
+    { 0, NULL, NULL }
+};
+
+/* Define type-specific symbols */
+
+GType
+@enum_name@_get_type (void)
+{
+    static gsize g_define_type_id_initialized = 0;
+
+    if (g_once_init_enter (&g_define_type_id_initialized)) {
+        GType g_define_type_id =
+            g_@type@_register_static (g_intern_static_string ("@EnumName@"),
+                                      @enum_name@_values);
+        g_once_init_leave (&g_define_type_id_initialized, g_define_type_id);
+    }
+
+    return g_define_type_id_initialized;
+}
+
+/* Flags-specific method to build a string with the given mask.
+ * We get a comma separated list of the nicks of the GFlagsValues.
+ * Note that this will be valid even if the GFlagsClass is not referenced
+ * anywhere. */
+gchar *
+@enum_name@_build_string_from_mask (@EnumName@ mask)
+{
+    guint i;
+    gboolean first = TRUE;
+    GString *str = NULL;
+
+    for (i = 0; @enum_name@_values[i].value_nick; i++) {
+        /* We also look for exact matches */
+      if ((guint)mask == @enum_name@_values[i].value) {
+            if (str)
+                g_string_free (str, TRUE);
+            return g_strdup (@enum_name@_values[i].value_nick);
+        }
+
+        /* Build list with single-bit masks */
+        if (mask & @enum_name@_values[i].value) {
+            guint c;
+            gulong number = @enum_name@_values[i].value;
+
+            for (c = 0; number; c++)
+                number &= number - 1;
+
+            if (c == 1) {
+                if (!str)
+                    str = g_string_new ("");
+                g_string_append_printf (str, "%s%s",
+                                        first ? "" : ", ",
+                                        @enum_name@_values[i].value_nick);
+                if (first)
+                    first = FALSE;
+            }
+        }
+    }
+
+    return (str ? g_string_free (str, FALSE) : NULL);
+}
+
+/*** END value-tail ***/
+
+/*** BEGIN file-tail ***/
+/*** END file-tail ***/
diff --git a/build-aux/templates/qmi-flag-types.h.template b/build-aux/templates/qmi-flag-types.h.template
new file mode 100644
index 0000000..74d3b14
--- /dev/null
+++ b/build-aux/templates/qmi-flag-types.h.template
@@ -0,0 +1,37 @@
+/*** BEGIN file-header ***/
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+/*** END file-header ***/
+
+/*** BEGIN file-production ***/
+
+/* enumerations from "@filename@" */
+/*** END file-production ***/
+
+/*** BEGIN value-header ***/
+GType @enum_name@_get_type (void) G_GNUC_CONST;
+#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ())
+
+/* Define type-specific symbols */
+#define __@ENUMNAME@_IS_@TYPE@__
+
+/**
+ * @enum_name@_build_string_from_mask:
+ * @mask: bitmask of @EnumName@ values.
+ *
+ * Builds a string containing a comma-separated list of nicknames for
+ * each #@EnumName@ in @mask.
+ *
+ * Returns: (transfer full): a string with the list of nicknames, or %NULL if none given. The returned value should be freed with g_free().
+ * Since: @enumsince@
+ */
+gchar *@enum_name@_build_string_from_mask (@EnumName@ mask);
+
+/*** END value-header ***/
+
+/*** BEGIN file-tail ***/
+G_END_DECLS
+
+/*** END file-tail ***/
diff --git a/data/qmi-service-uim.json b/data/qmi-service-uim.json
index 6f0b94e..35edd8e 100644
--- a/data/qmi-service-uim.json
+++ b/data/qmi-service-uim.json
@@ -51,8 +51,9 @@
                                                                   { "name"               : "Applications",
                                                                     "format"             : "array",
                                                                     "size-prefix-format" : "guint8",
-                                                                    "array-element"      : { "name"   : "Element",
+                                                                    "array-element"      : { "name"   : "Element V2",
                                                                                              "format" : "struct",
+                                                                                             "since"  : "1.34",
                                                                                              "contents" : [ { "name"          : "Type",
                                                                                                               "format"        : "guint8",
                                                                                                               "public-format" : "QmiUimCardApplicationType" },
@@ -64,7 +65,7 @@
                                                                                                               "public-format" : "QmiUimCardApplicationPersonalizationState" },
                                                                                                             { "name"          : "Personalization Feature",
                                                                                                               "format"        : "guint8",
-                                                                                                              "public-format" : "QmiUimCardApplicationPersonalizationFeature" },
+                                                                                                              "public-format" : "QmiUimCardApplicationPersonalizationFeatureStatus" },
                                                                                                             { "name"   : "Personalization Retries",
                                                                                                               "format" : "guint8" },
                                                                                                             { "name"   : "Personalization Unblock Retries",
diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections
index c812dcf..17de527 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-common.sections
+++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections
@@ -157,11 +157,6 @@
 qmi_device_release_client_flags_get_type
 qmi_device_expected_data_format_get_type
 qmi_device_add_link_flags_get_type
-<SUBSECTION Private>
-qmi_device_open_flags_get_string
-qmi_device_release_client_flags_get_string
-qmi_device_expected_data_format_build_string_from_mask
-qmi_device_add_link_flags_get_string
 </SECTION>
 
 <SECTION>
@@ -196,11 +191,6 @@
 qmi_endian_get_string
 qmi_data_endpoint_type_get_string
 qmi_sio_port_get_string
-<SUBSECTION Private>
-qmi_service_build_string_from_mask
-qmi_endian_build_string_from_mask
-qmi_data_endpoint_type_build_string_from_mask
-qmi_sio_port_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_SERVICE
 QMI_TYPE_ENDIAN
@@ -263,28 +253,6 @@
 qmi_dms_swi_usb_composition_get_description
 qmi_dms_foxconn_device_mode_get_string
 qmi_dms_foxconn_firmware_version_type_get_string
-<SUBSECTION Private>
-qmi_dms_data_service_capability_build_string_from_mask
-qmi_dms_sim_capability_build_string_from_mask
-qmi_dms_radio_interface_build_string_from_mask
-qmi_dms_power_state_get_string
-qmi_dms_uim_pin_id_build_string_from_mask
-qmi_dms_uim_pin_status_build_string_from_mask
-qmi_dms_operating_mode_build_string_from_mask
-qmi_dms_offline_reason_get_string
-qmi_dms_time_source_build_string_from_mask
-qmi_dms_activation_state_build_string_from_mask
-qmi_dms_uim_facility_build_string_from_mask
-qmi_dms_uim_facility_state_build_string_from_mask
-qmi_dms_uim_state_build_string_from_mask
-qmi_dms_time_reference_type_build_string_from_mask
-qmi_dms_firmware_image_type_build_string_from_mask
-qmi_dms_boot_image_download_mode_build_string_from_mask
-qmi_dms_mac_type_build_string_from_mask
-qmi_dms_hp_device_mode_build_string_from_mask
-qmi_dms_swi_usb_composition_build_string_from_mask
-qmi_dms_foxconn_device_mode_build_string_from_mask
-qmi_dms_foxconn_firmware_version_type_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_DMS_ACTIVATION_STATE
 QMI_TYPE_DMS_BOOT_IMAGE_DOWNLOAD_MODE
@@ -466,70 +434,6 @@
 qmi_nas_plmn_language_id_get_string
 qmi_nas_lte_voice_domain_get_string
 qmi_nas_reject_cause_get_string
-<SUBSECTION Private>
-qmi_nas_radio_interface_build_string_from_mask
-qmi_nas_active_band_build_string_from_mask
-qmi_nas_network_service_domain_build_string_from_mask
-qmi_nas_evdo_sinr_level_build_string_from_mask
-qmi_nas_signal_strength_request_get_string
-qmi_nas_network_scan_type_get_string
-qmi_nas_network_status_get_string
-qmi_nas_network_register_type_build_string_from_mask
-qmi_nas_registration_state_build_string_from_mask
-qmi_nas_attach_state_build_string_from_mask
-qmi_nas_network_type_build_string_from_mask
-qmi_nas_roaming_indicator_status_build_string_from_mask
-qmi_nas_data_capability_build_string_from_mask
-qmi_nas_service_status_build_string_from_mask
-qmi_nas_hdr_personality_build_string_from_mask
-qmi_nas_call_barring_status_build_string_from_mask
-qmi_nas_network_description_display_build_string_from_mask
-qmi_nas_network_description_encoding_build_string_from_mask
-qmi_nas_plmn_access_technology_identifier_get_string
-qmi_nas_radio_technology_preference_get_string
-qmi_nas_preference_duration_build_string_from_mask
-qmi_nas_rat_mode_preference_get_string
-qmi_nas_cdma_prl_preference_build_string_from_mask
-qmi_nas_roaming_preference_build_string_from_mask
-qmi_nas_network_selection_preference_build_string_from_mask
-qmi_nas_change_duration_build_string_from_mask
-qmi_nas_service_domain_preference_build_string_from_mask
-qmi_nas_gsm_wcdma_acquisition_order_preference_build_string_from_mask
-qmi_nas_td_scdma_band_preference_get_string
-qmi_nas_roaming_status_build_string_from_mask
-qmi_nas_hdr_protocol_revision_build_string_from_mask
-qmi_nas_wcdma_hs_service_build_string_from_mask
-qmi_nas_cell_broadcast_capability_build_string_from_mask
-qmi_nas_sim_reject_state_build_string_from_mask
-qmi_nas_cdma_pilot_type_build_string_from_mask
-qmi_nas_day_of_week_build_string_from_mask
-qmi_nas_daylight_savings_adjustment_build_string_from_mask
-qmi_nas_wcdma_rrc_state_build_string_from_mask
-qmi_nas_dl_bandwidth_build_string_from_mask
-qmi_nas_scell_state_build_string_from_mask
-qmi_nas_network_name_display_condition_get_string
-qmi_nas_network_name_source_build_string_from_mask
-qmi_nas_plmn_encoding_scheme_build_string_from_mask
-qmi_nas_plmn_name_country_initials_build_string_from_mask
-qmi_nas_plmn_name_spare_bits_build_string_from_mask
-qmi_nas_ps_attach_action_build_string_from_mask
-qmi_nas_usage_preference_build_string_from_mask
-qmi_nas_lte_cell_access_status_build_string_from_mask
-qmi_nas_network_selection_registration_restriction_build_string_from_mask
-qmi_nas_lte_registration_domain_build_string_from_mask
-qmi_nas_voice_domain_preference_build_string_from_mask
-qmi_nas_network_scan_result_build_string_from_mask
-qmi_nas_swi_emm_connection_state_build_string_from_mask
-qmi_nas_swi_emm_state_build_string_from_mask
-qmi_nas_swi_ims_reg_state_build_string_from_mask
-qmi_nas_swi_modem_mode_build_string_from_mask
-qmi_nas_swi_ps_state_build_string_from_mask
-qmi_nas_swi_system_mode_build_string_from_mask
-qmi_nas_drx_build_string_from_mask
-qmi_nas_boolean_build_string_from_mask
-qmi_nas_plmn_language_id_build_string_from_mask
-qmi_nas_lte_voice_domain_build_string_from_mask
-qmi_nas_reject_cause_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_NAS_ACTIVE_BAND
 QMI_TYPE_NAS_ATTACH_STATE
@@ -761,73 +665,18 @@
 qmi_wds_data_call_type_get_string
 qmi_wds_data_system_get_string
 qmi_wds_dormancy_status_get_string
-qmi_wds_extended_data_bearer_technology_3gpp2_get_string
-qmi_wds_extended_data_bearer_technology_3gpp_get_string
+qmi_wds_extended_data_bearer_technology_3gpp2_build_string_from_mask
+qmi_wds_extended_data_bearer_technology_3gpp_build_string_from_mask
 qmi_wds_radio_access_technology_get_string
-qmi_wds_set_event_report_transfer_statistics_get_string
-qmi_wds_so_evdo_rev0_get_string
-qmi_wds_so_evdo_revb_get_string
+qmi_wds_set_event_report_transfer_statistics_build_string_from_mask
+qmi_wds_so_evdo_rev0_build_string_from_mask
+qmi_wds_so_evdo_revb_build_string_from_mask
 qmi_wds_tethered_call_type_get_string
 qmi_wds_attach_pdn_list_action_get_string
 qmi_wds_client_type_get_string
 qmi_wds_ip_support_type_get_string
 qmi_wds_apn_type_mask_build_string_from_mask
 qmi_wds_profile_change_event_get_string
-<SUBSECTION Private>
-qmi_wds_ip_family_build_string_from_mask
-qmi_wds_profile_family_build_string_from_mask
-qmi_wds_technology_preference_get_string
-qmi_wds_extended_technology_preference_build_string_from_mask
-qmi_wds_call_type_build_string_from_mask
-qmi_wds_call_end_reason_build_string_from_mask
-qmi_wds_verbose_call_end_reason_type_build_string_from_mask
-qmi_wds_verbose_call_end_reason_mip_build_string_from_mask
-qmi_wds_verbose_call_end_reason_internal_build_string_from_mask
-qmi_wds_verbose_call_end_reason_cm_build_string_from_mask
-qmi_wds_verbose_call_end_reason_3gpp_build_string_from_mask
-qmi_wds_verbose_call_end_reason_ppp_build_string_from_mask
-qmi_wds_verbose_call_end_reason_ehrpd_build_string_from_mask
-qmi_wds_verbose_call_end_reason_ipv6_build_string_from_mask
-qmi_wds_connection_status_build_string_from_mask
-qmi_wds_data_bearer_technology_build_string_from_mask
-qmi_wds_network_type_build_string_from_mask
-qmi_wds_data_system_network_type_build_string_from_mask
-qmi_wds_rat_3gpp2_get_string
-qmi_wds_rat_3gpp_get_string
-qmi_wds_so_cdma1x_get_string
-qmi_wds_so_evdo_reva_get_string
-qmi_wds_requested_settings_get_string
-qmi_wds_pdp_type_build_string_from_mask
-qmi_wds_pdp_header_compression_type_build_string_from_mask
-qmi_wds_pdp_data_compression_type_build_string_from_mask
-qmi_wds_qos_class_identifier_build_string_from_mask
-qmi_wds_traffic_class_build_string_from_mask
-qmi_wds_delivery_order_build_string_from_mask
-qmi_wds_sdu_error_ratio_build_string_from_mask
-qmi_wds_sdu_residual_bit_error_ratio_build_string_from_mask
-qmi_wds_sdu_erroneous_delivery_build_string_from_mask
-qmi_wds_authentication_get_string
-qmi_wds_profile_type_build_string_from_mask
-qmi_wds_packet_statistics_mask_flag_get_string
-qmi_wds_ds_profile_error_build_string_from_mask
-qmi_wds_autoconnect_setting_build_string_from_mask
-qmi_wds_autoconnect_setting_roaming_build_string_from_mask
-qmi_wds_data_call_status_build_string_from_mask
-qmi_wds_data_call_type_build_string_from_mask
-qmi_wds_data_system_build_string_from_mask
-qmi_wds_dormancy_status_build_string_from_mask
-qmi_wds_extended_data_bearer_technology_3gpp2_build_string_from_mask
-qmi_wds_extended_data_bearer_technology_3gpp_build_string_from_mask
-qmi_wds_radio_access_technology_build_string_from_mask
-qmi_wds_set_event_report_transfer_statistics_build_string_from_mask
-qmi_wds_so_evdo_rev0_build_string_from_mask
-qmi_wds_so_evdo_revb_build_string_from_mask
-qmi_wds_tethered_call_type_build_string_from_mask
-qmi_wds_attach_pdn_list_action_build_string_from_mask
-qmi_wds_client_type_build_string_from_mask
-qmi_wds_ip_support_type_build_string_from_mask
-qmi_wds_apn_type_mask_get_string
-qmi_wds_profile_change_event_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_WDS_AUTHENTICATION
 QMI_TYPE_WDS_AUTOCONNECT_SETTING
@@ -979,25 +828,6 @@
 qmi_wms_receipt_action_get_string
 qmi_wms_transfer_indication_get_string
 qmi_wms_ack_failure_cause_get_string
-<SUBSECTION Private>
-qmi_wms_storage_type_build_string_from_mask
-qmi_wms_ack_indicator_build_string_from_mask
-qmi_wms_message_format_build_string_from_mask
-qmi_wms_message_mode_build_string_from_mask
-qmi_wms_notification_type_build_string_from_mask
-qmi_wms_cdma_service_option_build_string_from_mask
-qmi_wms_cdma_cause_code_build_string_from_mask
-qmi_wms_cdma_error_class_build_string_from_mask
-qmi_wms_gsm_umts_rp_cause_build_string_from_mask
-qmi_wms_gsm_umts_tp_cause_build_string_from_mask
-qmi_wms_message_delivery_failure_type_build_string_from_mask
-qmi_wms_message_tag_type_build_string_from_mask
-qmi_wms_message_protocol_build_string_from_mask
-qmi_wms_message_type_build_string_from_mask
-qmi_wms_message_class_build_string_from_mask
-qmi_wms_receipt_action_build_string_from_mask
-qmi_wms_transfer_indication_build_string_from_mask
-qmi_wms_ack_failure_cause_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_WMS_ACK_INDICATOR
 QMI_TYPE_WMS_CDMA_CAUSE_CODE
@@ -1045,9 +875,6 @@
 <SUBSECTION Methods>
 qmi_pdc_configuration_type_get_string
 qmi_pdc_refresh_event_type_get_string
-<SUBSECTION Private>
-qmi_pdc_configuration_type_build_string_from_mask
-qmi_pdc_refresh_event_type_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_PDC_CONFIGURATION_TYPE
 QMI_TYPE_PDC_REFRESH_EVENT_TYPE
@@ -1071,13 +898,6 @@
 qmi_pds_tracking_session_state_get_string
 qmi_pds_operating_mode_get_string
 qmi_pds_network_mode_get_string
-<SUBSECTION Private>
-qmi_pds_operation_mode_build_string_from_mask
-qmi_pds_position_session_status_build_string_from_mask
-qmi_pds_data_valid_get_string
-qmi_pds_tracking_session_state_build_string_from_mask
-qmi_pds_operating_mode_build_string_from_mask
-qmi_pds_network_mode_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_PDS_DATA_VALID
 QMI_TYPE_PDS_OPERATION_MODE
@@ -1103,10 +923,6 @@
 qmi_pbm_event_registration_flag_build_string_from_mask
 qmi_pbm_phonebook_type_build_string_from_mask
 qmi_pbm_session_type_get_string
-<SUBSECTION Private>
-qmi_pbm_event_registration_flag_get_string
-qmi_pbm_phonebook_type_get_string
-qmi_pbm_session_type_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_PBM_EVENT_REGISTRATION_FLAG
 QMI_TYPE_PBM_PHONEBOOK_TYPE
@@ -1131,6 +947,7 @@
 QmiUimCardApplicationState
 QmiUimCardApplicationPersonalizationState
 QmiUimCardApplicationPersonalizationFeature
+QmiUimCardApplicationPersonalizationFeatureStatus
 QmiUimPinId
 QmiUimCardProtocol
 QmiUimPhysicalCardState
@@ -1140,7 +957,7 @@
 QmiUimConfiguration
 QmiUimDepersonalizationOperation
 <SUBSECTION Methods>
-qmi_uim_event_registration_flag_get_string
+qmi_uim_event_registration_flag_build_string_from_mask
 qmi_uim_session_type_get_string
 qmi_uim_file_type_get_string
 qmi_uim_security_attribute_logic_get_string
@@ -1152,6 +969,7 @@
 qmi_uim_card_application_state_get_string
 qmi_uim_card_application_personalization_state_get_string
 qmi_uim_card_application_personalization_feature_get_string
+qmi_uim_card_application_personalization_feature_status_get_string
 qmi_uim_pin_id_get_string
 qmi_uim_card_protocol_get_string
 qmi_uim_physical_card_state_get_string
@@ -1160,33 +978,13 @@
 qmi_uim_refresh_stage_get_string
 qmi_uim_configuration_build_string_from_mask
 qmi_uim_depersonalization_operation_get_string
-<SUBSECTION Private>
-qmi_uim_event_registration_flag_build_string_from_mask
-qmi_uim_session_type_build_string_from_mask
-qmi_uim_file_type_build_string_from_mask
-qmi_uim_security_attribute_logic_build_string_from_mask
-qmi_uim_security_attribute_get_string
-qmi_uim_card_application_personalization_feature_build_string_from_mask
-qmi_uim_card_application_personalization_state_build_string_from_mask
-qmi_uim_card_application_state_build_string_from_mask
-qmi_uim_card_application_type_build_string_from_mask
-qmi_uim_card_error_build_string_from_mask
-qmi_uim_card_state_build_string_from_mask
-qmi_uim_pin_state_build_string_from_mask
-qmi_uim_pin_id_build_string_from_mask
-qmi_uim_card_protocol_build_string_from_mask
-qmi_uim_physical_card_state_build_string_from_mask
-qmi_uim_slot_state_build_string_from_mask
-qmi_uim_refresh_mode_build_string_from_mask
-qmi_uim_refresh_stage_build_string_from_mask
-qmi_uim_configuration_get_string
-qmi_uim_depersonalization_operation_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_UIM_EVENT_REGISTRATION_FLAG
 QMI_TYPE_UIM_SESSION_TYPE
 QMI_TYPE_UIM_FILE_TYPE
 QMI_TYPE_UIM_SECURITY_ATTRIBUTE_LOGIC
 QMI_TYPE_UIM_SECURITY_ATTRIBUTE
+QMI_TYPE_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS
 QMI_TYPE_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE
 QMI_TYPE_UIM_CARD_APPLICATION_PERSONALIZATION_STATE
 QMI_TYPE_UIM_CARD_APPLICATION_STATE
@@ -1207,6 +1005,7 @@
 qmi_uim_file_type_get_type
 qmi_uim_security_attribute_logic_get_type
 qmi_uim_security_attribute_get_type
+qmi_uim_card_application_personalization_feature_status_get_type
 qmi_uim_card_application_personalization_feature_get_type
 qmi_uim_card_application_personalization_state_get_type
 qmi_uim_card_application_state_get_type
@@ -1236,11 +1035,6 @@
 qmi_oma_session_state_get_string
 qmi_oma_session_failed_reason_get_string
 qmi_oma_hfa_feature_done_state_get_string
-<SUBSECTION Private>
-qmi_oma_session_type_build_string_from_mask
-qmi_oma_session_state_build_string_from_mask
-qmi_oma_session_failed_reason_build_string_from_mask
-qmi_oma_hfa_feature_done_state_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_OMA_SESSION_TYPE
 QMI_TYPE_OMA_SESSION_STATE
@@ -1260,9 +1054,6 @@
 <SUBSECTION Methods>
 qmi_wda_link_layer_protocol_get_string
 qmi_wda_data_aggregation_protocol_get_string
-<SUBSECTION Private>
-qmi_wda_link_layer_protocol_build_string_from_mask
-qmi_wda_data_aggregation_protocol_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_WDA_LINK_LAYER_PROTOCOL
 QMI_TYPE_WDA_DATA_AGGREGATION_PROTOCOL
@@ -1316,28 +1107,6 @@
 qmi_voice_supplementary_service_notification_type_get_string
 qmi_voice_supplementary_service_action_get_string
 qmi_voice_supplementary_service_reason_get_string
-<SUBSECTION Private>
-qmi_voice_call_state_build_string_from_mask
-qmi_voice_call_type_build_string_from_mask
-qmi_voice_call_direction_build_string_from_mask
-qmi_voice_call_mode_build_string_from_mask
-qmi_voice_als_build_string_from_mask
-qmi_voice_presentation_build_string_from_mask
-qmi_voice_domain_build_string_from_mask
-qmi_voice_privacy_build_string_from_mask
-qmi_voice_service_option_build_string_from_mask
-qmi_voice_tty_mode_build_string_from_mask
-qmi_voice_wcdma_amr_status_get_string
-qmi_voice_user_action_build_string_from_mask
-qmi_voice_uss_data_coding_scheme_build_string_from_mask
-qmi_voice_alpha_data_coding_scheme_build_string_from_mask
-qmi_voice_call_end_reason_build_string_from_mask
-qmi_voice_call_control_result_type_build_string_from_mask
-qmi_voice_call_control_supplementary_service_type_build_string_from_mask
-qmi_voice_supplementary_service_type_build_string_from_mask
-qmi_voice_supplementary_service_notification_type_build_string_from_mask
-qmi_voice_supplementary_service_action_build_string_from_mask
-qmi_voice_supplementary_service_reason_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_VOICE_CALL_STATE
 QMI_TYPE_VOICE_CALL_TYPE
@@ -1413,11 +1182,13 @@
 QmiLocLockType
 <SUBSECTION Methods>
 qmi_loc_intermediate_report_state_get_string
+qmi_loc_event_registration_flag_build_string_from_mask
 qmi_loc_fix_recurrence_type_get_string
 qmi_loc_operation_mode_get_string
 qmi_loc_engine_state_get_string
 qmi_loc_health_status_get_string
 qmi_loc_indication_status_get_string
+qmi_loc_sensor_data_usage_build_string_from_mask
 qmi_loc_navigation_data_get_string
 qmi_loc_reliability_get_string
 qmi_loc_satellite_status_get_string
@@ -1435,31 +1206,6 @@
 qmi_loc_delete_sv_info_build_string_from_mask
 qmi_loc_nmea_type_build_string_from_mask
 qmi_loc_lock_type_get_string
-<SUBSECTION Private>
-qmi_loc_intermediate_report_state_build_string_from_mask
-qmi_loc_operation_mode_build_string_from_mask
-qmi_loc_fix_recurrence_type_build_string_from_mask
-qmi_loc_event_registration_flag_build_string_from_mask
-qmi_loc_engine_state_build_string_from_mask
-qmi_loc_health_status_build_string_from_mask
-qmi_loc_indication_status_build_string_from_mask
-qmi_loc_navigation_data_build_string_from_mask
-qmi_loc_reliability_build_string_from_mask
-qmi_loc_satellite_status_build_string_from_mask
-qmi_loc_satellite_valid_information_get_string
-qmi_loc_sensor_data_usage_build_string_from_mask
-qmi_loc_session_status_build_string_from_mask
-qmi_loc_system_build_string_from_mask
-qmi_loc_technology_used_get_string
-qmi_loc_time_source_build_string_from_mask
-qmi_loc_server_type_build_string_from_mask
-qmi_loc_server_address_type_get_string
-qmi_loc_predicted_orbits_data_format_build_string_from_mask
-qmi_loc_delete_cell_database_get_string
-qmi_loc_delete_clock_info_get_string
-qmi_loc_delete_sv_info_get_string
-qmi_loc_nmea_type_get_string
-qmi_loc_lock_type_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_LOC_INTERMEDIATE_REPORT_STATE
 QMI_TYPE_LOC_FIX_RECURRENCE_TYPE
@@ -1515,9 +1261,6 @@
 <SUBSECTION Methods>
 qmi_qos_status_get_string
 qmi_qos_event_get_string
-<SUBSECTION Private>
-qmi_qos_status_build_string_from_mask
-qmi_qos_event_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_QOS_STATUS
 QMI_TYPE_QOS_EVENT
@@ -1533,9 +1276,6 @@
 <SUBSECTION Methods>
 qmi_gas_firmware_listing_mode_get_string
 qmi_gas_usb_composition_endpoint_type_get_string
-<SUBSECTION Private>
-qmi_gas_firmware_listing_mode_build_string_from_mask
-qmi_gas_usb_composition_endpoint_type_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_GAS_FIRMWARE_LISTING_MODE
 QMI_TYPE_GAS_USB_COMPOSITION_ENDPOINT_TYPE
@@ -1557,12 +1297,6 @@
 qmi_dsd_data_system_network_type_get_string
 qmi_dsd_radio_access_technology_get_string
 qmi_dsd_so_mask_build_string_from_mask
-<SUBSECTION Private>
-qmi_dsd_apn_type_build_string_from_mask
-qmi_dsd_apn_type_preference_get_string
-qmi_dsd_data_system_network_type_build_string_from_mask
-qmi_dsd_radio_access_technology_build_string_from_mask
-qmi_dsd_so_mask_get_string
 <SUBSECTION Standard>
 QMI_TYPE_DSD_APN_TYPE
 QMI_TYPE_DSD_APN_TYPE_PREFERENCE
@@ -1582,8 +1316,6 @@
 QmiSarRfState
 <SUBSECTION Methods>
 qmi_sar_rf_state_get_string
-<SUBSECTION Private>
-qmi_sar_rf_state_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_SAR_RF_STATE
 qmi_sar_rf_state_get_type
@@ -1595,8 +1327,6 @@
 QmiFoxFirmwareVersionType
 <SUBSECTION Methods>
 qmi_fox_firmware_version_type_get_string
-<SUBSECTION Private>
-qmi_fox_firmware_version_type_build_string_from_mask
 <SUBSECTION Standard>
 QMI_TYPE_FOX_FIRMWARE_VERSION_TYPE
 qmi_fox_firmware_version_type_get_type
@@ -1822,6 +1552,7 @@
 QMI_WDS_CDMA_CAUSE_CODE_GENERAL_OTHER
 QMI_PROTOCOL_ERROR_QOS_UNAVAILABLE
 QMI_WDS_VERBOSE_CALL_END_REASON_CM_CONFIGURATION_FAILED
+QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_UNKNOWN
 <SUBSECTION DellFirmwareVersion>
 QmiDmsDellFirmwareVersionType
 qmi_dms_dell_firmware_version_type_get_string
@@ -1912,6 +1643,9 @@
 qmi_wds_get_current_settings_requested_settings_build_string_from_mask
 <SUBSECTION WdsSetLteAttachPdnList>
 qmi_indication_wds_set_lte_attach_pdn_list_output_get_result
+<SUBSECTION UimCardStatusApplicationsElement>
+QmiIndicationUimCardStatusOutputCardStatusCardsElementApplicationsElement
+QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElement
 <SUBSECTION Private>
 QmiDeprecatedNasSimRejectState
 QmiDeprecatedWdsCdmaCauseCode
@@ -1955,4 +1689,6 @@
 qmi_message_wds_set_default_profile_num_input_get_type
 qmi_message_wds_set_default_profile_num_output_get_type
 qmi_wds_get_current_settings_requested_settings_get_type
+qmi_indication_uim_card_status_output_card_status_cards_element_applications_element_get_type
+qmi_message_uim_get_card_status_output_card_status_cards_element_applications_element_get_type
 </SECTION>
diff --git a/docs/reference/libqmi-glib/libqmi-glib-docs.xml b/docs/reference/libqmi-glib/libqmi-glib-docs.xml
index f20b204..4fa02f1 100644
--- a/docs/reference/libqmi-glib/libqmi-glib-docs.xml
+++ b/docs/reference/libqmi-glib/libqmi-glib-docs.xml
@@ -25,6 +25,7 @@
       <year>2020</year>
       <year>2021</year>
       <year>2022</year>
+      <year>2023</year>
       <holder>The libqmi-glib authors</holder>
     </copyright>
 
diff --git a/docs/reference/libqmi-glib/meson.build b/docs/reference/libqmi-glib/meson.build
index c07454a..2f5cfc3 100644
--- a/docs/reference/libqmi-glib/meson.build
+++ b/docs/reference/libqmi-glib/meson.build
@@ -19,6 +19,7 @@
   'qmi-enums-private.h',
   'qmi-enum-types-private.h',
   'qmi-file.h',
+  'qmi-flag-types-private.h',
   'qmi-helpers.h',
   'qmi-net-port-manager.h',
   'qmi-net-port-manager-rmnet.h',
diff --git a/meson.build b/meson.build
index 8711e0a..2fe371b 100644
--- a/meson.build
+++ b/meson.build
@@ -3,7 +3,7 @@
 
 project(
   'libqmi', 'c',
-  version: '1.33.5',
+  version: '1.33.7',
   license: 'GPL2',
   default_options: [
     'buildtype=debugoptimized',
diff --git a/src/libqmi-glib/generated/meson.build b/src/libqmi-glib/generated/meson.build
index a41acc0..87cf8f3 100644
--- a/src/libqmi-glib/generated/meson.build
+++ b/src/libqmi-glib/generated/meson.build
@@ -57,7 +57,7 @@
   capture: true,
 )
 
-# Enum/Flag types
+# Enum types
 enum_types = 'qmi-enum-types'
 
 gen_headers += custom_target(
@@ -67,6 +67,7 @@
   command: [
     python,
     qmi_mkenums,
+    '--enums-only',
     '--fhead', '#ifndef __LIBQMI_GLIB_ENUM_TYPES_H__\n#define __LIBQMI_GLIB_ENUM_TYPES_H__\n#include "qmi-enums.h"\n#include "qmi-enums-wds.h"\n#include "qmi-enums-dms.h"\n#include "qmi-enums-nas.h"\n#include "qmi-enums-wms.h"\n#include "qmi-enums-pds.h"\n#include "qmi-enums-pdc.h"\n#include "qmi-enums-pbm.h"\n#include "qmi-enums-uim.h"\n#include "qmi-enums-sar.h"\n#include "qmi-enums-oma.h"\n#include "qmi-enums-wda.h"\n#include "qmi-enums-voice.h"\n#include "qmi-enums-loc.h"\n#include "qmi-enums-qos.h"\n#include "qmi-enums-gas.h"\n#include "qmi-enums-dsd.h"\n#include "qmi-enums-fox.h"\n#include "qmi-device.h"\n',
     '--template', files(templates_dir / enum_types + '.h.template'),
     '--ftail', '#endif /* __LIBQMI_GLIB_ENUM_TYPES_H__ */\n',
@@ -83,13 +84,48 @@
   command: [
     python,
     qmi_mkenums,
+    '--enums-only',
     '--fhead', '#include "qmi-enum-types.h"\n',
     '--template', files(templates_dir / enum_types + '.c.template'),
     '@INPUT@'],
   capture: true,
 )
 
-# Private Enum/Flag types
+# Flag types
+enum_types = 'qmi-flag-types'
+
+gen_headers += custom_target(
+  enum_types + '.h',
+  input: qmi_enums_headers,
+  output: enum_types + '.h',
+  command: [
+    python,
+    qmi_mkenums,
+    '--flags-only',
+    '--fhead', '#ifndef __LIBQMI_GLIB_FLAG_TYPES_H__\n#define __LIBQMI_GLIB_FLAG_TYPES_H__\n#include "qmi-enums.h"\n#include "qmi-enums-wds.h"\n#include "qmi-enums-dms.h"\n#include "qmi-enums-nas.h"\n#include "qmi-enums-wms.h"\n#include "qmi-enums-pds.h"\n#include "qmi-enums-pdc.h"\n#include "qmi-enums-pbm.h"\n#include "qmi-enums-uim.h"\n#include "qmi-enums-sar.h"\n#include "qmi-enums-oma.h"\n#include "qmi-enums-wda.h"\n#include "qmi-enums-voice.h"\n#include "qmi-enums-loc.h"\n#include "qmi-enums-qos.h"\n#include "qmi-enums-gas.h"\n#include "qmi-enums-dsd.h"\n#include "qmi-enums-fox.h"\n#include "qmi-device.h"\n',
+    '--template', files(templates_dir / enum_types + '.h.template'),
+    '--ftail', '#endif /* __LIBQMI_GLIB_FLAG_TYPES_H__ */\n',
+    '@INPUT@'],
+  capture: true,
+  install: true,
+  install_dir: qmi_glib_pkgincludedir,
+)
+
+gen_sources += custom_target(
+  enum_types + '.c',
+  input: qmi_enums_headers,
+  output: enum_types + '.c',
+  command: [
+    python,
+    qmi_mkenums,
+    '--flags-only',
+    '--fhead', '#include "qmi-flag-types.h"\n',
+    '--template', files(templates_dir / enum_types + '.c.template'),
+    '@INPUT@'],
+  capture: true,
+)
+
+# Private Enum types
 enum_types = 'qmi-enum-types-private'
 
 private_gen_headers += custom_target(
@@ -99,6 +135,7 @@
   command: [
     python,
     qmi_mkenums,
+    '--enums-only',
     '--fhead', '#ifndef __LIBQMI_GLIB_ENUM_TYPES_PRIVATE_H__\n#define __LIBQMI_GLIB_ENUM_TYPES_PRIVATE_H__\n#include "qmi-enums-private.h"\n',
     '--template', files(templates_dir / enum_types + '.h.template'),
     '--ftail', '#endif /* __LIBQMI_GLIB_ENUM_TYPES_PRIVATE_H__ */\n',
@@ -113,12 +150,45 @@
   command: [
     python,
     qmi_mkenums,
+    '--enums-only',
     '--fhead', '#include "qmi-enum-types-private.h"\n',
     '--template', files(templates_dir / enum_types + '.c.template'),
     '@INPUT@'],
   capture: true,
 )
 
+# Private Flag types
+enum_types = 'qmi-flag-types-private'
+
+private_gen_headers += custom_target(
+  enum_types + '.h',
+  input: qmi_enums_private_header,
+  output: enum_types + '.h',
+  command: [
+    python,
+    qmi_mkenums,
+    '--flags-only',
+    '--fhead', '#ifndef __LIBQMI_GLIB_FLAG_TYPES_PRIVATE_H__\n#define __LIBQMI_GLIB_FLAG_TYPES_PRIVATE_H__\n#include "qmi-enums-private.h"\n',
+    '--template', files(templates_dir / enum_types + '.h.template'),
+    '--ftail', '#endif /* __LIBQMI_GLIB_FLAG_TYPES_PRIVATE_H__ */\n',
+    '@INPUT@'],
+  capture: true,
+)
+
+private_gen_sources += custom_target(
+  enum_types + '.c',
+  input: qmi_enums_private_header,
+  output: enum_types + '.c',
+  command: [
+    python,
+    qmi_mkenums,
+    '--flags-only',
+    '--fhead', '#include "qmi-flag-types-private.h"\n',
+    '--template', files(templates_dir / enum_types + '.c.template'),
+    '@INPUT@'],
+  capture: true,
+)
+
 # 64bit flag types
 enum_types = 'qmi-flags64-types'
 
diff --git a/src/libqmi-glib/libqmi-glib.h b/src/libqmi-glib/libqmi-glib.h
index 867429f..57ad048 100644
--- a/src/libqmi-glib/libqmi-glib.h
+++ b/src/libqmi-glib/libqmi-glib.h
@@ -102,6 +102,7 @@
 /* generated */
 #include "qmi-error-types.h"
 #include "qmi-enum-types.h"
+#include "qmi-flag-types.h"
 #include "qmi-flags64-types.h"
 
 #if QMI_QRTR_SUPPORTED
diff --git a/src/libqmi-glib/qmi-client.c b/src/libqmi-glib/qmi-client.c
index 5a9c3a3..e0c96fd 100644
--- a/src/libqmi-glib/qmi-client.c
+++ b/src/libqmi-glib/qmi-client.c
@@ -24,6 +24,7 @@
 
 #include "qmi-error-types.h"
 #include "qmi-enum-types.h"
+#include "qmi-flag-types.h"
 #include "qmi-device.h"
 #include "qmi-client.h"
 #include "qmi-ctl.h"
diff --git a/src/libqmi-glib/qmi-compat.c b/src/libqmi-glib/qmi-compat.c
index bd5e0a2..636a963 100644
--- a/src/libqmi-glib/qmi-compat.c
+++ b/src/libqmi-glib/qmi-compat.c
@@ -24,6 +24,7 @@
 #include "qmi-compat.h"
 #include "qmi-helpers.h"
 #include "qmi-enum-types.h"
+#include "qmi-flag-types.h"
 
 #ifndef QMI_DISABLE_DEPRECATED
 
@@ -2599,4 +2600,28 @@
     return qmi_wds_requested_settings_build_string_from_mask ((QmiWdsRequestedSettings)mask);
 }
 
+/*****************************************************************************/
+
+#if defined HAVE_QMI_MESSAGE_UIM_GET_CARD_STATUS
+
+GType
+qmi_message_uim_get_card_status_output_card_status_cards_element_applications_element_get_type (void)
+{
+    return qmi_message_uim_get_card_status_output_card_status_cards_element_applications_element_v2_get_type ();
+}
+
+#endif /* HAVE_QMI_MESSAGE_UIM_GET_CARD_STATUS */
+
+/*****************************************************************************/
+
+#if defined HAVE_QMI_INDICATION_UIM_CARD_STATUS
+
+GType
+qmi_indication_uim_card_status_output_card_status_cards_element_applications_element_get_type (void)
+{
+  return qmi_indication_uim_card_status_output_card_status_cards_element_applications_element_v2_get_type ();
+}
+
+#endif /* HAVE_QMI_INDICATION_UIM_CARD_STATUS */
+
 #endif /* QMI_DISABLE_DEPRECATED */
diff --git a/src/libqmi-glib/qmi-compat.h b/src/libqmi-glib/qmi-compat.h
index b3590a0..2d95e34 100644
--- a/src/libqmi-glib/qmi-compat.h
+++ b/src/libqmi-glib/qmi-compat.h
@@ -1284,6 +1284,20 @@
 G_DEPRECATED_FOR (qmi_wds_requested_settings_build_string_from_mask)
 gchar *qmi_wds_get_current_settings_requested_settings_build_string_from_mask (QmiDeprecatedWdsGetCurrentSettingsRequestedSettings mask);
 
+/**
+ * QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_UNKNOWN:
+ *
+ * Unknown personalization feature.
+ *
+ * This name was originally defined in the #QmiUimCardApplicationPersonalizationFeatureStatus
+ * enum, which was renamed to #QmiUimCardApplicationPersonalizationFeatureStatus.
+ *
+ * Since: 1.10
+ * Deprecated: 1.34.0: Use #QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_UNKNOWN instead.
+ */
+G_DEPRECATED typedef int QmiDeprecatedUimCardApplicationPersonalizationFeature;
+#define QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_UNKNOWN (QmiDeprecatedUimCardApplicationPersonalizationFeature) QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_UNKNOWN
+
 /******************************************************************************/
 /* Conditional method definitions */
 
@@ -3982,6 +3996,108 @@
 
 #endif /* HAVE_QMI_INDICATION_WDS_SET_LTE_ATTACH_PDN_LIST */
 
+#if defined HAVE_QMI_MESSAGE_UIM_GET_CARD_STATUS
+
+/**
+ * QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElement:
+ * @type: a #QmiUimCardApplicationType.
+ * @state: a #QmiUimCardApplicationState.
+ * @personalization_state: a #QmiUimCardApplicationPersonalizationState.
+ * @personalization_feature: a #QmiUimCardApplicationPersonalizationFeature.
+ * @personalization_retries: a #guint8.
+ * @personalization_unblock_retries: a #guint8.
+ * @application_identifier_value: a #GArray of #guint8 elements.
+ * @upin_replaces_pin1: a #gboolean.
+ * @pin1_state: a #QmiUimPinState.
+ * @pin1_retries: a #guint8.
+ * @puk1_retries: a #guint8.
+ * @pin2_state: a #QmiUimPinState.
+ * @pin2_retries: a #guint8.
+ * @puk2_retries: a #guint8.
+ *
+ * A QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElement struct.
+ *
+ * This type is binary compatible with #QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElementV2
+ * as the size and format of both structs is the same. The only thing that changed is the
+ * representation of one of the enumeration fields.
+ *
+ * Since: 1.10
+ * Deprecated: 1.34. Use #QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElementV2 instead.
+ */
+G_DEPRECATED_FOR (QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElementV2)
+typedef struct _QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElement {
+    QmiUimCardApplicationType type;
+    QmiUimCardApplicationState state;
+    QmiUimCardApplicationPersonalizationState personalization_state;
+    QmiUimCardApplicationPersonalizationFeature personalization_feature;
+    guint8 personalization_retries;
+    guint8 personalization_unblock_retries;
+    GArray *application_identifier_value;
+    gboolean upin_replaces_pin1;
+    QmiUimPinState pin1_state;
+    guint8 pin1_retries;
+    guint8 puk1_retries;
+    QmiUimPinState pin2_state;
+    guint8 pin2_retries;
+    guint8 puk2_retries;
+} QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElement;
+
+G_DEPRECATED_FOR (qmi_message_uim_get_card_status_output_card_status_cards_element_applications_element_v2_get_type)
+GType qmi_message_uim_get_card_status_output_card_status_cards_element_applications_element_get_type (void) G_GNUC_CONST;
+
+#endif /* HAVE_QMI_MESSAGE_UIM_GET_CARD_STATUS */
+
+#if defined HAVE_QMI_INDICATION_UIM_CARD_STATUS
+
+/**
+ * QmiIndicationUimCardStatusOutputCardStatusCardsElementApplicationsElement:
+ * @type: a #QmiUimCardApplicationType.
+ * @state: a #QmiUimCardApplicationState.
+ * @personalization_state: a #QmiUimCardApplicationPersonalizationState.
+ * @personalization_feature: a #QmiUimCardApplicationPersonalizationFeature.
+ * @personalization_retries: a #guint8.
+ * @personalization_unblock_retries: a #guint8.
+ * @application_identifier_value: a #GArray of #guint8 elements.
+ * @upin_replaces_pin1: a #gboolean.
+ * @pin1_state: a #QmiUimPinState.
+ * @pin1_retries: a #guint8.
+ * @puk1_retries: a #guint8.
+ * @pin2_state: a #QmiUimPinState.
+ * @pin2_retries: a #guint8.
+ * @puk2_retries: a #guint8.
+ *
+ * A QmiIndicationUimCardStatusOutputCardStatusCardsElementApplicationsElement struct.
+ *
+ * This type is binary compatible with #QmiIndicationUimCardStatusOutputCardStatusCardsElementApplicationsElementV2
+ * as the size and format of both structs is the same. The only thing that changed is the
+ * representation of one of the enumeration fields.
+ *
+ * Since: 1.22
+ * Deprecated: 1.34. Use #QmiIndicationUimCardStatusOutputCardStatusCardsElementApplicationsElementV2 instead.
+ */
+G_DEPRECATED_FOR (QmiIndicationUimCardStatusOutputCardStatusCardsElementApplicationsElementV2)
+typedef struct _QmiIndicationUimCardStatusOutputCardStatusCardsElementApplicationsElement {
+    QmiUimCardApplicationType type;
+    QmiUimCardApplicationState state;
+    QmiUimCardApplicationPersonalizationState personalization_state;
+    QmiUimCardApplicationPersonalizationFeature personalization_feature;
+    guint8 personalization_retries;
+    guint8 personalization_unblock_retries;
+    GArray *application_identifier_value;
+    gboolean upin_replaces_pin1;
+    QmiUimPinState pin1_state;
+    guint8 pin1_retries;
+    guint8 puk1_retries;
+    QmiUimPinState pin2_state;
+    guint8 pin2_retries;
+    guint8 puk2_retries;
+} QmiIndicationUimCardStatusOutputCardStatusCardsElementApplicationsElement;
+
+G_DEPRECATED_FOR (qmi_indication_uim_card_status_output_card_status_cards_element_applications_element_v2_get_type)
+GType qmi_indication_uim_card_status_output_card_status_cards_element_applications_element_get_type (void) G_GNUC_CONST;
+
+#endif /* HAVE_QMI_INDICATION_UIM_CARD_STATUS */
+
 #endif /* QMI_DISABLE_DEPRECATED */
 
 #endif /* _LIBQMI_GLIB_QMI_COMPAT_H_ */
diff --git a/src/libqmi-glib/qmi-device.c b/src/libqmi-glib/qmi-device.c
index 01e7ba1..e9576de 100644
--- a/src/libqmi-glib/qmi-device.c
+++ b/src/libqmi-glib/qmi-device.c
@@ -61,6 +61,7 @@
 #include "qmi-helpers.h"
 #include "qmi-error-types.h"
 #include "qmi-enum-types.h"
+#include "qmi-flag-types.h"
 #include "qmi-proxy.h"
 #include "qmi-net-port-manager-qmiwwan.h"
 #include "qmi-version.h"
diff --git a/src/libqmi-glib/qmi-endpoint-qrtr.c b/src/libqmi-glib/qmi-endpoint-qrtr.c
index 8c4007a..fee18f5 100644
--- a/src/libqmi-glib/qmi-endpoint-qrtr.c
+++ b/src/libqmi-glib/qmi-endpoint-qrtr.c
@@ -35,6 +35,7 @@
 #include "qmi-endpoint-qrtr.h"
 #include "qmi-errors.h"
 #include "qmi-enum-types.h"
+#include "qmi-flag-types.h"
 #include "qmi-error-types.h"
 #include "qmi-message.h"
 
diff --git a/src/libqmi-glib/qmi-enums-uim.h b/src/libqmi-glib/qmi-enums-uim.h
index d5b0ad8..76ede04 100644
--- a/src/libqmi-glib/qmi-enums-uim.h
+++ b/src/libqmi-glib/qmi-enums-uim.h
@@ -19,6 +19,7 @@
  *
  * Copyright (C) 2012 Google Inc.
  * Copyright (C) 2012-2017 Aleksander Morgado <aleksander@aleksander.es>
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc.
  */
 
 #ifndef _LIBQMI_GLIB_QMI_ENUMS_UIM_H_
@@ -355,27 +356,83 @@
  * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_SERVICE_PROVIDER: 1X service provider.
  * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_CORPORATE: 1X corporate.
  * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_RUIM: 1X R-UIM.
- * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_UNKNOWN: Unknown.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_SERVICE_PROVIDER_NAME: GW SPN. Since 1.34.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_SP_EHPLMN: GW SP + EHPLMN. Since 1.34.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_ICCID: GW ICCID. Since 1.34.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_IMPI: GW IMPI. Since 1.34.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK_SUBSET_SERVICE_PROVIDER: GW network subset and service provider. Since 1.34.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_CARRIER: GW carrier. Since 1.34.
  *
  * Card application personalization feature, when a code is required.
  *
  * Since: 1.10
  */
 typedef enum { /*< since=1.10 >*/
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK          = 0,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK_SUBSET   = 1,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_SERVICE_PROVIDER = 2,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_CORPORATE        = 3,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_UIM              = 4,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_NETWORK_TYPE_1   = 5,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_NETWORK_TYPE_2   = 6,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_HRPD             = 7,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_SERVICE_PROVIDER = 8,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_CORPORATE        = 9,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_RUIM             = 10,
-    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_UNKNOWN             = 11
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK                         = 0,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK_SUBSET                  = 1,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_SERVICE_PROVIDER                = 2,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_CORPORATE                       = 3,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_UIM                             = 4,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_NETWORK_TYPE_1                  = 5,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_NETWORK_TYPE_2                  = 6,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_HRPD                            = 7,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_SERVICE_PROVIDER                = 8,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_CORPORATE                       = 9,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_1X_RUIM                            = 10,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_SERVICE_PROVIDER_NAME           = 11,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_SP_EHPLMN                       = 12,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_ICCID                           = 13,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_IMPI                            = 14,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_NETWORK_SUBSET_SERVICE_PROVIDER = 15,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_GW_CARRIER                         = 16,
 } QmiUimCardApplicationPersonalizationFeature;
 
+/**
+ * QmiUimCardApplicationPersonalizationFeatureStatus:
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_NETWORK: GW network.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_NETWORK_SUBSET: GW network subset.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_SERVICE_PROVIDER: GW service provider.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_CORPORATE: GW corporate.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_UIM: UIM.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_NETWORK_TYPE_1: 1X network type 1.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_NETWORK_TYPE_2: 1X network type 2.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_HRPD: 1X HRPD.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_SERVICE_PROVIDER: 1X service provider.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_CORPORATE: 1X corporate.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_RUIM: 1X R-UIM.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_UNKNOWN: Unknown.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_SERVICE_PROVIDER_NAME: GW service provider name.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_SP_EHPLMN: GW SP + EHPLMN.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_ICCID: GW ICCID.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_IMPI: GW IMPI.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_NETWORK_SUBSET_SERVICE_PROVIDER: GW network subset and service provider.
+ * @QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_CARRIER: GW carrier.
+ *
+ * Card application personalization feature status.
+ *
+ * Since: 1.34
+ */
+typedef enum { /*< since=1.34 >*/
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_NETWORK                         = 0,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_NETWORK_SUBSET                  = 1,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_SERVICE_PROVIDER                = 2,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_CORPORATE                       = 3,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_UIM                             = 4,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_NETWORK_TYPE_1                  = 5,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_NETWORK_TYPE_2                  = 6,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_HRPD                            = 7,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_SERVICE_PROVIDER                = 8,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_CORPORATE                       = 9,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_1X_RUIM                            = 10,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_UNKNOWN                            = 11,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_SERVICE_PROVIDER_NAME           = 12,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_SP_EHPLMN                       = 13,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_ICCID                           = 14,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_IMPI                            = 15,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_NETWORK_SUBSET_SERVICE_PROVIDER = 16,
+    QMI_UIM_CARD_APPLICATION_PERSONALIZATION_FEATURE_STATUS_GW_CARRIER                         = 17,
+} QmiUimCardApplicationPersonalizationFeatureStatus;
+
 /*****************************************************************************/
 /* Helper enums for the 'QMI UIM Refresh' indication */
 
diff --git a/src/libqmi-glib/qmi-enums.h b/src/libqmi-glib/qmi-enums.h
index b50841c..1b37fd0 100644
--- a/src/libqmi-glib/qmi-enums.h
+++ b/src/libqmi-glib/qmi-enums.h
@@ -56,7 +56,7 @@
  * @QMI_SERVICE_RMTFS: Remote file system service.
  * @QMI_SERVICE_TEST: Test service. Since: 1.8.
  * @QMI_SERVICE_LOC: Location service (~ PDS v2).
- * @QMI_SERVICE_SAR: Service access proxy service.
+ * @QMI_SERVICE_SAR: Specific absorption rate service.
  * @QMI_SERVICE_IMS: IMS settings service. Since: 1.8.
  * @QMI_SERVICE_ADC: Analog to digital converter driver service. Since: 1.8.
  * @QMI_SERVICE_CSD: Core sound driver service. Since: 1.8.
diff --git a/src/libqmi-glib/qmi-message.c b/src/libqmi-glib/qmi-message.c
index a51b77e..7ba130c 100644
--- a/src/libqmi-glib/qmi-message.c
+++ b/src/libqmi-glib/qmi-message.c
@@ -38,7 +38,9 @@
 #include "qmi-helpers.h"
 #include "qmi-enums-private.h"
 #include "qmi-enum-types-private.h"
+#include "qmi-flag-types-private.h"
 #include "qmi-enum-types.h"
+#include "qmi-flag-types.h"
 #include "qmi-error-types.h"
 
 #include "qmi-ctl.h"
diff --git a/src/libqmi-glib/qmi-net-port-manager-qmiwwan.c b/src/libqmi-glib/qmi-net-port-manager-qmiwwan.c
index d533469..8c3f3ac 100644
--- a/src/libqmi-glib/qmi-net-port-manager-qmiwwan.c
+++ b/src/libqmi-glib/qmi-net-port-manager-qmiwwan.c
@@ -25,6 +25,7 @@
 
 #include "qmi-net-port-manager-qmiwwan.h"
 #include "qmi-enum-types.h"
+#include "qmi-flag-types.h"
 #include "qmi-error-types.h"
 #include "qmi-errors.h"
 #include "qmi-helpers.h"
diff --git a/src/libqmi-glib/qmi-proxy.c b/src/libqmi-glib/qmi-proxy.c
index eeff4bf..15c3fe4 100644
--- a/src/libqmi-glib/qmi-proxy.c
+++ b/src/libqmi-glib/qmi-proxy.c
@@ -33,6 +33,7 @@
 
 #include "config.h"
 #include "qmi-enum-types.h"
+#include "qmi-flag-types.h"
 #include "qmi-error-types.h"
 #include "qmi-device.h"
 #include "qmi-ctl.h"
diff --git a/src/qmi-firmware-update/meson.build b/src/qmi-firmware-update/meson.build
index f30b1d3..0228b81 100644
--- a/src/qmi-firmware-update/meson.build
+++ b/src/qmi-firmware-update/meson.build
@@ -69,6 +69,7 @@
   command: [
     python,
     qmi_mkenums,
+    '--enums-only',
     '--fhead', '#ifndef QFU_ENUM_TYPES_H\n#define QFU_ENUM_TYPES_H\n#include "qfu-image.h"\n#include "qfu-qdl-message.h"\n#include "qfu-dload-message.h"\n#include "qfu-sahara-message.h"\n',
     '--template', files(templates_dir / enum_types + '.h.template'),
     '--ftail', '#endif /* __QFUENUM_TYPES_H__ */\n',
@@ -83,6 +84,7 @@
   command: [
     python,
     qmi_mkenums,
+    '--enums-only',
     '--fhead', '#include "qfu-enum-types.h"\n',
     '--template', files(templates_dir / enum_types + '.c.template'),
     '@INPUT@'],
diff --git a/src/qmi-proxy/qmi-proxy.c b/src/qmi-proxy/qmi-proxy.c
index 9e0dbbc..a886466 100644
--- a/src/qmi-proxy/qmi-proxy.c
+++ b/src/qmi-proxy/qmi-proxy.c
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
- * Copyright (C) 2013-2017 Aleksander Morgado <aleksander@aleksander.es>
+ * Copyright (C) 2013-2023 Aleksander Morgado <aleksander@aleksander.es>
  */
 
 #include "config.h"
@@ -143,7 +143,7 @@
 {
     g_print ("\n"
              PROGRAM_NAME " " PROGRAM_VERSION "\n"
-             "Copyright (2013-2022) Aleksander Morgado\n"
+             "Copyright (2013-2023) Aleksander Morgado\n"
              "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>\n"
              "This is free software: you are free to change and redistribute it.\n"
              "There is NO WARRANTY, to the extent permitted by law.\n"
diff --git a/src/qmicli/qmicli-uim.c b/src/qmicli/qmicli-uim.c
index 5b49936..c3d0aba 100644
--- a/src/qmicli/qmicli-uim.c
+++ b/src/qmicli/qmicli-uim.c
@@ -1519,10 +1519,10 @@
                  card->upuk_retries);
 
         for (j = 0; j < card->applications->len; j++) {
-            QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElement *app;
+            QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElementV2 *app;
             gchar *str;
 
-            app = &g_array_index (card->applications, QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElement, j);
+            app = &g_array_index (card->applications, QmiMessageUimGetCardStatusOutputCardStatusCardsElementApplicationsElementV2, j);
 
             str = qmicli_get_raw_data_printable (app->application_identifier_value, 80, "");
 
@@ -1542,7 +1542,7 @@
                          "\t\t\tDisable retries:     '%u'\n"
                          "\t\t\tUnblock retries:     '%u'\n",
                          qmi_uim_card_application_personalization_state_get_string (app->personalization_state),
-                         qmi_uim_card_application_personalization_feature_get_string (app->personalization_feature),
+                         qmi_uim_card_application_personalization_feature_status_get_string (app->personalization_feature),
                          app->personalization_retries,
                          app->personalization_unblock_retries);
             else
diff --git a/src/qmicli/qmicli.c b/src/qmicli/qmicli.c
index a37eaab..6fcadad 100644
--- a/src/qmicli/qmicli.c
+++ b/src/qmicli/qmicli.c
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
- * Copyright (C) 2012-2017 Aleksander Morgado <aleksander@aleksander.es>
+ * Copyright (C) 2012-2023 Aleksander Morgado <aleksander@aleksander.es>
  * Copyright (c) 2022 Qualcomm Innovation Center, Inc.
  */
 
@@ -231,7 +231,7 @@
 print_version_and_exit (void)
 {
     g_print (PROGRAM_NAME " " PROGRAM_VERSION "\n"
-             "Copyright (C) 2012-2022 Aleksander Morgado\n"
+             "Copyright (C) 2012-2023 Aleksander Morgado\n"
              "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>\n"
              "This is free software: you are free to change and redistribute it.\n"
              "There is NO WARRANTY, to the extent permitted by law.\n"