PrefectHQ
prefect
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
Preserve unresolved list items in `apply_values` when `remove_notset=False` Fixes templated step-output tags (e.g. `{{ get-commit-hash.stdout }}`) being dropped from deployment tags by the early env-var templating pass in `prefect deploy`. (OSS-8325) Co-authored-by: Alex Streed <desertaxle@users.noreply.github.com>
devin/1791753327-preserve-templated-list-items
4 hours ago
Default concurrency lease storage to the filesystem The default memory lease storage loses every lease when the server restarts, while the slots those leases hold stay counted in the database. Nothing can release them afterwards: the repossessor finds no expired lease and the holder's own release finds no lease, so each restart permanently removes the capacity held at that moment. The filesystem storage keeps leases under PREFECT_HOME, so they survive a restart and expire normally. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01229pDfZpTBKHBc1sSaAbLb
default-filesystem-lease-storage
7 hours ago
Timestamp a proposed flow run state after the transition it waits on `POST /flow_runs/{id}/set_state` stamped the proposed state with the current time before taking the run's row lock. When two transitions overlap, the one that waits can carry the earlier timestamp, so it sorts before the state it replaced and the history ends in a state the run is not in. Take the lock first, then build the state. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01229pDfZpTBKHBc1sSaAbLb
fix-state-timestamp-order
7 hours ago
Release a concurrency lease's slots once when it is released concurrently `decrement-with-lease` and the repossessor read a lease, decrement its limits, then revoke it. Two overlapping releases of the same lease (a client retrying after a timeout, or the holder racing the repossessor) both read it before either revokes it, so both decrement and the second frees a slot that belongs to another holder. `revoke_lease` now reports whether the call removed the lease, and both paths revoke first and decrement only when they were the one to remove it. Storage that returns None is treated as before. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01229pDfZpTBKHBc1sSaAbLb
fix-concurrent-lease-release
7 hours ago
Sync and retry submodule updates on every pull When submodules are enabled, an existing checkout pinned to a commit_sha now runs the submodule step on every pull, even when the commit is already checked out, so an update that failed on an earlier pull is retried. The step runs `git submodule sync --recursive` before `git submodule update --init --recursive` so URL changes in `.gitmodules` are picked up.
digit50:fix/git-storage-pinned-commit-checkout
16 hours ago
Restore the worker environment after each process pool task `_run_task_in_subprocess` applied each submit's environment snapshot on top of the worker's existing environment, so a reused worker process kept variables set by earlier tasks. The worker environment is now restored after every task, so each task sees only its own snapshot.
digit50:fix/process-pool-runner-context-per-submit
16 hours ago
Update submodules when checking out a new commit_sha With `include_submodules=True`, an existing checkout that moves to a new `commit_sha` only ran `git checkout`, leaving submodule working trees at the previous pin. It now runs `git submodule update --init --recursive` after the checkout, matching the `--recurse-submodules` used by the clone and pull paths.
digit50:fix/git-storage-pinned-commit-checkout
18 hours ago
Restore the worker environment after each process pool task `_run_task_in_subprocess` applied each submit's environment snapshot on top of the worker's existing environment, so a reused worker process kept variables set by earlier tasks. The worker environment is now restored after every task, so each task sees only its own snapshot.
digit50:fix/process-pool-runner-context-per-submit
18 hours ago
Latest Branches
CodSpeed Performance Gauge
0%
Preserve templated step-output items in deployment tag lists
#23391
4 hours ago
f653bb2
devin/1791753327-preserve-templated-list-items
CodSpeed Performance Gauge
0%
Default concurrency lease storage to the filesystem so leases survive a restart
#23389
7 hours ago
0d64894
default-filesystem-lease-storage
CodSpeed Performance Gauge
0%
Timestamp a proposed flow run state after the transition it waits on
#23385
7 hours ago
92d6f95
fix-state-timestamp-order
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs