Changelog

Releases of the Zipline engine and platform, pulled directly from GitHub.

v1.18.1

July 22, 2026

What's Changed

Bug fixes

  • handle ts projection and filter in flink by @BenMagyar in #2039
  • Push readiness checks onto the driver for Joins by @BenMagyar in #2020
  • reduce memory overhead for driver readiness checks by @BenMagyar in #2042
  • Fix hourly GroupBy online (Ion) upload for sub-daily partitions by @nikhil-zlai in #2041
  • avoid sharing logging codecs across threads by @BenMagyar in #2040
  • Bound sensor retries to one partition interval; trim sensor resources by @nikhil-zlai in #2044
  • Route NVMe canary output through Polaris by @tchow-zlai in #2048
  • Normalize Iceberg timestamp partitions for readiness by @tchow-zlai in #2045
  • Flink K8s submitter job crash / restart fixes by @piyush-zlai in #2047
  • fix: load step details for Flink cleanup by @tchow-zlai in #2050

Full Changelog: v1.18.0...v1.18.1

What's Changed

Bug fixes

  • Annotate registered steps with call site for failure tracing by @david-zlai in #1205
  • ci: nightly AWS e2e (apply → admin install → full UC suite → destroy) by @kumar-zlai in #1202
  • Treat cross-workflow submitted streaming steps as active by @tchow-zlai in #1203
  • UI: Streamline status data payloads by @sean-zlai in #1207
  • Add kill before retrigger for streaming jobs + port job restart fixes to Crucible Flink submitter by @piyush-zlai in #1208

Full Changelog: v1.18.0...v1.18.1

v1.18.0

July 17, 2026

What's Changed

Minor features

  • Flink URLs Through Hub by @chewy-zlai in #1986

Bug fixes

  • Don't collapse a missing GroupByServingInfo into an opaque 500 by @nikhil-zlai in #2012
  • cast date onto grid for cli commands by @BenMagyar in #2014
  • We only need to read stats for the partition we are writing against by @BenMagyar in #1937
  • Namespace should be substituted in key filter by @BenMagyar in #2016
  • mixGridtoken produce unsafe sem hash by @BenMagyar in #2027
  • feat: make fetcher thread pool configurable and add KV read timeout by @cceasy in #1874
  • Bump logback to 1.5.38 to fix GHSA-jhq6-gfmj-v8fx grype failures by @tchow-zlai in #2015
  • Add NVMe stress integration test by @tchow-zlai in #2035
  • Defer join key compilation failures until derivation by @nikhil-zlai in #2030
  • Fix stale version stamps in released jar manifests by @nikhil-zlai in #2007

Full Changelog: v1.17.7...v1.18.0

What's Changed

Minor features

  • Flink Proxy Links and Local Testing of Unified Domain by @chewy-zlai in #1157
  • Guard backfills and schedule deploys against competing version claims by @nikhil-zlai in #1200

Bug fixes

  • Use engine labels for Crucible placement by @tchow-zlai in #1184
  • Update homepage roundtable banner by @varant-zlai in #1188
  • Remove NVMe-specific Spark storage configuration by @tchow-zlai in #1192
  • Exclude Ping Requests From Audit Logs by @chewy-zlai in #1195
  • Use submitted Spark configuration for resource sizing by @tchow-zlai in #1194
  • Decouple SAML audience from issuer to fix SSO logins broken by the better-auth 1.6.23 bump by @sean-zlai in #1196
  • UI: Show error message for failed logins due to configuration by @sean-zlai in #1198
  • Promote only tested commits to main-passing-tests by @nikhil-zlai in #1174

Full Changelog: v1.17.7...v1.18.0

v1.17.7

July 10, 2026

What's Changed

Bug fixes

  • Add aws_databricks join + wire up aws canary adhoc CI tests by @piyush-zlai in #2004
  • Fix sparse readiness partition boundary by @tchow-zlai in #2009
  • Handle Dataproc cluster DELETING/UNRECOGNIZED/ERROR_DUE_TO_UPDATE states by @david-zlai in #2010

Full Changelog: v1.17.4...v1.17.7

What's Changed

