Skip to content

Carry JSON ObjectData values in the json field and remove encoding - #577

Merged
ttypic merged 3 commits into
AIT-468/liveobjects-rest-specfrom
AIT-468/objectdata-json-field
Nov 12, 2026
Merged

ttypic merged 3 commits into
AIT-468/liveobjects-rest-specfrom
AIT-468/objectdata-json-field

Conversation

@ttypic

@ttypic ttypic commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Split out of #569 following review, so that the general ObjectData change is findable on its own rather than hidden inside the REST UTS PR.

Changes

  • JSON leaves use the json field. OD4c5, OD4d5, OD5a2 and OD5b3 described JSON leaf values as a string with encoding: "json", which the service does not honour. JSON leaves are now encoded into and decoded from the OD2g json field as a JSON-encoded string, with both the JSON and MessagePack protocols.

  • ObjectData.encoding removed. Nothing sets it any more, so OD2b and OD4b are marked deleted, the field is dropped from the IDL, and RSO9c1 no longer refers to it.

  • Spec version bumped to 6.4.0 in build/data/versions.yaml, matching the version in the deletion notices.

🤖 Generated with Claude Code

ttypic and others added 2 commits November 12, 2026 16:49
OD4c5, OD4d5, OD5a2 and OD5b3 described JSON leaf values as a `string`
with `encoding: "json"`, which the service does not honour. JSON leaves
are carried in the OD2g `json` field as a JSON-encoded string with both
protocols, so encode and decode them there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With JSON leaf values carried in the OD2g `json` field, nothing sets
`ObjectData.encoding` any more, so delete OD2b and OD4b, drop the field
from the IDL, and stop referring to it from RSO9c1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@VeskeR VeskeR left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, comment about bumping spec version

- `(OD2)` The attributes available in an `ObjectData` are listed below. Of the value fields - `boolean`, `bytes`, `number`, `string` and `json` - at most one must be set at a time:
- `(OD2a)` `objectId` string - a reference to another object
- `(OD2b)` `encoding` string - may be set by the client library to indicate that value in `string` field have an encoding
- `(OD2b)` This clause has been deleted as of specification version 6.4.0.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to bump spec version to 6.4.0 as well in build/data/versions.yaml - this will go out with LO REST APO spec changes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ttypic
ttypic merged commit fbb53c7 into AIT-468/liveobjects-rest-spec Nov 12, 2026
2 checks passed
@ttypic
ttypic deleted the AIT-468/objectdata-json-field branch November 12, 2026 17:46

This branch was successfully deployed

1 active deployment
staging/pull/577 — 476a299d Deployed Nov 12, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants