Highlights
Feast 0.68.0 adds Pinecone as an online store and Apache Polaris support for Iceberg catalogs, expands Milvus capabilities, and improves pre-computed feature retrieval.
- New integrations: Pinecone online store and Apache Polaris source/provider support.
- Milvus: Row deletion, configurable partition counts and partition key isolation, native arrays and JSON, scalar indexes, and more consistent value and null handling.
- Pre-computed features: Optional omission of repeated feature names with schema fingerprint validation, plus refreshes scoped to pushed entities.
- Serving and lineage: A
feast serve --gc-freezeoption and upstream FeatureView lineage for PushSource. - Correctness and reliability: Dask point-in-time tie-breaking and timestamp handling, Spark on-demand transformations, UDF rehydration, UUID entity key serialization, DynamoDB connection warmup, and registry and monitoring fixes.
Upgrade note
Python 3.11 or newer is required. Python 3.10 support has been retired. Upgrade your Python runtime before installing Feast 0.68.0.
0.68.0 (2026-11-10)
Bug Fixes
- add watch verb on clusterroles and clusterrolebindings for feast-operator (#7062) (b6bdda4)
- Apply on demand feature views in SparkRetrievalJob.to_spark_df() (#6993) (f416309)
- Break event timestamp ties by created timestamp in Milvus write batches (#7084) (bbaca76)
- Break event timestamp ties by created timestamp in the Dask offline store (#6952) (eb93b08)
- Build the Go feature server image in two stages (1e5e90c), closes #7060
- Fall back to the serialized body when UDF source misses globals (#6816) (f61079f)
- Install patched libbrotli1 to address DSA-6582-1 (#7096) (d458393)
- Keep description, tags and nested types of ODFV schema fields (8ef6e75)
- Keep entity columns out of StreamFeatureView proto features (#7033) (d520584)
- Keep the metrics server running when a Gunicorn worker exits (#7012) (68c5d54), closes #7011
- Key registry proto caches on the proto, not its id() (#7085) (147adad)
- Log ODFV materialization skips instead of printing them (#7117) (8fdcee7)
- Pin build dependencies of source builds to the CI lock (#7104) (dec2f24)
- Populate spec.project in registry REST feature view responses (#… (#7037) (e304a84)
- Preserve colliding source timestamps in Dask retrieval (#7071) (1396c88)
- Preserve Dask historical requests without eligible features (#7000) (fff09f7)
- Read None elements of UUID and Decimal lists as None (#7039) (03f30fe)
- Retire the support of Python3.10 (#7101) (a56766e), closes #7104 #7089 #7106 #7105
- Serialize UUID and TimeUuid entity keys (#7032) (0c845a1)
- Stop the Ray engine from hiding materialization errors (#7026) (7903e2e), closes #7024
- ui: stop treating the monitoring baseline as the latest window (#7056) (0f01802), closes #7054
- Use date-only bounds for partition filters built from string timestamps (#7116) (b1f2168)
- Validate entity column types in feast dbt import (#7067) (abca80c), closes #5876
- Warm up the whole DynamoDB connection pool (#6985) (8ce548c)
Features
- Add --gc-freeze option to feast serve (#7089) (aad0c15)
- Add native complex types and scalar index tags to the Milvus online store (#7120) (f7068d6)
- Add num_partitions and partition_key_isolation to the Milvus online store (#7083) (68de84e), closes #6940
- Add Pinecone online store integration (#6585) (7a84f2a)
- Add PolarisSource and PolarisProvider for Apache Polaris (#7006) (386759c)
- Add row deletion to the Milvus online store (#7082) (d3e2041)
- Add upstream FeatureView lineage support for PushSource (#6853) (c9b9d72)
- Optional nameless pre-computed vectors with a schema fingerprint (#7077) (9420fac)
Performance Improvements
- Scan Lance sources lazily in the DuckDB offline store (1299e4e)