github feast-dev/feast v0.67.0

5 hours ago

0.67.0 (2026-10-13)

Bug Fixes

  • Allow dill 0.4 so UDF serialization works on Python 3.14 (#6858) (139704f)
  • Allow serving features while a feature view is MATERIALIZING (#6789) (e2d7fe2), closes #6780
  • Allowlist the pinned commit SHA flagged by detect-secrets (4b81d18)
  • Apply point-in-time filter correctly with the Polars backend (#6992) (01224d0)
  • Authorize registry server writes before deserializing UDFs (e0ef16e)
  • Automate versioned documentation publication (#6763) (5ad5592), closes #6762
  • Avoid NumPy generic-unit deprecation when importing feast.type_map (5fea698)
  • Bind metrics, REST registry, ui, and lineage servers dual-stack (#6886) (8d2773c)
  • Bound Arrow Flight batch size in the offline server (#6896) (d169238)
  • Compute std and var correctly for tiled aggregations (213a130)
  • Convert PdfBytes values to protos like ImageBytes (#6968) (af20fe4)
  • Decode fixed_size_list as the matching Feast list value type (#6944) (8cfe891)
  • Do not log /metrics requests from the pre-fork metrics server thread (7087f1f), closes #6928
  • Don't return from finally blocks in REST registry helpers (d7cb4d0)
  • Encode non-finite floats in feature server JSON responses (#6930) (211ecb8)
  • Feature freshness logic updated (#6765) (f0bc070)
  • Fix monitoring auth (015cc84)
  • Handle non-nanosecond timestamps in tiled aggregations (b8989cb)
  • Improve feature list column sizing (#6793) (2573693)
  • Include vector attributes in Field equality (#6934) (298c3f6)
  • Increase feast container probe timeouts to avoid false restarts (e8dbd50)
  • Infer the tensor type from retrieved values in to_tensor (a03e323)
  • Infer timestamps for datetime columns in any unit or timezone (810391f)
  • Infer vector width when vector_length is undeclared (0056565), closes #6907
  • Initialize auth managers in standalone lineage server (#6873) (ecd0d38)
  • Keep a zero watermark delay threshold on a Kafka source (e2e28c7)
  • Keep entity rows apart in the ibis point-in-time join (a87c070)
  • Keep the BatchFeatureView type and settings when copying it (#6989) (013fc57)
  • Keep tiling, offline and stream engine settings when copying a StreamFeatureView (fac0f88)
  • Limit tiled max and min aggregations to the window (2583c45)
  • Load Milvus collections once instead of on every query (#6882) (f9e91fa)
  • Make vector length validation reachable, schema-driven and vectorized (#6909) (29af8c0), closes #6907
  • Map INT32_LIST, PDF_BYTES and IMAGE_BYTES type names to their ValueType (8c1e825)
  • Map narrow and unsigned Arrow integer types to Feast value types (#6960) (ae74360)
  • Map Spark smallint and tinyint columns to INT32 (9d42729)
  • Map SQL Server bigint to INT64 and float to DOUBLE (6d15533)
  • Map Trino DECIMAL columns to pyarrow decimal128 (155bc24)
  • Normalize Arrow-backed dtypes from Ray Dataset.to_pandas() for pyarrow >=25 compatibility (#6916) (374f1d7)
  • operator: Set grpc appProtocol on the offline Service port (f9dcfb5)
  • Pin expected tensor to same device in online retrieval test (#6777) (1f2584d)
  • Preserve an unset aggregation time window across a proto round-trip (2000379)
  • Preserve entity row order in precomputed reads (ce37029)
  • Pull the MinIO test image from pgsty/minio (fe27230)
  • Pull the MinIO test image from quay (#6838) (367001b)
  • Raise Trino monitoring query errors other than a missing table (6161766)
  • Read Kafka and Kinesis sources without a batch source from proto (a620f5c)
  • Read naive datetimes as UTC in UnixTimestamp values (bc703d9)
  • Record which storage class wrote a custom_storage payload (#6988) (c0545f7)
  • Refresh the SQL registry cache after deleting a data source (66c55e3)
  • Refresh the SQL registry cache after deleting a permission (6b212f5)
  • Reject unknown resource types and actions in the REST permission API (a5eaa36)
  • Remove pip install command from Redis GLIDE docstring (66ff990)
  • Remove runtime pip install hints from mlflow errors (dd9f099)
  • Remove unsupported vector_len from PostgreSQL tutorial config (fcc9a85)
  • Repair Chronon operator validation and Pixi CI setup (#6947) (3710f78)
  • Report Dask monitoring read errors instead of no data (81673d9)
  • Resolve feature view batch source name against registry (f8883d0)
  • Restrict UI server CORS to trusted origins (#6986) (5e7ef3e)
  • Return feature_view_metadata from the REST feature server (#6927) (bc5aeef)
  • Serve aliased on demand feature views in feature services (823b92e)
  • Snapshot tag filters in registry cache keys (81e1546)
  • Stabilize materialization checks across hour boundaries (#6948) (acadb17)
  • Stop the Couchbase online store reporting failed writes as written (b3f3c98)
  • Support SQL registry dump (b60f9c7)
  • Treat datetimes with a None utcoffset as naive (687bee8)
  • Unwrap SecretStr tokens when building Trino auth objects (#6771) (922db5c)
  • Use a valid ShuffleStrategy for the Ray DatasetContext (6259f5c)
  • Use do_exchange for offline server reads to support HPA (bae07fc)
  • Use group_by in Polars backend aggregation (#6965) (7b9fad2)
  • Use upstream kubectl image as feast-operator CronJob default (d6cc1dc)
  • Use UTC end bound and correct docs for disable_event_timestamp (#6956) (cc07c82), closes #6936

Features

  • Add a non-JVM read path for Lance data sources (#6943) (e2a53bb), closes #6925 #5782 #6909
  • Add a non-JVM write path for Lance data sources (#6945) (f754323), closes #6943 #6909
  • Add Chronon online and offline store integrations (#6188) (dd059c6)
  • Add consistency_level to the Milvus online store config (97296c1)
  • Add dualStack server option to the Feast operator (#6887) (725a147), closes #6977
  • Add Lance optional dependencies (#6958) (20bc993)
  • Add LanceFormat table format with version/tag pinning (1196e22), closes #5650
  • Add MLflow as a first-class offline DataSource for Feast (#6702) (3667772)
  • Add optional GLIDE client for Redis online reads (#6870) (6e9a532)
  • Add quality monitoring features for Trino offline store (#6779) (9340545)
  • Add SavedDatasetLanceStorage (1118d3e)
  • Add standalone MCP server as a first-class component (0efab5c), closes python-keycloak#623
  • Add structured audit logging for MCP feature server (#6456) (640ac70)
  • Add Trino compute engine for batch retrieval and materialization (#6898) (11a47b4)
  • Batch Postgres online reads across feature views (#6832) (514bee7), closes #3259
  • bigtable: Make write batch size and concurrency configurable (#6847) (5388522)
  • Bucket feature count labels in latency metrics (#6811) (d9ea120)
  • Expose runtime version in Feast UI (#6843) (fa8f06b)
  • Make Milvus index and search params configurable (ef743ff)
  • Offline write batch for IcebergSource (5be5ed0)
  • OpenLineage consumer improvements - dataset versioning, column lineage, ownership (69f294e)
  • operator: Add tolerations and nodeSelector to the FeatureStore CR (#6741) (03dac6f)
  • Serve the MCP server dual-stack on --host :: (4fc9726)
  • Support Milvus partition keys in the Milvus online store (0ed3285)
  • Support token, uri and db_name in the Milvus online store (c5efecd)
  • Version-pinning for FeatureService (online + offline) (#6718) (787845a)

Performance Improvements

  • Avoid pandas copy in Spark reads (#6878) (4771156)
  • Decouple metrics HTTP server into a dedicated child process (#6855) (0b621de)
  • Reduce online serving hot-path overhead from metrics and audit logging (5ee7ee3)

Don't miss a new feast release

NewReleases is sending notifications on new releases.