Changelog
Versions: 0.50.2, 0.50.1, 0.50.0, 0.49.0, 0.48.0, 0.47.0, 0.46.0, 0.45.0, 0.44.0, 0.43.0, 0.42.2, 0.42.1, 0.42.0, 0.41.0, 0.40.0, 0.39.0, 0.38.0, 0.37.0, 0.36.0, 0.35.0, 0.34.0, 0.33.0, 0.32.0, 0.31.0, 0.30.0, 0.29.0, 0.28.0, 0.27.0, 0.26.2, 0.26.1, 0.26.0, 0.25.0, 0.24.1, 0.24.0, 0.23.0, 0.22.0, 0.21.0, 0.20.1, 0.20.0, 0.19.0, 0.18.0, 0.17.0, 0.16.0, 0.15.0, 0.14.0, 0.13.0, 0.12.0, 0.11.0, 0.10.0, 0.9.0, 0.8.0, 0.7.0, 0.6.0, 0.5.0, 0.4.0, 0.3.0, 0.2.0, 0.1.1, 0.1.0.
0.50.2 (2026-10-29)
Bug Fixes
- bump zod to 4.6.6 for GHSA-mrhx-c7xc-m3w5 (#316) (cb46dc6)
- deps: zod 4.6.6 for GHSA-mrhx-c7xc-m3w5 (cb46dc6)
0.50.1 (2026-10-28)
Bug Fixes
- a dispatched resolve waits in line, and settle ends a cancelled resolve’s records (#313) (ee3dab6)
- deps: Bun 1.4.4 for the Brotli RCE (CVE-2026-111497, CISA KEV) (#314) (65c877c)
- github: match an app’s record writer login with [bot] and warn when a record is left alone (#303) (ec0e523)
0.50.0 (2026-10-07)
Features
- cli: tick stacks with dependencies from the command line, and –yes sends the stack’s confirm (#302) (0d2701b)
- the dashboard says when runs failed, and a row when its drift check failed (#301) (f731354)
Bug Fixes
- a tick made while a writer writes the body is written back (#298) (9f2d913)
- the open pull requests read with pull-requests: read alone, and a list that fails says so (#300) (91e55c8)
0.49.0 (2026-10-06)
Features
- a Telegram notification can go to one topic of a forum group with telegram-thread-id (#295) (1d7bedb)
0.48.0 (2026-09-30)
Features
- a preview that fails once is tried again, a busy stack says so, and the log keeps the tool’s words (#289) (88ff952)
0.47.0 (2026-09-27)
Features
0.46.0 (2026-09-26)
Features
0.45.0 (2026-09-25)
Features
0.44.0 (2026-09-25)
Features
0.43.0 (2026-09-25)
Features
0.42.2 (2026-09-25)
Bug Fixes
- a #, an @ or a web address in a name stays plain text (#273) (9921f65)
- a cancelled deploy’s failure line reaches its row in seconds (#275) (72f8307)
- a push after the tick is refused as moved, never shown in sync (#274) (f324984)
0.42.1 (2026-09-25)
Bug Fixes
0.42.0 (2026-09-25)
Features
- the row marker carries its counts and what a queued row waits behind, and the example is data (#264) (1cbfc30)
0.41.0 (2026-09-25)
Features
0.40.0 (2026-09-25)
Features
0.39.0 (2026-09-25)
Features
0.38.0 (2026-09-24)
Features
0.37.0 (2026-09-24)
Features
0.36.0 (2026-09-24)
Features
0.35.0 (2026-09-24)
Features
0.34.0 (2026-09-24)
Features
0.33.0 (2026-09-24)
Features
0.32.0 (2026-09-24)
Features
0.31.0 (2026-09-24)
Features
0.30.0 (2026-09-24)
Features
- the payload of a deployment record has a published schema, and the result file says where its one kind of value may be (24cf141)
0.29.0 (2026-09-23)
Features
- a record opened on merge says so, and a queued one keeps it (323da17)
- decide which stacks set to on-merge deploy after a scan, and which wait for a tick (f5edfad)
- rows, the trail and apply say merged by for a deploy on merge (5c11366)
- stacks[].deploy, on-tick by default or on-merge (ccc08a2)
- the check lists stacks that deploy on merge and the apply job they need (212ba7e)
- the scan of a merge hands stacks set to on-merge to apply (5a69960)
0.28.0 (2026-09-23)
Features
- a run that waits long for a runner gets a line under the scan line (bf12184)
- apply: a drift repair that found nothing to repair says drift gone (3d6ac0a)
- dashboard.timeZone in sluiceway.yaml, checked against the runtime’s zones (362f28a)
- every scan looks for a run of its workflow that waits for a runner (c4a9021)
- find OpenTofu and Terraform root modules from the repo’s own files (de4b22c)
- init –force writes the workflow again, and init names npx sluiceway check (583bf22)
- render a time in a named zone, with its offset when it stands alone (46c3b5e)
- resolve: one line in the job log says where resolve’s time went (f34b01a)
- the body and its rows take the dashboard’s zone (110b171)
- the check lists what root module discovery found and left out, and why (8a1b75a)
- the check reads the environment a Sluiceway job names (2a6406d)
- the check says who decides who may deploy, for each job that deploys (0f5fd30)
- the command line, sluiceway init and sluiceway check (d6aed35)
- the port lists the queued runs of a workflow (548dfd0)
Bug Fixes
- README example breaks its lines, header signs get room, queued rows stand still (#217) (1093c22)
- resolve: a queued drift repair is started as a drift repair (23666c3)
- the check job lists the root modules discovery found and left out (e7929e2)
0.27.0 (2026-09-23)
Features
- core: the pool size follows the cores, from 1 to 8, unless the input sets it (fdbafb4)
- render: a log line that names the pool size and where it came from (683c3e8)
- scan: without concurrency the pool is the machine’s cores, said once in the job log (f12bc21)
0.26.2 (2026-09-23)
Bug Fixes
- an empty optional input means the action’s default (d1b38fd)
- the shortened note counts drifted rows too (b06d399)
0.26.1 (2026-09-22)
Bug Fixes
- init names pages on the docs site, not files in docs/ (45801dd)
- the dashboard footer’s docs link goes to the docs site (15c2055)
0.26.0 (2026-09-22)
Features
- every writer draws the bulk lines, and the scan sweeps them like orphan ticks (29e94ff)
- resolve turns a bulk tick into a confirm box, and hands a confirmed box on as one tick per stack (85db133)
- the bulk box and its confirm box, their marker and the rule of which one a section gets (2b7faa4)
0.25.0 (2026-09-22)
Features
- a failed check under a pending combined state reads as failed (0a4194e)
- a pull request that qualifies but for checks still running waits on them (4b88089)
- the line of an update waiting on its checks, with no box and a marker of its own (aa13736)
- the scan draws the waiting lines, and resolve and apply carry them (ce99def)
0.24.1 (2026-09-22)
Bug Fixes
- a stack that was never deployed does not count its root stack resource (0bf23ac), closes #165
- the unclaimed files leave the config file out and the hint names the shared files to keep off scan.unrelated (929613a)
- two stacks with one id name the tool of each side (fd09948)
0.24.0 (2026-09-22)
Features
- auto mode, a step with no mode picks what to run from the event (947769d)
- init writes the one-step workflow (c165dc9)
- the check reads a step with no mode as auto, from its file’s triggers (14299d5)
Bug Fixes
- the summary is written to the file the runner names at every write (c846537)
0.23.0 (2026-09-22)
Features
- a later deploy, outside deploys included, ends a failure line in the core (fe1f04a)
- notify.events in sluiceway.yaml, and which stacks a scan and an apply tell (slice 5.13) (e7e8809)
- scan, resolve and apply send the built-in notifications (slice 5.13) (41c4b21)
- the scan and apply drop a failure line that a later outside deploy ended (18a3765)
- the words and the sender of the built-in notifications (slice 5.13) (f214e57)
0.22.0 (2026-09-22)
Features
- header art for a delete sign, 20 crates and a queued state (66700e3)
- the header tells a delete from a replace, counts to 20 and shows a queue (f23e497)
- the queued header snapshot follows the trail’s wording from main (a1c1e4d)
0.21.0 (2026-09-22)
Features
- kubernetes manifests part 2, pruning, a drift check, -R and two apply options (bc48e1e)
- the kubectl fixtures from CI run 35738442226 (64036b3)
Bug Fixes
- a deploy-timeout input gives the deploy a time limit of Sluiceway’s (slice 5.9) (de833e9)
- a failed permission lookup is tried once more in the same resolve run (slice 5.9) (1d00538)
- a fault inside Sluiceway during a preview is that stack’s preview failure row, and the job still goes red (slice 5.9) (d695f2b)
- a preview failure reason of its own for Pulumi’s exit codes 2, 3, 4 and 9 (slice 5.9) (bc8af91)
- a push past the 300 files of a comparison is narrowed by the trees of the two commits (slice 5.9) (4d52b1e)
- a refusal comment names at most ten people of a tick rule (slice 5.9) (1d00538)
- a renaming pull request over the walk’s 100 files is read too (slice 5.9) (05d3054)
- a row’s link to the run of a deploy lands on the attempt that created its record (slice 5.9) (a39d81e)
- a scan pins a dashboard that exists when it is not pinned (slice 5.9) (7bc04b3)
- a scan renames the dashboard when dashboard.title changes (slice 5.9) (7bc04b3)
- a stacks entry may give its stack an id with id: (slice 5.9) (4bc32ee)
- a strict input turns the scan job red on any preview failure (slice 5.9) (76e48e7)
- a tick by an account GitHub no longer has is refused, not unverified (slice 5.9) (1d00538)
- attribution reads every file of a pull request past 100 and of a direct push past 300 (slice 5.9) (e72fd15)
- docs and tooling files that no stack claims force no full scan by default (slice 5.9) (ae32b7b)
- looking for a closed dashboard reads one page of the closed issues that changed last (slice 5.9) (7bc04b3)
- merge and deploy reads the open pull requests past the oldest 1,000 (slice 5.9) (88a5887)
- resolve links to the scan it started, by the run GitHub names for the dispatch (slice 5.9) (ddc868a)
- resolve writes a job summary of what happened to every tick (slice 5.9) (ddc868a)
- sluiceway.yml is read as a second spelling of sluiceway.yaml (slice 5.9) (19dd5d6)
- the process runner holds at most 128 MB of each stream of the tool’s output (slice 5.9) (aad4630)
- the tool’s stderr reaches the job log while a preview runs, each line behind its stack id (slice 5.9) (aad4630)
0.20.1 (2026-09-22)
Bug Fixes
- a Recently deployed line fits on one line (fca5fa2)
0.20.0 (2026-09-22)
Features
- a paged walk for the lookback and the files of a renaming pull request over REST (slice 5.5) (e8989ba)
- attribution settings, the outside fold on a row and what a deploy shipped on the trail (slice 5.5) (c72296b)
- Helm part 2, drift, createNamespace, the deploy flag per helm version and nested charts (807be66)
- record the Helm drift, deploy flag, namespace and nested chart scenarios (3a89ae9)
- scan, resolve and apply write what each deploy on the trail shipped (slice 5.5) (49e246e)
- the Helm fixtures as CI recorded them (run 35738572765) (65d52dd)
- the Helm fixtures of the new scenarios, on helm v3.18.0 and v4.3.0 (d3534ff)
0.19.0 (2026-09-22)
Features
- fixtures recorded on CI, a Terraform plan must be complete, the mixed e2e with seven tools (5b8022a)
- the terraform binary, terragrunt and cdktf behind the OpenTofu adapter (01c56f8)
0.18.0 (2026-09-22)
Features
- a deploy made outside the dashboard is a line of the trail (bac73f9)
- a full scan reads each stack’s history and puts outside deploys on the trail (29c085e)
- the e2e checks that a stack deployed by hand is on the trail (610bb99)
- the history fixtures as the CI fixtures job recorded them (8e3c821)
- the Pulumi adapter reads the tool’s own history of a stack (1b7cc61)
0.17.0 (2026-09-22)
Features
- record the stacks the backend holds, for the check with backend: true (ad1cfd6)
- the check asks the backend with backend: true and gives one ignore block (4206025)
- the check reads concurrency groups, status checks and the second apply job (74aee7f)
- the check suggests inputs from the files a stack’s own files name (6ad2a56)
- wire the check part 3 into the check mode, its words and the backend input (f9822fc)
0.16.0 (2026-09-22)
Features
- a pull request that two stacks claim qualifies, more than 30 updates, presets outside the repo (slice 5.4) (ce0126e)
- mergeAndDeploy.preview shows what the merge of an update would change on its row (slice 5.4) (5abfd29)
- the whole loop on the fake for an update that two stacks claim (slice 5.4) (f77db49)
0.15.0 (2026-09-22)
Features
- phases in sluiceway.yaml, a phase per stack or read from its project file (slice 4.16) (0109546)
- resolve names the phase in a refusal, and the check lists phases and their edges (slice 4.16) (ab6ba96)
0.14.0 (2026-09-22)
Features
- init installs kubectl for the Kubernetes manifests stacks a kept sluiceway.yaml declares (ded0e60)
- init mode writes a starter workflow and sluiceway.yaml from the repo’s files (slice 4.14) (f2d2b53)
- init writes the merge and deploy workflow for a kept sluiceway.yaml with mergeAndDeploy.authors (b0d902e)
- rebuild dist with init after slice 4.13 (e9e9c0c)
- rebuild dist with init after the Kubernetes adapter (774564d)
- rebuild dist with the init mode (b971136)
- record 0065 and docs/init.md name the Kubernetes manifests adapter (a72edaa)
- record 0065, docs/init.md, the glossary, later.md and the onboarding log for init (6e74edc)
- the failing and deploying pictures show one crate per pending stack (b47b9db)
0.13.0 (2026-09-22)
Features
- a merge row whose tick was cleared without a comment gets a note, and more than ten updates are folded (ae6770a)
- record 0064 and the docs for merge and deploy, part 2, and dist rebuilt (slice 4.13) (eb9b095)
- the merge method follows Renovate’s config as Renovate reads it on GitHub (85a5267)
- the scan resolve dispatches after a merge is narrowed, through a dispatch input the workflow declares (44fa60e)
- up to thirty updates waiting to merge, and open pull requests paged past the oldest 100 (40b0ad0)
0.12.0 (2026-09-22)
Features
- deploying sits at the top, and its rows start with a spinner (slice 4.12) (d977c4a)
0.11.0 (2026-09-22)
Features
- record 0060, the docs, CI recording of the kubectl fixtures, and the e2e with four tools (15937c3)
- the Kubernetes manifests adapter: declared stacks, kubectl diff and apply of one rendered set (slice 4.9) (ea1a1e1)
0.10.0 (2026-09-22)
Features
- the check reads the workflow, and the result file gets a schema (slice 4.10) (63e8d92)
- the trail lists failed deploys at the time each really ended, its length is a setting, and a destroy alert names pending destroys (7a3f06c)
0.9.0 (2026-09-22)
Features
- a credential-free Helm example and the fixture recorder for it (ec5e9a6)
- a deploy the adapter refuses as moved ends like any moved change (9304790)
- CI records the Helm fixtures and the e2e runs three adapters (f0444b1)
- dependsOn: auto and drift per stack in sluiceway.yaml, and the check lists dependsOn (a01f805)
- rebuild dist with the Helm adapter (777cc7e)
- record 0058 and the docs of the Helm adapter (80046e6)
- rows carry what a preview read, resolve waits on it, and drift gets a preview page and a trail line (e7c2a6b)
- the headlines of the job log start with the dot of the result (slice 4.5) (7e2d61e)
- the Helm adapter: a release in a namespace is a stack (288f454)
- the Helm fixtures as the fixtures-helm job of CI recorded them (79dd36d)
- the Pulumi adapter reads the stacks a stack depends on from its stack references (374f965)
- the recently deployed list starts each line with the dot of its result (slice 4.5) (4111fca)
- the roadmap and the build plan count the Helm adapter as built (24cb963)
0.8.0 (2026-09-22)
Features
- a tick on a drifted row that nothing picked up is swept like any other (6d0d3b3)
- drift in the diff, the hash, config and the Pulumi adapter (record 0055) (8904add)
- fixture scenarios with real drift, recorded through a streamed preview-only refresh (8d99135)
- rebuild dist for drift (61f8d2c)
- record 0055 and the docs for drift (03ac9e6)
- scans check drift, resolve carries it, apply checks it again and repairs it (af58921)
- the check summary lists drift among the known keys (d27e459)
- the deploy a merge hands to apply carries drift when its hash covers it (037d93a)
- the drift row, the Drifted section and the drift header picture (5d103f5)
0.7.0 (2026-09-22)
Features
- a tick on an update waiting to merge merges it and opens a record that deploys after the merge (slice 4.2) (f554990)
- merge and deploy in the e2e, the docs, record 0054, and dist (slice 4.2) (d2cc931)
- merge and deploy next to stack dependencies: no merge while a dependency waits, and an apply job for the scan’s matrix (slice 4.2) (aeacf17)
- mergeAndDeploy.authors, the qualification rule and the merge row (slice 4.2) (3e704e8)
- the merge record, merge ticks in the edit history, and the pull request calls of the port (slice 4.2) (ed01f0d)
- the scan lists updates waiting to merge and hands a merged change to apply (slice 4.2) (cacf7aa)
0.6.0 (2026-09-22)
Features
- a three stack chain goes round the whole loop on the fake, in order (3ba64ad)
- dependsOn in sluiceway.yaml, checked against discovery, circles refused (263aa8c)
- queued rows survive a scan, and apply never deploys a queued record (31960da)
- rebuild dist for stack dependencies (6389019)
- record 0056, the config reference for dependsOn, glossary terms, and resolve on workflow_dispatch in the workflows (6af36c3)
- resolve refuses a tick whose dependency has a change waiting, queues the rest of a chain, and a dispatched resolve starts what is ready (ddc303a)
- settle starts the next layer and ends a queued record whose dependency did not deploy (b68bd7d)
- the dependency rules: refused, started and queued ticks, and when a queued record is ready (633235f)
- the e2e runs a chain of three stacks, one layer per run, with the real tool (c1018ad)
- the queued row state, counted as deploying, and the note on a tick refused for a dependency (2bd65af)
0.5.0 (2026-09-22)
Features
- header: small fish upstream of Penny, more as the water rises (9155a60)
- OpenTofu stacks are declared in sluiceway.yaml and found from their files (record 0053) (757a9ae)
- the adapter interface grows preparations and a saved plan (record 0053) (cb3e13f)
- the OpenTofu preview, tofu plan -out and show -json folded into a diff (record 0053) (2b25bdc)
- tofu init before the pool, the deploy of exactly the saved plan, and the tool diff (record 0053) (644b07e)
0.4.0 (2026-09-22)
Features
- small polish from real use (slice 2.22) (1d14d23)
0.3.0 (2026-09-22)
Features
- apply: a change that moved since the tick is told to the ticker in one comment (slice 2.20, part 4) (a8ff4a8)
- apply: an empty fresh preview ends as success, nothing to deploy (slice 2.20, part 3) (84fa132)
- apply: dry-run rehearses a tick and deploys nothing (slice 2.20, part 5) (34311b2)
- config: an ignore entry may give a reason, listed under In sync (slice 2.20, part 1) (7ae4999)
- config: deploys: false stops every deploy (slice 2.20, part 2) (373b130)
- dashboard.showValues, an allowlist of paths whose values may appear (slice 2.19) (2ea116c)
- slice 2.21, two checks: the UI tick event and stdout diagnostics on a failed preview (2d3fc3a)
- the diff hash covers the values a row shows (record 0052) (947f115)
0.2.0 (2026-09-22)
Features
- a preview page per pending stack, the page a row’s preview link lands on (slice 2.18) (d9f4e11)
- scan: a failed list of check runs stops the preview pages with one log line (e53d243)
0.1.1 (2026-09-21)
Bug Fixes
- find the action’s own version next to its bundle, not through GITHUB_ACTION_PATH (5018c8a)
0.1.0 (2026-09-21)
Features
- action: a branding block for the Marketplace, the droplet on blue (fcaaedf)
- adapters: a stack that does not exist in the backend is a failure reason of its own, picked from exit code 6 (5dfccea)
- adapters: changed keys are property paths as the tool writes them (65ab41c)
- adapters: slice 1.4, Pulumi discovery (1b9cc20)
- adapters: slice 1.5, Pulumi preview (78e4195)
- adapters: the adapter interface and Pulumi discovery from files alone (2d9da4a)
- adapters: the process runner with the time limit, and the tool environment (b49bab4)
- adapters: the Pulumi adapter’s apply: up with the preview’s quiet flags, the outputs kept to the tool, and no time limit of Sluiceway’s (b866188)
- adapters: the Pulumi version check and preview (ce27034)
- add action metadata with the inputs the decision records fix (3811f9d)
- check is the fifth mode, in the dispatch and in action.yml (3139526)
- config: dashboard.readOnly, for a workflow that only scans (80af3e7)
- core: add the diff hash over a canonical document (3a8e9b0)
- core: add the Stack, Change and Diff types and the derived stack id (3e5b0f8)
- core: attribution: the range of a stack, the pull requests and direct pushes it claims, the line and its counted form (9cd5c8f)
- core: deployment records: the task, the versioned payload, deploy facts and the row a stack gets at the late read (a96bb5b)
- core: ignore on the stack id, one id per stack, and applyConfig drops ignored stacks (cd4b088)
- core: parse sluiceway.yaml with defaults and its own error messages (30d7918)
- core: read sluiceway.yaml from the repo root and refuse sluiceway.yml (396cf66)
- core: slice 1.1, core types and the diff hash, render/ inside the boundary (edfef8e)
- core: slice 1.2, config loading and the JSON schema (4e4b3bf)
- core: the bounded pool a scan previews through (8d1805f)
- core: the check: what ignore leaves out and the glob that would work, the files no stack claims, the globs offered for scan.unrelated (2683889)
- core: the claim rule and the scan plan of a narrowed scan (b0c7a6c)
- core: the open deployment records of one run, which settle ends (1f09fd1)
- core: the orphan tick rule of a scan: carry, sweep, preview first, and when a resolve run is on its way (d207d4b)
- core: the preview failure reasons of record 0022 and their text (f6bac46)
- core: the reasons a deploy fails, from the fixed list of record 0022 (f5e52c6)
- core: the tick rule: levels from the three booleans, a list that only narrows, only a person can tick (6fcbdfe)
- core: the walk through the edit history that names the ticker of a tick (c8cefa8)
- dispatch on mode to stubs that fail as not implemented yet (c01e756)
- examples: add the pulumi-basic example project (83ad250)
- generate the JSON schema of sluiceway.yaml and check it in CI (d2fa09c)
- github: a workflow dispatch on the port, on Octokit, on the fake and on its server, and the fake starts an event for a person’s edit (ea0cfcb)
- github: deployment records on the port and on Octokit: create, statuses with auto_inactive false, one GraphQL page, the REST fall back, a workflow run (d1e11e6)
- github: finding, repairing and creating the dashboard (e9bb101)
- github: judge the ticks of a run against the live lookup, and write the one comment (0f2cb11)
- github: one deployment record by its id, on the port, on Octokit, on the fake and on its server (9e23360)
- github: slice 1.10, the GitHub port, the fake, the dashboard and the write loop (fcc52a6)
- github: step outputs, the result file under RUNNER_TEMP, and the dashboard url from the event (49a6347)
- github: the action ref rule, exact tag or commit SHA and never a moving tag (997d441)
- github: the bounded reads of deployment records, and an open deployment whose run is over becomes error (2036050)
- github: the compare call on the port, on Octokit and on the fake (a96ba6b)
- github: the edit history on the port, on Octokit, on the fake and on its server (2d7c9f9)
- github: the fall back of the bounded reads can name its stacks only when a page is full (c44efb3)
- github: the GitHub port and the fake GitHub with the lab’s size limits (34ea351)
- github: the job knows the file name of its workflow (0ed3134)
- github: the job-id input from job.check_run_id, and the run attempt with the job’s facts (bc92340)
- github: the Octokit implementation of the port (14e2d99)
- github: the permission lookup on the port, on Octokit and on the fake (d28ebc2)
- github: the runs an issue edit started, on the port, on Octokit, on the fake and on its server (23df7a2)
- github: the walk of the lookback and the files of one commit, on the port and on Octokit (d5ef061)
- github: the write loop, which reads back every write and tries three times (e42d8e8)
- header: one crate per pending stack up to 12, and the destroy sign on a pole (2e4fd33)
- header: the destroy sign on the pending and deploying pictures, and the plain files are gone (201e58b)
- header: the wide quay header, sixteen files of 880 by 160 (add6877)
- modes: a scan that follows a push previews only the stacks that claim a changed file (28a1dac)
- modes: after a change to sluiceway.yaml the log says the config file changed, not that no stack claims it (0033a1b)
- modes: apply is wired: the deployment-id input in action.yml, required in apply and an error in every other mode, and the job glue (929fb47)
- modes: apply sets outcome, stack, dashboard-url and the result file, and settle sets dashboard-url (761717f)
- modes: apply warns too when scan.logDiff is on in a public repo (bd53496)
- modes: apply: the record first, a fresh preview, the hash check, the deploy, the status and the row swap (3502b2e)
- modes: resolve is wired: the job glue, the matrix output in action.yml, and the refusal, rescan and cap tests (8802010)
- modes: resolve works the attribution line out again for the deploying row it writes, from a scan-sha that is a commit id (9e0c038)
- modes: resolve: the cheap payload check, body and history in one read, records created as queued, the matrix output before the row swap (00bdf8a)
- modes: scan sets its outputs on every way out and writes the result file (2ccb021)
- modes: scan, resolve and apply draw a read-only dashboard, and a read-only scan drops old ticks without a note (e2b37a8)
- modes: scan.logDiff prints the tool’s own diff of every pending stack in its log group (1839d7c)
- modes: settle ends the open records of its own run and starts a full scan (be223a8)
- modes: settle is wired as a mode (4de84d1)
- modes: the check mode: config, discovery and the files no stack claims, in the job log and the summary, with no port and no process runner (180ed53)
- modes: the full scan, with the pool, the job result and the job log (c992b07)
- modes: the scan puts the attribution line on its rows and the pull requests in its summary, and never fails over it (978b7c0)
- modes: the scan reads the deployment records at its late read: deploying rows, failure lines, recently deployed, and it defers to a deploy that ended under it (cbd3684)
- modes: the scan sweeps orphan ticks at its late read, and keeps its hands off while a resolve run is on its way (a807a95)
- render: a pending row can carry a tick through (3995511)
- render: a read-only dashboard draws no boxes and says so under the Pending heading (724183f)
- render: a row shortens long property paths and lists ten per change in its fold (3d70074)
- render: a row’s link lands on the attempt’s summary or the job’s log, and the summary has an index and an anchor per stack (caf3ea6)
- render: escape text from outside, and write times in UTC to the minute (0929d64)
- render: slice 1.6, markers and rows (1c03412)
- render: slice 1.7, the body (ba2e349)
- render: slice 1.7b, the wide header in the body renderer (0ac39cd)
- render: slice 1.9, the summary and the log text (9fa347f)
- render: the body around the row blocks, personality on and off (7b9e021)
- render: the budget of the summary, its levels and the note at the top (b4b64e4)
- render: the destroy sign as a pure function of the row markers (ca538c3)
- render: the header always shows the real state, and a destroy adds a sign (ca69615)
- render: the header state, six states and bad news wins (d0ea53e)
- render: the last full scan on the root marker (1cf23e7)
- render: the level of a shortened row on its marker (c3a6538)
- render: the log text of a diff, and the title of a stack’s group (4ac839d)
- render: the note about shortened rows, counted from the row markers (da6123f)
- render: the one comment for the refused ticks of a run (14c1cc7)
- render: the pending level of record 0039 (943b963)
- render: the result file of a scan and of an apply, its strict schema, and the dashboard counts from the row markers (41fa2f2)
- render: the row renderer for every kind of row, redact and the four levels (574ef68)
- render: the size budget, biggest rows first, give-back, destroys last (97afbd4)
- render: the summary names the ignore glob that takes a stack off the dashboard when it does not exist in the backend (141f7b1)
- render: the summary of a scan, every previewed stack in full (b4965e9)
- render: the summary of an apply, and whether a deployment record is still open (1ebe1e0)
- render: the three marker kinds, value encoding and reading a body (aefbe4f)
- render: the voice in two lines, and the plain lines around them (d6aa5e6)
- scan: log the number of GitHub API requests the scan made (25425be)
- scripts: add the fixture recorder and its scenarios (4eb95c2)
- slice 1.3, the example project and the fixture recorder (695e454)
- the outputs of record 0041 in action.yml, and the job glue that hands the modes RUNNER_TEMP and the event (fc44971)
- the scan wired into the entry point, with its inputs, job facts and job log (134c3e3)
Bug Fixes
- adapters: an empty detailed diff falls back to the tool’s list of names (acb9142)
- core: one form of the failure reason, the lower case one of record 0027 (59a3a26)
- make the first release 0.1.0 instead of 1.0.0 (b8a9b81)
- make the first release 0.1.0 instead of 1.0.0 (bff83a8)
- modes: one full stop after GitHub’s words in the attribution log line (9766956)