4.10.1 regression: raw Record() on sys_dictionary emits minted GUIDs instead of table names in <reference> #116
Summary@servicenow/sdk 4.10.1 has a serialization regression affecting raw Version 4.9.2 building the identical source emits the correct value. (4.10.0 untested.) Minimal repro// src/fluent/example.now.ts
import '@servicenow/sdk/global'
import { Record } from '@servicenow/sdk/core'
Record({
$id: Now.ID['example_field'],
table: 'sys_dictionary',
data: {
name: 'x_my_scope_my_table',
element: 'account_executive',
column_label: 'Account Executive',
internal_type: 'reference',
max_length: 32,
reference: 'sys_user', // table NAME, per sys_dictionary schema
sys_scope: '<scope sys_id>',
sys_package: '<scope sys_id>',
},
})
<reference>sys_user</reference>
<reference name="sys_user">00787a2238064c58b91cb6384f89f647</reference>The hex value is a freshly minted UUIDv4 (dashes stripped), different on every build. It looks like the build pipeline now treats the Either way the installed value is a 32-char hex that can never resolve, because the platform resolves Notes
|
Replies: 2 comments
|
Update: tested 4.10.0 as well. It has the same defect (identical corruption signature, same fields affected, fresh GUID per build). So the regression was introduced in 4.10.0, and 4.9.2 is the latest release that serializes raw Record() sys_dictionary reference values correctly. |
|
@dalestubblefield Thank you for reporting, I will log a defect for this and fix it in the upcoming release. |
@dalestubblefield Thank you for reporting, I will log a defect for this and fix it in the upcoming release.