Skip to content

1.2.52

Choose a tag to compare

@github-actions github-actions released this 11 Sep 07:54
· 174 commits to main since this release
Immutable release. Only release title and notes can be modified.
  • Add shared resource pools for jobs and DAG tasks, with weighted capacity,
    durable priority queues, deadlines, and dashboard/API/MCP controls.
  • Add result verification before recording success or starting downstream
    tasks, with diagnostics and the job's existing failure and retry handling.
  • Add workflow recovery previews for retrying failed tasks, restarting from
    selected tasks, or replaying failed dates while reusing retained results
    and artifacts.
  • Reduce overhead for staggered job starts and completions, concurrent
    workflow status reads, and large workflow graphs in the terminal UI.
    Prometheus skips repeated searches for schedules with no future runs.
  • Make the hosted demo interactive through a separate gateway, with bounded
    sample actions, lighter workloads and Docker/launchd setup. Demo policy
    stays outside the standard daemon and dashboard.
  • Fix WinGet release dates and package metadata.

Performance vs 1.2.51

Gate: passed. Every metric stayed inside its regression limit.

Both versions ran interleaved on one runner. Time metrics compare the best round of each and memory metrics the median. A negative change means faster or smaller.

A regression gates only when it exceeds both its declared limit and 2 noise bands. The +- column is that band: the round-to-round scatter of the two sides, combined in quadrature.

