Skip to content

Release [changeset] - #481

Merged
mcnulty-fp merged 1 commit into
mainfrom
changeset-release/main
Sep 24, 2026
Merged

mcnulty-fp merged 1 commit into
mainfrom
changeset-release/main

Conversation

@fingerprint-dx-team-actions-runner

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

fingerprint-pro-server-api-openapi@3.8.0

Minor Changes

  • events: Add device_details smart signal to Event (ada12d4)

@github-actions

Copy link
Copy Markdown
Contributor

Schema Diff vs Published Schemas

  • Generated at: 2026-09-24T13:19:01.037Z
  • Published source: https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas
  • Compared schemas: 8
  • Changed schemas: 3

fingerprint-server-api-v4-normalized.yaml

Published URL: https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas/fingerprint-server-api-v4-normalized.yaml
Summary: +2 added, -0 removed, ~0 modified

Added elements (2)
  • /components/schemas/DeviceDetails
  • /components/schemas/Event/properties/device_details
Removed elements (0)

None

Modified elements (0)

None

Changed lines patch
--- a/schemas/fingerprint-server-api-v4-normalized.yaml
+++ b/schemas/fingerprint-server-api-v4-normalized.yaml
@@ -2077,10 +2077,52 @@
     DeveloperTools:
       type: boolean
       description: >
         `true` if the browser has DevTools open (Chrome, Firefox) or the
         Android/iOS device has Developer Tools enabled, `false` otherwise.
+    DeviceDetails:
+      type: object
+      description: >-
+        Native, SDK-collected mobile device identification signals
+        (manufacturer, model, and OS version). Structurally separate from the
+        top-level `device`, `os`, and `os_version` fields and from
+        `browser_details`, all of which are derived from user-agent parsing
+        rather than native SDK signals.
+      required: []
+      properties:
+        device_manufacturer:
+          type: string
+          examples:
+            - samsung
+            - Apple
+          description: >-
+            Raw device manufacturer string as reported by the device OS. Not
+            normalized: casing is vendor-defined (samsung, Xiaomi, OPPO,
+            HUAWEI). Always `Apple` on iOS.
+        device_model:
+          type: string
+          examples:
+            - SM-G991U
+            - iPhone14,5
+          description: Raw device model identifier, as reported by the mobile OS.
+        os_version:
+          type: string
+          examples:
+            - '9'
+            - '16.1'
+            - 8.1.0
+            - 17.4.1
+          description: >-
+            Mobile operating system version. Component count is not fixed and
+            must not be assumed by consumers: iOS always reports
+            `major.minor.patch` (e.g. `17.4.1`), while Android's precision
+            varies by OS era and which raw signal resolved it — `major` only
+            (`9`, `13`) since Android 10 dropped point releases, `major.minor`
+            (`16.1`) from Android 16 (API 36+) reintroducing a minor component,
+            or a genuine `major.minor.patch` (`8.1.0`) on pre-Android 10 devices
+            that shipped real point releases. Never a fabricated/zero-padded
+            component.
     Emulator:
       type: boolean
       description: >
         Android specific emulator detection. There are 2 values: 
 
@@ -3262,10 +3304,15 @@
           $ref: '#/components/schemas/DeveloperTools'
           x-platforms:
             - browser
             - android
             - ios
+        device_details:
+          $ref: '#/components/schemas/DeviceDetails'
+          x-platforms:
+            - android
+            - ios
         emulator:
           $ref: '#/components/schemas/Emulator'
           x-platforms:
             - android
         factory_reset_timestamp:

fingerprint-server-api-v4-with-examples.yaml

Published URL: https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas/fingerprint-server-api-v4-with-examples.yaml
Summary: +6 added, -0 removed, ~0 modified

