Version Packages - #428
Open
transcend-releaser[bot] wants to merge 1 commit into
Open
Conversation
@transcend-io/airgap.js-types
@transcend-io/cli
@transcend-io/design-tokens
@transcend-io/internationalization
@transcend-io/privacy-types
@transcend-io/sdk
@transcend-io/type-utils
@transcend-io/utils
@transcend-io/mcp
@transcend-io/mcp-server-admin
@transcend-io/mcp-server-assessment
@transcend-io/mcp-server-base
@transcend-io/mcp-server-consent
@transcend-io/mcp-server-discovery
@transcend-io/mcp-server-docs
@transcend-io/mcp-server-dsr
@transcend-io/mcp-server-inventory
@transcend-io/mcp-server-preferences
@transcend-io/mcp-server-workflows
commit: |
giacaglia
previously approved these changes
Aug 13, 2026
transcend-releaser
Bot
force-pushed
the
changeset-release/main
branch
from
August 13, 2026 18:40
2ad064d to
2df6b38
Compare
FDufBos
previously approved these changes
Aug 13, 2026
giacaglia
enabled auto-merge
August 13, 2026 18:58
ecton-transcend
previously approved these changes
Aug 13, 2026
transcend-releaser
Bot
dismissed stale reviews from ecton-transcend and FDufBos
via
August 13, 2026 19:16
7d00cff
transcend-releaser
Bot
force-pushed
the
changeset-release/main
branch
from
August 13, 2026 19:16
2df6b38 to
7d00cff
Compare
ecton-transcend
approved these changes
Aug 13, 2026
FDufBos
approved these changes
Aug 13, 2026
transcend-releaser
Bot
force-pushed
the
changeset-release/main
branch
from
August 13, 2026 22:41
7d00cff to
41a1f46
Compare
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.
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
@transcend-io/cli@10.26.0
Minor Changes
2f5271e: Add
transcend custom-functions push(manifest-driven create/update of custom function code revisions with change detection, draft + promote, and dry-run support) andtranscend custom-functions list, designed to run from client CI. Code is signed against the Sombra customer ingress (pass--sombraAuthwhen self-hosting Sombra). Manifest entries can pin a custom functionid(required when names are not unique), andpush --updateManifestwrites assigned IDs back into the manifest while preserving comments and<<parameters.x>>placeholders.Manifest entries can also define
test-payloads— a list of JSON payload files, each with an optionalpayload-typeso DSR functions cover both their default (DATA_POINT) and enricher (REQUEST_ENRICHER) exports on every push (test-payloadremains as single-payload shorthand). The freshly signed code is test-run with every payload via therunCustomFunctionmutation before pushing; all must pass or the function is rejected with each failing payload's reason and execution logs (exit code 1). A warning is printed when a DSR entry only covers one export. Use--skipTeststo bypass testing.New DSR functions no longer require a
data-silo-id: the DSR integration (acustomFunction-catalog data silo) is created automatically before the test run, the function is created and linked on a passing test (the silo is rolled back on failure), and--updateManifestwrites both the functionidand thedata-silo-idback into the manifest. DSR test payloads getextras.dataSiloinjected from the resolved silo automatically.Metadata-only changes (description, or name for id-pinned entries) are updated in place without signing, testing, or pushing a new code revision, reported as "metadata-only" in the sync summary. The skip message now points at
--forcefor env value-only rotations, which cannot be diffed.Patch Changes
@transcend-io/privacy-types@5.19.0
Minor Changes
98eeb1d:
@transcend-io/privacy-typesgains custom function enums (CustomFunctionType,CustomFunctionLifecycleState,CustomFunctionVersionLifecycleState,CustomFunctionPayloadType), mirroring the backend's canonical values.Add custom function sync support. The SDK gains a customer-ingress code signing helper (
signCustomFunctionCode, calling Sombra's/v1/custom/signroute with bearer authentication) and typed custom function fetch/diff/sync helpers (fetchAllCustomFunctions,syncCustomFunction). The custom function type/lifecycle/payload-type unions come from the new@transcend-io/privacy-typesenums, and JWT payload decoding usesjsonwebtoken. Existing custom functions are matched byidwhen provided, falling back to exact name, with an error on ambiguous names.createSombraGotInstancegains asombraIdoption to connect to a specific (non-primary) Sombra gateway by ID, resolved from the organization's gateway list.Creating a GENERAL function without a pinned gateway resolves the organization's primary Sombra (the backend requires an explicit
sombraIdfor GENERAL creates); DSR creates never sendsombraIdorsetActive— the linked data silo dictates the gateway, and DSR functions are always created active (a warning is logged whenpromoteis disabled for a DSR create).Also adds a test-before-promote flow:
runCustomFunctionTesttest-runs freshly signed code via therunCustomFunctionmutation (pre-signed JWT pair,isCustomFunctionTestRun: true) and reports apassedboolean;syncCustomFunctionaccepts atestPayloadslist (each payload optionally tagged with apayloadType, so DSR functions can cover both the defaultDATA_POINTexport and theREQUEST_ENRICHERenricher export in one push). Every payload runs and all must pass — any failure rejects the push with a newtest-failedoutcome, with per-payloadtestResults(error and logs) attached.New DSR functions get their DSR integration created automatically: when a DSR config has no
dataSiloIdand no existing function matches,syncCustomFunctioncreates acustomFunction-catalog data silo shell (createCustomFunctionDataSilo), tests the signed code against it (DSR test payloads always getextras.dataSiloinjected from the resolved silo, withtitle/description/linkdefaulted to satisfy the backend's webhook payload codec), then creates and links the function on a passing test — rolling the silo back (deleteDataSilo) when the test or the create itself fails. Sync results now reportdataSiloId/createdDataSilo.makeGraphQLRequestno longer retries backend payload validation failures (Failed to decode codec) — they are deterministic, and retrying repeated the full codec error output.Metadata-only changes (description, or name for id-pinned entries) are detected when code and context are unchanged, and update the function record in place — no signing, no test runs, and no new code revision — reported with a new
metadata-updatedoutcome. Environment variable values remain undiffable (encrypted at sign time); useforcefor value-only rotations.@transcend-io/sdk@1.10.0
Minor Changes
98eeb1d:
@transcend-io/privacy-typesgains custom function enums (CustomFunctionType,CustomFunctionLifecycleState,CustomFunctionVersionLifecycleState,CustomFunctionPayloadType), mirroring the backend's canonical values.Add custom function sync support. The SDK gains a customer-ingress code signing helper (
signCustomFunctionCode, calling Sombra's/v1/custom/signroute with bearer authentication) and typed custom function fetch/diff/sync helpers (fetchAllCustomFunctions,syncCustomFunction). The custom function type/lifecycle/payload-type unions come from the new@transcend-io/privacy-typesenums, and JWT payload decoding usesjsonwebtoken. Existing custom functions are matched byidwhen provided, falling back to exact name, with an error on ambiguous names.createSombraGotInstancegains asombraIdoption to connect to a specific (non-primary) Sombra gateway by ID, resolved from the organization's gateway list.Creating a GENERAL function without a pinned gateway resolves the organization's primary Sombra (the backend requires an explicit
sombraIdfor GENERAL creates); DSR creates never sendsombraIdorsetActive— the linked data silo dictates the gateway, and DSR functions are always created active (a warning is logged whenpromoteis disabled for a DSR create).Also adds a test-before-promote flow:
runCustomFunctionTesttest-runs freshly signed code via therunCustomFunctionmutation (pre-signed JWT pair,isCustomFunctionTestRun: true) and reports apassedboolean;syncCustomFunctionaccepts atestPayloadslist (each payload optionally tagged with apayloadType, so DSR functions can cover both the defaultDATA_POINTexport and theREQUEST_ENRICHERenricher export in one push). Every payload runs and all must pass — any failure rejects the push with a newtest-failedoutcome, with per-payloadtestResults(error and logs) attached.New DSR functions get their DSR integration created automatically: when a DSR config has no
dataSiloIdand no existing function matches,syncCustomFunctioncreates acustomFunction-catalog data silo shell (createCustomFunctionDataSilo), tests the signed code against it (DSR test payloads always getextras.dataSiloinjected from the resolved silo, withtitle/description/linkdefaulted to satisfy the backend's webhook payload codec), then creates and links the function on a passing test — rolling the silo back (deleteDataSilo) when the test or the create itself fails. Sync results now reportdataSiloId/createdDataSilo.makeGraphQLRequestno longer retries backend payload validation failures (Failed to decode codec) — they are deterministic, and retrying repeated the full codec error output.Metadata-only changes (description, or name for id-pinned entries) are detected when code and context are unchanged, and update the function record in place — no signing, no test runs, and no new code revision — reported with a new
metadata-updatedoutcome. Environment variable values remain undiffable (encrypted at sign time); useforcefor value-only rotations.Patch Changes
@transcend-io/airgap.js-types@14.2.35
Patch Changes
@transcend-io/design-tokens@1.2.1
Patch Changes
yellow.600,lime.600) from the latest Figma DTCG export.@transcend-io/mcp@0.11.1
Patch Changes
@transcend-io/mcp-server-admin@0.5.17
Patch Changes
@transcend-io/mcp-server-assessment@0.5.17
Patch Changes
@transcend-io/mcp-server-base@1.3.1
Patch Changes
@transcend-io/mcp-server-consent@0.6.17
Patch Changes
@transcend-io/mcp-server-discovery@0.5.17
Patch Changes
@transcend-io/mcp-server-docs@0.3.17
Patch Changes
@transcend-io/mcp-server-dsr@0.6.2
Patch Changes
@transcend-io/mcp-server-inventory@0.6.6
Patch Changes
@transcend-io/mcp-server-preferences@0.5.17
Patch Changes
@transcend-io/mcp-server-workflows@0.5.17
Patch Changes
@transcend-io/mcp-server-examples@0.0.8
Patch Changes