Changelog¶
All notable changes to the GDS ecosystem are documented here. Each release lists affected packages, breaking changes, and new capabilities.
2026-10-03 — Symbolic expression security fix¶
gds-domains v0.1.1¶
Fix arbitrary Python execution from untrusted symbolic expression strings in ODE compilation, state/output linearization, and Hamiltonian dynamics and Lagrangian parsing. Expressions are now constructed directly from validated syntax, with checked symbol names and dummy arguments for code generation.
Compatibility: only the documented mathematical grammar
is accepted. Unknown symbols, arbitrary Python/SymPy constructors, unsupported
syntax, and invalid symbol names raise SymbolicError when consumed. Existing
models using supported arithmetic and math functions continue to work.
Expression length, syntax node count, depth, and integer literal size are bounded; these limits do not bound subsequent symbolic computations.
gds-symbolic v0.99.1¶
Require gds-domains[symbolic]>=0.1.1 so upgrading this compatibility package
requires the fixed implementation. The package remains deprecated in favor of
gds_domains.symbolic.
Users of affected versions should upgrade with
python -m pip install --upgrade "gds-domains[symbolic]>=0.1.1" or
python -m pip install --upgrade "gds-symbolic>=0.99.1".
2026-04-07 — gds-proof Layer 1 Integration¶
Promotes gds-proof from standalone (Layer 0, protocol-only) to Layer 1
(depends on gds-framework, integrates with verification pipeline).
gds-proof v0.2.0¶
Breaking: ProofableBlock -> SymbolicBlock, ProofableModel -> SymbolicModel.
analyze_reachability() -> analyze_inductive_safety(). Deprecated aliases until v1.0.0.
New:
GDSSymbolicBlock/GDSSymbolicModel-- adapters bridging GDS types to proof enginefindings.py-- converts proof results toFinding/VerificationReport(check ID:PROOF-001)derive_state_symbols()/derive_assumption_context()-- GDS type utilities- Documentation:
docs/proof/with overview and getting-started guide
gds-proof v0.1.0¶
New package (PR #193). Deterministic model identity and SymPy-based invariant proof verification. 5-strategy implication prover, 3-layer inductive safety, multi-lemma ProofScript system. 112 tests, 95% coverage.
2026-04-03 — Tier 0 + Tier 1 Complete¶
Driven by external reviews from Zargham and Jamsheed (Shorish) against the GDS paper (Zargham & Shorish 2022). The reviews identified foundational gaps in notation alignment, formal property statements, ControlAction semantics, temporal agnosticism documentation, and execution contract formalization. This release closes all Tier 0 and Tier 1 roadmap items.
gds-framework v0.3.0¶
Breaking: CanonicalGDS.input_ports now contains only controlled inputs (U_c);
disturbance-tagged BoundaryAction ports are in the new disturbance_ports field.
New capabilities:
- ExecutionContract — DSL-layer time model declaration (
discrete,continuous,event,atemporal) with Moore/Mealy ordering. Attached as optional field on GDSSpec. A spec without a contract remains valid for structural verification. - ControlAction canonical projection —
CanonicalGDSnow extracts output ports (Y) and renders the output mapy = C(x, d)in the formula. - Disturbance input partition —
disturbance_portsonCanonicalGDSseparates policy-bypassing exogenous inputs (W) from controlled inputs (U_c) viatags={"role": "disturbance"}on BoundaryAction. - TypeDef.constraint_kind — optional named constraint pattern (
non_negative,positive,probability,bounded,enum) enabling round-trip export via SHACL.
New verification checks:
- SC-010 — ControlAction outputs must not feed the g pathway (Policy/BoundaryAction)
- SC-011 — ExecutionContract well-formedness
- DST-001 — Disturbance-tagged BoundaryAction must not wire to Policy
Documentation:
- Formal property statements for all 15 core checks (G-001..G-006, SC-001..SC-009)
- Requirement traceability markers on all verification tests
- Tests for SC-005..SC-009 (previously untested)
- Controller-plant duality design document
- Temporal agnosticism invariant with three-layer stack diagram
- Audit of 30+ docs replacing "timestep" with temporally neutral vocabulary
- Assurance claims document with verification passport template
- Execution semantics design document with DSL contract mapping
- Disturbance formalization design document
- Notation harmonized with Zargham & Shorish (2022)
gds-owl v0.2.0¶
- SHACL constraint promotion —
TypeDef.constraint_kindmetadata exports as SHACL property shapes (sh:minInclusive,sh:maxInclusive,sh:minExclusive,sh:in). Constraints with aconstraint_kindare now R2 round-trippable; those without remain R3 lossy. Import reconstructs Python callable constraints from SHACL metadata. - New ontology properties:
constraintKind,constraintLow,constraintHigh,constraintValue - New
build_constraint_shapes()public API
gds-psuu v0.2.1¶
- Parameter schema validation —
ParameterSpace.from_parameter_schema()creates sweep dimensions from declared ParameterDef entries.validate_against_schema()catches missing params, type mismatches, and out-of-bounds sweeps. - PSUU-001 check following the GDS Finding pattern
- Sweep runner validates against schema when
parameter_schemais provided
gds-stockflow v0.1.1¶
- Emit
ExecutionContract(time_domain="discrete")fromcompile_model()
gds-control v0.1.1¶
- Emit
ExecutionContract(time_domain="discrete")fromcompile_model()
gds-games v0.3.2¶
- Emit
ExecutionContract(time_domain="atemporal")fromcompile_pattern_to_spec()
gds-software v0.1.1¶
- Emit
ExecutionContractfrom all 6 compilers:atemporalfor DFD, C4, component, ERD, dependency;discretefor state machines
gds-business v0.1.1¶
- Emit
ExecutionContractfrom all 3 compilers:discretefor CLD and supply chain,atemporalfor value stream maps
gds-analysis v0.1.1¶
- Guard
gds-continuousimport inbackward_reachability.py(previously caused ImportError when gds-continuous wasn't installed)
Earlier Releases¶
gds-framework v0.2.3¶
- Add
StructuralWiringto public API (compiler intermediate for domain DSL wiring emitters) - Switch to dynamic versioning —
__version__in__init__.pyis the single source of truth - Tighten
gds-framework>=0.2.3lower bound across all dependent packages
gds-games v0.2.0¶
- Add canonical bridge (
compile_pattern_to_spec) — projects OGS patterns toGDSSpec - Add view stratification architecture
- Require
gds-framework>=0.2.3
gds-stockflow v0.1.0¶
- Initial release — declarative stock-flow DSL over GDS semantics
gds-control v0.1.0¶
- Initial release — state-space control DSL over GDS semantics
gds-viz v0.1.2¶
- Mermaid renderers for structural, canonical, architecture, parameter, and traceability views