Skip to content

go v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Apr 23:42
· 4 commits to master since this release
7ff0b60

[0.1.0] — 2026-04-24

Bug Fixes

  • go,test_vectors: Validate fixture pre values in transaction tests
  • go,test_vectors: Implement unsupported algorithm error test
  • Align Go/Rust integration tests with fixture pre validation (SPEC §15.6)
  • core: Distinguish revoked key from unknown key in action errors
  • storage: Use canonical hash for czd computation
  • security: Apply audit hardening recommendations
  • cyphrpass: Compute state before commit creation
  • tests: Update tests for self-revoke only model
  • go/cyphrpass: Add IsCommit getter to VerifiedTx
  • go/testfixtures: Update e2e runner for SPEC verb naming
  • go: Update activeAlgs on key addition for SPEC §14 compliance
  • rs: CLI commit finalization and e2e cs comparison
  • state-tree: Fix stale terminology, verify builds
  • golden: Commit_id bug, cs emission, DRY refactor
  • plan: Reorder phases — TOML migration before golden regen
  • Remove production panics from cyphrpass core library
  • Remove all production panics from storage and CLI (BREAKING)
  • go: Remove panics, dead variant, and I2 violation
  • go: Replace unmatchable fmt.Errorf with sentinels
  • rs: Pre-field semantics — ps_tagged returns PS
  • rs/test-fixtures: Fixture-gen id field and dead code
  • go/principal: Cross-algorithm CS comparison in finalizeCommit
  • rs: Resolve Rust-side tech debt from test alignment
  • rs/cli: Use identity-derived PR for commit storage
  • docs/specs: Align machine specs with current SPEC.md terminology and structure
  • docs/specs: Complete machine spec alignment — structural rewrites, open question triage
  • docs/specs: Final coherence pass
  • go,rs: Fix 4 bugs blocking Phase 7 verification
  • go: Nil deref, export boundary, stale assertion
  • go: Remove erroneous genesis bootstrap in Arrow pre
  • go: Genesis bootstrap + pre-mutation key rule
  • rs: Test helper parity + plan update
  • go/cyphrpass: Strictly couple arrow and finalize roots
  • go,rs: Enforce [no-revoke-non-self]
  • Add git ignore to ignore site public dirs
  • rs,go/cyphr: Normalize typ to cyphr/ suffix
  • rs,go,tests: Enforce self-revoke no-id at parse time
  • spec: Correct AS/CS conflation and add lifecycle check
  • spec: Normalize consistency issues
  • spec: Clarify promotion and embedding rules
  • spec: Resolve internal contradictions in SPEC.md

Build

  • core: Purge stale commit state terminology

CI

  • Fix rust-audit token and remove dead code
  • Add release pipeline with scoped tags and changelog

Documentation

  • WIP protocol specification
  • spec: Add genesis and transaction payload specifications
  • spec: Add authentication and proof of possession section
  • spec: Add storage models and refine authentication section
  • spec: Expand derivations with multi-algorithm semantics
  • spec: Add disaster recovery section
  • spec: Add timestamp verification section
  • spec: Add error conditions section
  • spec: Refine recovery, self-revoke, and add account freeze
  • spec: Add key/other-revoke for multi-key revocation
  • spec: Address protocol review findings and add Level 5-6
  • spec: Populate test vectors with concrete golden values
  • go: Consolidate package documentation in cyphrpass.go
  • Add integration test requirements to spec and test vectors
  • Add comprehensive project and implementation READMEs
  • spec: Add non-normative storage API section
  • tests: Rewrite README with complete fixture spec
  • tests: Update README for entries+digests format
  • Align READMEs with current test infrastructure
  • Align documentation with current implementation
  • spec: Clean up and formalize SPEC.md
  • audit: Add 2026-02-03 api coherence audit report
  • audit: Correct T1-1 to parse alg:digest prefix
  • Plan state tree restructuring (CS pivot)
  • plan: Expand Phase 4 with fixture format alignment findings
  • tests: Update README for commit/tx format
  • plan: Retrospective for state-tree-restructuring
  • Add principal state formal model
  • Add API coherence audit with behavioral correctness appendix
  • audit: Add cross-cutting concerns appendix
  • audit: Sync Phase 4 remediation plan with appendices
  • Add audit remediation charter
  • Restructure charter scope, extract plan
  • specs: Add machine-oriented state tree specification
  • specs: Add 5 machine-oriented specification documents
  • specs: Refine consensus and recovery constraints per VERIFY scrutiny
  • plan,charter: Align WS6-7 with machine spec constraint IDs
  • models: Add formal model for DAOLFMT verifiable log
  • plan: Add Phase 7f for MALT one-per-algo pivot
  • cyphrpass: Sweep stale CommitState terminology in docs
  • spec: Align machine specification PG constraints with SPEC.md
  • protocol: Resolve Phase 8 open constraints
  • plan: Complete implementation alignment retrospective
  • plan: Finalize constraint-driven testing architecture roadmap
  • protocol: Publish constraint coverage matrix
  • plan: Formalize initial public release plan
  • Phase 2 documentation audit and remediation
  • plans: Structural hardening plan for pre-release
  • go/cyphr: Harden CommitBatch transitory-state
  • go/cyphr: Add transitory-state hazard to BeginCommit
  • plans: Complete structural-hardening retrospective
  • fix: Use relative paths inside machine specs
  • blog: Clarify Cyphr's position below blockchain
  • blog: Fix post release date
  • blog: Add link to intro video
  • sites/docs: Bootstrap docs.cyphr.me
  • sites/docs: Polish
  • sites/docs: Replace duplicate heading
  • sites/docs: Add CLI reference and glossary pages
  • Add formal model of principal state
  • SPEC: Rename State→Root terminology, add Principal Genesis (PG)
  • SPEC: Fix leftover stale terms and align PR formula to use SR
  • SPEC: Align terminology, fix txs structure
  • Initial spec release