Bug fixes

  • Thread Kubernetes placement through Crucible submissions by @tchow-zlai in #1159
  • Derive compute placement from workflow mode by @tchow-zlai in #1181
  • Resolve dependencies to producer nodes by table + partition grid by @nikhil-zlai in #1180
  • Use engine labels for Crucible placement by @tchow-zlai in #1182
  • Disable Crucible Azure integration tests by @tchow-zlai in #1183

Full Changelog: v1.17.6...v1.17.7

v1.17.6

July 9, 2026

What's Changed

Bug fixes

  • Add aws_databricks join + wire up aws canary adhoc CI tests by @piyush-zlai in #2004
  • Fix sparse readiness partition boundary by @tchow-zlai in #2009
  • Handle Dataproc cluster DELETING/UNRECOGNIZED/ERROR_DUE_TO_UPDATE states by @david-zlai in #2010

Full Changelog: v1.17.4...v1.17.6

What's Changed

Bug fixes

  • Sync infrastructure repo into the release flow by @tchow-zlai in #1179

Full Changelog: v1.17.5...v1.17.6

v1.17.5

July 9, 2026

What's Changed

Bug fixes

  • Add aws_databricks join + wire up aws canary adhoc CI tests by @piyush-zlai in #2004
  • Fix sparse readiness partition boundary by @tchow-zlai in #2009
  • Handle Dataproc cluster DELETING/UNRECOGNIZED/ERROR_DUE_TO_UPDATE states by @david-zlai in #2010

Full Changelog: v1.17.4...v1.17.5

What's Changed

Bug fixes

  • Add crucible aws adhoc tests to platform CI by @piyush-zlai in #1172
  • Ignore test_hub_run_adhoc.py in AWS 'prod' integration tests by @piyush-zlai in #1177
  • Disable Azure integration tests in canary workflow by @tchow-zlai in #1178

Full Changelog: v1.17.4...v1.17.5

v1.17.4

July 8, 2026

What's Changed

Minor features

  • Add keyFilter to GroupBy to shrink batch uploads by @nikhil-zlai in #1991

Bug fixes

  • Bump logback to 1.5.33 to fix GHSA-p47f-322f-whfh by @piyush-zlai in #1997
  • Update Flink K8s submitter to suspend rather than delete jobs by @piyush-zlai in #1996
  • Fix Flink Java 17 compatibility: add JDK to image, replace SAM lambdas by @piyush-zlai in #1999
  • Make schedule-all a full sync of config-declared schedules by @nikhil-zlai in #1998
  • Qualify sensor node names by dependency grid to stop cross-conf clobbering by @nikhil-zlai in #2001
  • let readiness checks act as sparse data arrival checks like ds by @BenMagyar in #2005

Full Changelog: v1.17.3...v1.17.4

What's Changed

Minor features

  • Schedule lifecycle: config declares which schedules exist by @nikhil-zlai in #1171

Bug fixes

  • Fix wedged jobs after streaming job cancel by @piyush-zlai in #1167
  • Fix Flink UI blank page when Hub is mounted at a sub-path by @piyush-zlai in #1168
  • Support self-referential staging queries in eval by @nikhil-zlai in #1169
  • Add support in LokiLogStore for flink logs by @piyush-zlai in #1170

Full Changelog: v1.17.3...v1.17.4

v1.17.3

July 5, 2026

What's Changed

Bug fixes

  • Support daily partitions with sub-daily offsets by @BenMagyar in #1990
  • Allow for defaults over partition interval, offset and schedule by @BenMagyar in #1992

Full Changelog: v1.17.2...v1.17.3

What's Changed

Bug fixes

  • Tolerate missing engine CRDs in KubernetesCrucibleJobStore by @nikhil-zlai in #1162

Full Changelog: v1.17.2...v1.17.3

v1.17.2

July 3, 2026

What's Changed

Bug fixes

  • Cut down Flink logging for warn / errors by @piyush-zlai in #1989
  • Sense the newest data-bearing partition for timestamp partition columns by @nikhil-zlai in #1995

Full Changelog: v1.17.0...v1.17.2

What's Changed

Bug fixes

  • Attempt fix for initializeNodeExecutionData by @david-zlai in #1164