All benchmark results (98 metrics)
Benchmark 1.2.51 1.2.52 Change Noise +- Gate (eff.)
tui.dag_graph_paint_2k 13.168 s 284.76 ms -97.8% 0.6% 15%
loop.stall_completions_500 14.91 ms 9.75 ms -34.6% 1.1% 33.54% (declared 25%)
dag.list_runs_warm 12.65 ms 14.61 ms +15.5% 0.4% 25%
dag.list_dags_warm 1.08 ms 1.21 ms +12.6% 2.2% 185.7% (declared 25%)
job.report_noop_100k 48.20 ms 52.37 ms +8.7% 3.8% 15%
config.parse_crontab_1k 11.79 ms 12.58 ms +6.7% 0.8% 84.84% (declared 15%)
mem.gc_pause_100k 124.81 ms 131.37 ms +5.3% 10.5% 25%
mem.jobconfig_2k 1.49 MB 1.57 MB +5.2% 0.1% 33.58% (declared 15%)
loop.idle_wake_rate 21.11 ms 21.86 ms +3.6% 1.6% 25%
config.reload_gc_100k 2.409 s 2.482 s +3.0% 0.7% 25%
state.kv_roundtrip_200 186.46 ms 180.87 ms -3.0% 2.3% 15%
startup.import_cronexpr 28.09 ms 27.82 ms -2.7% 1.5% 25%
schedule.pressure_20k_48h 16.31 ms 16.75 ms +2.7% 2.8% 61.3% (declared 15%)
config.jobconfig_3k 66.64 ms 68.36 ms +2.6% 1.3% 15%
schedule.reseed_100k 201.24 ms 206.06 ms +2.4% 3.5% 15%
schedule.suggest_slot_5k 4.34 ms 4.25 ms -2.1% 1.5% 230.6% (declared 15%)
state.fanout_gather_100 24.56 ms 25.06 ms +2.0% 7.4% 40.71% (declared 25%)
schedule.due_pass_100k 15.46 ms 15.18 ms -1.8% 1.0% 64.68% (declared 25%)
loop.stall_metrics_2000 27.37 ms 26.92 ms -1.6% 3.4% info
dag.finish_fanin_1k 3.99 ms 4.06 ms +1.6% 2.4% 125.2% (declared 25%)
config.interp_2k 79.17 ms 80.43 ms +1.6% 0.3% 15%
schedule.reseed_local_20k 94.18 ms 95.67 ms +1.6% 1.4% 15%
schedule.duplicates_20k 17.59 ms 17.32 ms -1.5% 4.0% 56.84% (declared 15%)
startup.import_daemon 175.53 ms 177.98 ms +1.5% 0.2% 25%
webui.week_walk_500 3.45 ms 3.50 ms +1.4% 2.6% 57.97% (declared 25%)
config.reload_warm_50 47.54 ms 46.86 ms -1.4% 0.9% 25%
redact.secrets_5k 20.77 ms 21.04 ms +1.3% 1.6% 48.16% (declared 15%)
state.append_1k 719.76 ms 711.22 ms -1.2% 1.5% 15%
state.mutate_document_1k 210.97 ms 208.59 ms -1.1% 1.7% 25%
cronexpr.test_match_200k 26.98 ms 26.69 ms -1.1% 2.5% 37.06% (declared 15%)
schedule.next_fires_2k 26.71 ms 27.00 ms +1.1% 1.4% 37.44% (declared 15%)
state.boot_rehydrate_populated 46.41 ms 46.90 ms +1.1% 2.2% 21.55% (declared 15%)
schedule.lint_250_zoned 7.48 ms 7.55 ms +1.0% 0.7% 133.8% (declared 15%)
dag.plan_claim_10k 16.19 ms 16.35 ms +1.0% 6.0% 61.76% (declared 15%)
redact.adversarial_10k 36.55 ms 36.90 ms +1.0% 2.1% 27.36% (declared 15%)
dag.advance_quiescent_1k 71.85 ms 71.20 ms -0.9% 0.7% 25%
schedule.cold_build_100k 505.21 ms 500.68 ms -0.9% 1.8% 15%
config.reload_warm_include_50 101.97 ms 101.06 ms -0.9% 1.3% 25%
startup.job_set_id_100 226.47 ms 224.65 ms -0.9% 1.0% 25%
config.parse_yaml_3k 2.015 s 2.033 s +0.9% 1.6% 15%
cronexpr.occurrences_1k 14.41 ms 14.29 ms -0.9% 2.0% 69.39% (declared 15%)
tui.log_restyle_5k 32.66 ms 32.38 ms -0.8% 0.5% 30.62% (declared 15%)
resources.monitor_stop_100 283.88 ms 281.60 ms -0.8% 1.6% 25%
cronexpr.parse_complex 24.46 ms 24.66 ms +0.8% 1.3% 40.87% (declared 15%)
mem.rss_daemon_import 36.07 MB 36.35 MB +0.8% 0.1% 25%
state.gc_sweep_2k_streams 43.74 ms 44.09 ms +0.8% 1.1% 34.29% (declared 25%)
cronexpr.next_simple 38.63 ms 38.92 ms +0.8% 2.2% 25.89% (declared 15%)
state.list_records_2k 28.95 ms 28.74 ms -0.7% 1.4% 34.54% (declared 15%)
cronexpr.parse_simple 44.73 ms 44.40 ms -0.7% 1.6% 22.36% (declared 15%)
webui.render_fleet_15x400 23.74 ms 23.58 ms -0.7% 1.6% 25%
state.list_documents_600 68.40 ms 67.95 ms -0.6% 0.8% 17.54% (declared 15%)
startup.version 53.23 ms 53.03 ms -0.6% 0.6% 25%
dag.build_layered_10k 50.19 ms 50.50 ms +0.6% 1.1% 19.92% (declared 15%)
webapi.jobs_payload_500 58.75 ms 58.39 ms -0.6% 0.8% 17.02% (declared 15%)
json.roundtrip_3k 575.86 ms 572.38 ms -0.6% 0.9% 15%
state.artifact_list_churn 1.60 ms 1.61 ms +0.6% 1.6% 312.6% (declared 25%)
state.list_records_warm 126.09 ms 125.41 ms -0.5% 1.2% 15%
cluster.job_owner_2k 58.81 ms 59.12 ms +0.5% 1.1% 17.01% (declared 15%)
tui.log_search_20k 16.26 ms 16.18 ms -0.5% 0.7% 61.49% (declared 15%)
job.stream_capture_120k 44.48 ms 44.70 ms +0.5% 1.0% 22.48% (declared 15%)
startup.import_config 94.33 ms 94.74 ms +0.5% 0.4% 25%
state.lease_renew_200 131.73 ms 131.09 ms -0.5% 4.8% 37.96% (declared 25%)
json.roundtrip_orjson_3k 212.00 ms 210.98 ms -0.5% 0.9% 15%
webui.render_rows_500 16.88 ms 16.96 ms +0.5% 1.0% 25%
cluster.parse_summaries_6k 86.87 ms 86.45 ms -0.5% 0.9% 15%
state.depends_on_past_gate 3.47 ms 3.48 ms +0.5% 1.4% 57.66% (declared 25%)
cronexpr.next_dst_2k 34.85 ms 34.70 ms -0.4% 1.4% 28.69% (declared 15%)
state.derive_max_cold 25.68 ms 25.57 ms -0.4% 1.7% 38.95% (declared 15%)
dag.mapped_drain_256 29.75 ms 29.87 ms +0.4% 2.4% 33.61% (declared 25%)
webapi.sse_burst_20k 57.81 ms 58.04 ms +0.4% 1.1% 15%
dag.advance_quiescent_chain 70.57 ms 70.83 ms +0.4% 0.4% 25%
statsd.emit_2k 14.61 ms 14.66 ms +0.3% 0.6% 68.43% (declared 25%)
webui.render_term_5k 124.05 ms 124.40 ms +0.3% 0.4% 25%
dag.build_chain_10k 29.27 ms 29.19 ms -0.3% 0.7% 34.16% (declared 15%)
redact.clean_20k 19.85 ms 19.90 ms +0.3% 2.1% 50.38% (declared 15%)
ical.render_500x7d 51.92 ms 51.78 ms -0.3% 1.7% 19.26% (declared 15%)
dag.adopt_scan_500 106.14 ms 106.41 ms +0.3% 1.1% 25%
state.artifact_get_newest 23.05 ms 23.10 ms +0.3% 0.7% 25%
cluster.fleet_view_15x400 89.50 ms 89.27 ms -0.3% 0.6% 25%
webapi.auth_scope_20k 93.94 ms 94.17 ms +0.2% 1.3% 15%
mcp.handle_200 131.09 ms 131.37 ms +0.2% 0.6% 15%
startup.python_baseline 16.97 ms 17.01 ms +0.2% 1.1% info
cronexpr.next_complex 15.99 ms 16.02 ms +0.2% 2.1% 62.54% (declared 15%)
push.seal_500 93.24 ms 93.07 ms -0.2% 0.7% 15%
fingerprint.job_set_id_10k 294.64 ms 294.11 ms -0.2% 0.3% 15%
loop.stall_jobs_500 21.07 ms 21.10 ms +0.2% 0.4% info
config.parse_yaml_300 203.40 ms 203.72 ms +0.2% 0.8% 15%
startup.validate_config_100 219.40 ms 219.73 ms +0.1% 1.1% 25%
state.derive_max_warm 261.10 ms 261.47 ms +0.1% 0.3% 15%
prometheus.render_500 17.61 ms 17.62 ms +0.1% 0.9% 56.79% (declared 15%)
mem.rss_version 14.64 MB 14.63 MB -0.0% 0.0% 25%
tui.drawer_paint_5k 137.80 ms 137.83 ms +0.0% 0.6% 15%
webui.append_line_5k 14.0 us 14.0 us +0.0% 6.0% 25%
webui.radar_walk_500 380.0 us 380.0 us -0.0% 0.0% 526.3% (declared 25%)
webui.log_count_5k 90.0 us 90.0 us +0.0% 5.0% 2222% (declared 25%)
webapi.jobs_bytes_500 181.42 KB 181.42 KB +0.0% 0.0% 15%
webapi.jobs_gzip_500 5.19 KB 5.19 KB +0.0% 0.0% 15%
mem.crontab_10k 2.80 MB 2.80 MB +0.0% 0.0% 17.85% (declared 15%)

Full Changelog: 1.2.51...1.2.52