Repository navigation
Releases: axisvela/praxo-core
Release list
v2.3.6
Full Changelog: v2.3.5...v2.3.6
PRAXO-CORE 2.3.5
PRAXO-CORE 2.3.5
Released: 2026-10-24
This patch tightens scheduler disable semantics. It changes no exported
pkg/... declarations.
Scheduler
Disabling a schedule now:
- rejects a callback that has not started yet by rechecking
Enabledwhile
holding the engine lock; and - waits for an already-running dispatch to finish before
SetEnabled(false)
returns.
Previously, a callback that had passed the enabled check could still dispatch
after disable returned. The new behavior makes the test-visible guarantee
deterministic under the race detector.
This is an in-process scheduler guarantee. It is not a durable scheduler,
lease/fencing system, or exactly-once execution claim.
Verification
- Full core tests, vet/build, Linux race/fuzz, staticcheck, and govulncheck.
- The scheduler disable regression test runs 20 times locally and the Linux race
job passes in CI. - Three-platform tests and independent-module checks remain green.
- Exported API is unchanged from 2.3.4.
These checks do not establish production, deployed-peer, or external benchmark
validation.
Upgrade
go get github.com/axisvela/praxo-core/v2@v2.3.5Use Go 1.26.10, the tested toolchain. No source migration is required from
2.3.4. Optional adapter versions are unchanged.
Release Tag
No signing key was configured for this release environment. The tag is
annotated rather than cryptographically signed; checksums and an SBOM are
published by the release workflow.
Evidence Boundaries
This release does not establish production, deployed-peer, durable scheduling, or exactly-once execution. The release tag is annotated but not cryptographically signed.
Assets
- Source archive: praxo-core-2.3.5.tar.gz
- SBOM: sbom.json
- Checksums: SHA256SUMS
PRAXO-CORE 2.3.4
PRAXO-CORE 2.3.4
Released: 2026-10-24
This patch corrects the declared JSON Schema subset so validation no longer
silently accepts invalid values, and adds HTTP client failure-path coverage. It
changes no exported pkg/... declarations.
JSON Schema Semantics
- Typed schemas reject
nilinstead of treating it as absent data. integerrejects fractional numbers.enumapplies to numbers and booleans as well as strings.patternis a Go/RE2 regular expression, matching JSON Schema intent rather
than the previous glob behavior.minLengthandmaxLengthcount Unicode code points instead of bytes.
The package remains a deliberately small subset. It ignores unsupported
keywords such as $ref, allOf, anyOf, oneOf, not,
additionalProperties, and format; a minimum or maximum of zero is treated
as unset. Use a full JSON Schema library when those keywords are required.
HTTP Client Coverage
New tests exercise GET retries on 5xx, non-idempotent POST behavior,
cancellation during backoff, disabled response body bounds, request-header
precedence, malformed JSON decoding, and base-URL path joining. This is test
coverage for existing behavior, not a new retry contract.
Verification
- Full core tests, vet/build, Linux race/fuzz, staticcheck, and govulncheck.
- Three-platform tests and strict bilingual documentation build.
- Nine independent modules retain their Linux race and vulnerability checks.
- Exported declarations are unchanged from 2.3.3; the API snapshot differs only
in the package documentation for the JSON Schema subset.
These checks do not establish production, deployed remote-peer, complete v2 IAM,
instance-lease, LIMENORA reverse-ingress, or external benchmark validation.
Upgrade
go get github.com/axisvela/praxo-core/v2@v2.3.4Use Go 1.26.10, the tested toolchain. No source migration is required from
2.3.3. Optional adapter versions are unchanged.
Release Tag
No signing key was configured for this release environment. The tag is
annotated rather than cryptographically signed; checksums and an SBOM are
published by the release workflow.
Evidence Boundaries
This release does not establish production, deployed remote-peer, complete v2 IAM, instance-lease, LIMENORA reverse-ingress, or external benchmark validation. The release tag is annotated but not cryptographically signed.
Assets
- Source archive: praxo-core-2.3.4.tar.gz
- SBOM: sbom.json
- Checksums: SHA256SUMS
PRAXO-CORE 2.3.3
PRAXO-CORE 2.3.3
Released: 2026-10-24
This patch closes a tool-authorization gap after preparation callbacks and
makes release checks propagate command failures. It changes no exported
pkg/... declarations.
Tool Authorization
Original policy denials still stop preparation. Final tool names are checked
against the allowlist, and changed JSON arguments or names are reauthorized
before any tools in the prepared batch execute. This covers middleware, HITL
edits, hooks, event/stream callbacks, and later callbacks modifying earlier
calls. Unchanged calls keep one tool-policy request.
When policy is enabled, tool arguments must be JSON-serializable. Callbacks
must not mutate retained arguments asynchronously. A nil policy still permits
actions and an empty tool allowlist still permits all registered tools; configure
both explicitly for least privilege. Tools remain responsible for their own
side effects and resource-level checks.
Verification
- Full core tests, vet/build, Linux race/fuzz, staticcheck, and govulncheck.
- Three-platform tests, including release-gate failure injection.
- Nine independent modules checked with Linux race and govulncheck.
- Strict bilingual documentation build and unchanged API snapshot.
Existing consumer checks before publication use the previous released version.
Post-publication checks must pin 2.3.3 to verify this fix without local replaces.
These checks do not establish production or deployed IAM validation.
Upgrade
go get github.com/axisvela/praxo-core/v2@v2.3.3Use Go 1.26.10, the tested toolchain. No source migration is required from
2.3.2. api/2.3.3.txt is identical to api/2.3.2.txt. Optional adapter versions
are unchanged; consuming products must upgrade their core dependency to receive
the runtime fix.
Release Tag
No signing key was configured for this release environment. The tag is
annotated rather than cryptographically signed; checksums and an SBOM are
published by the release workflow.
Evidence Boundaries
This release does not establish production, deployed remote-peer, complete v2 IAM, instance-lease, or LIMENORA reverse-ingress validation. Database-dependent tests may skip without a configured test database. The release tag is annotated but not cryptographically signed.
Assets
- Source archive: praxo-core-2.3.3.tar.gz
- SBOM: sbom.json
- Checksums: SHA256SUMS
v2.3.2
v2.3.1
PRAXO-CORE 2.3.0
PRAXO-CORE 2.3.0 focuses on execution correctness, lifecycle control, and bounded concurrency.
Highlights
SubagentManager.Waitwaits on completion events;SubagentManager.Pruneremoves stale terminal tasks.Cancelno longer overwrites terminal state, andUpdaterequires a running task.flow.Parallelnow executes runnables concurrently while preserving output order and returning the first error by index.adapters/multiagent/v0.2.0waits event-driven instead of polling and addsMaxConcurrency.adapters/openaicompatadds opt-in streamed usage viaIncludeUsage.memory.MemoryStoreuses collision-resistant IDs, precomputes search text, and supports the zero value.adapters/mcp/v0.3.0rejects repeated pagination cursors and covers multi-page listings.
Upgrade
go get github.com/axisvela/praxo-core/v2@v2.3.0No source changes are required for 2.2.0 consumers. The API diff is limited to two additive methods.
Validation
- CI: test, vet, build, race, fuzz, staticcheck, govulncheck, benchmarks
- Docs:
mkdocs build --strict - Published-module consumer test pinned to the 2.3.0 tags
Limits
Adapter tests are deterministic protocol tests, not live-service or production validation. A2A covers an in-process HTTP JSON-RPC round trip, not an external peer or gRPC. Multi-agent remains optional delegation, not a durable graph runtime.
Full notes: https://axisvela.github.io/praxo-core/releases/2.3.0/
v2.2.0
PRAXO-CORE 2.2.0
Ecosystem-depth additive release. The pkg/... API is unchanged from 2.1.0.
Highlights
- Model adapters: native Anthropic Messages and Gemini
generateContentadapters with tool/function calls and SSE streaming - Protocol adapters: MCP resources/prompts, OpenTelemetry events, Harmovela HTTP events, and A2A server execution
- Multi-agent: optional supervisor/sequential delegation plus a runnable subagent example and boundary guidance
- Examples: process/WASM plugins, checkpoint/resume, sandbox/policy, and multi-agent delegation
- Fixes: MCP input schemas are preserved for model-facing tools; OTel excludes event data by default
Upgrade
go get github.com/axisvela/praxo-core/v2@v2.2.0No source changes are required for consumers of 2.1.0. api/2.2.0.txt is identical to api/2.1.0.txt.
Optional Modules
adapters/mcp/v0.2.0adapters/otel/v0.2.0adapters/anthropic/v0.1.0adapters/gemini/v0.1.0adapters/harmovela/v0.1.0adapters/a2a/v0.1.0adapters/multiagent/v0.1.0
Validation
- API diff from 2.1.0: no changes
- Published-module consumer check: core and optional modules compile and run without local replacements
- CI: test, vet, build, race, fuzz, staticcheck, govulncheck, benchmarks
- Docs site built with
mkdocs build --strict
Limits
- Adapter tests are deterministic protocol tests, not live-service or production validation.
- Multi-agent support is subagent delegation and an optional supervisor module, not a graph runtime. Durable graphs belong to RHEOVELA.
- A2A currently validates executor protocol mapping, not full JSON-RPC/gRPC interoperability.
Links
v2.1.0
PRAXO-CORE 2.1.0
Adoption-focused additive release. The pkg/... API is unchanged from 2.0.0.
Highlights
- OpenAI-compatible model adapter with tool calls, usage accounting, and SSE streaming
- Optional MCP tool gateway published as
adapters/mcp/v0.1.0 - Runnable examples: quickstart, reference workspace agent, ecosystem adapters, and real NOETIVELA/Mnemovela/GNOSIVELA SDK recipes
- Bilingual docs site with adoption guide, recipes, benchmarks, and deeper AxisVela comparison
- Community: contributing guide, code of conduct, issue/PR templates, and Discussions
Upgrade
go get github.com/axisvela/praxo-core/v2@v2.1.0No source changes are required for consumers of 2.0.0. api/2.1.0.txt is identical to api/2.0.0.txt.