Changelog
Releases of the Zipline engine and platform, pulled directly from GitHub.
v1.27.2
October 19, 2026What's Changed
Minor features
- Wire ModelTransforms-source GroupBys correctly into the DAG by @piyush-zlai in #2187
- Emit join-level fetch null/total counters without the feature tag by @sean-zlai in #2257
- Synchronize Teams for UI-managed webhooks by @david-zlai in #2049
Bug fixes
- Authenticate Redis bulk loader from executor environment by @chewy-zlai in #2225
- Say "not logged in" when a hub answers with its login page by @diya-zipline in #2240
- Stop quoting {VAR} placeholders in EMR Serverless overflow --conf flags by @kumar-zlai in #2256
Full Changelog: v1.27.1...v1.27.2
What's Changed
Minor features
- Add UI-managed workflow webhooks with durable delivery by @david-zlai in #1351
Bug fixes
- Crucible: resolve Ray, Flink and eval secrets in the job; fix Ray log scope by @diya-zipline in #1384
- fix(eval): better handling of pure parquet by @cristian-zlai in #1392
- Improve metric chart rate interval by @sean-zlai in #1394
- Keep secret placeholders for the job when the hub env value is empty by @kumar-zlai in #1396
Full Changelog: v1.27.1...v1.27.2
v1.27.1
October 15, 2026What's Changed
Minor features
- Give the Ray trainer structured logs and a pass/fail bar by @diya-zipline in #2226
- [Online] Serve joins whose left is a JoinSource by @BenMagyar in #2242
- Run monolith join parts N at a time (spark.chronon.join.part_parallelism) by @BenMagyar in #2245
Bug fixes
- Point crucible at its own Databricks secrets, not canary's by @diya-zipline in #2235
- Snap a bare --end-ds to the end of the day in zipline hub by @sean-zlai in #2224
- Avoid dropping tables for nested nullability-only schema changes by @varant-zlai in #2244
- Fix Kinesis connector lz4-java vulnerabilities by @cristian-zlai in #2243
- Make the Instacart model train end to end on crucible Ray, with in-job secrets by @diya-zipline in #2238
- Update Flink pkg deps to fix crucible gigatile Iceberg CNF by @piyush-zlai in #2247
- Fix computation range in the engine when recompute_days is set by @kumar-zlai in #2248
- Check pushed state against the branch's upstream, not its name by @diya-zipline in #2239
Full Changelog: v1.27.0...v1.27.1
What's Changed
Minor features
- [Crucible] Apply mode-scoped quotas to compute pods by @tchow-zlai in #1341
- [Crucible] Select shared compute through stable role labels by @tchow-zlai in #1378
Bug fixes
- Split Ray head and worker logs on the container label Hub already uses by @diya-zipline in #1375
- Always resolve job secrets in-job; drop deferSecretsToJob by @kumar-zlai in #1377
- Fill non-secret conf placeholders from the hub env in the batch submit path by @kumar-zlai in #1380
- Add Crucible compute-plane monitor tab by @piyush-zlai in #1382
- Normalize workflow ranges to the terminal partition grid by @sean-zlai in #1362
- Pin a scheduled run's upstream nodes to the conf version it was scheduled with by @diya-zipline in #1374
- Run Crucible training once and release Ray pods when the job ends by @diya-zipline in #1383
- Preserve kv.tablePrefix across backend selection by @cristian-zlai in #1391
Full Changelog: v1.27.0...v1.27.1
v1.27.0
October 8, 2026What's Changed
Minor features
- Give agents verbs for trials, and teach them not to self-report metrics by @diya-zipline in #2204
- Add an Instacart pipeline, so a measured score can move for a reason by @diya-zipline in #2207
- [Redis writes 2/4] Add durable state and mutation primitives by @BenMagyar in #2136
Bug fixes
- feat: skills-eval for agent, use it to reduce size of skills by @cristian-zlai in #2195
- Give the GigaTile Iceberg source its RowData type information by @BenMagyar in #2216
- grype: ignore GHSA-9437-39hj-3c93 (Spark History Server XSS) until Spark upgraded by @piyush-zlai in #2223
- Giga tile Flink: multi-catalog Iceberg source + overwrite-aware polling by @piyush-zlai in #2222
- Extend Py GroupBy configs to support setting gigatile mode + example confs by @piyush-zlai in #2221
- fix: bump spark4 jackson to 2.21.7 (GHSA-p6pp-m3f8-5c89, GHSA-cxp5-3px4-pw24) by @piyush-zlai in #2228
- feat(cli): skip sync by @cristian-zlai in #2227
Full Changelog: v1.26.0...v1.27.0
What's Changed
Minor features
- Trials: schema-backed experiment tracking, the API, and the UI by @diya-zipline in #1356
- Say why a failed experiment failed, and on which engine by @diya-zipline in #1359
- Add bulk workflow cancellation end to end by @sean-zlai in #1361
- Split Ray logs into head and worker views by @diya-zipline in #1370
- Give a trial's confs and features the identity a name alone lacks by @diya-zipline in #1360
Bug fixes
- ci: scan eval-aws, eval-azure and Spark 4 AWS canary images with grype by @piyush-zlai in #1354
- Add workflow duration display by @sean-zlai in #1355
- Add cancel workflow action to workflow detail view by @sean-zlai in #1358
- Update better-auth to 1.7.7 by @sean-zlai in #1363
- Add workflow cancellation inside nested workflow views (drilldown drawer) by @sean-zlai in #1364
- Disable orchestrator sensor retries for new workflows by @tchow-zlai in #1366
- feat(orchestration): forward Iceberg catalog config to Flink streaming jobs by @piyush-zlai in #1369
- Say "that namespace does not exist" instead of "forbidden" by @diya-zipline in #1371
- fix: grype scan failures — spark 3.5.8, frontend npm overrides, spark4 jackson 2.21.7 by @piyush-zlai in #1373
- fix(eval): concurrent isolation by @cristian-zlai in #1372
Full Changelog: v1.26.0...v1.27.0
v1.26.0
September 29, 2026What's Changed
Minor features
- Label the CTR example with what happened, not with rand() by @diya-zipline in #2209
- Resolve secrets in the job through vault refs by @kumar-zlai in #2211
Bug fixes
- Put the CTR model in the team its training data belongs to by @diya-zipline in #2203
- Branching and deployment flow doc by @piyush-zlai in #2180
- fix: bump jackson-databind to 2.18.10 (GHSA-q4xh-88c3-wmh7 et al) by @piyush-zlai in #2212
- fix: grype spark4 — jackson 2.21.6, log4j-layout-template-json pin, strip org.jline pom metadata by @piyush-zlai in #2213
Full Changelog: v1.25.0...v1.26.0
What's Changed
Minor features
- Route Crucible workloads to team namespaces by @tchow-zlai in #1335
- Defer secret resolution to the job on the EMR Serverless route by @kumar-zlai in #1346
- Add trials and experiments schema with its DAO by @diya-zipline in #1322
Bug fixes
- Strip shaded JLine builtins from eval and Azure hub assemblies by @piyush-zlai in #1340
- Make the demo data something a model can actually learn from by @diya-zipline in #1339
- Surface Ray logs and dashboard links in Hub by @diya-zipline in #1317
- Make the local Hub stack usable out of the box by @diya-zipline in #1331
Full Changelog: v1.25.0...v1.26.0
v1.25.0
September 24, 2026What's Changed
Bug fixes
- fix(integration): use raw_decode to tolerate trailing output after workflowId JSON by @piyush-zlai in #2205
- Share sensor compute across ranges on the same grid by @tchow-zlai in #2162
Full Changelog: v1.24.1...v1.25.0
What's Changed
Minor features
- Add conf archiving and localStorage filter persistence by @sean-zlai in #1330
Bug fixes
- ci: set ZIPLINE_ALLOW_DIRTY=1 for integration test jobs by @piyush-zlai in #1334
- Accept single query values for list params in Hub request parsing by @piyush-zlai in #1338
- Raise Hub request body limit and accept gzip request bodies by @piyush-zlai in #1337
Full Changelog: v1.24.1...v1.25.0
v1.24.1
September 23, 2026What's Changed
Bug fixes
- Avoid per-request GroupBy deep copy in GroupByFetcher by @BenMagyar in #2194
- Name the trainer example for the business, not the runtime by @diya-zipline in #2193
- Revert trigger fire-on-window-close from #1575 by @piyush-zlai in #2201
- Set up guardrail around flagging unpushed changes by @piyush-zlai in #2199
Full Changelog: v1.24.0...v1.24.1
What's Changed
Minor features
- Give each model version its own output directory by @diya-zipline in #1328
Bug fixes
- Route Crucible pods to the submitting team's node pool by @kumar-zlai in #1325
Full Changelog: v1.24.0...v1.24.1
v1.24.0
September 21, 2026What's Changed
Minor features
- Add streaming Flink runtime for ModelTransforms-source GroupBys by @piyush-zlai in #2186
Bug fixes
- Make agent feature edits reach CTR training; fix click-history clock by @diya-zipline in #2181
- Correct the activity clock at the source instead of forking the GroupBy by @diya-zipline in #2183
- Score the CTR model on a held-out day instead of nothing by @diya-zipline in #2182
- fix(spark): skip log rows with unknown schema_hash instead of failing the flattener by @nikhil-zlai in #2185
- [Spark 4] Ship AWS engine artifacts in the release image by @tchow-zlai in #2189
Full Changelog: v1.23.4...v1.24.0
What's Changed
Bug fixes
- Tag job submission/completion metrics with workflow branch by @piyush-zlai in #1321
- fix(eval): s3a checks + contextual sources by @cristian-zlai in #1323
Full Changelog: v1.23.4...v1.24.0
v1.23.4
September 17, 2026What's Changed
Bug fixes
- Rename KV publication override flag by @tchow-zlai in #2174
- Address remaining CTR and training review findings by @diya-zipline in #2179
Full Changelog: v1.23.3...v1.23.4
What's Changed
Bug fixes
- ui(stats): set a category for complex features by @cristian-zlai in #1319
- Streamline timeline partition and workflow payloads by @sean-zlai in #1309
Full Changelog: v1.23.3...v1.23.4
v1.23.3
September 15, 2026What's Changed
Minor features
- Add MegaTile streaming pipeline: 2 point gets instead of prefix scan by @nikhil-zlai in #1627
- [Redis writes 1/4] Define batch modes and publication contract by @BenMagyar in #2135
- Expose staging-query force overwrite in the CLI by @tchow-zlai in #2154
- Publish Bigtable KV uploads with version timestamps by @tchow-zlai in #2155
- GigaTile: push-based serving — design doc, core processor, Flink wiring by @nikhil-zlai in #1645
Bug fixes
- Right-size GCP Dataproc and AWS EMR canary clusters by @tchow-zlai in #2153
- Align EMR Serverless initial executors with canary cap by @tchow-zlai in #2156
- Fix Iceberg partition column case resolution by @diya-zipline in #2079
- Add opt-in DELTA temporality knob for OTLP metrics by @bobbetter in #2157
- [Spark 4] Run Crucible compute on Spark 4 by @tchow-zlai in #2152
- Add aws_databricks derivations join + ctr_labels SQ; publish Spark 4 cloud_aws jar per dev VERSION by @piyush-zlai in #2163
- Add sub-daily dayoffset canary confs by @kumar-zlai in #2167
- [Spark 4] Align Flink native dependencies by @tchow-zlai in #2168
- Add AWS TRAIN_MODEL hello-world canary and Hub integration test by @diya-zipline in #2158
- Pass submission context to direct model training by @diya-zipline in #2176
- [Spark 4] Select Spark 4 Flink dependencies for Crucible by @tchow-zlai in #2170
- Add AWS CTR training through Hub and Ray by @diya-zipline in #2161
- improv(stats): Compute nulls on complex types by @cristian-zlai in #2178
- Grid-floor non-string ds in scanDistinctPartitions fallback by @piyush-zlai in #2177
Full Changelog: v1.23.2...v1.23.3
What's Changed
Minor features
- UI: Show online joins from fetcher on monitor overview with detail drawers showing per-group batch data status by @sean-zlai in #1303
- Route TRAIN_MODEL directly through Crucible (Slice B) by @diya-zipline in #1297
- Harden direct Ray training submissions and trainer archives by @diya-zipline in #1307
Bug fixes
- Prevent feature canary runs from promoting stable by @tchow-zlai in #1300
- improv(crucible): different jar manifest spark3/4 by @cristian-zlai in #1311
- improv(eval): address staging query failure on quickstart by @cristian-zlai in #1306
- feat(aws): fetcher with logging by @cristian-zlai in #1316
Full Changelog: v1.23.2...v1.23.3
v1.23.2
September 4, 2026What's Changed
Bug fixes
- [Spark 4] Add source compatibility CI by @tchow-zlai in #2142
- Add DirectTrainingSubmitter next to TrainingRequest by @diya-zipline in #2141
- [Spark 4] Apply Delta partial-stats data skipping by @tchow-zlai in #2144
- Revert Flink TaskManager memory back to 4G by @piyush-zlai in #2149
- [Spark 4] Use official Delta runtime for Crucible AWS by @tchow-zlai in #2145
- [Spark 4] Use official UC and Iceberg runtimes for Crucible AWS by @tchow-zlai in #2146
- [Spark 4] Publish a consistent Crucible engine set by @tchow-zlai in #2147
- Resolve GroupBy status via serving info instead of CHRONON_METADATA conf by @piyush-zlai in #2150
- [Spark 4] Build Crucible artifacts in the canonical build job by @tchow-zlai in #2151
Other changes
- Add Kafka tasks parallelism override by @JoeTime17 in #2148
New Contributors
- @diya-zipline made their first contribution in #2141
Full Changelog: v1.23.1...v1.23.2
What's Changed
Bug fixes
- [Spark 4] Add Platform source compatibility CI by @tchow-zlai in #1295
- [Spark 4] Publish and select AWS Hub and Eval images by @tchow-zlai in #1296
- Expose batch-table GC days override to AWSCleanupVerticle by @piyush-zlai in #1299
Full Changelog: v1.23.1...v1.23.2
v1.23.1
September 2, 2026What's Changed
Bug fixes
- Yank sensitive config values from Vertx /config endpoint response by @piyush-zlai in #2134
- [Spark 4] Deprecate configurable write formats by @tchow-zlai in #1661
- [Spark 4] Preserve query semantics across Spark 3 and Spark 4 by @tchow-zlai in #2140
- improv(flink): memory settings for dataproc submitter by @cristian-zlai in #2133
Full Changelog: v1.23.0...v1.23.1
What's Changed
Bug fixes
- Redact sensitive UI environment variables by @sean-zlai in #1291
- fix(orchestration): ask a producer about its own grid everywhere by @kumar-zlai in #1280
- Convert Chronon training requests to Crucible Ray requests by @diya-zipline in #1283
- [Spark 4] Make Platform eval source-compatible with Spark 3 and 4 by @tchow-zlai in #1293
- fix(eval): proj and non-proj allowed in wheres by @cristian-zlai in #1294
New Contributors
- @diya-zipline made their first contribution in #1283
Full Changelog: v1.23.0...v1.23.1
v1.23.0
August 31, 2026What's Changed
Minor features
- Add opt-in BatchGetItem path for DynamoDBKVStoreImpl.doGetLookups by @piyush-zlai in #2114
- KVStore.cleanupTables + DynamoDB batch-table sweep by @piyush-zlai in #2128
Bug fixes
- Pipeline Redis batch and streaming reads by @BenMagyar in #2095
- fix(flink): prevent empty Flink manifest on restart by @cceasy in #2116
- Wait for DynamoDB replicas ACTIVE in bulkPut by @piyush-zlai in #2125
- Isolate TTL cache refresh execution by @BenMagyar in #2092
- Strip executionInfo from Join metadata on KV upload by @piyush-zlai in #2126
- Use 4G TaskManagers for canary configs by @tchow-zlai in #2131
- Scheduled refresher for DynamoDB batch table registry pointer by @piyush-zlai in #2129
- Make UNIQUE_TOP_K duplicate resolution deterministic by @tchow-zlai in #2130
Other changes
- feat(cloud_gcp): forward spark.bigtable.* confs to the BigTable bulk-load writer by @cceasy in #2127
Full Changelog: v1.22.0...v1.23.0
What's Changed
Minor features
- feat(eval): bigquery setups allowed + tests for aliases by @cristian-zlai in #1274
- CleanupVerticle + AWS DynamoDB batch-table sweep by @piyush-zlai in #1287
- UI: Monitor chart filters by @sean-zlai in #1289
- UI: Add date range filtering to home and workflow views by @sean-zlai in #1290
- Site: Add /docs/changelog page for GitHub releases by @sean-zlai in #1284
Bug fixes
- Upgrade frontend deps (notable Better Auth to 1.7) by @sean-zlai in #1288
Full Changelog: v1.22.0...v1.23.0
v1.22.0
August 20, 2026What's Changed
Bug fixes
- last values with sub-daily offset should write with batch end by @BenMagyar in #2109
- Use latest key filter snapshot for uploads by @BenMagyar in #2087
- Patch Iceberg HttpComponents security vulnerabilities by @nikhil-zlai in #2112
- Exclude metaData recursively from semantic hashes by @kumar-zlai in #2111
- Increase GCP integration executor memory by @tchow-zlai in #2113
- Align chained join schemas with response precedence by @BenMagyar in #2118
- Tweak IonWriter to add ttl field by @piyush-zlai in #2119
- Fix nightly Grype failures: bump netty to 4.1.137.Final by @piyush-zlai in #2121
- Add env var toggle to disable fetcher batch IR cache by @piyush-zlai in #2120
- Add pre-traffic warmup hook to FetcherVerticle by @piyush-zlai in #2104
- Bump test_run_adhoc timeout to 1800s by @david-zlai in #2122
Full Changelog: v1.21.1...v1.22.0
What's Changed
Minor features
- UI: Add schedule view filtering and sorting by @sean-zlai in #1265
- Add schedule state filtering to conf list by @sean-zlai in #1277
Bug fixes
- Pin httpcore5 to fix Grype scans by @tchow-zlai in #1268
- Check cancel streaming eligibility server-side by @sean-zlai in #1270
- bug(eval): revise fields available for derivations by @cristian-zlai in #1273
- Patch Platform images for Grype HTTP advisories by @nikhil-zlai in #1271
- ci: increase Mill heap for eval assembly by @tchow-zlai in #1275
- ci: isolate Mill assembly builds by @tchow-zlai in #1276
- ci: exclude NVMe stress from standard AWS Canary by @tchow-zlai in #1278
- ci: use large runner for jar builds by @tchow-zlai in #1279
Full Changelog: v1.21.1...v1.22.0
v1.21.2
August 13, 2026What's Changed
Bug fixes
- Add Flink latency stage metrics by @german-krikorian-ck in #2085
- Register Iceberg table broadcast payloads with JavaSerializer in ChrononKryoRegistrator by @nikhil-zlai in #2090
- Cast request keys before online derivations by @BenMagyar in #2089
- Normalize numeric Catalyst inputs to declared types by @BenMagyar in #2088
- Reuse Avro codecs in fetch path by @BenMagyar in #2094
- Reuse JavaFetcher metric contexts by @BenMagyar in #2098
- Cache localized Catalyst UDF jars by @BenMagyar in #2093
- Configure Redis pools without borrow-time pings by @BenMagyar in #2097
- Map Dataproc SETUP_DONE to JobStatusType.PENDING by @david-zlai in #2103
- Fix online-suite session-contamination flake: advertise loopback in CatalystUtil by @nikhil-zlai in #2106
Full Changelog: v1.20.1...v1.21.2
v1.21.1
August 12, 2026What's Changed
Bug fixes
- Add Flink latency stage metrics by @german-krikorian-ck in #2085
- Register Iceberg table broadcast payloads with JavaSerializer in ChrononKryoRegistrator by @nikhil-zlai in #2090
- Cast request keys before online derivations by @BenMagyar in #2089
- Normalize numeric Catalyst inputs to declared types by @BenMagyar in #2088
- Reuse Avro codecs in fetch path by @BenMagyar in #2094
- Reuse JavaFetcher metric contexts by @BenMagyar in #2098
- Cache localized Catalyst UDF jars by @BenMagyar in #2093
- Configure Redis pools without borrow-time pings by @BenMagyar in #2097
- Map Dataproc SETUP_DONE to JobStatusType.PENDING by @david-zlai in #2103
- Fix online-suite session-contamination flake: advertise loopback in CatalystUtil by @nikhil-zlai in #2106
Full Changelog: v1.20.1...v1.21.1
What's Changed
Minor features
- UI: Log level improvements by @sean-zlai in #1252
Bug fixes
- Determine streaming node skipped state by latest step CTRL-301 by @kumar-zlai in #1251
- Add StepTracker regression test for async cluster creation failure by @david-zlai in #1245
- fix(orchestration): don't finish daily deploy workflows while batch uploads are unfilled by @nikhil-zlai in #1255
- Run NVMe stress in nightly AWS e2e CTRL-201 by @tchow-zlai in #1197
- Fix frontend Grype vulnerabilities by @nikhil-zlai in #1254
- fix(orchestration): gate batch children of a running stream on the stream's own upstream deps by @kumar-zlai in #1257
- fix(orch): don't demote Running adhoc streaming step to Submitted on transient PENDING by @david-zlai in #1253
- Resolve latest branch node hash on streaming crash-recovery retriggers by @kumar-zlai in #1261
- fix(orchestration): express node plan ranges on the producer's own grid by @nikhil-zlai in #1258
- UI: UTC dates by @sean-zlai in #1263
Full Changelog: v1.20.1...v1.21.1
v.1.21.0
August 12, 2026What's Changed
Bug fixes
- Add Flink latency stage metrics by @german-krikorian-ck in #2085
- Register Iceberg table broadcast payloads with JavaSerializer in ChrononKryoRegistrator by @nikhil-zlai in #2090
- Cast request keys before online derivations by @BenMagyar in #2089
- Normalize numeric Catalyst inputs to declared types by @BenMagyar in #2088
- Reuse Avro codecs in fetch path by @BenMagyar in #2094
- Reuse JavaFetcher metric contexts by @BenMagyar in #2098
- Cache localized Catalyst UDF jars by @BenMagyar in #2093
- Configure Redis pools without borrow-time pings by @BenMagyar in #2097
- Map Dataproc SETUP_DONE to JobStatusType.PENDING by @david-zlai in #2103
- Fix online-suite session-contamination flake: advertise loopback in CatalystUtil by @nikhil-zlai in #2106
Full Changelog: v1.20.1...v.1.21.0
v1.20.1
August 7, 2026What's Changed
Minor features
- feat: Per-aggregation filter conditions in GroupBy by @cceasy in #1977
Bug fixes
- CTRL-281: Add hostname to OTLP attributes for deduping on multipod by @cristian-zlai in #2082
- Surface async Dataproc cluster creation failures by @david-zlai in #2080
- CLI: Fix auth behind JWT-only API gateways by @sean-zlai in #1985
Full Changelog: v1.20.0...v1.20.1
What's Changed
Bug fixes
- Surface streaming semanticHash conflict on the failing workflow CTRL-278 by @kumar-zlai in #1248
- ci: serialize nightly AWS e2e runs to prevent shared-state collisions by @kumar-zlai in #1247
- Auth: Fix zipline CLI auth behind JWT-only API gateways by @sean-zlai in #1153
Full Changelog: v1.20.0...v1.20.1
v1.20.0
July 30, 2026What's Changed
Minor features
- feat(aws): add Redis/ElastiCache KV store support by @piyush-zlai in #2074
- Re-enable Hive UDF support in fetcher + flink by @piyush-zlai in #2031
Bug fixes
- Bypass FutureConverters on hot fetch path to avoid ForkJoinPool hop by @piyush-zlai in #2069
- handle v2 delta stats for readiness checks by @BenMagyar in #2046
- setting up benchmark path for redis kv impl by @BenMagyar in #2071
- Validate join request key schemas before Avro encoding by @tchow-zlai in #2056
- Fix nightly Grype failure: force lz4-java 1.11.1 in kinesis connector by @piyush-zlai in #2078
- Cache catalyst planning per query instead of per CatalystUtil instance by @nikhil-zlai in #2066
Full Changelog: v1.19.1...v1.20.0
What's Changed
Minor features
- UI: Dynamic workflow/conf status by @sean-zlai in #1233
Bug fixes
- Fix Flink cold-start ValidationError: propagate savepoints dir in CrucibleSubmitter by @piyush-zlai in #1235
- Progress the steps that satisfy constraints when one step in a batch violates one by @nikhil-zlai in #1237
- Dedupe retriggered streaming steps by node in StreamingStepExecutor CTRL-272 by @kumar-zlai in #1224
- fix(orch): reconcile StreamingRetrying steps when deploy schedule is removed by @david-zlai in #1238
- feat(aws): add Redis/ElastiCache KV store support for hub and orchestration by @piyush-zlai in #1236
- Terminate workflow on conflicting active streaming step CTRL-278 by @kumar-zlai in #1239
- UI: Fix status refresh, improve node details view by @sean-zlai in #1241
Full Changelog: v1.19.1...v1.20.0
v1.19.1
July 27, 2026What's Changed
Bug fixes
- Log output schema instead of df.show() after Join backfill by @david-zlai in #2062
- Surface branch and effective engine version as k8s labels on Flink jobs + wait for job manager deployment status error transitions by @piyush-zlai in #2057
- Fix nightly Grype failures: bump jackson-databind and jetty by @piyush-zlai in #2063
- Add zipline admin doctor infra-health grouped deployment checks by @kumar-zlai in #2061
- Deduplicate contextual GroupBy requests in bulk fetchJoin by @piyush-zlai in #2064
- Add DynamoDB SDK metrics bridge into Chronon OTel pipeline by @piyush-zlai in #2065
- fix(online): keep serving existing metadata when a TTLCache refresh fails by @cceasy in #2058
Full Changelog: v1.19.0...v1.19.1
What's Changed
Bug fixes
- ci: nightly tracks latest release + Slack on failure only by @kumar-zlai in #1219
- Crucible Flink ports for label support + jmDeploymentStatus = error transitions by @piyush-zlai in #1214
- ci: gate nightly on zipline doctor infra-health + Slack warnings by @kumar-zlai in #1220
- Fix nightly Grype failures: eval jackson drift + jetty-security ignore by @piyush-zlai in #1227
- Revert "Annotate registered steps with call site for failure tracing" by @david-zlai in #1232
Full Changelog: v1.19.0...v1.19.1
v1.19.0
July 23, 2026What's Changed
Bug fixes
- Skip System.exit in cluster deploy mode to fix YARN status reporting by @cceasy in #1844
- Throttle warn/error logging on the fetcher request hotpath by @piyush-zlai in #2051
- Backfill day-for-day dep for ModelTransform EVENTS sources by @david-zlai in #2059
Full Changelog: v1.18.1...v1.19.0
What's Changed
Minor features
- Show node metadata in details / compare view (along with contents) by @sean-zlai in #1216
Bug fixes
- Fix admin upgrade data-plane not picking up the latest engine version by @piyush-zlai in #1211
- UI: Timeline overview status order by @sean-zlai in #1212
Full Changelog: v1.18.1...v1.19.0