Full Changelog: v1.17.1...v1.17.2

v1.17.1

July 3, 2026

What's Changed

Bug fixes

  • Cut down Flink logging for warn / errors by @piyush-zlai in #1989
  • Sense the newest data-bearing partition for timestamp partition columns by @nikhil-zlai in #1995

Full Changelog: v1.17.0...v1.17.1

What's Changed

Bug fixes

  • Add Crucible Azure deployment workflow by @tchow-zlai in #1158

Full Changelog: v1.17.0...v1.17.1

v1.17.1+july3

July 3, 2026

What's Changed

Bug fixes

  • Cut down Flink logging for warn / errors by @piyush-zlai in #1989
  • Sense the newest data-bearing partition for timestamp partition columns by @nikhil-zlai in #1995

Full Changelog: v1.17.0...v1.17.1+july3

v1.17.1-july3

July 3, 2026

What's Changed

Bug fixes

  • Cut down Flink logging for warn / errors by @piyush-zlai in #1989
  • Sense the newest data-bearing partition for timestamp partition columns by @nikhil-zlai in #1995

Full Changelog: v1.17.0...v1.17.1-july3

v1.17.0

July 2, 2026

What's Changed

Minor features

  • Support sub-daily partition intervals by @nikhil-zlai in #1914
  • Add conf-level workflow concurrency API by @nikhil-zlai in #1965
  • Update zipline hub clear-downstream for API changes by @sean-zlai in #1968

Bug fixes

  • Bump jackson-databind to 2.18.8 to clear grype CVE-2026-545xx advisories by @tchow-zlai in #1964
  • fix(cloud_gcp): add logback.xml to suppress gRPC Bearer token leaks by @JoeTime17 in #1959
  • JoinParts are not being reused in the monolith join by @BenMagyar in #1954
  • Handle daily catalog partitions returned as timestamps by @nikhil-zlai in #1966
  • Fix planner bug where we don't handle null Query objs in JoinSrc by @piyush-zlai in #1969
  • Add user-activities src + GB for Crucible canary by @piyush-zlai in #1971
  • Update schedule lifecycle integration expectations by @tchow-zlai in #1974
  • Decouple Flink k8s checkpoint check from url by @piyush-zlai in #1975
  • add new spark.chronon.kv_upload.batch_table_gc_age_days opt by @BenMagyar in #1984

Full Changelog: v1.16.2...v1.17.0

Platform Subdaily + Auth + Crucible View on GitHub

What's Changed

Minor features

  • UI: Auth improvements by @sean-zlai in #1133
  • Improve Crucible Flink support to be closer to existing EKS / AKS flows by @piyush-zlai in #1127
  • Loki: add crucible-aws log profiles for AWS Crucible UI by @tchow-zlai in #1125
  • UI: Add "Run Backfill" / "Adhoc" actions, "Clear downstream", graph chart maximize / scale to fit, and other improvements by @sean-zlai in #1131
  • UI: Fetcher by @sean-zlai in #991
  • Apply conf workflow concurrency defaults by @nikhil-zlai in #1141

Bug fixes

  • Bump jackson-databind to 2.18.8 to clear grype CVE-2026-545xx advisories by @tchow-zlai in #1135
  • Restore platform compile after Chronon API updates by @nikhil-zlai in #1138
  • Guard AWS EMR validation behind compute mode by @tchow-zlai in #1136
  • Fix sub-daily workflow scheduling status by @nikhil-zlai in #1128
  • Wire up Flink urls + checkpoint health checks in the Crucible flow by @piyush-zlai in #1139
  • Unify Crucible submitter path across clouds by @tchow-zlai in #1140
  • Fix multiworkflow continuous node bug causing initializeNodeExecutionData error by @piyush-zlai in #1144
  • Add Databricks Unity Catalog support to demo-scripts by @piyush-zlai in #1145
  • CI: Bump mill JVM heap for cloud_azure assembly to avoid OOM by @david-zlai in #1146
  • CTRL-249: forward-auth bridge for browser → Hub gateway by @kumar-zlai in #1150
  • Update Aws & Azure verticles to use new K8sFlink health check + internal job id rails by @piyush-zlai in #1151
  • UI: Improve status performance (sub-daily, large DAGs) by @sean-zlai in #1152
  • Auth: Add AUTH_ALLOWED_PRINCIPALS allowlist to gate user provisioning and login by email/domain by @sean-zlai in #1147
  • Scope Crucible submit idempotency lookups by @tchow-zlai in #1154
  • CTRL-249: reshape gateway UI URLs to /engines//jobs//ui by @kumar-zlai in #1155