Features

  • go: Implement Cyphrpass foundation modules
  • go: Implement Principal identity type
  • go: Add package entry point and genesis integration tests
  • go: Add state computation and edge case integration tests
  • go: Add transaction mutation integration tests
  • go: Run all transaction tests with live pre computation
  • go: Add action recording and error condition integration tests
  • protocol: Add timestamp validation per SPEC §14.1
  • protocol: Add timestamp validation per SPEC §14.1
  • protocol: Add type-safe signature verification
  • test: Add key pool loading infrastructure
  • test: Add multi-key transaction tests with key pool resolution
  • test: Migrate all fixtures to centralized key pool
  • fixture-gen: Implement generate command
  • fixtures: Add README and migrate mutations.toml
  • fixtures: Migrate transaction tests to intent format
  • cyphrpass: Add golden fixture integration tests
  • fixtures: Add Level 4 action support
  • fixtures: Add genesis-only and state computation tests
  • fixtures: Add error condition tests with override support
  • fixtures: Add genesis diversity and tx+action tests
  • fixtures: Add unsupported algorithm genesis error test
  • test-fixtures: Add unified storage format to golden fixtures
  • storage: Integrate export into test-fixtures, add e2e structure
  • e2e: Add multi-key genesis and revoke cycle tests
  • e2e: Add error condition tests
  • e2e: Add genesis and checkpoint load tests
  • e2e: Add edge case tests
  • storage: Implement storage package with export/import
  • testfixtures: Implement test fixtures package
  • go: Complete golden test migration with 41 tests
  • testfixtures: Add Intent types for TOML e2e test parsing
  • testfixtures: Add E2E runner for intent-driven tests
  • cyphrpass: Add E2E tests parsing TOML intents
  • test-fixtures: Migrate to commit-based fixture format
  • transaction: Remove other-revoke transaction type
  • go/cyphrpass: Align transaction verbs with SPEC
  • go/cyphrpass: Add commit model types
  • go/testfixtures: Parse commit-based golden fixtures
  • go: Complete commit model alignment with Rust
  • go: Implement MultihashDigest type (SPEC §14)
  • go: Add multihash coherence e2e test (SPEC §14)
  • storage: Use alg:digest format for state digests
  • protocol: Migrate wire format to alg:digest (BREAKING)
  • go/state: Add TaggedDigest type for alg:digest format
  • go: Integrate TaggedDigest into transaction parsing (BREAKING)
  • go: Remove commit: true field and finalizer checks
  • go: Require pre for self-revoke transactions
  • rs: Wire CommitState through storage, CLI, and test fixtures
  • state-tree: Wire CommitState through Go core (BREAKING)
  • test-fixtures: Add CommitIntent/TxIntent types and cs field
  • rs: Restructure commit API with CommitScope typestate (BREAKING)
  • cyphrpass: Introduce Go CommitBatch Tx pattern (BREAKING)
  • go: Port ComputeCommitIDTagged, atomic verify+apply
  • rs: PR optionality + genesis finality (WS-C/D)
  • rs,go: Commit field parsing and CS validation
  • rs,go: CommitBuilder deferred-signing API
  • rs,go: Enforce MissingCommit in finalize_commit
  • rs/storage: Extract keys to commit-level keys[]
  • go/testfixtures: Parse commit-level keys[]
  • rs/generator: Use CommitScope for golden fixture generation
  • go/daolfmt: Add core Merkle tree implementation
  • go/daolfmt: Add inclusion and consistency proofs
  • go,rs: Replace CommitState with StateRoot (Phase 2)
  • core: Migrate Commit internals to list-of-lists Transaction model
  • protocol: Complete Phase 4 transaction root decomposition
  • core: Implement MALT TreeHasher abstractions
  • core: Integrate MALT log tree into PR derivation
  • protocol: Finalize Arrow construction and synchronize test fixtures
  • tests: Migrate intent format to list-of-lists
  • go/commit_root: Per-algo MALT architecture
  • rs/cyphrpass: Per-algorithm MALT architecture pivot
  • go: Update PendingCommit to natively accept Transaction bundles
  • go,rs: Constraint tag resolution in test runners
  • go,rs: Phase 2 override + constraint tags
  • testing: Enforce [data-action-no-pre]
  • docs/sites: Scaffold docs and blog sukr sites
  • rs/cyphr-cli: Add --authority flag
  • docs/blog: Finalize inaugural post and enhance site navigation
  • blog: Establish visual identity and editorial chrome
  • spec: Add fork resolution and consensus transitions