Added elements (6)
  • /components/schemas/DeviceDetails
  • /components/schemas/Event/properties/device_details
  • /paths/~1events/get/responses/200/content/application~1json/examples/200-ok/value/events/0/device_details
  • /paths/~1events~1{event_id}/get/responses/200/content/application~1json/examples/200-ok-with-bot-info/value/device_details
  • /paths/~1events~1{event_id}/get/responses/200/content/application~1json/examples/200-ok-with-ruleset/value/device_details
  • /paths/~1events~1{event_id}/get/responses/200/content/application~1json/examples/200-ok/value/device_details
Removed elements (0)

None

Modified elements (0)

None

Changed lines patch
--- a/schemas/fingerprint-server-api-v4-with-examples.yaml
+++ b/schemas/fingerprint-server-api-v4-with-examples.yaml
@@ -535,10 +535,14 @@
                       distinct_visitor_id_by_linked_id:
                         5_minutes: 1
                         1_hour: 5
                         24_hours: 5
                     developer_tools: false
+                    device_details:
+                      device_manufacturer: samsung
+                      device_model: SM-G991U
+                      os_version: '13'
                     mitm_attack: false
                     sdk:
                       platform: js
                       version: 3.11.10
                       integrations:
@@ -801,10 +805,14 @@
                       distinct_visitor_id_by_linked_id:
                         5_minutes: 1
                         1_hour: 5
                         24_hours: 5
                     developer_tools: false
+                    device_details:
+                      device_manufacturer: samsung
+                      device_model: SM-G991U
+                      os_version: '13'
                     mitm_attack: false
                     sdk:
                       platform: js
                       version: 3.11.10
                       integrations:
@@ -1080,10 +1088,14 @@
                       distinct_visitor_id_by_linked_id:
                         5_minutes: 1
                         1_hour: 5
                         24_hours: 5
                     developer_tools: false
+                    device_details:
+                      device_manufacturer: samsung
+                      device_model: SM-G991U
+                      os_version: '13'
                     mitm_attack: false
                     sdk:
                       platform: js
                       version: 3.11.10
                       integrations:
@@ -2546,10 +2558,14 @@
                           distinct_visitor_id_by_linked_id:
                             5_minutes: 1
                             1_hour: 5
                             24_hours: 5
                         developer_tools: false
+                        device_details:
+                          device_manufacturer: samsung
+                          device_model: SM-G991U
+                          os_version: '13'
                         mitm_attack: false
                         sdk:
                           platform: js
                           version: 3.11.10
                           integrations:
@@ -4114,10 +4130,53 @@
     DeveloperTools:
       type: boolean
       description: >
         `true` if the browser has DevTools open (Chrome, Firefox) or the
         Android/iOS device has Developer Tools enabled, `false` otherwise.
+    DeviceDetails:
+      type: object
+      additionalProperties: false
+      description: >-
+        Native, SDK-collected mobile device identification signals
+        (manufacturer, model, and OS version). Structurally separate from the
+        top-level `device`, `os`, and `os_version` fields and from
+        `browser_details`, all of which are derived from user-agent parsing
+        rather than native SDK signals.
+      required: []
+      properties:
+        device_manufacturer:
+          type: string
+          examples:
+            - samsung
+            - Apple
+          description: >-
+            Raw device manufacturer string as reported by the device OS. Not
+            normalized: casing is vendor-defined (samsung, Xiaomi, OPPO,
+            HUAWEI). Always `Apple` on iOS.
+        device_model:
+          type: string
+          examples:
+            - SM-G991U
+            - iPhone14,5
+          description: Raw device model identifier, as reported by the mobile OS.
+        os_version:
+          type: string
+          examples:
+            - '9'
+            - '16.1'
+            - 8.1.0
+            - 17.4.1
+          description: >-
+            Mobile operating system version. Component count is not fixed and
+            must not be assumed by consumers: iOS always reports
+            `major.minor.patch` (e.g. `17.4.1`), while Android's precision
+            varies by OS era and which raw signal resolved it — `major` only
+            (`9`, `13`) since Android 10 dropped point releases, `major.minor`
+            (`16.1`) from Android 16 (API 36+) reintroducing a minor component,
+            or a genuine `major.minor.patch` (`8.1.0`) on pre-Android 10 devices
+            that shipped real point releases. Never a fabricated/zero-padded
+            component.
     Emulator:
       type: boolean
       description: >
         Android specific emulator detection. There are 2 values: 
 