Full Changelog: v1.16.2...v1.17.0

v1.16.2

June 24, 2026

What's Changed

Bug fixes

  • Support pinning the reader schema for a topic by @BenMagyar in #1944
  • fix(gcp_cloud): resolve GCP_LOCATION for bulkPut job from env vars by @sai-muppiri-ck in #1947
  • feat(aws): configure Flink (eks) pod labels via FLINK_EKS_POD_LABELS env var by @neeraj-lalji-depop in #1942
  • Order join planning dependencies source-first by @tchow-zlai in #1953
  • Honor KV upload timeout config by @nikhil-zlai in #1949
  • Scope orchestration threadpool metrics by @nikhil-zlai in #1951
  • CTRL-247: crucible env to new warehouse + artifacts buckets + shared-domain hub URL by @kumar-zlai in #1955
  • docs: Clear & Rerun page CTRL-163 by @kumar-zlai in #1936
  • Validate end-ds is on/after start-ds in hub CLI by @david-zlai in #1957
  • Avoid DPP plan explosion in final join writes by @nikhil-zlai in #1952
  • Drop online-flag gate from groupBy schema fetch by @nikhil-zlai in #1932
  • Fix grype in cloud_azure around jline by @piyush-zlai in #1962

New Contributors

  • @neeraj-lalji-depop made their first contribution in #1942

Full Changelog: v1.16.1...v1.16.2

What's Changed

Bug fixes

  • CTRL-227: backfill end_time on pre-fix failed/upstreamFailed steps by @kumar-zlai in #1111
  • CTRL-242: skip test_hub_backfill_uc.py on canary-aws by @kumar-zlai in #1120
  • CTRL-243: restore Spark History Server URL on JobTrackingInfo.sparkUrl by @kumar-zlai in #1124
  • UI: Impove performance of large DAGs, highlight execution lineage, and other improvements by @sean-zlai in #1126
  • CTRL-248: Update Crucible AWS workflow CLUSTER_NAME → crucible-eks by @kumar-zlai in #1129
  • CTRL-245: Mount Crucible gateway proxy routes in Hub for live SparkUI by @kumar-zlai in #1132

Full Changelog: v1.16.1...v1.16.2

v1.16.1

June 16, 2026

What's Changed

Bug fixes

  • Upgrade mill to 1.1.6 (and JDK 17 launcher) by @david-zlai in #1912
  • Add an adds opens for java time for E2E tests by @piyush-zlai in #1940
  • fix(cloud_gcp): pin bulkPut export job to GCP_LOCATION by @sai-muppiri-ck in #1938
  • Flesh out docs on entity source behavior with Debezium rails by @piyush-zlai in #1934
  • Retry when Dataproc cluster runs into an error state by @david-zlai in #1930
  • Lower rate of hotpath logging in KV impls by @piyush-zlai in #1941
  • Log iceberg partition row counts in postJobActions by @david-zlai in #1921

New Contributors

  • @sai-muppiri-ck made their first contribution in #1938

Full Changelog: v1.16.0...v1.16.1

What's Changed

Bug fixes

  • Add hostname for production logs by @david-zlai in #1113
  • Bump JDK to 17 for mill 1.1.6 upgrade by @david-zlai in #1095
  • fix(build): pin eval & orchestration thriftJava to --release 17 by @david-zlai in #1115
  • CTRL-242: route AWS hub through CrucibleSubmitter via thin wrapper by @kumar-zlai in #1116
  • CTRL-243: delete platform/k8s module (follow-up to CTRL-242) by @kumar-zlai in #1117
  • Auth: Fix SAML redirect and device flow (zipline auth login) behind proxy (CloudFront, API Gateway, etc) by @sean-zlai in #1118
  • UI: Update deps / fix security vulns by @sean-zlai in #1119

