chore: release v0.2.0 #2

Closed
tqwewe wants to merge 5 commits from release-plz-2026-09-05T14-56-44Z into main
Owner

🤖 New release

  • hekla: 0.1.1 -> 0.2.0 (⚠ API breaking changes)

⚠ hekla breaking changes

--- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field ---

Description:
A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals.
        ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/constructible_struct_adds_field.ron

Failed in:
  field EffectUnit.digest_hash in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:209
  field EffectUnit.arms in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:213
  field EffectUnit.lane_scheme in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:215
  field CommandUnit.digest_hash in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:169
  field LoadedProject.digest in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:230
  field ProjectorUnit.digest_hash in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:180
  field Report.skipped in /tmp/.tmpSR4V3y/hostexecutor/src/verify.rs:65
  field InvocationRow.skipped_at in /tmp/.tmpSR4V3y/hostexecutor/src/opdb.rs:1677

--- failure function_missing: pub fn removed or renamed ---

Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/function_missing.ron

Failed in:
  function hekla::introspect::module, previously in file /tmp/.tmpzikAJ4/hekla/src/introspect.rs:491

--- failure inherent_method_missing: pub method removed or renamed ---

Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/inherent_method_missing.ron

Failed in:
  OpDb::upsert_module_metadata, previously in file /tmp/.tmpzikAJ4/hekla/src/opdb.rs:387
  OpDb::module_metadata, previously in file /tmp/.tmpzikAJ4/hekla/src/opdb.rs:820

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/struct_missing.ron

Failed in:
  struct hekla::opdb::ModuleRow, previously in file /tmp/.tmpzikAJ4/hekla/src/opdb.rs:1115

--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---

Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/struct_pub_field_missing.ron

Failed in:
  field source_hash of struct ProjectorUnit, previously in file /tmp/.tmpzikAJ4/hekla/src/loader.rs:168
  field source_hash of struct EffectUnit, previously in file /tmp/.tmpzikAJ4/hekla/src/loader.rs:178
  field source_hash of struct CommandUnit, previously in file /tmp/.tmpzikAJ4/hekla/src/loader.rs:159
  field invocations_skipped of struct Report, previously in file /tmp/.tmpzikAJ4/hekla/src/verify.rs:64
Changelog

0.2.0 - 2026-09-06

Added

  • (cli) hekla rewind takes an effect back over history, against a stopped process
  • a key change that would repartition the lanes stops the effect, and hekla plan names it
  • on live declines the history that predates an effect, resolved once at first activation
  • [breaking] an effect arm runs in the lane its key names, so one stuck aggregate blocks nobody else
  • [breaking] hekla plan replays recorded invocations against the code you are about to deploy
  • hekla plan says what a deploy would change, and names why
  • [breaking] one declaration table holds every version of what the program does

Other

  • heklang 0.3.0, and every effect arm names its lane
  • the project builds and releases on the forge it now lives on

Added

  • an effect arm runs in the lane its @key names, so one stuck aggregate no longer blocks every
    other one
  • on live declines the history that predates an effect, resolved once at first activation
  • hekla rewind takes an effect back to a position, against a stopped process
  • /status names the lane holding an effect's watermark down, and how many lanes are wedged
  • hekla plan names the event types whose lane a deploy would repartition

Changed

  • [breaking] @key is mandatory on every effect arm (heklang 0.3.0)
  • [breaking] an effect arm declaring on latest is refused at load until batch collapse lands,
    rather than run as on, which would honour a different guarantee silently
  • [effects] pool_size is live: it bounds how many lanes run at once, across every effect
  • an effect's watermark is a low-water mark, so it no longer advances past a wedged lane
  • schema v8 adds effect_lane and effect_activation; hekla plan refuses a data directory this
    build has not migrated, so run hekla serve against it once first


This PR was generated with release-plz.

