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)