Repository navigation
Releases: DocumentDrivenDX/umf
Release list
UMF Rust 0.1.0 — SDK 0.10.2 and Python 0.10.6
UMF now executes its semantic operations through one Rust implementation: the Rust library and CLI, Python native extension, Node/Bun addon, and browser WebAssembly host. Python requires no V8 or JavaScript subprocess. Host wrappers transport values, resources and explicit caller capabilities to Rust.
This release contains Rust/CLI 0.1.0, SDK 0.10.2, and Python 0.10.6. Core documents remain at 0.10.0.
Assets include:
- The locked Rust source workspace with vendored portable dependencies and licenses.
- Native CLI archives for macOS arm64 and Linux x86_64.
- Matching SDK archives with the native addon and common browser WASM assets.
- Python ABI3 wheels for macOS arm64 and Linux x86_64, plus the source distribution.
SHA256SUMSfor all eight artifacts.
Local validation covers capability normal/refusal and recovery workflows, source/resource/import boundaries, generated files, release versions and packaging. An independent Rust consumer builds from the source archive and passes RDF, GraphQL and native PostgreSQL round trips. Installed SDK consumers pass document operations, OpenAPI round trip and Avro projection/recovery in Node, Bun and real Chromium. Python native consumers run with JavaScript absent from PATH; the CLI runs with an empty PATH.
Linux x86_64 installed consumers pass on CPython 3.11.17, 3.12.15 and 3.13.16 and on Node 26.12.1 and Bun 1.4.3. The native CLI passes with an empty PATH. SDK assembly preserves the same fixed-point source and common browser assets.
Download the archive or wheel matching your platform. For example, on Linux x86_64 use npm install ./umf-sdk-0.10.2-linux-x86_64.tgz or python -m pip install ./umf_core-0.10.6-cp311-abi3-linux_x86_64.whl. The Rust source archive includes the Cargo workspace and its dependency overrides; use Rust 1.90.0 to build it. Native PostgreSQL builds require a C toolchain and libclang. The native CLI, Python wheels and native SDK addons include the parser.
schema-browser-v2.1.0
Qualified schema-browser package 2.1.0 from source cc23e65.
UMF SDK 0.10.1
UMF SDK 0.10.1
This release delivers the completed actions and sequential saga library with
public TypeScript and Rust/WASM APIs for declaration, inspection, editing,
JSON/YAML exchange and capability assessment. The installed SDK uses its public
default WASM initialization path; consumers need no private package imports.
The saga protocol reference consumer now keeps provider registration conflicts
indeterminate, retains the correct control recovery references across execute,
reconcile and resolve, and prevents dependent work while original custody is
unresolved. Original-invocation retry and reconciliation retain the same ticket.
The release includes the SDK archive and native CLI binaries for Linux x86_64
and macOS arm64. Python consumers use the coupled umf-core 0.10.5 release.
Core remains 0.10.0; actions and saga vocabularies remain 0.1.0. Build and
artifact fingerprints identify this new cohort. Hosts retain original pinned
interpretations and outcomes for admitted instances rather than rebinding them
to the new release.
Fresh installed consumers check the public TypeScript declarations, the complete
author/edit/exchange/assess lifecycle, unknown-meaning refusal and immutable
registry bindings. Native provider observations, five portable host roles,
real Chromium and installed SDK/Python packages are qualified at the source and
run recorded in release-pins.json and the attached custody records.
The library owns portable semantics. Hosts own authenticated execution, durable
coordination and qualified provider bindings; the native reference consumer
establishes its recorded PostgreSQL profile, not an arbitrary deployment.
Assets are copied unchanged from retained qualification outputs. SHA256SUMS
and release-pins.json bind the exact source and archive bytes.
Qualified source: 90cb61eb63aec3f5a77b5991a56e3dfc3d10bd27.
The qualification evidence ZIP files retain test candidates and logs. Install
the top-level SDK/CLI assets or the separately released Python packages.
UMF Python 0.10.5
UMF Python 0.10.5
Install with python -m pip install umf-core==0.10.5.
This is the coupled Python release for UMF SDK 0.10.1. Public umf.SagaRuntime
provides declaration, inspection, editing and capability assessment over the
shared Rust engine and integrity-checked resources. Public JSON value APIs
support exchange without a JavaScript runtime.
The selected native wheels and a separately source-rebuilt wheel pass the
complete public author/edit/exchange/assess lifecycle, unknown-meaning refusal
and immutable-source checks. The shared 19-case corpus verifies the exact
installed artifacts; resource and installed-payload checks bind native bytes.
The wheels carry cp311-abi3 compatibility tags for macOS 11+ arm64 and the
recorded manylinux x86_64 platform. Installed execution qualification covers the
exact interpreters and platforms recorded in the attached custody receipts; the
ABI tag does not establish a full Python-version test matrix. Other platforms
can build the source archive with a compatible Rust toolchain.
Core remains 0.10.0; action and saga vocabularies remain 0.1.0. Hosts retain
execution and durable coordination ownership.
Archives are copied unchanged from retained qualification outputs, with source,
platform selection and installed custody evidence. SHA256SUMS and release-pins.json
pin the exact cohort. PyPI publication uses the owned GitHub Actions OIDC route.
Qualified source: 90cb61eb63aec3f5a77b5991a56e3dfc3d10bd27.
Actions and sagas qualification r2 — spec alignment and retirement replay
Actions and sagas qualification r2
Releases the tested specification realignment and stronger retained-refusal replay witness from PR #78, with PR #79 closing the plan. Both PRs are merged to main.
Qualified source: f02117a0e70067a745d514ee15d5c177f1e15987. Main closeout: 50ddd2a399da9222c271d5c5658af071b32931a2; its only delta from the qualified tree is the completed plan. Frozen CI passed 59 saga/oracle/custody tests with 751 assertions, six Rust saga tests, and type/resource/package/version/boundary gates.
Six spec/test-plan artifacts now describe the shared Rust engine, opt-in saga package, bounded reference consumer and actual success/compensated-termination witnesses. The existing retirement test independently checks retained provider refusal, original lookup/redelivery and unchanged native effects; no duplicate journey was added.
The evidence ZIP is the unchanged retained CI artifact 13062434024. CI.log preserves the complete hosted log. qualification.json binds sources, merged identities, source delta, counts and hashes. SHA256SUMS covers the other four files.
This is a qualification release. SDK 0.10.0, Python 0.10.4 and their public bytes remain unchanged. The earlier broader qualification release remains the source-bound all-host baseline; all 42 of its portable verification inputs match this qualified source and main. Those installed-host runs are inherited, not claimed as freshly executed here. No production hosting, broader provider support, new TLA+ run or package-registry upload is claimed.
Actions and sagas qualification — UMF 0.10
Actions and sagas qualification — UMF 0.10
This release preserves the independently reviewed qualification packet for the merged actions/sagas test and custody improvements. It publishes evidence, with SDK 0.10.0 and Python 0.10.4 unchanged.
Qualified source: d5fdfd606660accc9986c7c1c7c7d3929ed5b732. Implementation and closeout: PR #76, PR #77. Frozen CI passed.
- Native actions: 125 tests / 1,997 assertions; portable actions: 63 / 513.
- Saga/oracle/custody suite: 59 tests / 743 assertions, including unit controls.
- Five portable hosts: 19/19 each; installed SDK: 139 existing cases plus 19 saga vectors.
- Python: 35 resource cases plus four helper and six exact-installed-payload controls.
- Seven actual local substitution controls refused altered artifacts; restoration passed.
Root and Sol independently verified the original CI ZIP, 42 source-input hashes, all 23 retained file hashes, all 24 checksum rows, seven consumed SDK members and both Python installed-binding proofs. The ZIP is unchanged from artifact 13053411948.
Assets and support boundary
qualification-evidence.zip is the original full CI evidence packet. It contains internal candidate wheels solely for source/artifact custody inspection; these are not new public Python 0.10.4 distribution assets. Use the existing SDK release and PyPI package for installation. qualification.json binds source, run, runtimes, counts and digests; SHA256SUMS covers the three release files.
The selected reference consumer remains Bun 1.4.3 / PostgreSQL 17.9. This release does not qualify production hosting, broader provider profiles, or a new TLA+ run. Historical product releases and formal evidence keep their original source contexts.
UMF SDK 0.10.0 — Saga authoring and assessment
UMF SDK 0.10.0
UMF 0.10 adds portable Saga declarations to the shared Rust engine for
inspection, declaration, editing, and assessment. The declarations preserve
typed output dependencies, step order, and explicit compensation obligations.
The SDK package exposes the portable model to browser WebAssembly consumers;
the release also includes Linux x86_64 and macOS arm64 CLI binaries. Python
consumers use the separately released umf-core 0.10.4 package and its
explicit-resource SagaRuntime.
The SDK archive is accompanied by its manifest, Linux and macOS custody
records, and SDK installed-custody receipt. The release assets are bound to
source commit 96230e0eef44b255d33575ba496402555b76800e by
release-pins.json; SHA256SUMS covers the attached assets and evidence.
Python wheels and source archives are published under the separate
python-v0.10.4 tag and are not duplicated on this SDK release.
The retained source qualification is recorded in Saga CI run
41091819731:
43 native protocol cases, 19 portable corpus cases, and 139 installed SDK
checks. This evidence covers the listed artifact and host scope. It does not
qualify a production host runtime, provider deployment, or additional platform
support, and this note does not claim post-publication asset readback.
UMF Core Python 0.10.4 — Saga runtime
UMF Core Python 0.10.4
UMF 0.10 adds portable Saga declarations to the shared Rust engine for
inspection, declaration, editing, and assessment. Saga inputs and outputs stay
explicit: declared outputs flow to later steps, execution order remains
preserved, and compensation obligations remain visible rather than being
inferred from action names. The Python package includes the explicit-resource
SagaRuntime used to consume these declarations.
Python 0.10.4 is distributed as a Linux x86_64 manylinux wheel, a macOS arm64
wheel, and a source archive. Its selected wheels use
cp311-abi3-manylinux_2_34_x86_64 and
cp311-abi3-macosx_11_0_arm64. The release assets are bound to source commit
96230e0eef44b255d33575ba496402555b76800e by release-pins.json; checksums
cover the distribution archives and the accompanying qualification records.
The retained source qualification is recorded in Saga CI run
41091819731:
43 native protocol cases, 19 portable corpus cases, and 139 installed SDK
checks. linux-selection.json and the Linux and macOS custody files identify
the exact selected package bytes. These results establish the listed artifact
and host scope; they do not qualify a production host runtime or deployment.
The Python distribution artifact-verifier suite separately passed 119 tests.
The SDK and CLI binaries are published separately under umf-v0.10.0. The PyPI publication workflow verified the public package bytes and a clean Linux Python 3.11 installation. A fresh macOS Python 3.13 public install also passes all 19 saga vectors.
UMF SDK 0.5.8
UMF SDK 0.5.8
Release Scope
The locally qualified software development kit (SDK) 0.5.8 supports changing the native default for one existing stored field. A reviewed migration can set, replace, or remove that default for future writes that omit the field. Existing rows remain unchanged, and explicit NULL, explicit values, and omission keep distinct meanings. Logical default resolution remains separate; validation does not fill data. A native default does not make a declared command input optional.
The selected dependency tuple is Access 0.1.0.dev8, Codegen 0.1.0a5, umf-core distribution 0.10.3 with semantic Core 0.10.0, and Weft 0.4.56. The selected final18 Python cohort requires glibc 2.34. The selected ordinary Weft module 0.2 source-admission slice accepts matching, non-null, missing-only logical/native defaults for boolean, string, integer, exact decimal, UUID, and bits128 carriers, subject to existing domain, facet, and native matching checks. Logical temporal defaults remain unsupported. Native-only date, current-timestamp, and random-UUID defaults retain their separate qualified semantics and do not widen logical-default admission.
Audience and Channels
| Audience | Why they care | Delivery channel |
|---|---|---|
| SDK consumers | Change the future behavior of an omitted field on a selected existing table. | Version-specific notes and schema migration guide |
| Migration operators | Select the host profile and approve the source-bound change. | Migration plan and host migration records |
| Support teams | Match questions to the exact package tuple and qualified platform. | Qualification evidence linked below |
Highlights
- The migration changes one existing field's future native default without rewriting stored rows.
- A trusted host explicitly selects the qualified table-operation module profile; ordinary operations keep their established default profile otherwise.
- Local evidence covers the exact SDK archive, installed consumer, selected Python cohort, and installed-SDK browser path shown below.
Required Actions Summary
- Users: ordinary operations retain table-operation module 0.1 unless the trusted host selects module 0.2.
- Operators: admit ordinary sources separately and select Weft module 0.2 through trusted host policy for supported retained-source reads, queries, writes, and outcome observation or recovery; select and approve any G03 migration plan separately.
- Support: describe this exact dependency tuple and platform evidence when explaining support.
Changes and Fixes
New or Improved
| Area | What changed | Who is affected |
|---|---|---|
| Existing-field future default | Set, replace, or remove one native default for future omitted writes; stored rows remain unchanged. | Migration operators and SDK consumers |
| Trusted operation profile | Explicit host selection enables the qualified table-operation module 0.2 path. | Hosts that use the selected G03 behavior |
The SDK distribution tuple is distinct from its protocol versions:
| Identity | Selected value | Meaning |
|---|---|---|
| SDK | 0.5.8 | Locally qualified package build |
| Access | 0.1.0.dev8 | Selected Python package |
| Codegen | 0.1.0a5 | Selected code generator package |
umf-core |
Distribution 0.10.3; semantic Core 0.10.0 | Package and semantic identities stay distinct |
| Weft | 0.4.56 | Selected operation and migration dependency |
The trusted host's SessionPolicy.table_operation_module_profile defaults to weft.table-operation-module/0.1; the host may explicitly select /0.2 for supported ordinary reads, queries, writes, and outcome observation or recovery. This trusted source-admission setting is not an installation or request selector. Ordinary UMF declarations and ASTs remain 0.1. The typed G02 next-source UPDATE selection is UMF operation version 0.2; the Weft ordinary-operation envelope is separately version 0.2. G03 discovery is 0.2, options and plan are 0.5, execution is 0.4, approval is 0.1, and installation is 0.3. Python options=None omits the selector; a raw request with options: null is refused.
Qualification
| Evidence | Result and scope | Record |
|---|---|---|
| SDK producer actual002 | Standard Linux build and one 139-case installed consumer passed review. Archive: 30,834,843 bytes, SHA-256 2aaf24741aee1c135fade5b7631db90d710e6211977fb9ca7fcc080ea7fdf58d. |
Build checkpoint, independent actual review |
| Paired parity019 | Fresh final18 Python installation, RECORD and generic checks passed on Linux x86_64, CPython 3.11.17, Ubuntu 24.04, glibc 2.39. Installed SDK browser parity passed with Chromium 153.0.8010.12, Bun 1.4.3, and Playwright 1.63.0 in 112.565 seconds. The raw-wire selector case came from embedded Python. The parity report sets nativeLifecycleReleaseQualified=false. |
Parity checkpoint, independent actual review |
| Selected native subset | Original native attempt007 remains FAIL_OR_UNKNOWN across 19 PostgreSQL 18.6 scenarios. Separate reanalysis006 accepts 14 predicates over those observations and eight pure mutation controls; it ran no database. N12 contains 71 checks. This conjunction covers the selected Linux CPython 3.11.17/PostgreSQL 18.6 subset. |
Native checkpoint and original receipt, reanalysis review |
| Weft module 0.2 admission | The reviewed source admits the six listed matching carrier families and keeps ordinary UMF declarations at 0.1. This is source/build/probe evidence for module admission, not another runtime campaign. | Module 0.2 checkpoint |
| Inherited boundaries | Table012 and Truss011 have their own accepted Linux native, WASM, and browser boundaries. Their results retain separate provenance. | Table012 checkpoint, Truss011 checkpoint |
Breaking Changes and Required Actions
The selected ordinary-operation profile is set by trusted host policy: Weft module 0.1 remains the default, and the host explicitly selects module 0.2 for the supported retained-source operations. Request content cannot select it. G03 migration discovery/options/plan selection and approval are separate steps; ordinary UMF declarations remain 0.1. The SDK does not infer support for other field changes, unknown qualifiers, or combined migrations from this selected path.
| Change | Impact | Required action | Deadline or trigger |
|---|---|---|---|
| Select Weft ordinary-operation module 0.2 | Enables the qualified retained-source behavior for supported reads, queries, writes, and outcome observation/recovery. | Set SessionPolicy.table_operation_module_profile in trusted host policy; separately select and approve any G03 migration through its versioned discovery/options/plan path. |
Before using module 0.2 ordinary operations |
Migration or Rollback Guidance
Upgrade or Migration
Use the existing discovery and options path to select the field and prepare the complete source-bound plan. The trusted host reviews and approves the plan, fences writers, and executes the qualified transaction. Authenticated recovery resolves an uncertain commit.
Rollback or Hold Guidance
A later reviewed change can restore or remove the future default, but cannot undo row values written while it was active. After an uncertain commit, authenticate progress and the postcondition before any redispatch. Never redispatch a committed phase. A phase known to have aborted may be retried only after revalidation.
Known Issues and Support
| Issue | Who is affected | Workaround or next step |
|---|---|---|
| The complete 18-package cohort requires glibc 2.34, although individual Linux Weft wheels carry a manylinux2_17 tag. | Linux operators selecting the full cohort | Check the complete cohort requirement, not a wheel tag alone. |
| Python qualification ran on an emulated Linux x86_64 guest; the Chromium guest was Linux arm64. | Operators comparing runtime platforms | Use the recorded platform for each evidence row. |
| Weft aarch64 and macOS-arm64 results are build/static-only. macOS runtime, import, native, and browser behavior remain unqualified; GitHub Actions and macOS CI are off. | aarch64 and macOS users | Li... |
UMF SDK 0.5.7: typed per-row backfills
UMF SDK 0.5.7 adds typed same-row backfills for the selected PostgreSQL 18.6 maintenance profile. It supports filling an existing optional Field's NULL values before requiredness, or atomically adding and filling one required Field. Existing values are preserved. The closed expression subset includes typed Fields/literals, coalesce, strict text concatenation, exact integer/finite-decimal arithmetic and conditional expressions. Arbitrary callbacks, joins, casts, raw SQL and floating arithmetic are excluded.
UMF owns declarations and migration plans; Weft owns admission and SQL lowering; the host owns approval, fencing, execution limits, transaction effects and recovery. Historical operation 0.1 and migration 0.1–0.3 meanings remain unchanged. The successor uses operation 0.2 and migration/options 0.4, one table/Field and at most 10,000 selected rows.
Qualification: independently accepted SDK 139 installed cases; exact18-package offline Linux CPython 3.11.17 and 3.14.9 replay; complete PostgreSQL D5 run with 30 ordered commands, 37 cases/16 groups, 19 no-default controls, all 3 recovery scenarios, final audit and verified cleanup. The separate LOCAL_EMULATED_3600 profile took 2,006.341 seconds; the original 1,800-second attempt remains FAIL_OR_UNKNOWN. Product/API and 180-second child budgets were unchanged. Local Bun 14 tests/384 expectations and browser build passed; separate Python 3.11 syntax evidence is not Python 3.12 or a whole original CI-job pass.
Linux/amd64 client execution used OrbStack emulation on Darwin/arm64, with ARM64 Linux PostgreSQL 18.6. This is not hosted CI or a native x86_64-host qualification. GitHub Actions remains paused because credits are exhausted; no macOS CI ran. Built macOS dependency artifacts are reused from the existing immutable Core 0.10.3 and Weft 0.4.55 releases; retained macOS 15.7.9 arm64/Python 3.11 evidence is historical, with no fresh Mac migration-runtime or Mac Python 3.14 qualification. A macosx_11_0 wheel tag is a packaging minimum, not macOS 11 runtime proof.
Dependency target: Access 0.1.0.dev8, Codegen 0.1.0a5, Core distribution 0.10.3 (semantic 0.10.0), Weft 0.4.55 / weft-sql/0.2.0. No existing dependency coordinate is replaced. This release distributes exactly three GitHub package assets; no npm/PyPI publication is performed here.
| Asset | Bytes | SHA-256 |
|---|---|---|
| umf-sdk.tgz | 30834843 | cd851d3338b1b2af79197cbafaeefdd03a8aac3e02373a893ddd5d07a930ab26 |
| umf_access-0.1.0.dev8-py3-none-any.whl | 580062 | 1a21c1ddd59f6b23e9f0b33228280564af0e96bb4d13699b89616d5143e4fd23 |
| umf_codegen-0.1.0a5-py3-none-any.whl | 261296 | 36a6f7e0ab92feb9cb20ed8842cc3c1f073cdd3ff2c4edff137c1fcbc3ace158 |
Producer P: e4299af, tree 8b98c0d895983ba2b7637dd3aea567dab0943883. Normal release merge M: dce9b43. Product bytes retain P; M additionally incorporates reviewed evidence and the main branch's manual-only microsite CI policy. Fresh post-publication verification passed all seven local steps in 83.568 seconds, including SDK139, exact18 offline Python/Core-native probes, public asset/source/tag correspondence, bounded export and cleanup. Independent Sol review accepted the actual evidence. The explicit LOCAL_PUBLIC_SDK_NETWORK_PYTHON_OFFLINE profile allows registry networking for SDK installation and checks; Python remains under OS network denial. It does not qualify offline SDK installation. The original failed attempts and bounds remain retained. Reviewed public proof was adopted through normal PR #67; this documentation-only follow-up does not change the release tag or package assets.
Operators must retain exact predecessor/successor sources, review the source-bound plan and compatible installed cohort, and keep writers fenced until authenticated publication. After uncertain commit responses, observe authenticated progress before resuming; never repeat a committed backfill. Recovery of committed data requires a separately reviewed forward change or retained backups.
G03–G11, managed consumer adoption, broader backends and Praxis remain separate. Detailed notes and evidence.