## 🤖 New release * `hekla`: 0.1.1 -> 0.2.0 (⚠ API breaking changes) ### ⚠ `hekla` breaking changes ```text --- failure constructible_struct_adds_field: struct exhaustively constructible through public API adds field --- Description: A pub struct that could be exhaustively constructed with a literal using only public API has a new pub field, breaking existing exhaustive literals. ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/constructible_struct_adds_field.ron Failed in: field EffectUnit.digest_hash in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:209 field EffectUnit.arms in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:213 field EffectUnit.lane_scheme in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:215 field CommandUnit.digest_hash in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:169 field LoadedProject.digest in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:230 field ProjectorUnit.digest_hash in /tmp/.tmpSR4V3y/hostexecutor/src/loader.rs:180 field Report.skipped in /tmp/.tmpSR4V3y/hostexecutor/src/verify.rs:65 field InvocationRow.skipped_at in /tmp/.tmpSR4V3y/hostexecutor/src/opdb.rs:1677 --- failure function_missing: pub fn removed or renamed --- Description: A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely. ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/function_missing.ron Failed in: function hekla::introspect::module, previously in file /tmp/.tmpzikAJ4/hekla/src/introspect.rs:491 --- failure inherent_method_missing: pub method removed or renamed --- Description: A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely. ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/inherent_method_missing.ron Failed in: OpDb::upsert_module_metadata, previously in file /tmp/.tmpzikAJ4/hekla/src/opdb.rs:387 OpDb::module_metadata, previously in file /tmp/.tmpzikAJ4/hekla/src/opdb.rs:820 --- failure struct_missing: pub struct removed or renamed --- Description: A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely. ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/struct_missing.ron Failed in: struct hekla::opdb::ModuleRow, previously in file /tmp/.tmpzikAJ4/hekla/src/opdb.rs:1115 --- failure struct_pub_field_missing: pub struct's pub field removed or renamed --- Description: A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely. ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/struct_pub_field_missing.ron Failed in: field source_hash of struct ProjectorUnit, previously in file /tmp/.tmpzikAJ4/hekla/src/loader.rs:168 field source_hash of struct EffectUnit, previously in file /tmp/.tmpzikAJ4/hekla/src/loader.rs:178 field source_hash of struct CommandUnit, previously in file /tmp/.tmpzikAJ4/hekla/src/loader.rs:159 field invocations_skipped of struct Report, previously in file /tmp/.tmpzikAJ4/hekla/src/verify.rs:64 ``` <details><summary><i><b>Changelog</b></i></summary><p> <blockquote> ## [0.2.0](https://git.tqwewe.com/tephra/hekla/compare/v0.1.1...v0.2.0) - 2026-09-06 ### Added - *(cli)* hekla rewind takes an effect back over history, against a stopped process - a key change that would repartition the lanes stops the effect, and hekla plan names it - on live declines the history that predates an effect, resolved once at first activation - [**breaking**] an effect arm runs in the lane its key names, so one stuck aggregate blocks nobody else - [**breaking**] hekla plan replays recorded invocations against the code you are about to deploy - hekla plan says what a deploy would change, and names why - [**breaking**] one declaration table holds every version of what the program does ### Other - heklang 0.3.0, and every effect arm names its lane - the project builds and releases on the forge it now lives on ### Added - an effect arm runs in the lane its `@key` names, so one stuck aggregate no longer blocks every other one - `on live` declines the history that predates an effect, resolved once at first activation - `hekla rewind` takes an effect back to a position, against a stopped process - `/status` names the lane holding an effect's watermark down, and how many lanes are wedged - `hekla plan` names the event types whose lane a deploy would repartition ### Changed - [**breaking**] `@key` is mandatory on every effect arm (heklang 0.3.0) - [**breaking**] an effect arm declaring `on latest` is refused at load until batch collapse lands, rather than run as `on`, which would honour a different guarantee silently - `[effects] pool_size` is live: it bounds how many lanes run at once, across every effect - an effect's watermark is a low-water mark, so it no longer advances past a wedged lane - schema v8 adds `effect_lane` and `effect_activation`; `hekla plan` refuses a data directory this build has not migrated, so run `hekla serve` against it once first </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
chore: release v0.2.0
All checks were successful
ci / ci (pull_request) Successful in 1m39s
ci / msrv (pull_request) Successful in 14s
2d86721f84
Signed-off-by: release-plz <dev@tqwewe.com>
tqwewe force-pushed release-plz-2026-09-05T14-56-44Z from 2d86721f84
All checks were successful
ci / ci (pull_request) Successful in 1m39s
ci / msrv (pull_request) Successful in 14s
to a1a6ab8556
Some checks failed
ci / ci (pull_request) Failing after 1m46s
ci / msrv (pull_request) Successful in 13s
2026-09-06 18:53:04 +10:00
Compare
tqwewe closed this pull request 2026-09-06 19:27:39 +10:00
Some checks failed
ci / ci (pull_request) Failing after 1m46s
ci / msrv (pull_request) Successful in 13s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tephra/hekla!2
No description provided.