Miscellaneous

  • other: Move Go implementation to go/ subdirectory
  • go: Remove unused assertStateEquals function
  • other: Use coz-rs from crates-io
  • lint: Address lsp & clippy recommendations
  • fmt: Run treefmt
  • other: Regen golden tests
  • go: Remove dead code, satisfy staticcheck
  • go: Bump Go to 1.25.9, resolve stdlib vulnerabilities
  • other: Remove ad hoc go script
  • docs: Split netlify configuration for monorepo deployment
  • fmt: Format SPEC.md
  • other: Run treefmt

Refactor

  • fixtures: Migrate pool.toml to tests/ directory
  • test-fixtures: Remove legacy coz/action format
  • go: Reorganize package structure
  • go: Move integration tests to dedicated tests/ pkg
  • rust: Remove key/add alias (BREAKING)
  • tests: Update e2e intents to key/create
  • rs/commit: Unify commit pathway with explicit finalization
  • go: Rename TransactionState to CommitID, add CommitState
  • test-fixtures: Remove legacy intent types, unify actions
  • testfixtures: Go legacy type removal
  • golden: Go struct cleanup, add CS
  • intents: Migrate TOML to commit/tx format
  • e2e: Migrate TOML to commit/tx format
  • cyphrpass: Remove legacy commit API wrappers
  • test-fixtures: Resolve 5 generator tech debt items
  • go: String-backed TransactionKind, pointer Revocation.By
  • go: Unexport internals, return defensive copies
  • go: Unexport Raw fields, add accessors
  • cli: Typed Error enum + key gen dedup
  • rs: Debug_assert! → Result returns
  • go/state: CS/PS formula swap + pre migration
  • go,rs/state: CommitID uses array-order hashing
  • go/principal: PR optional, frozen at principal/create
  • rs: Enum-based PR type safety
  • go/testfixtures: Commit-based replay, eliminate bridge
  • go/daolfmt: Use errors.Is in tests
  • Rename *State types to *Root
  • core: Rename Transaction types to ParsedCoz/VerifiedCoz
  • Migrate malt to standalone packages
  • go,rs/cyphr: Phase 1 structural naming cleanup
  • go/cyphr: Extract deriveAuthState helper
  • rs/cyphr: Extract derive_auth_state helper
  • go: Move module root and flatten core package

Testing

  • go: Add PS golden value verification to action tests
  • vectors: Add action error condition tests
  • vectors: Add cross-algorithm transaction tests
  • e2e: Add dedicated multihash_coherence.toml intent
  • Add principal/create transaction support to genesis tests
  • integration: Align multi-tx commits and fix round-trip
  • constraints: Add coverage matrix and gap tests
  • protocol: Complete adversarial coverage
  • Add uncomitted intent and golden values

Plan

  • Append phase 5 for commit API redesign
  • tests: Test infrastructure SPEC alignment
  • Implementation alignment with SPEC.md state tree + commit model

Plans

  • Draft spec-alignment plan, amend audit-remediation
  • spec-alignment: Structural corrections from first-principles review

Rename

  • malt: Daolfmt → malt in Go and Rust

Spec

  • Formalize principal lifecycle as product decomposition
  • Add §3.7 authorization predicate
  • Add §2.3 AS/DS duality statement
  • Rewrite §9.5 with canonical CS computation formula
  • Add §2.6 protocol guarantees
  • Add lifecycle check to §6.2 login verification

Specs

  • Realign machine specs with SPEC.md
  • Consistency review fixes
  • Clarify level 1/2 implicit genesis
  • transactions: Fix stale citations per f2428ea

Treewide

  • Rename cyphrpass -> cyphr