Full Changelog: v1.16.0...v1.16.1

v1.16.0

June 12, 2026

What's Changed

Minor features

  • Add Debezium CDC Serde support by @piyush-zlai in #1906
  • Extend Flink job code to support EntitySrc + add IT by @piyush-zlai in #1918

Bug fixes

  • Expose partitions and timeout_ms on dyndb ion writer as conf by @BenMagyar in #1909
  • deps: bump netty to 4.1.135.Final to fix Grype CVE failures by @piyush-zlai in #1920
  • Fix groupBy schema fetch to read from batch serving info by @nikhil-zlai in #1891
  • docker/spark: unified cross-cloud spark image CTRL-236 by @kumar-zlai in #1919
  • canary: split aws_databricks bucket overrides into teams.canary.py CTRL-229 by @kumar-zlai in #1923
  • fix(service): deduplicate OTLP resource attributes to prevent Microme… by @RickyDepop in #1915
  • Increase timeout for backfill no data integration test by @david-zlai in #1924
  • ci: mirror jar publishes to s3://zipline-artifacts-aws CTRL-236 by @kumar-zlai in #1926
  • docker/spark: bake fs.s3a.aws.credentials.provider into image CTRL-236 by @kumar-zlai in #1928
  • fix(ci): use github context vars instead of git rev-parse in push-jars CTRL-236 by @kumar-zlai in #1929
  • canary: drop renewCredential opt-out for aws_databricks K8sSubmitter CTRL-236 by @kumar-zlai in #1931
  • Increase number of warmup requests for BigTable by @david-zlai in #1925

Full Changelog: v1.15.2...v1.16.0

What's Changed

Minor features

  • UI: Monitor overview by @sean-zlai in #1090

Bug fixes

  • Remove version check to unblock but leave the logic and logs by @david-zlai in #1089
  • K8sSubmitter: point jobUrl at Spark History Server URL by @tchow-zlai in #1098
  • k8s: K8sSubmitter cloud-URI conf-path + AWS verticle defaults CTRL-231 CTRL-232 by @kumar-zlai in #1099
  • Stamp end_time on terminal steps registered via batchRegisterSteps CTRL-227 by @kumar-zlai in #1096
  • k8s: strip trailing/leading non-alphanumeric after sanitizeLabel truncation CTRL-235 by @kumar-zlai in #1100
  • crucible-integration-test: target new crucible-aws Hub URL + auth CTRL-228 by @kumar-zlai in #1101
  • k8s: K8sSubmitter loads chronon jar from S3 instead of baked image CTRL-236 by @kumar-zlai in #1102
  • ci: add update_crucible_aws workflow CTRL-236 by @kumar-zlai in #1103
  • ci: route crucible_integration_test through compiled_canary/ CTRL-229 by @kumar-zlai in #1104
  • fix(ci): trigger update_crucible_aws on Update Canary completion CTRL-236 by @kumar-zlai in #1106
  • fix(eval): concurrency issues for request catalog by @cristian-zlai in #1085
  • CTRL-217: run crucible-aws integration tests after deploy by @kumar-zlai in #1109
  • demo-scripts: add dim_listings CDC pipeline for Chronon EntitySource (AWS) by @piyush-zlai in #1088

Full Changelog: v1.15.2...v1.16.0

v1.15.2

June 5, 2026

What's Changed

Minor features

  • feat(k8s): tag Flink pods and metrics with the GroupBy name by @RickyDepop in #1888

Bug fixes

  • Delete CrucibleSubmitter and CrucibleClient by @tchow-zlai in #1901
  • Bump io.vertx:vertx-* from 4.5.24 to 4.5.27 by @tchow-zlai in #1902
  • patch(emr-serverless): bake UC jars into custom image to enable credential renewal CTRL-223 by @kumar-zlai in #1898
  • canary: test_id scoping + UC cleanup for aws_databricks UC backfill tests CTRL-217 by @kumar-zlai in #1899
  • test_hub_backfill_uc: widen DS to 02-01..02-05 + fix UC cleanup default schema CTRL-217 by @kumar-zlai in #1904
  • fix(spark): stabilize HeterogeneousPartitionColumnsTest by @bagipriyank in #1886

New Contributors

  • @RickyDepop made their first contribution in #1888

Full Changelog: v1.15.1...v1.15.2

What's Changed

Bug fixes

  • Add /healthz endpoint / check for frontend container by @sean-zlai in #1079
  • AWS K8sSubmitter + delete Crucible verticles broken by chronon#1901 by @tchow-zlai in #1084
  • ci: keep CI eval service warm (minScale=1) to stop /eval cold-start 503s by @tchow-zlai in #1083
  • Exclude jackson-dataformat-yaml in k8s excludeJackson to unbreak AWS hub by @tchow-zlai in #1086
  • crucible_integration_test: add AWS twin running UC backfill suite (CTRL-217) by @kumar-zlai in #1081
  • fix(eval): support group by derivations with ts by @cristian-zlai in #1092
  • fix(eval): ADD JAR dependency fetch in local Spark mode by @cristian-zlai in #1091

Full Changelog: v1.15.1...v1.15.2

v1.15.1

June 3, 2026

What's Changed

Bug fixes

  • Preserve named JoinSource joins during normalization by @nikhil-zlai in #1894
  • Add PR tests for zipline admin init and zipline compile by @david-zlai in #1887
  • canary: add aws_databricks/demo UC + Delta hub-backfill integration test by @kumar-zlai in #1897
  • Fail empty GroupBy uploads with a single shared zero-row guard by @tchow-zlai in #1900

Full Changelog: v1.15.0...v1.15.1

What's Changed

Bug fixes

  • update_canary: remove Crucible integration test jobs by @kumar-zlai in #1080
  • fix(eval): Enable Hive Support for all by @cristian-zlai in #1078

Full Changelog: v1.15.0...v1.15.1

v1.15.0

June 1, 2026

What's Changed

Bug fixes

  • Add more docs around our metrics setup by @piyush-zlai in #1883
  • test(aws_databricks): new join for team by @cristian-zlai in #1876
  • Make temporal boundaries strict everywhere by @nikhil-zlai in #1884
  • Fix imported config attribution during compile by @tchow-zlai in #1885
  • Respect end cutoff in input readiness checks by @nikhil-zlai in #1890

Full Changelog: v1.14.1...v1.15.0

What's Changed

Minor features

  • UI: Cancel streaming job by @sean-zlai in #1066
  • Add Scala Crucible gateway module CTRL-215 by @nikhil-zlai in #1074

Bug fixes

  • UI: Improve display (decimal versions, multi-line sensor name, etc) by @sean-zlai in #1060
  • bug(eval): enable hive in eval spark session by @cristian-zlai in #1069
  • UI: Fix null crash in NodeExecutionDrawer when step deselects (reading runId) by @sean-zlai in #1075

Full Changelog: v1.14.1...v1.15.0

v1.14.1

May 27, 2026

What's Changed

Bug fixes

  • refactor(cli): deprecate repo root alias by @tchow-zlai in #1877
  • Handle Enum types in Avro conversion by @BenMagyar in #1879
  • Extract stats for clustered iceberg tables by @BenMagyar in #1870

Full Changelog: v1.13.0...v1.14.1

What's Changed

Bug fixes

  • feat(eval): setups, get remote urls and add locally by @cristian-zlai in #1042
  • fix: Make dotenv prod dependency

Full Changelog: v1.14.0...v1.14.1

v1.14.0

May 27, 2026

What's Changed

Bug fixes

  • refactor(cli): deprecate repo root alias by @tchow-zlai in #1877
  • Handle Enum types in Avro conversion by @BenMagyar in #1879
  • Extract stats for clustered iceberg tables by @BenMagyar in #1870

Full Changelog: v1.13.0...v1.14.0

What's Changed

Minor features

  • Add an API endpoint to cancel adhoc streaming jobs by @piyush-zlai in #1055

Bug fixes

  • Fix zipline auth login flow by @sean-zlai in #1065

Full Changelog: v1.13.0...v1.14.0

Newer
Page 2 of 3
Older