Skip to content

Releases: btwld/okf

okf 0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 22:19
e3982b2
  • Adopt OKF revision 62432a0: every timestamp is an ISO 8601 datetime with a UTC offset. A date-only or offset-less value raises the non-blocking okf/timestamp-without-offset advisory naming the exact field, and OkfSpecValidation.isConformant is unchanged, so a bundle that validates today still validates. okf validate --strict is the exception: it escalates advisories to failures, so it starts failing on date-only timestamps it used to accept. Run okf format --migrate-timestamps on those bundles, or drop --strict until you have.
  • Compare staleness as an instant rather than a local calendar day. stale_after was read as a calendar date and compared in the caller's local zone; it is now an instant, stale when now >= stale_after. East of UTC a concept goes stale later than before — two hours in Berlin, twelve in Auckland — and west of UTC it can now become stale on the previous local day. Callers in UTC see no change.
  • Add okf format --migrate-timestamps, which rewrites date-only values to T00:00:00Z and reports every change. It is opt-in, idempotent, writes nothing under --check, and leaves offset-less datetimes alone rather than guessing a zone for them. Migrating a date-only verified.at can raise a concept's trust_tier from unverified to human-reviewed, because the verification now carries a usable time; that change is visible in okf graph.
  • Reject impossible timestamps through one strict parser. 2026-02-30 previously rolled over into March 2 and was accepted; it is now rejected everywhere. Date values still read as midnight UTC for stale_after, usage_window and last_modified, where a date has always been valid. generated.at and verified[].at have always required a time, so a date-only value there carries no instant and does not count as a verification.

See the full changelog for changes in earlier releases.

okf 0.4.2

Choose a tag to compare

@github-actions github-actions released this 10 Sep 03:11
  • No changes to the package. This release completes the deployment pipeline: the macOS job now holds the contents: write permission its uploads need, so 0.4.1's macOS archives and Homebrew formula, which were published by hand, are produced by CI again.

See the full changelog for changes in earlier releases.

okf 0.4.1

Choose a tag to compare

@github-actions github-actions released this 10 Sep 02:53
  • Use Ack schemas for graph-query parsing and generated, typed MCP arguments. Each input schema owns runtime constraints and the advertised JSON Schema. Partial updates retain omitted fields, and OKF Spec findings and tolerant metadata behavior remain unchanged. Concept IDs stay encoded as strings, and invalid IDs and graph-query fields are reported with their specific paths and validation reasons.
  • Generate equality, hashing, copyWith, diagnostic strings, and JSON adapters for index entries, log entries, and legacy citation values with Ack. Use the generated copies when normalizing writable index and log entries, and verify all generated model parts in CI. Const constructors, tolerant parsing, Markdown output, and optional v0.1 citation compatibility are preserved; concept IDs, diagnostics, and documents retain their existing validated constructors and custom formatting.
  • Consolidate internal rule metadata, execution context, and YAML value helpers while preserving the public package exports. Remove redundant construction wrappers and use normal constructors where direct initialization suffices. Align IO, MCP, and rule tests with their source modules and consolidate the index/log contract suites without changing their assertions.
  • Classify local graph targets containing raw or percent-encoded C1 control characters as invalid, matching bundle-path validation, instead of unresolved.
  • Raise the minimum supported Dart SDK from 3.4 to 3.9 for Ack 1.2.

See the full changelog for changes in earlier releases.

v0.3.0

Choose a tag to compare

@kauandotnet kauandotnet released this 28 Aug 20:54
Immutable release. Only release title and notes can be modified.

What's Changed

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@chrishiguto chrishiguto released this 26 Aug 00:07
Immutable release. Only release title and notes can be modified.
82e1042

What's Changed

New Contributors

Full Changelog: v0.1.2...v0.2.0