@@ -5316,10 +5375,15 @@
           $ref: '#/components/schemas/DeveloperTools'
           x-platforms:
             - browser
             - android
             - ios
+        device_details:
+          $ref: '#/components/schemas/DeviceDetails'
+          x-platforms:
+            - android
+            - ios
         emulator:
           $ref: '#/components/schemas/Emulator'
           x-platforms:
             - android
         factory_reset_timestamp:

fingerprint-server-api-v4.yaml

Published URL: https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas/fingerprint-server-api-v4.yaml
Summary: +2 added, -0 removed, ~0 modified

Added elements (2)
  • /components/schemas/DeviceDetails
  • /components/schemas/Event/properties/device_details
Removed elements (0)

None

Modified elements (0)

None

Changed lines patch
--- a/schemas/fingerprint-server-api-v4.yaml
+++ b/schemas/fingerprint-server-api-v4.yaml
@@ -2063,10 +2063,52 @@
     DeveloperTools:
       type: boolean
       description: >
         `true` if the browser has DevTools open (Chrome, Firefox) or the
         Android/iOS device has Developer Tools enabled, `false` otherwise.
+    DeviceDetails:
+      type: object
+      description: >-
+        Native, SDK-collected mobile device identification signals
+        (manufacturer, model, and OS version). Structurally separate from the
+        top-level `device`, `os`, and `os_version` fields and from
+        `browser_details`, all of which are derived from user-agent parsing
+        rather than native SDK signals.
+      required: []
+      properties:
+        device_manufacturer:
+          type: string
+          examples:
+            - samsung
+            - Apple
+          description: >-
+            Raw device manufacturer string as reported by the device OS. Not
+            normalized: casing is vendor-defined (samsung, Xiaomi, OPPO,
+            HUAWEI). Always `Apple` on iOS.
+        device_model:
+          type: string
+          examples:
+            - SM-G991U
+            - iPhone14,5
+          description: Raw device model identifier, as reported by the mobile OS.
+        os_version:
+          type: string
+          examples:
+            - '9'
+            - '16.1'
+            - 8.1.0
+            - 17.4.1
+          description: >-
+            Mobile operating system version. Component count is not fixed and
+            must not be assumed by consumers: iOS always reports
+            `major.minor.patch` (e.g. `17.4.1`), while Android's precision
+            varies by OS era and which raw signal resolved it — `major` only
+            (`9`, `13`) since Android 10 dropped point releases, `major.minor`
+            (`16.1`) from Android 16 (API 36+) reintroducing a minor component,
+            or a genuine `major.minor.patch` (`8.1.0`) on pre-Android 10 devices
+            that shipped real point releases. Never a fabricated/zero-padded
+            component.
     Emulator:
       type: boolean
       description: >
         Android specific emulator detection. There are 2 values: 
 
@@ -3248,10 +3290,15 @@
           $ref: '#/components/schemas/DeveloperTools'
           x-platforms:
             - browser
             - android
             - ios
+        device_details:
+          $ref: '#/components/schemas/DeviceDetails'
+          x-platforms:
+            - android
+            - ios
         emulator:
           $ref: '#/components/schemas/Emulator'
           x-platforms:
             - android
         factory_reset_timestamp:

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ This PR doesn't contain any changesets. If there are user-facing changes, don't forget to run:

pnpm run changeset

to create a changeset.

@mcnulty-fp
mcnulty-fp merged commit 51477dd into main Sep 24, 2026
8 checks passed
@mcnulty-fp
mcnulty-fp deleted the changeset-release/main branch September 24, 2026 16:25

This branch was successfully deployed

1 active deployment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant