[Security] Retire legacy JSON helper codeunits - #11325
Open
Onat Buyukakkus (onbuyuka) wants to merge 23 commits into
Open
Onat Buyukakkus (onbuyuka) wants to merge 23 commits into
Onat Buyukakkus (onbuyuka) wants to merge 23 commits into
Conversation
Migrate first-party JSON Management and Json Text Reader/Writer callers to native AL JSON APIs while preserving public compatibility through CLEAN30. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Onat Buyukakkus (onbuyuka)
temporarily deployed
to
triage
September 10, 2026 13:34 — with
GitHub Actions
Inactive
Remove stale namespace imports and exclude JSON aliases that have no CLEAN30 consumers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Replace obsolete Object and Profile table fields with Date and Access Control fields. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Onat Buyukakkus (onbuyuka)
marked this pull request as ready for review
September 12, 2026 18:35
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 83977f4d-db89-48cc-91bb-61f2a22ca760
Contributor
|
auto-merge was automatically disabled
September 17, 2026 06:42
Pull request was closed
Onat Buyukakkus (onbuyuka)
enabled auto-merge
September 17, 2026 06:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Codeunits 5459
JSON Managementand 1234Json Text Reader/Writerexpose legacy Newtonsoft/.NET-based JSON handling throughout Base Application and dependent apps. This change migrates first-party callers to native AL JSON types and establishes the compatibility lifecycle needed to remove the legacy helpers underCLEAN30.What changed
JsonObject,JsonArray,JsonToken, andJsonValue.Jsonimplementation to use native AL JSON state, parsing, mutation, path selection, cloning, field conversion, and formatting.ReadFromTextandReadFromBlobAPIs as obsolete compatibility surfaces untilCLEAN30.Json.GetPropertyValueByNameuntilCLEAN30and addedGetNativePropertyValueByNamefor native AL values.CLEAN30.JsonTextReader,JsonTextWriter,JObject,JArray,JToken,JProperty, andJValuealiases fromCLEAN30builds after removing their clean-build consumers.Compatibility boundary
Normal builds retain public DotNet compatibility surfaces, including the original
Json.GetPropertyValueByNameand permissive JSON Buffer readers. Their native replacements are available immediately and the legacy procedures are pending obsolete for 30.0.CLEAN30removes the legacy APIs, the two helper codeunits, their remaining compatibility calls, and the native-replaceable Newtonsoft aliases together.Newtonsoft remains only for capabilities without a direct native AL replacement:
XmlNodeConvertersemantics.CpuProfilemodel.This PR does not change those payload formats or CLR domain models.
Tests
Fixes AB#649586