Changelog
July 20, 2026 · View on GitHub
0.65.0 (2026-07-20)
Bug Fixes
- add debug logging for FIPS mode detection fallback (6c1b24e)
- Build embedded UI from local source (#6525) (3500349)
- Bump decommissioned Snowflake Python UDF runtime from 3.9 to 3.10 (#6606) (#6608) (10341e4)
- configure FIPS-compliant gRPC cipher suites for offline server (6bc80a2)
- Correct Flink PyArrow dependency constraints (#6604) (70a9751)
- Fix ValueError in signal handling for Trino worker threads (#6428) (506d919)
- Fixed monitoring page issues (7946018)
- Make pytest config compatible with newer pytest (#5779) (a57ea33)
- Replace comma with space in DynamoDB-incompatible label tag value (51e3a16)
- Resolve UI build warnings (#6529) (abe92af)
- Unblock nightly UI build (#6570) (f296d4b)
- Use LONGBLOB for SQL registry proto columns on MySQL (#6566) (7e4beb2)
Features
- Add click-to-zoom lightbox for blog post images (#6575) (1cb23fd)
- Add dark mode support to website and blog (#6589) (7358fb8)
- Add OnlineStore for Aerospike (#6532) (9cd35e1)
- Add OpenLineage Consumer to Feast - receive, store, and visualize cross-producer lineage (#6549) (a834126)
- Add registry list feature views by updated since (#6092) (#6093) (006c606)
- Add ScyllaDB online store with vector search (#6508) (1669661)
- Added compute and jobs UI (ba2c05c)
- Added Iceberg REST Catalog data source support (e0a8573)
- Bring Your Own Spark - SparkApplication (#6550) (dcd496f)
- cassandra: Add multi-DC support via per-datacenter execution profiles (#6434) (0de9196)
- Enhanced data source creation as a visual catalog with type-specific forms (#6557) (d6acbba)
- Enhanced datasets UI functionality (de11152)
- Implement RegistryServer.Proto RPC with RBAC-filtered response (#6558) (#6552) (0d02614)
- New zoned timestamp feature type (#6536) (#6537) (eb042f0)
- operator: Auto-create RBAC for spark_application batch engine (#6597) (f487b37)
- operator: integrate cluster TLS profile for OCP 5.0 compliance (43263a6)
- Permissions CRUD UI and OIDC auth integration in UI (6511da1)
- Retrieve historical features from BigQuery without entity_df (#6569) (cd5f6bb), closes #6558 #6552
- spark: SparkSource query+path and pre-computed offline read for BatchFeatureView (#6440) (4dc8757)
BREAKING CHANGES
- total_timeout_ms is renamed to batch_total_timeout_ms. Config files using the old name must be updated. No default value change.
Docs updated (reference + perf-tuning guide) with a short explainer on the per-attempt vs total deadline distinction. Two new unit tests pin the policy wiring: socket_timeout_ms propagates to all three scopes, and is omitted (not injected as None) when unset.
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- refactor(aerospike): use MAP_KEY_ORDERED, KEY_DIGEST, and instance-scoped client
Cheap-win cleanups flagged in review, all touching the same small patch of write-path and lifecycle code.
-
Map CDTs are now created with MAP_KEY_ORDERED. map_get_by_key / map_remove_by_key on an ordered map are O(log N) in the map size instead of O(N); matters on reads of wide feature views and on the update() background scan (which walks every record in the project's set).
-
Writes drop POLICY_KEY_SEND and rely on the client default (POLICY_KEY_DIGEST). The serialized entity key is no longer stored alongside each record, saving per-record storage the read path never consumes (batch_operate preserves request order; results are paired back by zip in online_read).
-
_client moves from a class attribute to an instance attribute (set in init). Previously two AerospikeOnlineStore instances could share the cached client through class state until one wrote self._client. With the instance attribute the state is always per-instance from construction.
-
Drop MongoDB references from class docstrings and comments (they referred to how the storage layout was derived rather than documenting current behavior). Also rewrite the _build_batch_writes docstring to describe the policies applied on the write path.
Unit test assertions for the write-path record are updated: bw.policy is now None (client default applies) and map ops carry map_policy={'map_order': MAP_KEY_ORDERED}. All three docker-backed integration tests still pass end-to-end (cross-FV upsert, update() background scan, full feature-store round-trip), so the read/write shape survives the ordering and policy changes against a real server.
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- feat(aerospike): add per-FV namespace/set overrides and prewriting hook
Adds three configuration knobs to AerospikeOnlineStoreConfig:
- namespace_overrides: pin individual feature views to a different Aerospike namespace (e.g. RAM-only vs. SSD-backed) without splitting the project across stores.
- set_overrides: place a feature view in its own set so admin ops on
it (truncate, scan-based deletes during
feast apply) do not touch records of other views. - prewriting_hook: import-string-resolved callable invoked once per online_write_batch with the rows about to be written, returning the rows that actually go on the wire. Resolved and cached on first use; returning [] short-circuits the wire call.
Read, write, update and teardown paths all honour the per-FV ns/set resolution. update() groups dropped feature views by their resolved (ns, set) pair and issues one background scan per group. teardown() truncates every unique (ns, set) pair the project may have written to, including the store-level default.
Adds 22 unit tests for the new behaviour and updates 3 existing call sites of _build_batch_writes for the new namespace= parameter. Adds a sample hook module under examples/online_store/aerospike_overrides_and_hooks/ and corresponding sections in docs/reference/online-stores/aerospike.md.
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- test: update aerospike image tag
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- chore: sync README template and secrets baseline after master merge
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- chore: fix secrets baseline line number for v1 operator types
Adding aerospike to the feast-operator enum shifted the allowlisted SecretRef entry in api/v1/featurestore_types.go by one line.
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- docs: update aerospike docs
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- fix(aerospike): wire batch max_retries and fix empty projection handling
Copilot review feedback on PR #6532:
- Add max_retries to the batch client policy (batch_operate/batch_write path)
- Treat empty projected feature maps as present FV slots (is not None)
- Return {} from _normalize_projected_features([]) instead of None
- Fix projection unit test mock/assertions
- Correct prewriting_hook config docstring
Co-authored-by: Copilot Autofix powered by AI 175728472+Copilot@users.noreply.github.com Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- style(aerospike): format online_read docs assignment for ruff
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- chore: update pixi.lock for aerospike optional extra
Regenerate the v6 lockfile with Pixi v0.63.1 after adding the aerospike extra to pyproject.toml.
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
- fix(aerospike): add client init lock and batch chunking
Guard lazy client creation with a lock to avoid connection leaks under concurrent first use, and chunk batch reads/writes by batch_max_records so large materializations stay under Aerospike server batch limits.
Signed-off-by: Valentyn Kahamlyk valentin.kagamlyk@gmail.com
0.64.0 (2026-06-13)
Bug Fixes
- Add async_supported property to RedisOnlineStore (9b088fe)
- Add missing feast init templates to operator CRD and enhance persistence documentation (1941d4d)
- Allow to publish from reference branch (5458ec8)
- API calls list (4203eb7)
- bigquery: Enable list inference for parquet loads in offline_write_batch (9243497), closes #5845
- Bump grpcio dependencies (07b4782)
- compute-engine/local: Honor field_mapping on join keys in dedup + join nodes (#6395) (bd01824)
- dynamodb: Avoid tag race condition by using diff-based tag updates (#6479) (bad2b7d), closes #6418
- dynamodb: Fix mypy type for _build_projection_expression return (217b4da)
- Fix intermittent async test failures for DynamoDB and Redis (63c5eb1)
- Fix mongodb blog title (57d28d4)
- Fix shared SQL registry crash - avoid unnecessary UDF deserialization in proto cache building (ac588d7)
- Fix SparkRetrievalJob.persist() failing for SparkSource (209d7cd)
- Fixed formatting and image for mongo blog (#6377) (f8389fb)
- Fixes for ray source (7f592a4)
- go: skip registry refresh when cache_ttl_seconds <= 0 (97ed40c)
- Handle array of strings columns in Athena materialization (#6324) (4ed0278)
- make milvus VARCHAR max_length configurable, remove hardcoded 512 limit (3b98c22)
- operator: Set appProtocol: grpc on registry gRPC Service (#6367) (c9ae2b4)
- PyJWT 2.10+ added validation that rejects empty HMAC keys (e756ffe)
- RemoteOnlineStore sends all features in a single HTTP request (8f187dd)
- Remove registry proto dump to enforce RBAC and add permission checks to Commit/Refresh RPCs (328431f)
- Remove selector migration job - no longer needed (51c325e)
- replace broken .claude skill symlink with correct relative path (4541690)
- Replace selector label strip patch with migration Job for upgrade-safe selector uniqueness (00dea50)
- Scope feature view name conflict check to current project in file-based registry (#6369) (a4fde83), closes #6209
- snowflake: Stop double-quoting connection identifiers (#6462) (e914d59)
- spark: S3/GCS PyArrow filesystem resolution for staging paths (#6442) (ae50414)
- trino: Clean up temporary entity tables after retrieval (#6381) (d86b13d), closes #6306
- Update go-feature-server base image to Go 1.25 and fix operator Dockerfile COPY permissions (86ef0bc)
Features
- [Backend] Data Quality Monitoring with native compute, multi-backend support, REST API, CLI (#6202) (5458c37)
- Add apache flink compute engine (#6476) (9636d6a)
- Add demo noteboooks for users (e362173)
- Add enabled/disabled toggle for feature views (#6401) (5f1fa0d), closes #6395
- Add Label View to init template (ec272d5)
- Add mTLS support to remote registry gRPC client (#6474) (c9602d8)
- Add Prometheus gauges for FeatureStore installation telemetry (#6354) (1b681b7)
- Adds registry REST API endpoints for managing entities, data sources, and feature views (#6413) (f77bd1d)
- Allow CRUD on entities, data sources, and feature views from UI (#6412) (2321c07)
- Allow default openlineage configuration (#6467) (276b6df)
- bigquery: Support DATE-type event timestamp columns (#6362) (753dee5), closes #2530
- cli: Add
feast projects deletecommand (closes #5095) (#6318) (1a4b96c) - Data Quality Monitoring added in feast UI (#6422) (fa271be)
- dynamodb: Use ProjectionExpression when requested_features is set (0adc906), closes #6058
- Enhance DataSource and FeatureView modals with error handling and submission states (96d7169)
- Expose registry endpoints on feature server for MCP access (f77981c)
- Feast First-Class LabelView Implementation (#6292) (c0e7e5d)
- Feast-MLflow Integration (#6235) (7279c75)
- Operational metrics for offline store and SOX metrics for both (#6340) (65b1b80)
- Pre-compute feature service (8011550)
- REST API-backed UI for RBAC compatibility and per-page lazy loading (#6414) (6ae80af)
- Support non-string map key types (#6382) (#6383) (728aa2e)
- Update FeatureStore CRD with DRA Fields (01241e4)
Performance Improvements
- Cache feature view resolution in get_online_features to reduce per-request overhead (55c2f18)
- Optimize feature serving latency with batched async Redis, cached checks fix (103809a)
- Replace MessageToDict with optimized custom dict builder (#6015) (9902064)
0.63.0 (2026-05-04)
Bug Fixes
- Add project filter to apply_data_source and delete_data_source (closes #6206) (#6322) (96562c4)
- Add project_id filter to SnowflakeRegistry UPDATE path (#6243) (6658b71), closes #6208 feast-dev/feast#6208
- Add subprocess timeouts to prevent test_e2e_local hanging on Dask atexit handler (3de6556)
- Ambiguous truth value of array during materialization (#6259) (d0c8984)
- Auto-detect GCS/S3 registry store when registry is passed as string (#6260) (7ebcf03)
- bigquery: Prefer query over table in get_table_query_string (#6360) (77ed779), closes #6200
- correct project_id scoping in get_user_metadata and delete_project (0c469a7)
- disable Redis RDB persistence in test deployments (44cd682)
- Disable snowflake tests temporarily in CI (#6356) (31d5a98)
- Filter empty SQL commands at execute_snowflake_statement call sites (#6249) (92ffbb9)
- Fix five bugs in milvus online store (#6275) (212504b)
- Fix issue with apply feature view (835cda8)
- Fix streaming materialization for exotic sources with lazy UDF pipelines (c07972d)
- Handle missing features gracefully instead of panicking (7d00b3a)
- Harden informer cache with label selectors and memory optimizations (#6242) (3f11356)
- helm: Avoid nil pointer for metrics.enabled inside podAnnotations (#6251) (c833f1a)
- Include git in feast server image (fb03c46)
- Include StreamFeatureView in freshness metric (#6269) (463f16c)
- Pre-create S3A event log dir before SparkContext init (#6317) (9feca77)
- Remote Online Store Type Inference Error with All-NULL Columns (#6063) (de67bdd)
- Remove selector with kustomize overlay using a JSON 6902 patch (9107a43)
- Resolve multiple bugs in SnowflakeRegistry and Snowflake connection handling (#6315) (7e66a2e)
- spark: BatchFeatureView with TransformationMode.PYTHON now reads all source columns (a310eaf)
- spark: Use SELECT * when feature_name_columns is empty in pull_all_from_table_or_query (e1b1d2d)
- Support pandas mode in feature builder and fix dask column extraction (863315e)
- support SQL string as entity_df in RemoteOfflineStore.get_historical_features (c559889)
- Wrap LocalOutputNode return value in ArrowTableValue for consist… (#6286) (a16cd55)
Features
- Add agent skills and Cursor/Claude rules for Feast development (312eea3)
- Add feature view versioning support to FAISS online store (b36acb7)
- Add feature view versioning support to Redis and DynamoDB online stores (#6257) (edf25af), closes #6164 #6163
- Add optional 'org' in feature view (#6288) (#6301) (608b105)
- Add RaySource, to_ray_dataset first-class method, docs, and tests (1c98157)
- Add TLS support for Go Feature Server (#6229) (28a58d0)
- Add Vector Search support to MongoDBOnlineStore (#6344) (c102738)
- Add versioning support to Milvus online store (#6330) (3268ced)
- Addresses performance issues in the Redis online store (2e50da0)
- Allow to set gpu for ray (5580ab4)
- Bump redis-py version cap from <5 to <8 (#6339) (9538180)
- Expose feature_server, materialization, and openlineage configuration via FeatureStore CRD (ec6ecfd)
- Make online_write_batch_size configurable in MaterializationConfig (#6268) (d41becf)
- Make udf optional if agg defined (#5689) (#6328) (f630056)
- MongoDB offline store (#6138) (8eebad7)
- Optional input_schema for ODFV (#6308) (#6312) (f08b4e8)
- Provision minimal TokenReview RBAC for OIDC auth and add SSL error logging in token parser (#6240) (dca57e8)
- spark: Add compute-on-read support for BatchFeatureView in get_… (#6357) (630d9f8)
0.62.0 (2026-04-08)
Bug Fixes
- Added missing jackc/pgx/v5 entries (94ad0e7)
- Fix missing error handling for resource_counts endpoint (d9706ce)
- fix path feature_definitions.py (7d7df68)
- Fix regstry Rest API tests intermittent failure (d53a339)
- Fixed intermittent failures in get_historical_features (c335ec7)
- Fixed the intermittent FeatureViewNotFoundException (661ecc7)
- Handle existing RBAC role gracefully in namespace registry (b46a62b)
- Ignore ipynb files during apply (#6151) (4ea123d)
- Mount TLS volumes for init container (080a9b5)
- postgres: Use end_date in synthetic entity_df for non-entity retrieval (#6110) (088a802), closes #6066
- SSL/TLS mode by default for postgres connection (4844488)
- Sync v0.61-branch so v0.61.0 tag is reachable from master (af66878)
Features
- Add Claude Code agent skills for Feast (#6081) (1e5b60f), closes #5976 #6007
- Add decimal to supported feature types (#6029) (#6226) (cff6fbf)
- Add feast apply init container to automate registry population on pod start (#6106) (6b31a43)
- Add feature view versioning support to PostgreSQL and MySQL online stores (#6193) (940e0f0), closes #6168 #6169 #2728
- Add metadata statistics to registry api (ef1d4fc)
- Add Oracle DB as Offline store in python sdk & operator (#6017) (9d35368)
- Add RBAC aggregation labels to FeatureStore ClusterRoles (daf77c6)
- Add ServiceMonitor auto-generation for Prometheus discovery (#6126) (56e6d21)
- Add typed_features field to grpc write request ((#6117) (#6118) (eeaa6db), closes #6116
- Add UUID and TIME_UUID as feature types (#5885) (#5951) (5d6e311)
- Add version indicators to lineage graph nodes (#6187) (73805d3)
- Add version tracking to FeatureView (#6101) (ed4a4f2)
- Added Agent skills for AI Agents (#6007) (99008c8)
- Added odfv transformations metrics (8b5a526)
- Created DocEmbedder class (#5973) (0719c06)
- Extended OIDC support to extract groups & namespaces and token injection with multiple methods (#6089) (7c04026)
- Replace ORJSONResponse with Pydantic response models for faster JSON serialization (65cf03c)
- Support distinct count aggregation [#6116] (3639570)
- Support HTTP in MCP (#6109) (e72b983)
- Support nested collection types (Array/Set of Array/Set) (#5947) (#6132) (ab61642)
- Support podAnnotations on Deployment pod template (1b3cdc1)
- Utilize date partition column in BigQuery (#6076) (4ea9b32)
Performance Improvements
- Online feature response construction in a single pass over read rows (113fb04)
0.61.0 (2026-03-10)
Bug Fixes
- Add grpcio dependency group to transformation server Dockerfile (2c2150a)
- Add https readiness check for rest-registry tests (ea85e63)
- Add website build check for PRs and fix blog frontmatter YAML error (#6079) (30a3a43)
- Added MLflow metric charts across feature selection (#6080) (a403361)
- Check duplicate names for feature view across types (#5999) (95b9af8)
- Fix integration tests (#6046) (02d5548)
- Fix non-specific label selector on metrics service (a1a160d)
- Fixed IntegrityError on SqlRegistry (#6047) (325e148)
- Fixed pre-commit check (114b7db)
- Fixed uv cache permission error for docker build on mac (ad807be)
- Fixes a
PydanticDeprecatedSince20warning for trino_offline_store (#5991) (abfd18a) - Integration test failures (#6040) (9165870)
- Ray offline store tests are duplicated across 3 workflows (54f705a)
- Reenable tests (#6036) (82ee7f8)
- Use commitlint pre-commit hook instead of a separate action (35a81e7)
Features
- Add complex type support (Map, JSON, Struct) with schema validation (#5974) (1200dbf)
- Add materialization, feature freshness, request latency, and push metrics to feature server (2c6be18)
- Add non-entity retrieval support for ClickHouse offline store (4d08ddc), closes #5835
- Add OnlineStore for MongoDB (#6025) (bf4e3fa), closes golang/go#74462
- Added CodeQL SAST scanning and detect-secrets pre-commit hook (547b516)
- Adding optional name to Aggregation (feast-dev#5994) (#6083) (56469f7)
- Feature Server High-Availability on Kubernetes (#6028) (9c07b4c), closes Hi#Availability Hi#Availability
- go: Implement metrics and tracing for http and grpc servers (#5925) (2b4ec9a)
- Horizontal scaling support to the Feast operator (#6000) (3ec13e6)
- Making feature view source optional (feast-dev#6074) (#6075) (76917b7)
- Support arm docker build (#6061) (1e1f5d9)
- Use orjson for faster JSON serialization in feature server (6f5203a)
Performance Improvements
- Optimize protobuf parsing in Redis online store (#6023) (59dfdb8)
- Optimize timestamp conversion in _convert_rows_to_protobuf (33a2e95)
- Parallelize DynamoDB batch reads in sync online_read (#6024) (9699944)
- Remove redundant entity key serialization in online_read (d87283f)
0.60.0 (2026-02-17)
Bug Fixes
- Added a flag to correctly download the go binaries (0f77135)
- Adds mapping of date Trino's type into string Feast's type (531e839)
- ci: Use uv run for pytest in master_only benchmark step (#5957) (5096010)
- Disable materialized odfvs for historical retrieval (#5880) (739d28a)
- Fix linting and formatting issues (#5907) (42ca14a)
- Make timestamp field handling compatible with Athena V3 (#5936) (e2bad34)
- Support pgvector under non-default schema (#5970) (c636cd4)
- unit tests not running on main branch (#5909) (62fe664)
- Update java dep which blocking release (#5903) (a5b8186)
- Update the dockerfile with golang 1.24.12. (#5918) (be1b522)
- Use context.Background() in client constructors (#5897) (984f93a)
Features
- Add blog post for PyTorch ecosystem announcement (#5906) (d2eb629)
- Add blog post on Feast dbt integration (#5915) (b3c8138)
- Add DynamoDB in-place list update support for array-based features (#5916) (aa5973f)
- Add HTTP connection pooling for remote online store client (#5895) (e022bf8)
- Add integration tests for dbt import (#5899) (a444692)
- Add lazy initialization and feature service caching (#5924) (b37b7d0)
- Add multiple entity support to dbt integration (#5901) (05a4fb5), closes #5872
- Add PostgreSQL online store support for Go feature server (#5963) (b8c6f3d)
- Add publish docker image of Go feature server. (#5923) (759d8c6)
- Add Set as feature type (#5888) (52458fc)
- Added online server worker config support in operator (#5926) (193c72a)
- Added support for OpenLineage integration (#5884) (df70d8d)
- Adjust ray offline store to support abfs(s) ADLS Azure Storage (#5911) (d6c0b2d)
- Batch_engine config injection in feature_store.yaml through operator (#5938) (455d56c)
- Consolidate Python packaging - remove setup.py/setup.cfg, standardize on pyproject.toml and uv (16696b8)
- go: Add MySQL registry store support for Go feature server (#5933) (19f9bb8)
- Improve local dev experience with file-aware hooks and auto parallelization (#5956) (839b79e)
- Modernize precommit hooks and optimize test performance (#5929) (ea7d4fa)
- Optimize container infrastructure for production (#5881) (5ebdac8)
- Optimize DynamoDB online store for improved latency (#5889) (fcc8274)
0.59.0 (2026-01-16)
Bug Fixes
- Add get_table_query_string_with_alias() for PostgreSQL subquery aliasing (#5811) (11122ce)
- Add hybrid online store to ONLINE_STORE_CLASS_FOR_TYPE mapping (#5810) (678589b)
- Add possibility to overwrite send_receive_timeout for clickhouse offline store (#5792) (59dbb33)
- Denial by default to all resources when no permissions set (#5663) (1524f1c)
- Make operator include full OIDC secret in repo config (#5676) (#5809) (a536bc2)
- Populate Postgres
registry.pathduringfeast init(#5785) (f293ae8) - redis: Preserve millisecond timestamp precision for Redis online store (#5807) (9e3f213)
- Search API to return all matching tags in matched_tags field (#5843) (de37f66)
- Spark Materialization Engine Cannot Infer Schema (#5806) (58d0325), closes #5594 #5594
- Support arro3 table schema with newer deltalake packages (#5799) (103c5e9)
- Timestamp formatting and lakehouse-type connector for trino_offline_store. (#5846) (c2ea7e9)
- Update model_validator to use instance method signature (Pydantic v2.12 deprecation) (#5825) (3c10b6e)
Features
- Add dbt integration for importing models as FeatureViews (#5827) (b997361), closes #3335 #3335 #3335
- Add GCS registry store in Go feature server (#5818) (1dc2be5)
- Add progress bar to CLI from feast apply (#5867) (ab3562b)
- Add RBAC blog post to website (#5861) (b1844a3)
- Add skip_feature_view_validation parameter to FeatureStore.apply() and plan() (#5859) (5482a0e)
- Added batching to feature server /push to offline store (#5683) (#5729) (ce35ce6)
- Enable static artifacts for feature server that can be used in Feature Transformations (#5787) (edefc3f)
- Improve lambda materialization engine (#5829) (f6116f9)
- Offline Store historical features retrieval based on datetime range in Ray (#5738) (e484c12)
- Read, Save docs and chat fixes (#5865) (2081b55)
- Resolve pyarrow >21 installation with ibis-framework (#5847) (8b9bb50)
- Support staging for spark materialization (#5671) (#5797) (5b787af)
0.58.0 (2025-12-16)
Bug Fixes
- Add java proto (#5719) (fc3ea20)
- Add possibility to force full features names for materialize ops (#5728) (55c9c36)
- Fixed file registry cache sync (09505d4)
- Handle hyphon in sqlite project name (#5575) (#5749) (b8346ff)
- Pinned substrait to fix protobuf issue (d0ef4da)
- Set TLS certificate annotation only on gRPC service (#5715) (75d13db)
- SQLite online store deletes tables from other projects in shared registry scenarios (#5766) (fabce76)
- Validate not existing entity join keys for preventing panic (0b93559)
Features
- Add annotations for pod templates (534e647)
- Add Pytorch template (#5780) (6afd353)
- Add support for extra options for stream source (#5618) (18956c2)
- Added matched_tag field search api results with fuzzy search capabilities (#5769) (4a9ffae)
- Added support for enabling metrics in Feast Operator (#5317) (#5748) (a8498c2)
- Configure CacheTTLSecondscache,CacheMode for file-based registry in Feast Operator(#5708) (#5744) (f25f83b)
- Implemented Tiling Support for Time-Windowed Aggregations (#5724) (7a99166)
- Offline Store historical features retrieval based on datetime range for spark (#5720) (27ec8ec)
- Offline Store historical features retrieval based on datetime range in dask (#5717) (a16582a)
- Production ready feast operator with v1 apiversion (#5771) (49359c6)
- Support for Map value data type (#5768) (#5772) (b99a8a9)
0.57.0 (2025-11-13)
Bug Fixes
- Improve trino to feast type mapping with (real,varchar,timestamp,decimal) (#5691) (f855ad2)
- Materialize API - ODFV views not looked-up (thinks views non existant) - crashes materialize (#5716) (1b050b3)
- Support historical feature retrieval with start_date/end_date in RemoteOfflineStore (#5703) (ad32756)
- Thread safe Clickhouse offline store (#5710) (5f446ed)
Features
- Add annotations to cronjob CRDs (#5701) (be6e6c2)
- Add batch commit mode for MySQL OnlineStore (#5699) (3cfe4eb)
- Add possibility to materialize only latest values, to increase performance (#5713) (8d77b72)
- Support table format: Iceberg, Delta, and Hudi (#5650) (2915ad1)
0.56.0 (2025-10-27)
Bug Fixes
- Add mode field to Transformation proto for proper serialization (2390d2e)
- Date wise remote offline store historical data retrieval (#5686) (949ba3d)
- Fix STRING type handling in on-demand feature views (#5669) (dfbb743)
- Fixed torch install issue in CI (366e5a8)
- ODFV not getting counted in resource count (1d640b6)
- Skip tag updates if user do not have permissions (#5673) (0a951ce)
Features
- Add document of Go feature server. (#5697) (cbd1dde)
- Add flexible commandArgs support for complete Feast CLI control (#5678) (6414924)
- Add HDFS as a feature registry (#5655) (4c65872)
- Add nodeSelector to service config (#5675) (9728cde)
- Add OTEL based observability to the Go Feature Server (#5685) (f4afdad)
- Added health endpoint for the UI (#5665) (3aec5d5)
- Added kuberay support (e0b698d)
- Added support for filtering multi-projects (#5688) (eb0a86e)
- Batch Embedding at scale for RAG with Ray (cc2a46d)
- Optimize SQL entity handling without creating temporary tables (#5695) (aa2c838)
- Support aggregation in odfv (#5666) (564e965)
- Support cache_mode for registries (021e9ea)
0.55.0 (2025-10-14)
Bug Fixes
- Added unix_timestamp_val in _serialize_val (#5659) (35a8423)
- BatchFeatureView transformation should persist in Registry Ser/Deserialization (3364bad)
- Check if DynamoDB table exists before create (#5658) (e7fd506)
- Fix the link to Expedia in the Go Feature Server readme. (3ed0163)
Features
- Add Claude instructions (#5651) (4807a52)
- Groups and Namespaces based authorization, for Users and Service Accounts (#5619) (da6257c)
0.54.0 (2025-09-30)
Bug Fixes
- Column quoting in query of
PostgreSQLOfflineStore.pull_all_from_table_or_query(#5621) (e8eae71) - Correct column list polars materialization engine (#5595) (39aeb0c)
- Fix Go feature server entitykey serialization for version 3 (#5622) (5ab18a6)
- Fix hostname resolution for spark tests (#5610) (8f0e22d)
- Fixed filtering based on data_source for ODFVs (#5593) (c3e6c56)
- Fixed project_description to set in registry and UI (#5602) (02c3006)
- Fixed Registry Cache Refresh Issues (#5604) (3c7a022)
- Fixed tls issue when running both grpc and rest servers (#5617) (51c16b1)
- Fixed transaction handling with SQLite registry (#5588) (0052754)
- Update the deprecated functions in Go feature server. (#5632) (a24e06e)
- Updated python packages conflicting with kserve dependencies (#5580) (d56baf4)
Features
- Add 'featureView' in global search api result for features. (#5626) (76590bf)
- Add aggregation in OnDemandFeatureView (#5629) (8715ae8)
- Added codeflare-sdk to requirements (#5640) (51a0ee6)
- Added RemoteDatasetProxy that executes Ray Data operations remotely (7128024)
- Added support for image search (#5577) (56c5910)
- Enable ingestion without event timestamp (#5625) (eb51f00)
- Feast dataframe phase1 (#5611) (2ce4198)
- Feast dataframe phase2 (#5612) (1d08786)
- Feast Namespaces registry for client ConfigMaps availability (#5599) (728589a)
- Support hdfs:// uris in to_remote_storage for Spark offline store (#5635) (5e4b9fd)
0.53.0 (2025-08-30)
Bug Fixes
- Consistency in allow_cache and savedDatasets api (#5572) (7e8b914)
- docs: Use absolute image URLs in README (7188fc9)
Features
0.52.0 (2025-08-14)
Bug Fixes
- Correct entity value type mapping for aliased feature views (#5492) (bdf20bb)
- Correct namespace reference in remote Feast project setup for operator upgrade and previous version tests (df391ec)
- dell pydantic v1 (1189512)
- Fixed the entity to on-demand feature view relationship (1c59bba)
- Make transformers optional (#5544) (a4eef38)
- Push Source inherits the timestamp fields from Data Source (#5550) (b7ea5cc)
- Remove the devcontainer folder. (a9815c2)
Features
- Added API for discovering Feature Views by popular tags (#5558) (2e5f564)
- Added filtering support for featureView and featureServices api (#5552) (897b3f3)
- Added global search api and necessary unit tests (#5532) (dd3061f)
- Added Ray Compute Engine and Ray Offline Store Support (#5526) (72de088)
- Added recent visit logging api for registry server (#5545) (2adcf2c)
- auth: support client-credentials & static token for OIDC client auth (fc44222)
- auth: support client-credentials & static token for OIDC client auth (795fc06)
- Implement and enhance remote document retrieval functionality (#5487) (d095b96)
- Implemented consistent error handling (7f10151)
- Offline Store historical features retrieval without entity df, but based on datatime range (#5527) (df942b9)
0.51.0 (2025-07-21)
Bug Fixes
- FeatureView serialization with cycle detection (#5502) (f287ca5)
- Fix current version in publish workflow (#5499) (0af6e94)
- Fix NPM authentication (#5506) (9f85892)
- Fix verify wheels workflow for macos14 (#5486) (07174cc)
- Fixed error thrown for invalid project name on features api (#5525) (4a9a5d0)
- Fixed ODFV on-write transformations (271ef74)
- Move Install OS X dependencies before python setup (#5488) (35f211c)
- Normalize current version by removing 'v' prefix if present (#5500) (43f3d52)
- Skip macOS 14 with Python 3.10 due to gettext library (#5490) (41d4977)
- Standalone Web UI Publish Workflow (#5498) (c47b134)
Features
- Added endpoints to allow user to get data for all projects (4e06965)
- Added grpc and rest endpoint for features (#5519) (0a75696)
- Added relationship support to all API endpoints (#5496) (bea83e7)
- Continue updating doc (#5523) (ea53b2b)
- Hybrid offline store (#5510) (8f1af55)
- Populate created and updated timestamp on data sources (af3056b)
- Provide ready-to-use Python definitions in api (37628d9)
- Snowflake source. fetch MAX in a single query (#5387) (b49cea1)
- Support compute engine to use multi feature views as source (#5482) (b9ac90b)
- Support pagination and sorting on registry apis (#5495) (c4b6fbe)
- Update doc (#5521) (2808ce1)
0.50.0 (2025-07-01)
Bug Fixes
- Add asyncio to integration test (#5418) (6765515)
- Add clickhouse to OFFLINE_STORE_CLASS_FOR_TYPE map (#5251) (9ed2ffa)
- Add missing conn.commit() in SnowflakeOnlineStore.online_write_batch (#5432) (a83dd85)
- Add transformers in required dependencies (8cde460)
- Allow custom annotations on Operator installed objects (#5339) (44c7a76)
- Dask pulling of latest data (#5229) (571d81f)
- dask: preserve remote URIs (e.g. s3://) in DaskOfflineStore path resolution (2561cfc)
- Fix Event loop is closed error on dynamodb test (#5480) (fe0f671)
- Fix lineage entity filtering (#5321) (0d05701)
- Fix list saved dataset api (833696c)
- Fix NumPy - PyArrow array type mapping in Trino offline store (#5393) (9ba9ded)
- Fix pandas 2.x compatibility issue of Trino offline store caused by removed Series.iteritems() method (#5345) (61e3e02)
- Fix polling mechanism for TestApplyAndMaterialize (#5451) (b512a74)
- Fix remote rbac integration tests (#5473) (10879ec)
- Fix Trino offline store SQL in Jinja template (#5346) (648c53d)
- Fixed CurlGeneratorTab github theme type (#5425) (5f15329)
- Increase the Operator Manager memory limits and requests (#5441) (6c94dbf)
- Method signature for push_async is out of date (#5413) (28c3379), closes #5410 #006BB4
- Operator - support securityContext override at Pod level (#5325) (33ea0f5)
- Pybuild-deps throws errors w/ latest pip version (#5311) (f2d6a67)
- Reopen for integration test about add s3 storage-based registry store in Go feature server (#5352) (ef75f61)
- resolve Python logger warnings (#5361) (37d5c19)
- The ignore_paths not taking effect duration feast apply (#5353) (e4917ca)
- Update generate_answer function to provide correct parameter format to retrieve function (dc5b2af)
- Update milvus connect function to work with remote instance (#5382) (7e5e7d5)
- Updating milvus connect function to work with remote instance (#5401) (b89fadd)
- Upperbound limit for protobuf generation (#5309) (a114aae)
Features
- Add CLI, SDK, and API documentation page to Feast UI (#5337) (203e888)
- Add dark mode toggle to Feast UI (#5314) (ad02e46)
- Add data labeling tabs to UI (#5410) (389ceb7), closes #006BB4
- Add Decimal to allowed python scalar types (#5367) (4777c03)
- Add feast rag retriver functionality (#5405) (0173033)
- Add feature view curl generator (#5415) (7a5b48f)
- Add feature view lineage tab and filtering to home page lineage (#5308) (308255d)
- Add feature view tags to dynamo tags (#5291) (3a787ac)
- Add HybridOnlineStore for multi-backend online store routing (#5423) (ebd67d1)
- Add max_file_size to Snowflake config (#5377) (e8cdf5d)
- Add MCP (Model Context Protocol) support for Feast feature server (#5406) (de650de), closes #5398 #5382 #5389 #5401
- Add rag project to default dev UI (#5323) (3b3e1c8)
- Add s3 storage-based registry store in Go feature server (#5336) (abe18df)
- Add support for data labeling in UI (#5409) (d183c4b), closes #27
- Added Lineage APIs to get registry objects relationships (#5472) (be004ef)
- Added rest-apis serving option for registry server (#5342) (9740fd1)
- Added torch.Tensor as option for online and offline retrieval (#5381) (0b4ae95)
- Adding feast delete to CLI (#5344) (19fe3ac)
- Adding permissions to UI and refactoring some things (#5320) (6f1b0cc)
- Allow to set registry server rest/grpc mode in operator (#5364) (99afd6d)
- Allow to use env variable FEAST_FS_YAML_FILE_PATH and FEATURE_REPO_DIR (#5420) (6a1b33a)
- Enable materialization for ODFV Transform on Write (#5459) (3d17892)
- Improve search results formatting (#5326) (18cbd7f)
- Improvements to Lambda materialization engine (#5379) (b486f29)
- Make batch_source optional in PushSource (#5440) (#5454) (ae7e20e)
- Refactor materialization engine (#5354) (f5c5360)
- Remote Write to Online Store completes client / server architecture (#5422) (2368f42)
- Serialization version 2 and below removed (#5435) (9e50e18)
- SQLite online retrieval. Add timezone info into timestamp. (#5386) (6b05153)
- Support dual-mode REST and gRPC for Feast Registry Server (#5396) (fd1f448)
- Support DynamoDB as online store in Go feature server (#5464) (40d25c6)
- Update Spark Compute read source node to be able to use other data sources (#5445) (a93d300)
Reverts
- Chore Release "chore(release): release 0.50.0" (#5483) (0eef391)
- Feat: Add CLI, SDK, and API documentation page to Feast UI" (#5341) (b492f14), closes #5337
- Revert "feat: Add s3 storage-based registry store in Go feature server" (#5351) (d5d6766), closes #5336
- Revert "fix: Update milvus connect function to work with remote instance" (#5398) (434dd92), closes #5382
0.49.0 (2025-04-29)
Bug Fixes
- Adding brackets to unit tests (c46fea3)
- Adding logic back for a step (2bb240b)
- Adjustment for unit test action (a6f78ae)
- Allow get_historical_features with only On Demand Feature View (#5256) (0752795)
- CI adjustment (3850643)
- Embed Query configuration breaks when switching between DataFrame and SQL (#5257) (32375a5)
- Fix for proto issue in utils (1b291b2)
- Fix milvus online_read (#5233) (4b91f26)
- Fix tests (431d9b8)
- Fixed Permissions object parameter in example (#5259) (045c100)
- Java CI #12 (d7e44ac)
- Java PR #15 (a5da3bb)
- Java PR #16 (e0320fe)
- Java PR #17 (49da810)
- Materialization logs (#5243) (4aa2f49)
- Moving to custom github action for checking skip tests (caf312e)
- Operator - remove default replicas setting from Feast Deployment (#5294) (e416d01)
- Patch java pr #14 (592526c)
- Patch update for test (a3e8967)
- Remove conditional from steps (995307f)
- Remove misleading HTTP prefix from gRPC endpoints in logs and doc (#5280) (0ee3a1e)
- removing id (268ade2)
- Renaming workflow file (5f46279)
- Resolve
no pq wrapperimport issue (#5240) (d5906f1) - Update actions to remove check skip tests (#5275) (b976f27)
- Update docling demo (446efea)
- Update java pr #13 (fda7db7)
- Update java_pr (fa138f4)
- Update repo_config.py (6a59815)
- Update unit tests workflow (06486a0)
- Updated docs for docling demo (768e6cc)
- Updating action for unit tests (0996c28)
- Updating github actions to filter at job level (0a09622)
- Updating Java CI (c7c3a3c)
- Updating java pr to skip tests (e997dd9)
- Updating workflows (c66bcd2)
Features
- Add date_partition_column_format for spark source (#5273) (7a61d6f)
- Add Milvus tutorial with Feast integration (#5292) (a1388a5)
- Add pgvector tutorial with PostgreSQL integration (#5290) (bb1cbea)
- Add ReactFlow visualization for Feast registry metadata (#5297) (9768970)
- Add retrieve online documents v2 method into pgvector (#5253) (6770ee6)
- Compute Engine Initial Implementation (#5223) (64bdafd)
- Enable write node for compute engine (#5287) (f9baf97)
- Local compute engine (#5278) (8e06dfe)
- Make transform on writes configurable for ingestion (#5283) (ecad170)
- Offline store update pull_all_from_table_or_query to make timestampfield optional (#5281) (4b94608)
- Serialization version 2 deprecation notice (#5248) (327d99d)
- Vector length definition moved to Feature View from Config (#5289) (d8f1c97)
0.48.1 (2025-04-08)
Bug Fixes
0.48.0 (2025-04-07)
Bug Fixes
- Enhance integration logos display and styling in the UI (#5221) (5799257)
- Fix space typo in push.md docs (#5184) (81677b2)
- Fixed integration tests for qdrant and milvus (#5224) (d6b080d)
- Formatting trino (760ec0e)
- Multiple fixes in retrieval of online documents (#5168) (66ddd3e)
- Operator route creation for Feast UI in OpenShift (e3946b4)
- Remove entity_rows parameter from retrieve_online_documents_v2 call (#5225) (2a2e304)
- Styling (#5222) (34c393c)
- typo in the chart (bd3448b)
- Update milvus-quickstart and feature_store.yaml with correct Milvus Config (#5200) (306acca)
- Update Qdrant online store paths in repo_config.py (#5207) (ab35b0b), closes #5206
- Update the doc (#5194) (726464e)
- Updated the operator-rabc example to test RBAC from a Kubernete pod (#5147) (d23a1a5)
Features
- add
real(float32) type for trino offline store (#4749) (0947f96) - Add async DynamoDB timeout and retry configuration (#5178) (2f3bcf5)
- Add CronJob capability to the Operator (feast apply & materialize-incremental) (#5217) (285c0dc)
- Add RAG tutorial and Use Cases documentation (#5226) (99f4004)
- Added CLI for features, get historical and online features (#5197) (4ab9f74)
- Added export support in feast UI (#5198) (b079553)
- Added global registry search support in Feast UI (#5195) (f09ea49)
- Added UI for Features list (#5192) (cc7fd47)
- Adding blog on RAG with Milvus (#5161) (b9e2e6c)
- Adding Docling RAG demo (#5109) (569404b)
- Allow transformations on writes to output list of entities (#5209) (955521a)
- Cache get_any_feature_view results (#5175) (924b8a3)
- Clickhouse offline store (#4725) (86794c2)
- Enable keyword search for Milvus (#5199) (ac44967)
- Enable transformations on PDFs (#5172) (3674971)
- Enable users to use Entity Query as CTE during historical retrieval (#5202) (fe69eaf)
- helm support more deployment config (d575372)
- Improved CLI file structuring (#5201) (972ed34)
- Kickoff Transformation implementationtransformation code base (#5181) (0083303)
- Make keep-alive timeout configurable for async DynamoDB connections (#5167) (7f3e528)
- Operator mounts the odh-trusted-ca-bundle configmap when deployed on RHOAI or ODH (d4d7b0d)
- Spark Transformation (#5185) (be3d85c)
0.47.0 (2025-03-10)
- feat!: Include PUBLIC_URL in defaultProjectListPromise URL in /ui (2f0f7b3)
Bug Fixes
- Add transformation_service_endpoit to support Go feature server. (#5071) (5627d7c)
- Adding extra space on the VM to kind cluster to see if this solves the issue with memory not available with operator e2e tests. (#5102) (e6e928c)
- Allow unencrypted Snowflake key (#5097) (87a7c23)
- Cant add different type of list types (#5118) (bebd7be)
- Fixing transformations on writes (#5127) (95ac34a)
- Identify s3/remote uri path correctly (#5076) (93becff)
- Increase available action VM storage and reduce dev feature-server image size (#5112) (75f5a90)
- Move Feast to pyproject.toml instead of setup.py (#5067) (4231274)
- Skip refresh if already in progress or if lock is already held (#5068) (f3a24de)
Features
- Add an OOTB Chat uI to the Feature Server to support RAG demo (#5106) (40ea7a9)
- Add Couchbase Columnar as an Offline Store (#5025) (4373cbf)
- Add Feast Operator RBAC example with Kubernetes Authentication … (#5077) (2179fbe)
- Added docling and pytorch as add on (#5089) (135342b)
- Feast Operator example with Postgres in TLS mode. (#5028) (2c46f6a)
- Operator - Add feastProjectDir section to CR with git & init options (#5079) (d64f01e)
- Override the udf name when provided as input to an on demand transformation (#5094) (8a714bb)
- Set value_type of entity directly in from_proto (#5092) (90e7498)
- Updating retrieve online documents v2 to work for other fields for sq… (#5082) (fc121c3)
BREAKING CHANGES
- The PUBLIC_URL environment variable is now taken into account by default when fetching the projects list. This is a breaking change only if all these points apply:
-
You're using Feast UI as a module
-
You're serving the UI files from a non-root path via the PUBLIC_URL environment variable
-
You're serving the project list from the root path
-
You're not passing the
feastUIConfigs.projectListPromiseprop to the FeastUI component
In this case, you need to explicitly fetch the project list from the
root path via the feastUIConfigs.projectListPromise prop:
const root = createRoot(document.getElementById("root")!);
root.render(
<React.StrictMode>
- <FeastUI />
+ <FeastUI
+ feastUIConfigs={{
+ projectListPromise: fetch("/projects-list.json", {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ }).then((res) => res.json())
+ }}
+ />
</React.StrictMode>
);
Signed-off-by: Harri Lehtola peruukki@hotmail.com
0.46.0 (2025-02-17)
Bug Fixes
- Add scylladb to online stores list in docs (#5061) (08183ed)
- Changed feast operator to set status of featurestore cr to ready based on deployment.status = available (#5020) (fce0d35)
- Ensure Postgres queries are committed or autocommit is used (#5039) (46f8d7a)
- Fixing the release workflow to refresh the stable branch when the release is not running in the dry run mode. (#5057) (a13fa9b)
- Operator - make onlineStore the default service (#5044) (6c92447)
- Operator - resolve infinite reconciler loop in authz controller (#5056) (11e4548)
- Resolve module on windows (#4827) (efbffa4)
- Setting the github_token explicitly to see if that solves the problem. (#5012) (3834ffa)
- Validate entities when running get_online_features (#5031) (3bb0dca)
Features
- Add SQLite retrieve_online_documents_v2 (#5032) (0fffe21)
- Adding Click command to display configuration details (#5036) (ae68e4d)
- Adding volumes and volumeMounts support to Feature Store CR. (#4983) (ec6f1b7)
- Moving the job to seperate action so that we can test it easily. (#5013) (b9325b7)
- Operator - make server container creation explicit in the CR (#5024) (b16fb40)
0.45.0 (2025-02-04)
Features
- Changing refresh stable branch from step to a job. Using github credentials bot so that we can push the changes. (#5011) (7335e26)
0.44.0 (2025-02-04)
Bug Fixes
- Adding periodic check to fix the sporadic failures of the operator e2e tests. (#4952) (1d086be)
- Adding the feast-operator/bin to the .gitignore directory. Somehow it… (#5005) (1a027ee)
- Changed Env Vars for e2e tests (#4975) (fa0084f)
- Fix GitHub Actions to pass authentication (#4963) (22b9138), closes #4937 #4939 #4941 #4940 #4943 #4944 #4945 #4946 #4947 #4948 #4951 #4954 #4957 #4958 #4959 #4960 #4962
- Fix showing selected navigation item in UI sidebar (#4969) (8ac6a85)
- Invalid column names in get_historical_features when there are field mappings on join keys (#4886) (c9aca2d)
- Read project data from the 'projects' key while loading the registry state in the Feast UI (#4772) (cb81939)
- Remove grpcurl dependency from Operator (#4972) (439e0b9)
- Removed the dry-run flag to test and we will add it back later. (#5007) (d112b52)
- Render UI navigation items as links instead of buttons (#4970) (1267703)
- Resolve Operator CRD bloat due to long field descriptions (#4985) (7593bb3)
- Update manifest to add feature server image for odh (#4973) (6a1c102)
- Updating release workflows to refer to yml instead of yaml (#4935) (02b0a68)
- Use locally built feast-ui package in dev feature-server image (#4998) (0145e55)
Features
- Added OWNERS file for OpenshiftCI (#4991) (86a2ee8)
- Adding Milvus demo to examples (#4910) (2daf852)
- Adding retrieve_online_documents endpoint (#5002) (6607d3d)
- Adding support to return additional features from vector retrieval for Milvus db (#4971) (6ce08d3)
- Creating/updating the stable branch after the release. (#5003) (e9b53cc)
- Implementing online_read for MilvusOnlineStore (#4996) (92dde13)
- Improve exception message for unsupported Snowflake data types (#4779) (5992364)
- Operator add feast ui deployment (#4930) (b026d0c)
- Updating documents to highlight v2 api for Vector Similarity Se… (#5000) (32b82a4)
0.43.0 (2025-01-20)
Bug Fixes
- Add k8s module to feature-server image (#4839) (f565565)
- Adding input to workflow (e3e8c97)
- Change image push to use --all-tags option (#4926) (02458fd)
- Fix integration build/push for images (#4923) (695e49b)
- Fix integration operator push (#4924) (13c7267)
- Fix release.yml (#4845) (b4768a8)
- Fixing some of the warnings with the github actions (#4763) (1119439)
- Improve status.applied updates & add offline pvc unit test (#4871) (3f49517)
- Made fixes to Go Operator DB persistence (#4830) (cdc0753)
- Make transformation_service_endpoint configuration optional (#4880) (c62377b)
- Move pre-release image builds to quay.io, retire gcr.io pushes (#4922) (40b975b)
- Performance regression in /get-online-features (#4892) (0db56a2)
- Refactor Operator to deploy all feast services to the same Deployment/Pod (#4863) (88854dd)
- Remove unnecessary google cloud steps & upgrade docker action versions (#4925) (32aaf9a)
- Remove verifyClient TLS offlineStore option from the Operator (#4847) (79fa247)
- Resolving syntax error while querying a feature view with column name starting with a number and BigQuery as data source (#4908) (d3495a0)
- Updated python-helm-demo example to use MinIO instead of GS (#4691) (31afd99)
Features
- Add date field support to spark (#4913) (a8aeb79)
- Add date support when converting from python to feast types (#4918) (bd9f071)
- Add duckdb extra to multicloud release image (#4862) (b539eba)
- Add milvus package to release image & option to Operator (#4870) (ef724b6)
- Add Milvus Vector Database Implementation (#4751) (22c7b58)
- Add online/offline replica support (#4812) (b97da6c)
- Added pvc accessModes support (#4851) (a73514c)
- Adding EnvFrom support for the OptionalConfigs type to the Go Operator (#4909) (e01e510)
- Adding Feature Server to components docs (#4868) (f95e54b)
- Adding features field to retrieve_online_features to return mor… (#4869) (7df287e)
- Adding packages for Milvus Online Store (#4854) (49171bd)
- Adding vector_search parameter to fields (#4855) (739eaa7)
- Feast Operator support log level configuration for services (#4808) (19424bc)
- Go Operator - Parsing the output to go structs (#4832) (732865f)
- Implement
date_partition_columnforSparkSource(#4844) (c5ffa03) - Loading the CA trusted store certificate into Feast to verify the public certificate. (#4852) (132ce2a)
- Operator E2E test to validate FeatureStore custom resource using remote registry (#4822) (d558ef7)
- Operator improvements (#4928) (7a1f4dd)
- Removing the tls_verify_client flag from feast cli for offline server. (#4842) (8320e23)
- Separating the RBAC and Remote related integration tests. (#4905) (76e1e21)
- Snyk vulnerability issues fix. (#4867) (dbc9207), closes #6 #3 #4
- Use ASOF JOIN in Snowflake offline store query (#4850) (8f591a2)
Reverts
0.42.0 (2024-12-05)
Bug Fixes
- Add adapters for sqlite datetime conversion (#4797) (e198b17)
- Added grpcio extras to default feature-server image (#4737) (e9cd373)
- Changing node version in release (7089918)
- Feast create empty online table when FeatureView attribute online=False (#4666) (237c453)
- Fix db store types in Operator CRD (#4798) (f09339e)
- Fix the config issue for postgres (#4776) (a36f7e5)
- Fixed example materialize-incremental and improved explanation (#4734) (ca8a7ab)
- Fixed SparkSource docstrings so it wouldn't used inhereted class docstrings (#4722) (32e6aa1)
- Fixing PGVector integration tests (#4778) (88a0320)
- Incorrect type passed to assert_permissions in materialize endpoints (#4727) (b72c2da)
- Issue of DataSource subclasses using parent abstract class docstrings (#4730) (b24acd5)
- Operator envVar positioning & tls.SecretRef.Name (#4806) (1115d96)
- Populates project created_time correctly according to created ti… (#4686) (a61b93c)
- Reduce feast-server container image size & fix dev image build (#4781) (ccc9aea)
- Removed version func from feature_store.py (#4748) (f902bb9)
- Support registry instantiation for read-only users (#4719) (ca3d3c8)
- Syntax Error in BigQuery While Retrieving Columns that Start wit… (#4713) (60fbc62)
- Update release version in a pertinent Operator file (#4708) (764a8a6)
Features
- Add api contract to fastapi docs (#4721) (1a165c7)
- Add Couchbase as an online store (#4637) (824859b)
- Add Operator support for spec.feastProject & status.applied fields (#4656) (430ac53)
- Add services functionality to Operator (#4723) (d1d80c0)
- Add TLS support to the Operator (#4796) (a617a6c)
- Added feast Go operator db stores support (#4771) (3302363)
- Added support for setting env vars in feast services in feast controller (#4739) (84b24b5)
- Adding docs outlining native Python transformations on singletons (#4741) (0150278)
- Adding first feast operator e2e test. (#4791) (8339f8d)
- Adding github action to run the operator end-to-end tests. (#4762) (d8ccb00)
- Adding ssl support for registry server. (#4718) (ccf7a55)
- Adding SSL support for the React UI server and feast UI command. (#4736) (4a89252)
- Adding support for native Python transformations on a single dictionary (#4724) (9bbc1c6)
- Adding TLS support for offline server. (#4744) (5d8d03f)
- Building the feast image (#4775) (6635dde)
- File persistence definition and implementation (#4742) (3bad4a1)
- Object store persistence in operator (#4758) (0ae86da)
- OIDC authorization in Feast Operator (#4801) (eb111d6)
- Operator will create k8s serviceaccount for each feast service (#4767) (cde5760)
- Printing more verbose logs when we start the offline server (#4660) (9d8d3d8)
- PVC configuration and impl (#4750) (785a190)
- Qdrant vectorstore support (#4689) (86573d2)
- RBAC Authorization in Feast Operator (#4786) (0ef5acc)
- Support for nested timestamp fields in Spark Offline store (#4740) (d4d94f8)
- Update the go feature server from Expedia code repo. (#4665) (6406625)
- Updated feast Go operator db stores (#4809) (2c5a6b5)
- Updated sample secret following review (#4811) (dc9f825)
0.41.0 (2024-10-26)
Bug Fixes
- Add --chdir to test_workflow.py (#4453) (6b2f026)
- Add feast-operator files to semantic-release script (#4382) (8eceff2)
- Add feast-operator Makefile to semantic-release script (#4424) (d18d01d)
- Added Offline Store Arrow client errors handler (#4524) (7535b40)
- Added Online Store REST client errors handler (#4488) (2118719)
- Added Permission API docs (#4485) (2bd03fa)
- Added support for multiple name patterns to Permissions (#4633) (f05e928)
- Adding protobuf<5 as a required dependency due to snowflake limitations (#4537) (cecca83)
- Avoid the python 3.9+ threadpool cleanup bug (#4627) (ba05893)
- Bigquery dataset create table disposition (#4649) (58e03d1)
- Changes template file path to relative path (#4624) (3e313b1)
- Check for snowflake functions when setting up materialization engine (#4456) (c365b4e)
- Correctly handle list values in _python_value_to_proto_value (#4608) (c0a1026)
- Default to pandas mode if not specified in ODFV proto in database (#4420) (d235832)
- Deleting data from feast_metadata when we delete project (#4550) (351a2d0)
- Disable active_timer When registry_ttl_sec is 0 (#4499) (c94f32f)
- Escape special characters in the Postgres password (#4394) (419ca5e)
- FeastExtrasDependencyImportError when using SparkOfflineStore without S3 (#4594) (1ba94f7)
- Fix Feast project name test (#4685) (9f41fd6)
- Fix for SQL registry initialization fails #4543 (#4544) (4e2eacc)
- Fix gitignore issue (#4674) (2807dfa)
- Fix online pg import (#4581) (1f17caa)
- Fix the mypy type check issue. (#4498) (7ecc615)
- Fix vector store config (#4583) (11c00d4)
- Fixes validator field access for 'project_id' in BigQuery offline Store (#4509) (9a0398e)
- Fixing failure of protos during ODFV transformations for missing entities (#4667) (41aaeeb)
- Fixing the master branch build failure. (#4563) (0192b2e)
- Hao xu request source timestamp_field (#4495) (96344b2)
- Ignore the type check as both functions calls are not belonging to Feast code. (#4500) (867f532)
- Import grpc only for type checking in errors.py (#4533) (f308572)
- Initial commit targetting grpc registry server (#4458) (484240c), closes #4465
- Links to the RBAC documentation under Concepts and Components (#4430) (0a48f7b)
- Locate feature_store.yaml from file (#4443) (20290ce)
- Logger settings for feature servers and updated logger for permission flow (#4531) (50b8f23)
- Move tslib from devDependencies to dependencies in Feast UI (#4525) (c5a4d90)
- Null value compatibility for unit timestamp list value type (#4378) (8f264b6)
- Patch FAISS online return signature (#4671) (0d45e95)
- Quickstart documentation changes (#4618) (7ac0908)
- Refactor auth_client_manager_factory.py in function get_auth_client_m… (#4505) (def8633)
- Remote apply using offline store (#4559) (ac62a32)
- Remove Feast UI TypeScript dependencies from
peerDependenciesanddependencies(#4554) (e781e16) - Remove unnecessary peer dependencies from Feast UI (#4577) (9ac7f4e)
- Removed protobuf as a required dependency (#4535) (0fb76e9)
- Removed the k8s dependency from required dependencies (#4519) (3073ea5)
- Removed usage of pull_request_target as much as possible to prevent security concerns (#4549) (3198371)
- Replaced ClusterRoles with local RoleBindings (#4625) (ca9fb9b)
- Retire pytz library (#4406) (23c6c86)
- Typos related to k8s (#4442) (dda0088)
- Update java testcontainers to use Compose V2 (#4381) (9a33fce)
- Update min versions for pyarrow and protobuf (#4646) (c7ddd4b)
- Update react-router-dom to 6.3.0 and restrict its version in Feast UI (#4556) (4293608), closes #3794 /github.com/remix-run/react-router/blob/main/CHANGELOG.md#v630
- Update the base image for feature-server. (#4576) (0390d8a)
- Update the base image of materilization engine. (#4580) (f8592d8)
- Updated README link (#4669) (35fbdc9)
- Updating the documentation and adding tests for project length (#4628) (945b0fa)
- Using get_type_hints instead of inspect signature for udf return annotation (#4391) (3a32e8a)
- Using repo_config parameter in teardown to allow for feature-store-yaml overrides (#4413) (0baeeb5)
- Validating permission to update an existing request on both the new and the old instance (#4449) (635a01b)
Features
- Add boto3 session based auth for dynamodb online store for cross account access (#4606) (00eaf74)
- Add cli list/describe for SavedDatasets, StreamFeatureViews, & … (#4487) (7b250e5)
- Add connection_name field to Snowflake config (#4600) (10ce2aa)
- Add health check service to registry server (#4421) (46655f0)
- Add more repr methods (#4676) (e726c09)
- Add registry methods for dealing with all FV types (#4435) (ac381b2)
- Added Project object to Feast Objects (#4475) (4a6b663)
- Added support for reading from Reader Endpoints for AWS Aurora use cases (#4494) (d793c77)
- Adding documentation for On Demand Feature Transformations with writes (#4607) (8e0c1b5)
- Adding mode='python' for get_historical_features on ODFVs (#4653) (c40d539)
- Adding registry cache support for get_on_demand_feature_view (#4572) (354c059)
- Adding SSL support for online server (#4677) (80a5b3c)
- Adding write capability to online store to on demand feature views (#4585) (ef9e0bb), closes #4603
- Allow feast snowflake to read in byte string for private-key authentication (#4384) (5215a21)
- An action to test operator at PR time (#4635) (14c1000)
- Create ADOPTERS.md (#4410) (721ec74)
- Create initial structure of Feast Go Operator (#4596) (b5ab6c7)
- Faiss and In memory store (#4464) (a1ff129)
- Feast Security Model (aka RBAC) (#4380) (1771f66), closes #36
- Instrument Feast using Prometheus and OpenTelemetry (#4366) (a571e08)
- Intra server to server communication (#4433) (729c874)
- Publish TypeScript types in Feast UI package (#4551) (334e5d7)
- Refactoring code to get oidc end points from discovery URL. (#4429) (896360a)
- Return entity key in the retrieval document api (#4511) (5f5caf0)
- Update roadmap.md (#4445) (34238d2)
- Update sqlite-vec package (#4389) (b734cb1)
- Updated Feast model Inference Architecture (#4570) (8cd0dcf)
- Updating docs to include model inference guidelines (#4416) (cebbe04)
- Updating FeatureViewProjection and OnDemandFeatureView to add batch_source and entities (#4530) (0795496)
- Upgrade React from 17.0.2 to 18.3.1 in Feast UI (#4620) (d6f3cb8)
Performance Improvements
- Add init and cleanup of long lived resources (#4642) (47dc04d)
- Added indexes to sql tables to optimize query execution (#4538) (9688790)
- Default to async endpoints, use threadpool for sync (#4647) (c1f1912)
- Implement dynamo write_batch_async (#4675) (ba4404c)
- Make /push async (#4650) (61abf89)
- Parallelize read calls by table and batch (#4619) (043eff1)
BREAKING CHANGES
- Consuming apps that use @elastic/eui should update it to a compatible version. If you use @elastic/eui components that have been renamed or replaced with others, you'll need to update your code accordingly.
Signed-off-by: Harri Lehtola peruukki@hotmail.com
- chore: Update Node version from 17 to 20 in UI unit tests
Node 17 is not an LTS (long-term support) version and apparently rejected by the latest versions of Elastic UI:
error @elastic/eui@95.12.0: The engine "node" is incompatible with this module. Expected version "16.x || 18.x || >=20.x". Got "17.9.1"
Let's try with the latest LTS version.
Signed-off-by: Harri Lehtola peruukki@hotmail.com
0.40.0 (2024-07-31)
Bug Fixes
- Added missing type (#4315) (86af60a)
- Avoid XSS attack from Jinjin2's Environment(). (#4355) (40270e7)
- CGO Memory leak issue in GO Feature server (#4291) (43e198f)
- Deprecated the datetime.utcfromtimestamp(). (#4306) (21deec8)
- Fix SQLite import issue (#4294) (398ea3b)
- Increment operator to v0.39.0 (#4368) (3ddb4fb)
- Minor typo in the unit test. (#4296) (6c75e84)
- OnDemandFeatureView type inference for array types (#4310) (c45ff72)
- Remove redundant batching in PostgreSQLOnlineStore.online_write_batch and fix progress bar (#4331) (0d89d15)
- Remove typo. (#4351) (92d17de)
- Retire the datetime.utcnow(). (#4352) (a8bc696)
- Update dask version to support pandas 1.x (#4326) (a639d61)
- Update Feast object metadata in the registry (#4257) (8028ae0)
- Using one single function call for utcnow(). (#4307) (98ff63c)
Features
- Add async feature retrieval for Postgres Online Store (#4327) (cea52e9)
- Add Async refresh to Sql Registry (#4251) (f569786)
- Add SingleStore as an OnlineStore (#4285) (2c38946)
- Add Tornike to maintainers.md (#4339) (8e8c1f2)
- Bump psycopg2 to psycopg3 for all Postgres components (#4303) (9451d9c)
- Entity key deserialization (#4284) (83fad15)
- Ignore paths feast apply (#4276) (b4d54af)
- Move get_online_features to OnlineStore interface (#4319) (7072fd0)
- Port mssql contrib offline store to ibis (#4360) (7914cbd)
Reverts
0.39.0 (2024-06-18)
Bug Fixes
- Feast UI importlib change (#4248) (5d486b8)
- Feature server no_feature_log argument error (#4255) (15524ce)
- Feature UI Server image won't start in an OpenShift cluster (#4250) (4891f76)
- Handles null values in data during GO Feature retrieval (#4274) (c491e57)
- Make Java gRPC client use timeouts as expected (#4237) (f5a37c1)
- Remove self assignment code line. (#4238) (e514f66)
- Set default values for feature_store.serve() function (#4225) (fa74438)
Features
- Add online_read_async for dynamodb (#4244) (b5ef384)
- Add the ability to list objects by
tags(#4246) (fbf92da) - Added deadline to gRPC Java client (#4217) (ff429c9)
- Adding vector search for sqlite (#4176) (2478831)
- Change get_online_features signature, move online retrieval functions to utils (#4278) (7287662)
- Feature/adding remote online store (#4226) (9454d7c)
- List all feature views (#4256) (36a574d)
- Make RegistryServer writable (#4231) (79e1143)
- Remote offline Store (#4262) (28a3d24)
- Set optional full-scan for deletion (#4189) (b9cadd5)
0.38.0 (2024-05-24)
Bug Fixes
- Add vector database doc (#4165) (37f36b6)
- Change checkout action back to v3 from v5 which isn't released yet (#4147) (9523fff)
- Change numpy version <1.25 dependency to <2 in setup.py (#4085) (2ba71ff), closes #4084
- Changed the code the way mysql container is initialized. (#4140) (8b5698f), closes #4126
- Correct nightly install command, move all installs to uv (#4164) (c86d594)
- Default value is not set in Redis connection string using environment variable (#4136) (95acfb4), closes #3669
- Get container host addresses from testcontainers (java) (#4125) (9184dde)
- Get rid of empty string
name_aliasduring feature view projection deserialization (#4116) (65056ce) - Helm chart
feast-feature-server, improve Service template name (#4161) (dedc164) - Improve the code related to on-demand-featureview. (#4203) (d91d7e0)
- Integration tests for async sdk method (#4201) (08c44ae)
- Make sure schema is used when calling
get_table_query_stringmethod for Snowflake datasource (#4131) (c1579c7) - Make sure schema is used when generating
from_expressionfor Snowflake (#4177) (5051da7) - Pass native input values to
get_online_featuresfrom feature server (#4117) (60756cb) - Pass region to S3 client only if set (Java) (#4151) (b8087f7)
- Pgvector patch (#4108) (ad45bb4)
- Update doc (#4153) (e873636)
- Update master-only benchmark bucket name due to credential update (#4183) (e88f1e3)
- Updating the instructions for quickstart guide. (#4120) (0c30e96)
- Upgrading the test container so that local tests works with updated d… (#4155) (93ddb11)
Features
- Add a Kubernetes Operator for the Feast Feature Server (#4145) (4a696dc)
- Add delta format to
FileSource, add support for it in ibis/duckdb (#4123) (2b6f1d0) - Add materialization support to ibis/duckdb (#4173) (369ca98)
- Add optional private key params to Snowflake config (#4205) (20f5419)
- Add s3 remote storage export for duckdb (#4195) (6a04c48)
- Adding DatastoreOnlineStore 'database' argument. (#4180) (e739745)
- Adding get_online_features_async to feature store sdk (#4172) (311efc5)
- Adding support for dictionary writes to online store (#4156) (abfac01)
- Elasticsearch vector database (#4188) (bf99640)
- Enable other distance metrics for Vector DB and Update docs (#4170) (ba9f4ef)
- Feast/IKV datetime edgecase errors (#4211) (bdae562)
- Feast/IKV documenation language changes (#4149) (690a621)
- Feast/IKV online store contrib plugin integration (#4068) (f2b4eb9)
- Feast/IKV online store documentation (#4146) (73601e4)
- Feast/IKV upgrade client version (#4200) (0e42150)
- Incorporate substrait ODFVs into ibis-based offline store queries (#4102) (c3a102f)
- Isolate input-dependent calculations in
get_online_features(#4041) (2a6edea) - Make arrow primary interchange for online ODFV execution (#4143) (3fdb716)
- Move data source validation entrypoint to offline store (#4197) (a17725d)
- Upgrading python version to 3.11, adding support for 3.11 as well. (#4159) (4b1634f), closes #4152 #4114
Reverts
- Reverts "fix: Using version args to install the correct feast version" (#4112) (b66baa4), closes #3953
0.37.1 (2024-04-17)
Bug Fixes
Reverts
- Reverts "fix: Using version args to install the correct feast version" (#4112) (d5ded69), closes #3953
0.37.0 (2024-04-17)
Bug Fixes
Features
0.36.0 (2024-04-16)
Bug Fixes
- Add eq, hash to SparkSource for correct comparison (#4028) (e703b40)
- Add conn.commit() to Postgresonline_write_batch.online_write_batch (#3904) (7d75fc5)
- Add missing init.py to embedded_go (#4051) (6bb4c73)
- Add missing init files in infra utils (#4067) (54910a1)
- Added registryPath parameter documentation in WebUI reference (#3983) (5e0af8f), closes #3974 #3974
- Adding missing init files in materialization modules (#4052) (df05253)
- Allow trancated timestamps when converting (#3861) (bdd7dfb)
- Azure blob storage support in Java feature server (#2319) (#4014) (b9aabbd)
- Bugfix for grabbing historical data from Snowflake with array type features. (#3964) (1cc94f2)
- Bytewax materialization engine fails when loading feature_store.yaml (#3912) (987f0fd)
- CI unittest warnings (#4006) (0441b8b)
- Correct the returning class proto type of StreamFeatureView to StreamFeatureViewProto instead of FeatureViewProto. (#3843) (86d6221)
- Create index only if not exists during MySQL online store update (#3905) (2f99a61)
- Disable minio tests in workflows on master and nightly (#4072) (c06dda8)
- Disable the Feast Usage feature by default. (#4090) (b5a7013)
- Dump repo_config by alias (#4063) (e4bef67)
- Extend SQL registry config with a sqlalchemy_config_kwargs key (#3997) (21931d5)
- Feature Server image startup in OpenShift clusters (#4096) (9efb243)
- Fix copy method for StreamFeatureView (#3951) (cf06704)
- Fix for materializing entityless feature views in Snowflake (#3961) (1e64c77)
- Fix type mapping spark (#4071) (3afa78e)
- Fix typo as the cli does not support shortcut-f option. (#3954) (dd79dbb)
- Get container host addresses from testcontainers (#3946) (2cf1a0f)
- Handle ComplexFeastType to None comparison (#3876) (fa8492d)
- Hashlib md5 errors in FIPS for python 3.9+ (#4019) (6d9156b)
- Making the query_timeout variable as optional int because upstream is considered to be optional (#4092) (fd5b620)
- Move gRPC dependencies to an extra (#3900) (f93c5fd)
- Prevent spamming pull busybox from dockerhub (#3923) (7153cad)
- Quickstart notebook example (#3976) (b023aa5)
- Raise error when not able read of file source spark source (#4005) (34cabfb)
- remove not use input parameter in spark source (#3980) (7c90882)
- Remove parentheses in pull_latest_from_table_or_query (#4026) (dc4671e)
- Remove proto-plus imports (#4044) (ad8f572)
- Remove unnecessary dependency on mysqlclient (#3925) (f494f02)
- Restore label check for all actions using pull_request_target (#3978) (591ba4e)
- Revert mypy config (#3952) (6b8e96c)
- Rewrite Spark materialization engine to use mapInPandas (#3936) (dbb59ba)
- Run feature server w/o gunicorn on windows (#4024) (584e9b1)
- SqlRegistry _apply_object update statement (#4042) (ef62def)
- Substrait ODFVs for online (#4064) (26391b0)
- Swap security label check on the PR title validation job to explicit permissions instead (#3987) (f604af9)
- Transformation server doesn't generate files from proto (#3902) (d3a2a45)
- Trino as an OfflineStore Access Denied when BasicAuthenticaion (#3898) (49d2988)
- Trying to import pyspark lazily to avoid the dependency on the library (#4091) (a05cdbc)
- Typo Correction in Feast UI Readme (#3939) (c16e5af)
- Update actions/setup-python from v3 to v4 (#4003) (ee4c4f1)
- Update typeguard version to >=4.0.0 (#3837) (dd96150)
- Upgrade sqlalchemy from 1.x to 2.x regarding PVE-2022-51668. (#4065) (ec4c15c)
- Use CopyFrom() instead of deepycopy() for creating a copy of protobuf object. (#3999) (5561b30)
- Using version args to install the correct feast version (#3953) (b83a702)
- Verify the existence of Registry tables in snowflake before calling CREATE sql command. Allow read-only user to call feast apply. (#3851) (9a3590e)
Features
- Add duckdb offline store (#3981) (161547b)
- Add Entity df in format of a Spark Dataframe instead of just pd.DataFrame or string for SparkOfflineStore (#3988) (43b2c28)
- Add gRPC Registry Server (#3924) (373e624)
- Add local tests for s3 registry using minio (#4029) (d82d1ec)
- Add python bytes to array type conversion support proto (#3874) (8688acd)
- Add python client for remote registry server (#3941) (42a7b81)
- Add Substrait-based ODFV transformation (#3969) (9e58bd4)
- Add support for arrays in snowflake (#3769) (8d6bec8)
- Added delete_table to redis online store (#3857) (03dae13)
- Adding support for Native Python feature transformations for ODFVs (#4045) (73bc853)
- Bumping requirements (#4079) (1943056)
- Decouple transformation types from ODFVs (#3949) (0a9fae8)
- Dropping Python 3.8 from local integration tests and integration tests (#3994) (817995c)
- Dropping python 3.8 requirements files from the project. (#4021) (f09c612)
- Dropping the support for python 3.8 version from feast (#4010) (a0f7472)
- Dropping unit tests for Python 3.8 (#3989) (60f24f9)
- Enable Arrow-based columnar data transfers (#3996) (d8d7567)
- Enable Vector database and retrieve_online_documents API (#4061) (ec19036)
- Kubernetes materialization engine written based on bytewax (#4087) (7617bdb)
- Lint with ruff (#4043) (7f1557b)
- Make arrow primary interchange for offline ODFV execution (#4083) (9ed0a09)
- Pandas v2 compatibility (#3957) (64459ad)
- Pull duckdb from contribs, add to CI (#4059) (318a2b8)
- Refactor ODFV schema inference (#4076) (c50a9ff)
- Refactor registry caching logic into a separate class (#3943) (924f944)
- Rename OnDemandTransformations to Transformations (#4038) (9b98eaf)
- Revert updating dependencies so that feast can be run on 3.11. (#3968) (d3c68fb), closes #3958
- Rewrite ibis point-in-time-join w/o feast abstractions (#4023) (3980e0c)
- Support s3gov schema by snowflake offline store during materialization (#3891) (ea8ad17)
- Update odfv test (#4054) (afd52b8)
- Update pyproject.toml to use Python 3.9 as default (#4011) (277b891)
- Update the Pydantic from v1 to v2 (#3948) (ec11a7c)
- Updating dependencies so that feast can be run on 3.11. (#3958) (59639db)
- Updating protos to separate transformation (#4018) (c58ef74)
Reverts
- Reverting bumping requirements (#4081) (1ba65b4), closes #4079
- Verify the existence of Registry tables in snowflake… (#3907) (c0d358a), closes #3851
0.35.0 (2024-01-13)
Bug Fixes
- Add async refresh to prevent synchronous refresh in main thread (#3812) (9583ed6)
- Adopt connection pooling for HBase (#3793) (b3852bf)
- Bytewax engine create configmap from object (#3821) (25e9775)
- Fix warnings from deprecated paths and update default log level (#3757) (68a8737)
- improve parsing bytewax job status (5983f40)
- make bytewax settings unexposed (ae1bb8b)
- Make generated temp table name escaped (#3797) (175d796)
- Pin numpy version to avoid spammy deprecation messages (774ed33)
- Redundant feature materialization and premature incremental materialization timestamp updates (#3789) (417b16b), closes #6 #7
- Resolve hbase hotspot issue when materializing (#3790) (7376db8)
- Set keepalives_idle None by default (#3756) (8717e9b)
- Set upper bound for bigquery client due to its breaking changes (2151c39)
- UI project cannot handle fallback routes (#3766) (96ece0f)
- update dependencies versions due to conflicts (5dc0b24)
- Update jackson and remove unnecessary logging (#3809) (018d0ea)
- upgrade the pyarrow to latest v14.0.1 for CVE-2023-47248. (052182b)
Features
- Add get online feature rpc to gprc server (#3815) (01db8cc)
- Add materialize and materialize-incremental rest endpoints (#3761) (fa600fe), closes #3760
- add redis sentinel support (3387a15)
- add redis sentinel support (4337c89)
- add redis sentinel support format lint (aad8718)
- Add support for
table_create_dispositionin bigquery job for offline store (#3762) (6a728fe) - Add support for in_cluster config and additional labels for bytewax materialization (#3754) (2192e65)
- Apply cache to load proto registry for performance (#3702) (709c709)
- Make bytewax job write as mini-batches (#3777) (9b0e5ce)
- Optimize bytewax pod resource with zero-copy (9cf9d96)
- Support GCS filesystem for bytewax engine (#3774) (fb6b807)
0.34.0 (2023-09-07)
Bug Fixes
- Add NUMERIC to bq_to_feast type map (#3719) (6474b4b)
- Fix python unit tests (#3734) (e81684d)
- Handle unknown postgres source types gracefully (#3634) (d7041f4)
- Pin protobuf version to avoid seg fault on some machines (028cc20)
- Remove unwanted excessive splitting of gcs path, so expected gcs parquet paths are returned from BigQueryRetrievalJob.to_remote_storage() (#3730) (f2c5988)
- Run store.plan() only when need it. (#3708) (7bc7c47)
- Saved datasets no longer break CLI registry-dump command (#3717) (f28ccc2)
- Update py3.8 ci requirements for cython 3.0 release (#3735) (1695c13)
Features
- Enhance customization of Trino connections when using Trino-based Offline Stores (#3699) (ed7535e)
- Implement gRPC server to ingest streaming features (#3687) (a3fcd1f)
0.33.0 (2023-08-14)
Bug Fixes
- Add aws-sts dependency in java sdk so that S3 client acquires IRSA role (#3696) (c75a01f)
- Redshift push ignores schema (#3671) (76270f6)
Features
- Add possibility to save dataset as table, when spark config has remote warehouse info (#3645) (22c109b)
0.32.0 (2023-07-17)
Bug Fixes
- Added generic Feature store Creation for CLI (#3618) (bf740d2)
- Broken non-root path with projects-list.json (#3665) (4861af0)
- Clean up snowflake to_spark_df() (#3607) (e8e643e)
- Entityless fv breaks with
KeyError: __dummyapplying feature_store.plan() on python (#3640) (ef4ef32) - Fix scan datasize to 0 for inference schema (#3628) (c3dd74e)
- Fix timestamp consistency in push api (#3614) (9b227d7)
- For SQL registry, increase max data_source_name length to 255 (#3630) (478caec)
- Implements connection pool for postgres online store (#3633) (059509a)
- Manage redis pipe's context (#3655) (48e0971)
- Missing Catalog argument in athena connector (#3661) (f6d3caf)
- Optimize bytes processed when retrieving entity df schema to 0 (#3680) (1c01035)
Features
- Add gunicorn for serve with multiprocess (#3636) (4de7faf)
- Use string as a substitute for unregistered types during schema inference (#3646) (c474ccd)
0.31.0 (2023-04-21)
Bug Fixes
- Add Stream Feature Views to helper that collect Feature View names (#3582) (7854f63)
- Add StreamFeatureViewSpec to FeastObjectSpecProto convenience type (#3550) (3cefd6c)
- Batch Snowflake materialization queries to obey Snowpark 100 fea… (#3406) (f9862b5)
- Bytewax materializer security context (#3573) (6794338)
- cI: Install coreutils in mac github workers for smoke test (#3563) (e7421c1)
- Fix bug with no SqlRegistryConfig class (#3586) (6dc1368)
- Fix Snowflake template (#3584) (6c09c39)
- Make snowflake to remote tables temporary (#3588) (ad48146)
- Remove snowflake source warehouse tech debt (#3422) (7da0580)
- Snowflake remote storage (#3574) (f8d3890)
- Support param timeout when persisting (#3593) (01a98f0)
- Use pyarrow in a way that works across versions (#3562) (1289f3f)
- Wrap the bigquery table name with backtick. (#3577) (09f0e7e)
Features
- Add AWS Redshift Serverless support (#3595) (58ce148)
- Add Hazelcast as an online store (#3523) (b05d50b)
- Cache Bigtable client (#3602) (b27472f)
- Relax aws extras requirements (#3585) (7e77382)
- Show bigquery datasource table and query on UI (#3600) (58d63f7)
- Update snowflake offline store job output formats -- added arrow (#3589) (be3e349)
0.30.0 (2023-03-24)
Bug Fixes
- Add description attribute to the Field.from_proto method (#3469) (473f8d9)
- Add filesystem kwargs when read prev_table on FileRetrievalJob (… (#3491) (dca4745), closes #3490
- Bytewax image pull secret config (#3547) (d2d13b1)
- Clean up Rockset Online Store for use (#3549) (a76c6d0)
- Feature view
entitiesfrom_proto type (#3524) (57bbb61) - Fix missing requests requirement after GCP requirement removed. Make BigQuerySource not require gcp extra (2c85421)
- Fix SQL Registry cache miss (#3482) (3249b97)
- Fixed path inside quickstart notebook (#3456) (66edc32)
- Improve BQ point-in-time joining scalability (#3429) (ff66784)
- Pin typeguard to 2.13.3 which is what we are currently using. (#3542) (61f6fb0)
- Protobuf lower bound to 3.20 to alert that Feast is incompatible with tensorflow (#3476) (9ca59e3)
- Spark kafka processor sorting (#3479) (f2cbf43)
- UI working behind base url (#3514) (9a3fd98)
- Update go dependencies (#3512) (bada97c)
Features
- Add Rockset as an OnlineStore (#3405) (fd91cda)
- Add Snowflake Registry (#3363) (ec1e61d)
- Added SnowflakeConnection caching (#3531) (f9f8df2)
- Adding query timeout to
to_dfandto_arrowretrieval methods (#3505) (bab6644) - adds k8s config options to Bytewax materialization engine (#3518) (1883f55)
0.29.0 (2023-01-31)
Bug Fixes
- Add check for bool type in addition to sample (#3452) (1c7c491)
- Buggy SQL for postgres source (#3424) (1ea100e)
- Ensure no duplicates in
fv.schema(#3460) (08ffa8d) - Fix delete sfv twice issue (#3466) (dfd5eae)
- Stream feature view UI shows transformation issue (#3464) (1ef5137)
- Update registry.refresh to have a default arg (#3450) (2f7c4ed)
- Updating the batch field so that you can query create and event date. (#3411) (01ab462), closes #3401
Features
- Add data source search (#3449) (fbbb293)
- Adding list_validation_references for default and sql registry (#3436) (21dd253)
- Make UI accessible behind proxy (#3428) (753d8db)
0.28.0 (2023-01-03)
Bug Fixes
- Apply billing project when infer schema (#3417) (4f9ad7e)
- Assertion condition when value is 0 (#3401) (98a24a3)
- Enable registry caching in SQL Registry (#3395) (2e57376)
- Fix bug where SQL registry was incorrectly writing infra config around online stores (#3394) (6bcf77c)
- Get all columns with describe table method from RedshiftData-api (#3377) (fd97254)
- ODFV able to handle boolean pandas type (#3384) (8f242e6)
- Remove PySpark dependency from Snowflake Offline Store (#3388) (7b160c7)
- Specifies timeout in exception polling (#3398) (c0ca7e4)
- Update import logic to remove
pysparkdependency from Snowflake Offline Store (#3397) (cf073e6)
Features
- Add template for Github Codespaces (#3421) (41c0537)
- Adds description attribute for features/fields (#3425) (26f4881)
- Snowflake skip materialization if no table change (#3404) (0ab3942)
0.27.0 (2022-12-05)
Bug Fixes
- Changing Snowflake template code to avoid query not implemented … (#3319) (1590d6b)
- Dask zero division error if parquet dataset has only one partition (#3236) (69e4a7d)
- Enable Spark materialization on Yarn (#3370) (0c20a4e)
- Ensure that Snowflake accounts for number columns that overspecify precision (#3306) (0ad0ace)
- Fix memory leak from usage.py not properly cleaning up call stack (#3371) (a0c6fde)
- Fix workflow to contain env vars (#3379) (548bed9)
- Update bytewax materialization (#3368) (4ebe00f)
- Update the version counts (#3378) (8112db5)
- Updated AWS Athena template (#3322) (5956981)
- Wrong UI data source type display (#3276) (8f28062)
Features
- Cassandra online store, concurrency in bulk write operations (#3367) (eaf354c)
- Cassandra online store, concurrent fetching for multiple entities (#3356) (00fa21f)
- Get Snowflake Query Output As Pyspark Dataframe (#2504) (#3358) (2f18957)
0.26.0 (2022-10-06)
Bug Fixes
- Add
X-Trino-Extra-Credentialheader and remove user override (#3246) (164e666) - Add postgres to the feature server Dockerfile to fix helm chart flow (#3261) (6f6cbb7)
- Add stream feature view in the Web UI (#3257) (1f70b3a)
- Build dockerfile correctly (#3239) (a2dc0d0)
- Configuration to stop coercion of tz for entity_df (#3255) (97b7ab9)
- Enable users to upgrade a batch source into a push source (#3213) (1b312fb)
- Fix docker image for feature-server (#3272) (eff01d1)
- Fix Feast UI release process to update the feast-ui package (#3267) (a9d48d0)
- Return 422 on bad push source name (#3214) (b851e01)
- Stream feature view meta undefined created_timestamp issue (#3266) (12e1a8f)
- Stream feature view not shown in the UI (#3251) (e713dda)
- Udf in stream feature view UI shows pickled data (#3268) (0728117)
- Update snowflake materialization messages (#3230) (a63d440)
- Updated quickstart notebook to patch an incorrect reference to an outdated featureview name (#3271) (b9b9c54)
- Use configured user in env var instead of "user" for Trino (#3254) (532d8a1)
Features
- Add mysql as online store (#3190) (cb8db84)
- Add possibility to define feature_store.yaml path with env variable (#3231) (95fdb19)
- Add request_timeout setting for cassandra online store adapter (#3256) (da20757)
- Add tag description in Field in the Feast UI (#3258) (086f279)
- Adding billing_project_id in BigQueryOfflineStoreConfig (#3253) (f80f05f)
- BigTable online store (#3140) (6bc91c2), closes /github.com/spulec/moto/blob/master/CHANGELOG.md#400
- Filter subset features in postgres #3174 (#3203) (b48d36b)
0.25.0 (2022-09-20)
Bug Fixes
- Broken Feature Service Link (#3227) (e117082)
- Feature-server image is missing mysql dependency for mysql registry (#3223) (ae37b20)
- Fix handling of TTL in Go server (#3232) (f020630)
- Fix materialization when running on Spark cluster. (#3166) (175fd25)
- Fix push API to respect feature view's already inferred entity types (#3172) (7c50ab5)
- Fix release workflow (#3144) (20a9dd9)
- Fix Shopify timestamp bug and add warnings to help with debugging entity registration (#3191) (de75971)
- Handle complex Spark data types in SparkSource (#3154) (5ddb83b)
- Local staging location provision (#3195) (cdf0faf)
- Remove bad snowflake offline store method (#3204) (dfdd0ca)
- Remove opening file object when validating S3 parquet source (#3217) (a906018)
- Snowflake config file search error (#3193) (189afb9)
- Update Snowflake Online docs (#3206) (7bc1dff)
Features
- Add
to_remote_storagefunctionality toSparkOfflineStore(#3175) (2107ce2) - Add ability to give boto extra args for registry config (#3219) (fbc6a2c)
- Add health endpoint to py server (#3202) (43222f2)
- Add snowflake support for date & number with scale (#3148) (50e8755)
- Add tag kwarg to set Snowflake online store table path (#3176) (39aeea3)
- Add workgroup to athena offline store config (#3139) (a752211)
- Implement spark materialization engine (#3184) (a59c33a)
0.24.0 (2022-08-25)
Bug Fixes
- Check if on_demand_feature_views is an empty list rather than None for snowflake provider (#3046) (9b05e65)
- FeatureStore.apply applies BatchFeatureView correctly (#3098) (41be511)
- Fix Feast Java inconsistency with int64 serialization vs python (#3031) (4bba787)
- Fix feature service inference logic (#3089) (4310ed7)
- Fix field mapping logic during feature inference (#3067) (cdfa761)
- Fix incorrect on demand feature view diffing and improve Java tests (#3074) (0702310)
- Fix Java helm charts to work with refactored logic. Fix FTS image (#3105) (2b493e0)
- Fix on demand feature view output in feast plan + Web UI crash (#3057) (bfae6ac)
- Fix release workflow to release 0.24.0 (#3138) (a69aaae)
- Fix Spark offline store type conversion to arrow (#3071) (b26566d)
- Fixing Web UI, which fails for the SQL registry (#3028) (64603b6)
- Force Snowflake Session to Timezone UTC (#3083) (9f221e6)
- Make infer dummy entity join key idempotent (#3115) (1f5b1e0)
- More explicit error messages (#2708) (e4d7afd)
- Parse inline data sources (#3036) (c7ba370)
- Prevent overwriting existing file during
persist(#3088) (69af21f) - Register BatchFeatureView in feature repos correctly (#3092) (b8e39ea)
- Return an empty infra object from sql registry when it doesn't exist (#3022) (8ba87d1)
- Teardown tables for Snowflake Materialization testing (#3106) (0a0c974)
- UI error when saved dataset is present in registry. (#3124) (83cf753)
- Update sql.py (#3096) (2646a86)
- Updated snowflake template (#3130) (f0594e1)
Features
- Add authentication option for snowflake connector (#3039) (74c75f1)
- Add Cassandra/AstraDB online store contribution (#2873) (feb6cb8)
- Add Snowflake materialization engine (#2948) (f3b522b)
- Adding saved dataset capabilities for Postgres (#3070) (d3253c3)
- Allow passing repo config path via flag (#3077) (0d2d951)
- Contrib azure provider with synapse/mssql offline store and Azure registry store (#3072) (9f7e557)
- Custom Docker image for Bytewax batch materialization (#3099) (cdd1b07)
- Feast AWS Athena offline store (again) (#3044) (989ce08)
- Implement spark offline store
offline_write_batchmethod (#3076) (5b0cc87) - Initial Bytewax materialization engine (#2974) (55c61f9)
- Refactor feature server helm charts to allow passing feature_store.yaml in environment variables (#3113) (85ee789)
0.23.0 (2022-08-02)
Bug Fixes
- Add dummy alias to pull_all_from_table_or_query (#2956) (5e45228)
- Bump version of Guava to mitigate cve (#2896) (51df8be)
- Change numpy version on setup.py and upgrade it to resolve dependabot warning (#2887) (80ea7a9)
- Change the feature store plan method to public modifier (#2904) (0ec7d1a)
- Deprecate 3.7 wheels and fix verification workflow (#2934) (040c910)
- Do not allow same column to be reused in data sources (#2965) (661c053)
- Fix build wheels workflow to install apache-arrow correctly (#2932) (bdeb4ae)
- Fix file offline store logic for feature views without ttl (#2971) (26f6b69)
- Fix grpc and update protobuf (#2894) (86e9efd)
- Fix night ci syntax error and update readme (#2935) (b917540)
- Fix nightly ci again (#2939) (1603c9e)
- Fix the go build and use CgoArrowAllocator to prevent incorrect garbage collection (#2919) (130746e)
- Fix typo in CONTRIBUTING.md (#2955) (8534f69)
- Fixing broken links to feast documentation on java readme and contribution (#2892) (d044588)
- Fixing Spark min / max entity df event timestamps range return order (#2735) (ac55ce2)
- Move gcp back to 1.47.0 since grpcio-tools 1.48.0 got yanked from pypi (#2990) (fc447eb)
- Refactor testing and sort out unit and integration tests (#2975) (2680f7b)
- Remove hard-coded integration test setup for AWS & GCP (#2970) (e4507ac)
- Resolve small typo in README file (#2930) (16ae902)
- Revert "feat: Add snowflake online store (#2902)" (#2909) (38fd001)
- Snowflake_online_read fix (#2988) (651ce34)
- Spark source support table with pattern "db.table" (#2606) (3ce5139), closes #2605
- Switch mysql log string to use regex (#2976) (5edf4b0)
- Update gopy to point to fork to resolve github annotation errors. (#2940) (ba2dcf1)
- Version entity serialization mechanism and fix issue with int64 vals (#2944) (d0d27a3)
Features
- Add an experimental lambda-based materialization engine (#2923) (6f79069)
- Add column reordering to
write_to_offline_store(#2876) (8abc2ef) - Add custom JSON table tab w/ formatting (#2851) (0159f38)
- Add CustomSourceOptions to SavedDatasetStorage (#2958) (23c09c8)
- Add Go option to
feast servecommand (#2966) (a36a695) - Add interfaces for batch materialization engine (#2901) (38b28ca)
- Add pages for individual Features to the Feast UI (#2850) (9b97fca)
- Add snowflake online store (#2902) (f758f9e), closes #2903
- Add Snowflake online store (again) (#2922) (2ef71fc), closes #2903
- Add to_remote_storage method to RetrievalJob (#2916) (109ee9c)
- Support retrieval from multiple feature views with different join keys (#2835) (056cfa1)
0.22.0 (2022-06-29)
Bug Fixes
- Add columns for user metadata in the tables (#2760) (269055e)
- Add project columns in the SQL Registry (#2784) (336fdd1)
- Add S3FS dependency (which Dask depends on for S3 files) (#2701) (5d6fa94)
- Bugfixes for how registry is loaded (#2768) (ecb8b2a)
- Conversion of null timestamp from proto to python (#2814) (cb23648)
- Correct feature statuses during feature logging test (#2709) (cebf609)
- Correctly generate projects-list.json when calling feast ui and using postgres as a source (#2845) (bee8076)
- Dynamodb drops missing entities when batching (#2802) (a2e9209)
- Enable faulthandler and disable flaky tests (#2815) (4934d84)
- Explicitly translate errors when instantiating the go fs (#2842) (7a2c4cd)
- Fix broken roadmap links (#2690) (b3ba8aa)
- Fix bugs in applying stream feature view and retrieving online features (#2754) (d024e5e)
- Fix Feast UI failure with new way of specifying entities (#2773) (0d1ac01)
- Fix feature view getitem for feature services (#2769) (88cc47d)
- Fix issue when user specifies a port for feast ui (#2692) (1c621fe)
- Fix macos wheel version for 310 and also checkout edited go files (#2890) (bdf170f)
- Fix on demand feature view crash from inference when it uses df.apply (#2713) (c5539fd)
- Fix SparkKafkaProcessor
query_timeoutparameter (#2789) (a8d282d) - Fix workflow syntax error (#2869) (fae45a1)
- Fixed custom S3 endpoint read fail (#2786) (6fec431)
- Go install gopy instead using go mod tidy (#2863) (2f2b519)
- Hydrate infra object in the sql registry proto() method (#2782) (452dcd3)
- Implement apply_materialization and infra methods in sql registry (#2775) (4ed107c)
- Minor refactor to format exception message (#2764) (da763c6)
- Prefer installing gopy from feast's fork as opposed to upstream (#2839) (34c997d)
- Python server is not correctly starting in integration tests (#2706) (7583a0b)
- Random port allocation for python server in tests (#2710) (dee8090)
- Refactor test to reuse LocalRegistryFile (#2763) (4339c0a)
- Revert "chore(release): release 0.22.0" (#2852) (e6a4636)
- Stop running go mod tidy in setup.py (#2877) (676ecbb), closes /github.com/pypa/cibuildwheel/issues/189#issuecomment-549933912
- Support push sources in stream feature views (#2704) (0d60eaa)
- Sync publish and build_wheels workflow to fix verify wheel error. (#2871) (b0f050a)
- Update roadmap with stream feature view rfc (#2824) (fc8f890)
- Update udf tests and add base functions to streaming fcos and fix some nonetype errors (#2776) (331a214)
Features
- Add feast repo-upgrade for automated repo upgrades (#2733) (a3304d4)
- Add file write_to_offline_store functionality (#2808) (c0e2ad7)
- Add http endpoint to the Go feature server (#2658) (3347a57)
- Add simple TLS support in Go RedisOnlineStore (#2860) (521488d)
- Add StreamProcessor and SparkKafkaProcessor as contrib (#2777) (83ab682)
- Added Spark support for Delta and Avro (#2757) (7d16516)
- CLI interface for validation of logged features (#2718) (c8b11b3)
- Enable stream feature view materialization (#2798) (a06700d)
- Enable stream feature view materialization (#2807) (7d57724)
- Implement
offline_write_batchfor BigQuery and Snowflake (#2840) (97444e4) - Offline push endpoint for pushing to offline stores (#2837) (a88cd30)
- Push to Redshift batch source offline store directly (#2819) (5748a8b)
- Scaffold for unified push api (#2796) (1bd0930)
- SQLAlchemy Registry Support (#2734) (b3fe39c)
- Stream Feature View FCOS (#2750) (0cf3c92)
- Update stream fcos to have watermark and sliding interval (#2765) (3256952)
- Validating logged features via Python SDK (#2640) (2874fc5)
Reverts
- Revert "chore(release): release 0.22.0" (#2891) (e5abf58), closes #2891
- Revert "chore(release): release 0.22.0" (#2870) (ffb0892), closes #2870
- Revert "Create main.yml" (#2867) (47922a4), closes #2867
0.21.0 (2022-05-13)
Bug Fixes
- Addresses ZeroDivisionError when materializing file source with same timestamps (#2551) (1e398d9)
- Asynchronously refresh registry for the feast ui command (#2672) (1b09ca2)
- Build platform specific python packages with ci-build-wheel (#2555) (b10a4cf)
- Delete data sources from registry when using the diffing logic (#2669) (fc00ca8)
- Enforce kw args featureservice (#2575) (160d7b7)
- Enforce kw args in datasources (#2567) (0b7ec53)
- Feature logging to Redshift is broken (#2655) (479cd51)
- Feature service to templates (#2649) (1e02066)
- Feature with timestamp type is incorrectly interpreted by Go FS (#2588) (e3d9588)
- Fix
__hash__methods (#2556) (ebb7dfe) - Fix AWS bootstrap template (#2604) (c94a69c)
- Fix broken proto conversion methods for data sources (#2603) (00ed65a)
- Fix case where on demand feature view tab is broken if no custom tabs are passed. (#2682) (01d3568)
- Fix DynamoDB fetches when there are entities that are not found (#2573) (7076fe0)
- Fix Feast UI parser to work with new APIs (#2668) (8d76751)
- Fix java server after odfv update (#2602) (0ca6297)
- Fix materialization with ttl=0 bug (#2666) (ab78702)
- Fix push sources and add docs / tests pushing via the python feature server (#2561) (e8e418e)
- Fixed data mapping errors for Snowflake (#2558) (53c2ce2)
- Forcing ODFV udfs to be main module and fixing false positive duplicate data source warning (#2677) (2ce33cd)
- Include the ui/build directory, and remove package data (#2681) (0384f5f)
- Infer features for feature services when they depend on feature views without schemas (#2653) (87c194c)
- Pin dependencies to nearest major version (#2647) (bb72b7c)
- Pin pip<22.1 to get around breaking change in pip==22.1 (#2678) (d3e01bc)
- Punt deprecation warnings and clean up some warnings. (#2670) (f775d2e)
- Reject undefined features when using
get_historical_featuresorget_online_features(#2665) (36849fb) - Remove ci extra from the feature transformation server dockerfile (#2618) (25613b4)
- Remove incorrect call to logging.basicConfig (#2676) (8cbf51c)
- Small typo in CLI (#2578) (f372981)
- Switch from
join_keytojoin_keysin tests and docs (#2580) (d66c931) - Teardown trino container correctly after tests (#2562) (72f1558)
- Update build_go_protos to use a consistent python path (#2550) (f136f8c)
- Update data source timestamp inference error message to make sense (#2636) (3eaf6b7)
- Update field api to add tag parameter corresponding to labels in Feature. (#2610) (689d20b)
- Update java integration tests and add more logging (#2637) (10e23b4)
- Update on demand feature view api (#2587) (38cd7f9)
- Update RedisCluster to use redis-py official implementation (#2554) (ce5606f)
- Use cwd when getting module path (#2577) (b550e59)
- Use ParquetDataset for Schema Inference (#2686) (4f85e3e)
- Use timestamp type when converting unixtimestamp feature type to arrow (#2593) (c439611)
Features
- Add hbase online store support in feast (#2590) (c9eda79)
- Adding SSL options for Postgres (#2644) (0e809c2)
- Allow Feast UI to be spun up with CLI command: feast ui (#2667) (44ca9f5)
- Allow to pass secrets and environment variables to transformation service (#2632) (ffa33ad)
- CLI command 'feast serve' should start go-based server if flag is enabled (#2617) (f3ff812)
- Create stream and batch feature view abstractions (#2559) (d1f76e5)
- Postgres supported as Registry, Online store, and Offline store (#2401) (ed2f979)
- Support entity fields in feature view
schemaparameter by dropping them (#2568) (c8fcc35) - Write logged features to an offline store (Python API) (#2574) (134dc5f)
- Write logged features to Offline Store (Go - Python integration) (#2621) (ccad832)
Reverts
0.20.0 (2022-04-14)
Bug Fixes
- Add inlined data sources to the top level registry (#2456) (356788a)
- Add new value types to types.ts for web ui (#2463) (ad5694e)
- Add PushSource proto and Python class (#2428) (9a4bd63)
- Add spark to lambda dockerfile (#2480) (514666f)
- Added private_key auth for Snowflake (#2508) (c42c9b0)
- Added Redshift and Spark typecheck to data_source event_timestamp_col inference (#2389) (04dea73)
- Building of go extension fails (#2448) (7d1efd5)
- Bump the number of versions bumps expected to 27 (#2549) (ecc9938)
- Create init files for the proto-generated python dirs (#2410) (e17028d)
- Don't prevent apply from running given duplicate empty names in data sources. Also fix repeated apply of Spark data source. (#2415) (b95f441)
- Dynamodb deduplicate batch write request by partition keys (#2515) (70d4a13)
- Ensure that init files exist in proto dirs (#2433) (9b94f7b)
- Fix DataSource constructor to unbreak custom data sources (#2492) (712653e)
- Fix default feast apply path without any extras (#2373) (6ba7fc7)
- Fix definitions.py with new definition (#2541) (eefc34a)
- Fix entity row to use join key instead of name (#2521) (c22fa2c)
- Fix Java Master (#2499) (e083458)
- Fix registry proto (#2435) (ea6a9b2)
- Fix some inconsistencies in the docs and comments in the code (#2444) (ad008bf)
- Fix spark docs (#2382) (d4a606a)
- Fix Spark template to work correctly on feast init -t spark (#2393) (ae133fd)
- Fix the feature repo fixture used by java tests (#2469) (32e925e)
- Fix unhashable Snowflake and Redshift sources (cd8f1c9)
- Fixed bug in passing config file params to snowflake python connector (#2503) (34f2b59)
- Fixing Spark template to include source name (#2381) (a985f1d)
- Make name a keyword arg for the Entity class (#2467) (43847de)
- Making a name for data sources not a breaking change (#2379) (71d7ae2)
- Minor link fix in
CONTRIBUTING.md(#2481) (2917e27) - Preserve ordering of features in _get_column_names (#2457) (495b435)
- Relax click python requirement to >=7 (#2450) (f202f92)
- Remove date partition column field from datasources that don't s… (#2478) (ce35835)
- Remove docker step from unit test workflow (#2535) (6f22f22)
- Remove spark from the AWS Lambda dockerfile (#2498) (6abae16)
- Request data api update (#2488) (0c9e5b7)
- Schema update (#2509) (cf7bbc2)
- Simplify DataSource.from_proto logic (#2424) (6bda4d2)
- Snowflake api update (#2487) (1181a9e)
- Support passing batch source to streaming sources for backfills (#2523) (90db1d1)
- Timestamp update (#2486) (bf23111)
- Typos in Feast UI error message (#2432) (e14369d)
- Update feature view APIs to prefer keyword args (#2472) (7c19cf7)
- Update file api (#2470) (83a11c6)
- Update Makefile to cd into python dir before running commands (#2437) (ca32155)
- Update redshift api (#2479) (4fa73a9)
- Update some fields optional in UI parser (#2380) (cff7ac3)
- Use a single version of jackson libraries and upgrade to 2.12.6.1 (#2473) (5be1cc6)
- Use dateutil parser to parse materialization times (#2464) (6c55e49)
- Use the correct dockerhub image tag when building feature servers (#2372) (0d62c1d)
Features
- Add
/write-to-online-storemethod to the python feature server (#2423) (d2fb048) - Add description, tags, owner fields to all feature view classes (#2440) (ed5e928)
- Add DQM Logging on GRPC Server with FileLogStorage for Testing (#2403) (57a97d8)
- Add Feast types in preparation for changing type system (#2475) (4864252)
- Add Field class (#2500) (1279612)
- Add support for DynamoDB online_read in batches (#2371) (702ec49)
- Add Support for DynamodbOnlineStoreConfig endpoint_url parameter (#2485) (7b863d1)
- Add templating for dynamodb table name (#2394) (f591088)
- Allow local feature server to use Go feature server if enabled (#2538) (a2ef375)
- Allow using entity's join_key in get_online_features (#2420) (068c765)
- Data Source Api Update (#2468) (6b96b21)
- Go server (#2339) (d12e7ef), closes #2354 #2361 #2332 #2356 #2363 #2349 #2355 #2336 #2361 #2363 #2344 #2354 #2347 #2350 #2356 #2355 #2349 #2352 #2341 #2336 #2373 #2315 #2372 #2332 #2349 #2336 #2361 #2363 #2344 #2354 #2347 #2350 #2356 #2355 #2349 #2352 #2341 #2336 #2373 #2379 #2380 #2382 #2364 #2366 #2386
- Graduate write_to_online_store out of experimental status (#2426) (e7dd4b7)
- Make feast PEP 561 compliant (#2405) (3c41f94), closes #2420 #2418 #2425 #2426 #2427 #2431 #2433 #2420 #2418 #2425 #2426 #2427 #2431 #2433
- Makefile for contrib for Issue #2364 (#2366) (a02325b)
- Support on demand feature views in go feature server (#2494) (6edd274)
- Switch from Feature to Field (#2514) (6a03bed)
- Use a daemon thread to monitor the go feature server exclusively (#2391) (0bb5e8c)
0.19.0 (2022-03-05)
Bug Fixes
- Added additional value types to UI parser and removed references to registry-bq.json (#2361) (d202d51)
- Fix Redshift bug that stops waiting on statements after 5 minutes (#2363) (74f887f)
- Method _should_use_plan only returns true for local sqlite provider (#2344) (fdb5f21)
- Remove redis service to prevent more conflicts and add redis node to master_only (#2354) (993616f)
- Rollback Redis-py to Redis-py-cluster (#2347) (1ba86fb)
- Update github workflow to prevent redis from overlapping ports. (#2350) (c2a6c6c)
Features
- Add owner field to Entity and rename labels to tags (412d625)
- Allow all snowflake python connector connection methods to be available to Feast (#2356) (ec7385c)
- Allowing password based authentication and SSL for Redis in Java feature server (0af8adb)
- Event timestamps response (#2355) (5481caf)
- Feast Spark Offline Store (#2349) (98b8d8d)
- Initial merge of Web UI logic (#2352) (ce3bc59)
- Key ttl setting for redis online store (#2341) (236a108)
- Metadata changes & making data sources top level objects to power Feast UI (#2336) (43da230)
v0.18.1 (2022-02-15)
Bug Fixes
- ODFVs raise a PerformanceWarning for very large sets of features #2293
- Don't require
snowflaketo always be installed #2309 (judahrand) - podAnnotations Values in the feature-server chart #2304 (tpvasconcelos)
- Fixing the Java helm charts and adding a demo tutorial on how to use them #2298 (adchia)
- avoid using transactions on OSS Redis #2296 (DvirDukhan)
- Include infra objects in registry dump and fix Infra's from_proto #2295 (adchia)
- Expose snowflake credentials for unit testing #2288 (sfc-gh-madkins)
- Fix flaky tests (test_online_store_cleanup & test_feature_get_online_features_types_match) #2276 (pyalex)
Merged Pull Requests
- Remove old flag warning with the python feature server #2300 (adchia)
- Use an OFFLINE schema for Snowflake offline store tests #2291 (sfc-gh-madkins)
- fix typos in markdown files #2289 (charliec443)
- Add -SNAPSHOT suffix to pom.xml version #2286 (tsotnet)
- Update CONTRIBUTING.md #2282 (adchia)
v0.18.0 (2022-02-05)
Features
- Tutorial on validation of historical features #2277 (pyalex)
- Feast plan clean up #2256 (felixwang9817)
- Return
UNIX\_TIMESTAMPas Pythondatetime#2244 (judahrand) - Validating historical features against reference dataset with "great expectations" profiler #2243 (pyalex)
- Implement feature_store._apply_diffs to handle registry and infra diffs #2238 (felixwang9817)
- Compare Python objects instead of proto objects #2227 (felixwang9817)
- Modify feature_store.plan to produce an InfraDiff #2211 (felixwang9817)
- Implement diff_infra_protos method for feast plan #2204 (felixwang9817)
- Persisting results of historical retrieval #2197 (pyalex)
- Merge feast-snowflake plugin into main repo with documentation #2193 (sfc-gh-madkins)
- Add InfraDiff class for feast plan #2190 (felixwang9817)
- Use FeatureViewProjection instead of FeatureView in ODFV #2186 (judahrand)
Bug Fixes
- Set
created\_timestampandlast\_updated\_timestampfields #2266 (judahrand) - Use
datetime.utcnow\(\)to avoid timezone issues #2265 (judahrand) - Fix Redis key serialization in java feature server #2264 (pyalex)
- modify registry.db s3 object initialization to work in S3 subdirectory with Java Feast Server #2259 (NalinGHub)
- Add snowflake environment variables to allow testing on snowflake infra #2258 (sfc-gh-madkins)
- Correct inconsistent dependency #2255 (judahrand)
- Fix for historical field mappings #2252 (michelle-rascati-sp)
- Add backticks to left_table_query_string #2250 (dmille)
- Fix inference of BigQuery ARRAY types. #2245 (judahrand)
- Fix Redshift data creator #2242 (felixwang9817)
- Delete entity key from Redis only when all attached feature views are gone #2240 (pyalex)
- Tests for transformation service integration in java feature server #2236 (pyalex)
- Feature server helm chart produces invalid YAML #2234 (pyalex)
- Docker build fails for java feature server #2230 (pyalex)
- Fix ValueType.UNIX_TIMESTAMP conversions #2219 (judahrand)
- Add on demand feature views deletion #2203 (corentinmarek)
- Compare only specs in integration tests #2200 (felixwang9817)
- Bump log4j-core from 2.17.0 to 2.17.1 in /java #2189 (dependabot[bot])
- Support multiple application properties files (incl from classpath) #2187 (pyalex)
- Avoid requesting features from OnlineStore twice #2185 (judahrand)
- Speed up Datastore deletes by batch deletions with multithreading #2182 (ptoman-pa)
- Fixes large payload runtime exception in Datastore (issue 1633) #2181 (ptoman-pa)
Merged Pull Requests
- Add link to community plugin for Spark offline store #2279 (adchia)
- Fix broken links on documentation #2278 (adchia)
- Publish alternative python package with FEAST_USAGE=False by default #2275 (pyalex)
- Unify all helm charts versions #2274 (pyalex)
- Fix / update helm chart workflows to push the feast python server #2273 (adchia)
- Update Feast Serving documentation with ways to run and debug locally #2272 (adchia)
- Fix Snowflake docs #2270 (felixwang9817)
- Update local-feature-server.md #2269 (tsotnet)
- Update docs to include Snowflake/DQM and removing unused docs from old versions of Feast #2268 (adchia)
- Graduate Python feature server #2263 (felixwang9817)
- Fix benchmark tests at HEAD by passing in Snowflake secrets #2262 (adchia)
- Refactor
pa\_to\_feast\_value\_type#2246 (judahrand) - Allow using pandas.StringDtype to support on-demand features with STRING type #2229 (pyalex)
- Bump jackson-databind from 2.10.1 to 2.10.5.1 in /java/common #2228 (dependabot[bot])
- Split apply total parse repo #2226 (mickey-liu)
- Publish renamed java packages to maven central (via Sonatype) #2225 (pyalex)
- Make online store nullable #2224 (mirayyuce)
- Optimize
\_populate\_result\_rows\_from\_feature\_view#2223 (judahrand) - Update to newer
redis-py#2221 (judahrand) - Adding a local feature server test #2217 (adchia)
- replace GetOnlineFeaturesResponse with GetOnlineFeaturesResponseV2 in… #2214 (tsotnet)
- Updates to click==8.* #2210 (diogommartins)
- Bump protobuf-java from 3.12.2 to 3.16.1 in /java #2208 (dependabot[bot])
- Add default priority for bug reports #2207 (adchia)
- Modify issue templates to automatically attach labels #2205 (adchia)
- Python FeatureServer optimization #2202 (judahrand)
- Refactor all importer logic to belong in feast.importer #2199 (felixwang9817)
- Refactor
OnlineResponse.to\_dict\(\)#2196 (judahrand) - [Java feature server] Converge ServingService API to make Python and Java feature servers consistent #2166 (pyalex)
- Add a unit test for the tag_proto_objects method #2163 (achals)
v0.17.0 (2021-12-31)
Features
- Add feast-python-server helm chart #2177 (michelle-rascati-sp)
- Add SqliteTable as an InfraObject #2157 (felixwang9817)
- Compute property-level diffs for repo objects #2156 (achals)
- Add a feast plan command, and have CLI output differentiates between created, deleted and unchanged objects #2147 (achals)
- Refactor tag methods to infer created, deleted, and kept repo objects #2142 (achals)
- Add DatastoreTable infra object #2140 (felixwang9817)
- Dynamodb infra object #2131 (felixwang9817)
- Add Infra and InfraObjects classes #2125 (felixwang9817)
- Pre compute the timestamp range for feature views #2103 (judahrand)
Bug Fixes
- Fix issues with java docker building #2178 (achals)
- unpin boto dependency in setup #2168 (fengyu05)
- Fix issue with numpy datetimes in feast_value_type_to_pandas_type #2167 (achals)
- Fix
BYTESandBYTES_LISTtype conversion #2158 (judahrand) - Use correct name when deleting dynamo table #2154 (pyalex)
- Bump log4j-core from 2.15.0 to 2.16.0 in /java #2146 (dependabot[bot])
- Bump log4j-api from 2.15.0 to 2.16.0 in /java #2145 (dependabot[bot])
- Respect
full_feature_namesfor ODFVs #2144 (judahrand) - Cache dynamodb client and resource in DynamoDB online store implement… #2138 (felixwang9817)
- Bump log4j-api from 2.13.2 to 2.15.0 in /java #2133 (dependabot[bot])
- Fix release workflow to use the new GCP action #2132 (adchia)
- Remove spring-boot from the feast serving application #2127 (achals)
- Fix Makefile to properly create the ECR_VERSION #2123 (adchia)
Closes Issues
- In GH workflow docker images are being built but not published #2152
- Any plan to make Feast 0.10+ support docker #2148
- ODFVs don't respect
full_feature_names#2143 - Release workflow does not work #2136
- Redis Online Store - Truncate and Load #2129
Merged Pull Requests
- Update roadmap to include Snowflake + Trino. Also fix docs + update FAQ #2175 (adchia)
- Convert python values into proto values in bulk #2172 (pyalex)
- Push docker image after build in GH workflow #2171 (pyalex)
- Improve serialization performance #2165 (judahrand)
- Improve online deserialization latency #2164 (judahrand)
- Add a unit test for the tag_proto_objects method #2163 (achals)
- Bump log4j-core from 2.16.0 to 2.17.0 in /java #2161 (dependabot[bot])
- [Java Feature Server] Use hgetall in redis connector when number of retrieved fields is big enough #2159 (pyalex)
- Do not run benchmarks on pull requests #2155 (felixwang9817)
- Ensure that universal CLI test tears down infrastructure #2151 (felixwang9817)
- Remove underscores from ECR docker versions #2139 (achals)
- Run PR integration tests only on python 3.7 #2137 (achals)
- Update changelog for 0.16.1 and update helm charts #2135 (adchia)
- Bump log4j-core from 2.13.2 to 2.15.0 in /java #2134 (dependabot[bot])
- Updating lambda docker image to feature-server-python-aws #2130 (adchia)
- Fix README to reflect new integration test suites #2124 (adchia)
- Change the feast serve endpoint to be sync rather than async. #2119 (nossrannug)
- Remove argument
feature_refs#2115 (judahrand) - Fix leaking dynamodb tables in integration tests #2104 (pyalex)
- Remove untested and undocumented interfaces #2084 (judahrand)
- Update creating-a-custom-provider.md #2070 (ChaitanyaKN)
v0.16.1 (2021-12-10)
Bug Fixes
- Bump log4j-api from 2.13.2 to 2.15.0 in /java #2133 (dependabot[bot])
- Fix release workflow to use the new GCP action #2132 (adchia)
- Fix Makefile to properly create the ECR_VERSION #2123 (adchia)
Merged Pull Requests
- Updating lambda docker image to feature-server-python-aws #2130 (adchia)
- Fix README to reflect new integration test suites #2124 (adchia)
- Remove argument
feature_refs#2115 (judahrand)
v0.16.0 (2021-12-08)
Features
- Install redis extra in AWS Lambda feature server & add hiredis depend… #2057 (tsotnet)
- Support of GC and S3 storages for registry in Java Feature Server #2043 (pyalex)
- Adding stream ingestion alpha documentation #2005 (adchia)
Bug Fixes
- requested_features are not passed to online_read() from passthrough_provider #2106
feast applybroken with 0.15.* if the registry already exists #2086- Inconsistent logic with
on_demand_feature_views#2072 - Fix release workflow to pass the python version and docker build targets #2122 (adchia)
- requested_features is passed to online_read from passthrough_provider #2107 (aurobindoc)
- Don't materialize FeatureViews where
online is False#2101 (judahrand) - Have apply_total use the repo_config that's passed in as a parameter (makes it more compatible with custom wrapper code) #2099 (mavysavydav)
- Do not attempt to compute ODFVs when there are no ODFVs #2090 (felixwang9817)
- Duplicate feast apply bug #2087 (felixwang9817)
- Add --host as an option for feast serve #2078 (nossrannug)
- Fix feature server docker image tag generation in pr integration tests #2077 (tsotnet)
- Fix ECR Image build on master branch #2076 (tsotnet)
- Optimize memory usage during materialization #2073 (judahrand)
- Fix unexpected feature view deletion when applying edited odfv #2054 (ArrichM)
- Properly exclude entities from feature inference #2048 (mavysavydav)
- Don't allow FeatureStore.apply with commit=False #2047 (nossrannug)
- Fix bug causing OnDemandFeatureView.infer_features() to fail when the… #2046 (ArrichM)
- Add missing comma in setup.py #2031 (achals)
- Correct cleanup after usage e2e tests #2015 (pyalex)
- Change Environment timestamps to be in UTC #2007 (felixwang9817)
- get_online_features on demand transform bug fixes + local integration test mode #2004 (adchia)
- Always pass full and partial feature names to ODFV #2003 (judahrand)
- ODFV UDFs should handle list types #2002 (Agent007)
- Update bq_to_feast_value_type with BOOLEAN type as a legacy sql data type #1996 (mavysavydav)
- Fix bug where using some Pandas dtypes in the output of an ODFV fails #1994 (judahrand)
- Fix duplicate update infra #1990 (felixwang9817)
- Improve performance of _convert_arrow_to_proto #1984 (nossrannug)
Merged Pull Requests
- Add changelog for v0.16.0 #2120 (adchia)
- Update FAQ #2118 (felixwang9817)
- Move helm chart back to main repo #2113 (pyalex)
- Set package long description encoding to UTF-8 #2111 (danilopeixoto)
- Update release workflow to include new docker images #2108 (adchia)
- Use the maintainers group in Codeowners instead of individuals #2102 (achals)
- Remove tfx schema from ValueType #2098 (pyalex)
- Add data source implementations to RTD docs #2097 (felixwang9817)
- Updated feature view documentation to include blurb about feature inferencing #2096 (mavysavydav)
- Fix integration test that is unstable due to incorrect materialization boundaries #2095 (pyalex)
- Broaden google-cloud-core dependency #2094 (ptoman-pa)
- Use pip-tools to lock versions of dependent packages #2093 (ysk24ok)
- Fix typo in feature retrieval doc #2092 (olivierlabreche)
- Fix typo in FeatureView example (doc) #2091 (olivierlabreche)
- Use request.addfinalizer instead of the yield based approach in integ tests #2089 (achals)
- Odfv logic #2088 (felixwang9817)
- Refactor
_convert_arrow_to_proto#2085 (judahrand) - Add github run id into the integration test projects for debugging #2069 (achals)
- Fixing broken entity key link in quickstart #2068 (adchia)
- Fix java_release workflow by removing step without users/with #2067 (achals)
- Allow using cached registry when writing to the online store #2066 (achals)
- Raise import error when repo configs module cannot be imported #2065 (felixwang9817)
- Remove refs to tensorflow_metadata #2063 (achals)
- Add detailed error messages for test_univerisal_e2e failures #2062 (achals)
- Remove unused protos & deprecated java modules #2061 (pyalex)
- Asynchronously refresh registry in transformation service #2060 (pyalex)
- Fix GH workflow for docker build of java parts #2059 (pyalex)
- Dedicated workflow for java PRs #2050 (pyalex)
- Run java integration test with real google cloud and aws #2049 (pyalex)
- Fixing typo enabling on_demand_transforms #2044 (ArrichM)
- Make
feast registry-dumpprint the whole registry as one json #2040 (nossrannug) - Remove tensorflow-metadata folders #2038 (casassg)
- Update CHANGELOG for Feast v0.15.1 #2034 (felixwang9817)
- Remove unsupported java parts #2029 (pyalex)
- Fix checked out branch for PR docker image build workflow #2018 (tsotnet)
- Extend "feast in production" page with description of java feature server #2017 (pyalex)
- Remove duplicates in setup.py and run rudimentary verifications #2016 (achals)
- Upload feature server docker image to ECR on approved PRs #2014 (tsotnet)
- GitBook: [#1] Plugin standards documentation #2011 (felixwang9817)
- Add changelog for v0.15.0 #2006 (adchia)
- Add integration tests for AWS Lambda feature server #2001 (tsotnet)
v0.15.1 (2021-11-13)
Bug Fixes
- Add missing comma in setup.py #2031 (achals)
- Correct cleanup after usage e2e tests #2015 (pyalex)
- Change Environment timestamps to be in UTC #2007 (felixwang9817)
- ODFV UDFs should handle list types #2002 (Agent007)
Merged Pull Requests
- Remove unsupported java parts #2029 (pyalex)
- Fix checked out branch for PR docker image build workflow #2018 (tsotnet)
- Remove duplicates in setup.py and run rudimentary verifications #2016 (achals)
- Upload feature server docker image to ECR on approved PRs #2014 (tsotnet)
- Add integration tests for AWS Lambda feature server #2001 (tsotnet)
- Moving Feast Java back into main repo under java/ package #1997 (adchia)
v0.15.0 (2021-11-08)
Features
- Adding stream ingestion alpha documentation #2005 (adchia)
- Feature transformation server docker image #1972 (felixwang9817)
- eventtime check before writing features, use pipelines, ttl #1961 (vas28r13)
- Plugin repo universal tests #1946 (felixwang9817)
- direct data ingestion into Online store #1939 (vas28r13)
- Add an interface for TransformationService and a basic implementation #1932 (achals)
- Allows registering of features in request data as RequestFeatureView. Refactors common logic into a BaseFeatureView class #1931 (adchia)
- Add final_output_feature_names in Query context to avoid SELECT * EXCEPT #1911 (MattDelac)
- Add Dockerfile for GCP CloudRun FeatureServer #1887 (judahrand)
Bug Fixes
- feast=0.14.0
query_generator()unecessary used twice #1978 - get_online_features on demand transform bug fixes + local integration test mode #2004 (adchia)
- Always pass full and partial feature names to ODFV #2003 (judahrand)
- Update bq_to_feast_value_type with BOOLEAN type as a legacy sql data type #1996 (mavysavydav)
- Fix bug where using some Pandas dtypes in the output of an ODFV fails #1994 (judahrand)
- Fix duplicate update infra #1990 (felixwang9817)
- Improve performance of _convert_arrow_to_proto #1984 (nossrannug)
- Fix duplicate upload entity #1981 (achals)
- fix redis cluster materialization #1968 (qooba)
- Allow plugin repos to actually overwrite repo configs #1966 (felixwang9817)
- Delete keys from Redis when tearing down online store #1965 (achals)
- Fix issues with lint test and upgrade pip version #1964 (felixwang9817)
- Move IntegrationTestRepoConfig class to another module #1962 (felixwang9817)
- Solve package conflict in [gcp] and [ci] #1955 (ysk24ok)
- Remove some paths from unit test cache #1944 (achals)
- Fix bug in feast alpha enable CLI command #1940 (felixwang9817)
- Fix conditional statements for if OnDemandFVs exist #1937 (codyjlin)
- Fix __getitem__ return value for feature view and on-demand feature view #1936 (mavysavydav)
- Corrected setup.py BigQuery version that's needed for a contributor's merged PR 1844 #1934 (mavysavydav)
Merged Pull Requests
- Fix protobuf version conflict in [gcp] and [ci] packages #1992 (ysk24ok)
- Improve aws lambda deployment (logging, idempotency, etc) #1985 (tsotnet)
- Extend context for usage statistics collection & add latencies for performance analysis #1983 (pyalex)
- Update CHANGELOG for Feast v0.14.1 #1982 (felixwang9817)
- Document AWS Lambda permissions #1970 (tsotnet)
- Update online store helper docstring #1957 (amommendes)
- Add public docs for entity aliasing #1951 (codyjlin)
- Updating roadmap + hero image #1950 (adchia)
- Add David and Matt as approvers as well #1943 (achals)
- Add David and Matt as reviewers, and add actions for issue/PR assignment #1942 (achals)
- Simplify BigQuery load jobs #1935 (judahrand)
v0.14.1 (2021-10-28)
Bug Fixes
- Fix duplicate upload entity #1981 (achals)
- Fix bug in feast alpha enable CLI command #1940 (felixwang9817)
- Fix conditional statements for if OnDemandFVs exist #1937 (codyjlin)
- Fix __getitem__ return value for feature view and on-demand feature view #1936 (mavysavydav)
- Corrected setup.py BigQuery version that's needed for a contributor's merged PR 1844 #1934 (mavysavydav)
Merged Pull Requests
v0.14.0 (2021-10-08)
Features
- Changed FVProjection 'name_to_use' field to 'name_alias' and changed '.set_projection' in FeatureView to ".with_projection". Also adjustments for some edge cases #1929 (mavysavydav)
- Make serverless alpha feature #1928 (felixwang9817)
- Feast endpoint #1927 (felixwang9817)
- Add location to BigQueryOfflineStoreConfig #1921 (loftiskg)
- Create & teardown Lambda & API Gateway resources for serverless feature server #1900 (tsotnet)
- Hide FeatureViewProjections from user interface & have FeatureViews carry FVProjections that carries the modified info of the FeatureView #1899 (mavysavydav)
- Upload docker image to ECR during feast apply #1877 (felixwang9817)
- Added .with_name method in FeatureView/OnDemandFeatureView classes for name aliasing. FeatureViewProjection will hold this information #1872 (mavysavydav)
Bug Fixes
- Update makefile to use pip installed dependencies #1920 (loftiskg)
- Delete tables #1916 (felixwang9817)
- Set a 5 minute limit for redshift statement execution #1915 (achals)
- Use set when parsing repos to prevent duplicates #1913 (achals)
- resolve environment variables in repo config #1909 (samuel100)
- Respect specified ValueTypes for features during materialization #1906 (Agent007)
- Fix issue with feature views being detected as duplicated when imported #1905 (achals)
- Use contextvars to maintain a call stack during the usage calls #1882 (achals)
Merged Pull Requests
- Update concepts/README.md #1926 (ysk24ok)
- Add CI for feature server Docker image #1925 (felixwang9817)
- cache provider in feature store instance #1924 (DvirDukhan)
- Refactor logging and error messages in serverless #1923 (felixwang9817)
- Add a caching step to our github actions #1919 (achals)
- Add provider, offline store, online store, registry to RTD #1918 (felixwang9817)
- Cleanup tests #1901 (felixwang9817)
v0.13.0 (2021-09-22)
Breaking Changes
- Enforce case-insensitively unique feature view names #1835 (codyjlin)
- Add init to Provider contract #1796 (woop)
Features
- Add on demand feature view experimental docs #1880 (adchia)
- Adding telemetry for on demand feature views and making existing usage calls async #1873 (adchia)
- Read registry & config from env variables in AWS Lambda feature server #1870 (tsotnet)
- Add feature server configuration for AWS lambda #1865 (felixwang9817)
- Add MVP support for on demand transforms for AWS to_s3 and to_redshift #1856 (adchia)
- Add MVP support for on demand transforms for bigquery #1855 (adchia)
- Add arrow support for on demand feature views #1853 (adchia)
- Support adding request data in on demand transforms #1851 (adchia)
- Support on demand feature views in feature services #1849 (achals)
- Infer features for on demand feature views, support multiple output features #1845 (achals)
- Add Registry and CLI operations for on demand feature views #1828 (achals)
- Implementing initial on demand transforms for historical retrieval to_df #1824 (adchia)
- Registry store plugin #1812 (DvirDukhan)
- Enable entityless featureviews #1804 (codyjlin)
- Initial scaffolding for on demand feature view #1803 (adchia)
- Add s3 support (with custom endpoints) #1789 (woop)
- Local feature server implementation (HTTP endpoint) #1780 (tsotnet)
Bug Fixes
- Fixing odfv cli group description #1890 (adchia)
- Fix list feature format for BigQuery offline datasources. #1889 (judahrand)
- Add
dillto main dependencies #1886 (judahrand) - Fix pytest_collection_modifyitems to select benchmark tests only #1874 (achals)
- Add support for multiple entities in Redshift #1850 (felixwang9817)
- Move apply(dummy_entity) to apply time to ensure it persists in FeatureStore #1848 (codyjlin)
- Add schema parameter to RedshiftSource #1847 (felixwang9817)
- Pass bigquery job object to get_job #1844 (LarsKlingen)
- Simplify _python_value_to_proto_value by looking up values in a dict #1837 (achals)
- Update historical retrieval integration test for on demand feature views #1836 (achals)
- Fix flaky connection to redshift data API #1834 (achals)
- Init registry during create_test_environment #1829 (achals)
- Randomly generating new BQ dataset for offline_online_store_consistency test #1818 (adchia)
- Ensure docstring tests always teardown #1817 (felixwang9817)
- Use get_multi instead of get for datastore reads #1814 (achals)
- Fix Redshift query for external tables #1810 (woop)
- Use a random dataset and table name for simple_bq_source #1801 (achals)
- Refactor Environment class and DataSourceCreator API, and use fixtures for datasets and data sources #1790 (achals)
- Fix get_online_features telemetry to only log every 10000 times #1786 (felixwang9817)
- Add a description field the Feature Service class and proto #1771 (achals)
- Validate project name upon feast.apply #1766 (tedhtchang)
- Fix BQ historical retrieval with rows that got backfilled #1744 (MattDelac)
- Handle case where
_LISTtype is empty #1703 (judahrand)
Merged Pull Requests
- Add
ValueType.NULL#1893 (judahrand) - Adding more details to the CONTRIBUTING.md #1888 (adchia)
- Parse BQ
DATETIMEandTIMESTAMP#1885 (judahrand) - Add durations to list the slowest tests #1881 (achals)
- Upload benchmark information to S3 after integration test runs #1878 (achals)
- Refactor providers to remove duplicate implementations #1876 (achals)
- Add Felix & Danny to code owners file #1869 (tsotnet)
- Initial docker image for aws lambda feature server #1866 (tsotnet)
- Add flags file to include experimental flags and test/usage flags #1864 (adchia)
- Hookup pytest-benchmark to online retreival #1858 (achals)
- Add feature server docs & small changes in local server #1852 (tsotnet)
- Add roadmap to README.md #1843 (woop)
- Enable the types test to run on all compatible environments #1840 (adchia)
- Update reviewers/approvers to include Danny/Felix #1833 (adchia)
- Fix wrong links in README #1832 (baineng)
- Remove older offline/online consistency tests #1831 (achals)
- Replace individual cli tests with parametrized tests #1830 (achals)
- Reducing wait interval for BQ integration tests #1827 (adchia)
- Reducing size of universal repo to decrease integration test time #1826 (adchia)
- Refactor the datastore online_read method to be slightly more efficient #1819 (achals)
- Remove old doc #1815 (achals)
- Rename telemetry to usage #1800 (felixwang9817)
- Updating quickstart colab to explain more concepts and highlight value prop of Feast #1799 (adchia)
- Fix Azure Terraform installation. #1793 (mmurdoch)
- Disable integration test reruns to identify flaky tests #1787 (achals)
- Rerun failed python integration tests #1785 (achals)
- Add Redis to the universal integration tests #1784 (achals)
- Add online feature retrieval integration test using the universal repo #1783 (achals)
- Fix wrong description in README.md #1779 (WingCode)
- Clean up docstring tests #1778 (felixwang9817)
- Add offline retrival integration tests using the universal repo #1769 (achals)
- Adding initial type support related tests for BQ #1768 (adchia)
- Add release-patch script #1554 (jklegar)
v0.12.1 (2021-08-20)
Bug Fixes
- Fix get_online_features telemetry to only log every 10000 times #1786 (felixwang9817)
v0.12.0 (2021-08-05)
Breaking Changes
- Set default feature naming to not include feature view name. Add option to include feature view name in feature naming. #1641 (Mwad22)
Features
- AWS Template improvements (input prompt for configs, default to Redshift) #1731 (tsotnet)
- Clean up uploaded entities in Redshift offline store #1730 (tsotnet)
- Implement Redshift historical retrieval #1720 (tsotnet)
- Add custom data sources #1713 (achals)
- Added --skip-source-validation flag to feast apply #1702 (mavysavydav)
- Allow specifying FeatureServices in FeatureStore methods #1691 (achals)
- Implement materialization for RedshiftOfflineStore & RedshiftRetrievalJob #1680 (tsotnet)
- Add FeatureService proto definition #1676 (achals)
- Add RedshiftDataSource #1669 (tsotnet)
- Add streaming sources to the FeatureView API #1664 (achals)
- Add to_table() to RetrievalJob object #1663 (MattDelac)
- Provide the user with more options for setting the to_bigquery config #1661 (codyjlin)
Bug Fixes
- Fix
feast applybugs #1754 (tsotnet) - Teardown integration tests resources for aws #1740 (achals)
- Fix GCS version #1732 (potatochip)
- Fix unit test warnings related to file_url #1726 (tedhtchang)
- Refactor data source classes to fix import issues #1723 (achals)
- Append ns time and random integer to redshift test tables #1716 (achals)
- Add randomness to bigquery table name #1711 (felixwang9817)
- Fix dry_run bug that was making to_bigquery hang indefinitely #1706 (codyjlin)
- Stringify WhichOneof to make mypy happy #1705 (achals)
- Update redis options parsing #1704 (DvirDukhan)
- Cancel BigQuery job if block_until_done call times out or is interrupted #1699 (codyjlin)
- Teardown infrastructure after integration tests #1697 (achals)
- Fix unit tests that got broken by Pandas 1.3.0 release #1683 (tsotnet)
- Remove default list from the FeatureView constructor #1679 (achals)
- BQ exception should be raised first before we check the timedout #1675 (MattDelac)
- Allow strings for online/offline store instead of dicts #1673 (achals)
- Cancel BigQuery job if timeout hits #1672 (MattDelac)
- Make sure FeatureViews with same name can not be applied at the same … #1651 (tedhtchang)
Merged Pull Requests
- Add AWS docs in summary.md #1761 (tsotnet)
- Document permissions for AWS (DynamoDB & Redshift) #1753 (tsotnet)
- Adding small note for project naming convention #1752 (codyjlin)
- Fix warning in FeatureView.from_proto #1751 (tsotnet)
- Add Feature Service to the concepts group #1750 (achals)
- Docstring tests #1749 (felixwang9817)
- Document how pandas deals with missing values #1748 (achals)
- Restore feature refs #1746 (felixwang9817)
- Updating CLI apply to use FeatureStore #1745 (adchia)
- Delete old code #1743 (felixwang9817)
- Bump dependency on pyyaml #1742 (achals)
- Docstrings #1739 (felixwang9817)
- Add the foundation of the universal feature repo and a test that uses it #1734 (achals)
- Add AWS documentation (DynamoDB, Redshift) #1733 (tsotnet)
- Change internal references from input to batch_source #1729 (felixwang9817)
- Refactor tests into new directory layout #1725 (achals)
- Registry teardown #1718 (felixwang9817)
- Redirect telemetry to usage #1717 (felixwang9817)
- Link to offline and online store specs in docs summary #1715 (achals)
- Avoid skewed join between entity_df & feature views #1712 (MattDelac)
- Remove type comments #1710 (achals)
- Increase efficiency of Registry updates #1698 (felixwang9817)
- Parallelize integration tests #1684 (tsotnet)
- Remove debug logging #1678 (charliec443)
- Docs: Fix Feature References example #1674 (GregKuhlmann)
- Rename to_table to to_arrow #1671 (MattDelac)
- Small reference documentation update #1668 (nels)
- Grouped inferencing statements together in apply methods for easier readability #1667 (mavysavydav)
- Infer min and max timestamps from entity_df to limit data read from BQ source #1665 (Mwad22)
- Rename telemetry to usage #1660 (tsotnet)
- Update charts README #1659 (szalai1)
v0.11.0 (2021-06-24)
Features
- Allow BigQuery project to be configured #1656 (MattDelac)
- Add to_bigquery function to BigQueryRetrievalJob #1634 (vtao2)
- Add AWS authentication using github actions #1629 (tsotnet)
- Introduce an OnlineStore interface #1628 (achals)
- Add to_df to convert get_online_feature response to pandas dataframe #1623 (tedhtchang)
- Add datastore namespace option in configs #1581 (tsotnet)
- Add offline_store config #1552 (tsotnet)
- Entity value_type inference for Feature Repo registration #1538 (mavysavydav)
- Inferencing of Features in FeatureView and timestamp column of DataSource #1523 (mavysavydav)
- Add Unix Timestamp value type #1520 (MattDelac)
- Add support for Redis and Redis Cluster #1511 (qooba)
- Add path option to cli #1509 (tedhtchang)
Bug Fixes
- Schema Inferencing should happen at apply time #1646 (mavysavydav)
- Don't use .result() in BigQueryOfflineStore, since it still leads to OOM #1642 (tsotnet)
- Don't load entire bigquery query results in memory #1638 (tsotnet)
- Remove file loader & its test #1632 (tsotnet)
- Provide descriptive error on invalid table reference #1627 (codyjlin)
- Fix ttl duration when ttl is None #1624 (MattDelac)
- Fix race condition in historical e2e tests #1620 (woop)
- Add validations when materializing from file sources #1615 (achals)
- Add entity column validations when getting historical features from bigquery #1614 (achals)
- Allow telemetry configuration to fail gracefully #1612 (achals)
- Update type conversion from pandas to timestamp to support various the timestamp types #1603 (achals)
- Add current directory in sys path for CLI commands that might depend on custom providers #1594 (MattDelac)
- Fix contention issue #1582 (woop)
- Ensure that only None types fail predicate #1580 (woop)
- Don't create bigquery dataset if it already exists #1569 (tsotnet)
- Don't lose materialization interval tracking when re-applying feature views #1559 (jklegar)
- Validate project and repo names for apply and init commands #1558 (tedhtchang)
- Bump supported Python version to 3.7 #1504 (tsotnet)
Merged Pull Requests
- Rename telemetry to usage #1660 (tsotnet)
- Refactor OfflineStoreConfig classes into their owning modules #1657 (achals)
- Run python unit tests in parallel #1652 (achals)
- Refactor OnlineStoreConfig classes into owning modules #1649 (achals)
- Fix table_refs in BigQuerySource definitions #1644 (tsotnet)
- Make test historical retrieval longer #1630 (MattDelac)
- Fix failing historical retrieval assertion #1622 (woop)
- Add a specific error for missing columns during materialization #1619 (achals)
- Use drop_duplicates() instead of groupby (about 1.5~2x faster) #1617 (rightx2)
- Optimize historical retrieval with BigQuery offline store #1602 (MattDelac)
- Use CONCAT() instead of ROW_NUMBER() #1601 (MattDelac)
- Minor doc fix in the code snippet: Fix to reference the right instance for the retrieved job instance object #1599 (dmatrix)
- Repo and project names should not start with an underscore #1597 (tedhtchang)
- Append nanoseconds to dataset name in test_historical_retrival to prevent tests stomping over each other #1593 (achals)
- Make start and end timestamps tz aware in the CLI #1590 (achals)
- Bump fastavro version #1585 (kevinhu)
- Change OfflineStore class description #1571 (tedhtchang)
- Fix Sphinx documentation building #1563 (woop)
- Add test coverage and remove MacOS integration tests #1562 (woop)
- Improve GCP exception handling #1561 (woop)
- Update default cli no option help message #1550 (tedhtchang)
- Add opt-out exception logging telemetry #1535 (jklegar)
- Add instruction for install Feast on IKS and OpenShift using Kustomize #1534 (tedhtchang)
- BigQuery type to Feast type conversion chart update #1530 (mavysavydav)
- remove unnecessay path join in setup.py #1529 (shihabuddinbuet)
- Add roadmap to documentation #1528 (woop)
- Add test matrix for different Python versions #1526 (woop)
- Update broken urls in the github pr template file #1521 (tedhtchang)
- Add a fixed timestamp to quickstart data #1513 (jklegar)
- Make gcp imports optional #1512 (jklegar)
- Fix documentation inconsistency #1510 (jongillham)
- Upgrade grpcio version in python SDK #1508 (szalai1)
- pre-commit command typo fix in CONTRIBUTING.md #1506 (mavysavydav)
- Add optional telemetry to other CLI commands #1505 (jklegar)
v0.10.8 (2021-06-17)
Features
Bug Fixes
- Don't use .result() in BigQueryOfflineStore, since it still leads to OOM #1642 (tsotnet)
- Don't load entire bigquery query results in memory #1638 (tsotnet)
- Add entity column validations when getting historical features from bigquery #1614 (achals)
Merged Pull Requests
- Make test historical retrieval longer #1630 (MattDelac)
- Fix failing historical retrieval assertion #1622 (woop)
- Optimize historical retrieval with BigQuery offline store #1602 (MattDelac)
v0.10.7 (2021-06-07)
Bug Fixes
Merged Pull Requests
- Use drop_duplicates() instead of groupby (about 1.5~2x faster) #1617 (rightx2)
- Use CONCAT() instead of ROW_NUMBER() #1601 (MattDelac)
- Minor doc fix in the code snippet: Fix to reference the right instance for the retrieved job instance object #1599 (dmatrix)
- Append nanoseconds to dataset name in test_historical_retrival to prevent tests stomping over each other #1593 (achals)
- Make start and end timestamps tz aware in the CLI #1590 (achals)
v0.10.6 (2021-05-27)
Features
Bug Fixes
- Fix contention issue #1582 (woop)
- Ensure that only None types fail predicate #1580 (woop)
- Don't create bigquery dataset if it already exists #1569 (tsotnet)
Merged Pull Requests
- Change OfflineStore class description #1571 (tedhtchang)
v0.10.5 (2021-05-19)
Features
Bug Fixes
- Validate project and repo names for apply and init commands #1558 (tedhtchang)
Merged Pull Requests
- Fix Sphinx documentation building #1563 (woop)
- Add test coverage and remove MacOS integration tests #1562 (woop)
- Improve GCP exception handling #1561 (woop)
- Update default cli no option help message #1550 (tedhtchang)
- Add opt-out exception logging telemetry #1535 (jklegar)
- Add instruction for install Feast on IKS and OpenShift using Kustomize #1534 (tedhtchang)
v0.10.4 (2021-05-12)
Features
- Inferencing of Features in FeatureView and timestamp column of DataSource #1523 (mavysavydav)
- Add Unix Timestamp value type #1520 (MattDelac)
- Fix materialize for None #1481 (qooba)
Merged Pull Requests
- BigQuery type to Feast type conversion chart update #1530 (mavysavydav)
- remove unnecessay path join in setup.py #1529 (shihabuddinbuet)
- Add roadmap to documentation #1528 (woop)
- Add test matrix for different Python versions #1526 (woop)
- Update broken urls in the github pr template file #1521 (tedhtchang)
- Upgrade grpcio version in python SDK #1508 (szalai1)
- Better logging for materialize command #1499 (jklegar)
v0.10.3 (2021-04-21)
Features
- Add support for third party providers #1501 (tsotnet)
- Infer entity dataframe event timestamp column #1495 (jklegar)
- Allow Feast apply to import files recursively (and add .feastignore) #1482 (tsotnet)
Bug Fixes
- Bump supported Python version to 3.7 #1504 (tsotnet)
- Fix bug in allowing empty repositories to be applied to a GCS registry #1488 (woop)
Merged Pull Requests
- Add a fixed timestamp to quickstart data #1513 (jklegar)
- Make gcp imports optional #1512 (jklegar)
- Fix documentation inconsistency #1510 (jongillham)
- pre-commit command typo fix in CONTRIBUTING.md #1506 (mavysavydav)
- Add optional telemetry to other CLI commands #1505 (jklegar)
- Pass entities information to Provider #1498 (MattDelac)
- Update broken urls in contributing.md #1489 (tedhtchang)
- Python docs formatting fixes #1473 (jklegar)
v0.10.2 (2021-04-21)
Bug Fixes
v0.10.1 (2021-04-21)
Bug Fixes
Merged Pull Requests
- Improve exception handling, logging, and validation #1477 (woop)
- Remove duped pic #1476 (YikSanChan)
- Fix created timestamp related errors for BigQuery source #1474 (jklegar)
- Remove unnecessary MAVEN_CONFIG #1472 (danielsiwiec)
- Fix CLI entities command & add feature-views command #1471 (tsotnet)
v0.10.0 (2021-04-15)
Features
- Add template generation to Feast CLI for Google Cloud Platform #1460 (woop)
- Add support for retrieving data from sources that don't match providers #1454 (woop)
- Add materialize-incremental CLI command #1442 (tsotnet)
- Add registry refreshing and caching #1431 (woop)
- Add missing FeatureStore methods #1423 (jklegar)
- Allow importing of new FeatureStore classes #1422 (woop)
- Add Feast init command #1414 (oavdeev)
- Add support for parquet ingestion #1410 (oavdeev)
- Add materialize_incremental method #1407 (jklegar)
- Add support for pull query from BigQuery #1403 (jklegar)
- Add support for partial apply to create infra #1402 (oavdeev)
- Add online read API to FeatureStore class #1399 (oavdeev)
- Add historical retrieval for BigQuery and Parquet #1389 (woop)
- Add feature views #1386 (oavdeev)
- Implement materialize method #1379 (jklegar)
- Read and write path for Datastore and SQLite #1376 (oavdeev)
- Download BigQuery table to pyarrow table for python-based ingestion flow #1366 (jklegar)
- FeatureStore, FeatureView, Config, and BigQuerySource classes for updated SDK #1364 (jklegar)
- Add support for new deploy CLI #1362 (oavdeev)
Bug Fixes
- Fix time zone access with native python datetimes #1469 (tsotnet)
- Small fixes for created_timestamp #1468 (jklegar)
- Fix offline store (tz-naive & field_mapping issues) #1466 (tsotnet)
- Fix get_online_features return schema #1455 (jklegar)
- Fix noisy path warning #1452 (woop)
- Fix flaky test_feature_store fixture #1447 (jklegar)
- Use timestamp check for token refresh #1444 (terryyylim)
- Fix bug in event timestamp removal in local mode #1441 (jklegar)
- Fix timezone issue in materialize & materialize_incremental #1439 (tsotnet)
- Fix materialization_intervals initialization in FeatureView #1438 (tsotnet)
- Fix broken Terraform installation files #1420 (josegpg)
- Fix retry handling for GCP datastore #1416 (oavdeev)
- Make CLI apply in local mode idempotent #1401 (oavdeev)
- Fix a bug in client archive_project method and fix lint in grpc auth #1396 (randxie)
Merged Pull Requests
- Change GCP template names to match local template #1470 (jklegar)
- Add logging to materialize #1467 (woop)
- Validate timestamp column present in entity dataframe #1464 (jklegar)
- Fix & clean up Feast CLI commands #1463 (tsotnet)
- Flatten configuration structure for online store #1459 (woop)
- Optimize write rate in Gcp Firestore #1458 (tsotnet)
- Allow apply to take a single Entity or FeatureView #1457 (jklegar)
- Validate datetimes in materialize in correct order #1456 (jklegar)
- Add test to ensure saving and loading from registry is safe #1453 (woop)
- Port telemetry to FeatureStore API #1446 (jklegar)
- Add materialize-incremental cli test #1445 (tsotnet)
- Support join keys in historical feature retrieval #1440 (jklegar)
- Refactor OfflineStore into Provider #1437 (woop)
- Fix multi-entity online retrieval #1435 (woop)
- Fix feature name consistency between online & historical apis #1434 (tsotnet)
- Rename Metadata Store to Registry #1433 (woop)
- Add support for Pydantic as configuration loader #1432 (woop)
- Add entity join key and fix entity references #1429 (jklegar)
- Slightly more sensible test names #1428 (oavdeev)
- Make entity description optional and fix empty table_ref #1425 (jklegar)
- Add Development Guide for Main Feast Repo Feast Components #1424 (mrzzy)
- Fix protobuf building for Python SDK #1418 (woop)
- Add project name generator #1417 (woop)
- [Python SDK][Auth] Refresh token id w/o gcloud cli #1413 (pyalex)
- Firestore ingestion perf improvements + benchmark script #1411 (oavdeev)
- Fixed old urls in documentation #1406 (tedhtchang)
- Upgrade Gcloud setup dependency #1405 (woop)
- Fix documentation building for Feast SDK #1400 (woop)
- Bump jinja2 from 2.11.2 to 2.11.3 in /sdk/python #1398 (dependabot[bot])
- Improve spark-on-k8s-operator documentation #1397 (jklegar)
- Update Python SDK dependencies #1394 (woop)
- Move Python proto package into submodule #1393 (woop)
- Add nicer validation for repo config #1392 (oavdeev)
- Remove Python CI dependencies #1390 (woop)
- Move Project field to Table/View spec #1388 (woop)
- Remove Mirror CI #1387 (woop)
- Add feedback link to install docs page #1375 (jparthasarthy)
- Support multiple features per key in firestore format spec #1374 (oavdeev)
- Fix hashing algorithm in the firestore spec #1373 (oavdeev)
- Support make protos on Mac #1371 (tedhtchang)
- Add support for privileged tests #1369 (woop)
- Remove base tests folder #1368 (woop)
- Add Firestore online format specification #1367 (oavdeev)
- Improve documentation for k8s-spark resource template #1363 (theofpa)
v0.9.1 (2021-01-29)
Features
Bug Fixes
- Fix kafka download url #1298 (jklegar)
- disable telemetry in docker-compose test and job_service #1297 (jklegar)
v0.9.0 (2021-01-28)
Features
- Enable user to provide spark job template as input for jobservice deployment #1285 (khorshuheng)
- Add feature table name filter to jobs list api #1282 (terryyylim)
- Report observed value for aggregated checks in pre-ingestion feature validation #1278 (pyalex)
- Add docs page for Azure setup #1276 (jklegar)
- Azure example terraform #1274 (jklegar)
Bug Fixes
- make EMR jar uploader work the same as k8s one #1284 (oavdeev)
- Don't error when azure vars not set #1277 (jklegar)
- Prevent ingestion job config parser from unwanted fieldMapping transformation #1261 (pyalex)
- Features are not being ingested due to max age overflow #1209 (pyalex)
- Feature Table is not being update when only max_age was changed #1208 (pyalex)
- Truncate staging timestamps in entities dataset to ms #1207 (pyalex)
- Bump terraform rds module version #1204 (oavdeev)
Merged Pull Requests
- Use date partitioning column in FileSource #1293 (pyalex)
- Add EMR CI/CD entrypoint script #1290 (oavdeev)
- Online serving optimizations #1286 (pyalex)
- Make third party grpc packages recognizable as python module #1283 (khorshuheng)
- Report observed values in feature validation as Gauge #1280 (pyalex)
- Keep same amount of partitions after repartitioning in IngestionJob #1279 (pyalex)
- Add request feature counter metric #1272 (terryyylim)
- Use SEND_INTERRUPT to cancel EMR jobs #1271 (oavdeev)
- Fix historical test flakiness #1270 (jklegar)
- Allow https url for spark ingestion jar #1266 (jklegar)
- Add project name to feature validation metric #1264 (pyalex)
- Use dataproc console url instead of gcs for log uri #1263 (khorshuheng)
- Make nodes priority (for redis cluster) configurable in Serving #1260 (pyalex)
- Enhance job api to return associated feature table and start time #1259 (khorshuheng)
- Reporting metrics from validation UDF #1256 (pyalex)
- Allow use the same timestamp column for both created & even timestamp in Historical Retrieval #1255 (pyalex)
- Apply grpc tracing interceptor on Feast SDK #1243 (khorshuheng)
- Apply grpc tracing interceptor on online serving #1242 (khorshuheng)
- Python UDF in Ingestion being used for feature validation #1234 (pyalex)
- Add spark k8s operator launcher #1225 (oavdeev)
- Add deadletter/read-from-source metrics to batch and stream ingestion #1223 (terryyylim)
- Implement AbstractStagingClient for azure blob storage #1218 (jklegar)
- Configurable materialization destination for view in BigQuerySource #1201 (pyalex)
- Update Feast Core list features method #1176 (terryyylim)
- S3 endpoint configuration #1169 #1172 (mike0sv)
- Increase kafka consumer waiting time in e2e tests #1268 (pyalex)
- E2E tests support for jobservice's control loop #1267 (pyalex)
- Optimize memory footprint for Spark Ingestion Job #1265 (pyalex)
- Fix historical test for azure #1262 (jklegar)
- Change azure https to wasbs and add azure creds to spark #1258 (jklegar)
- Docs, fixes and scripts to run e2e tests in minikube #1254 (oavdeev)
- Fix azure blob storage access in e2e tests #1253 (jklegar)
- Update python version requirements to 3.7 for Dataproc launcher #1251 (pyalex)
- Fix build-ingestion-py-dependencies script #1250 (pyalex)
- Add datadog(statsd) client to python package for IngestionJob #1249 (pyalex)
- Add prow job for azure e2e test #1244 (jklegar)
- Azure e2e test #1241 (jklegar)
- Add Feast Serving histogram metrics #1240 (terryyylim)
- CI should work on python 3.6 #1237 (pyalex)
- Integration test for k8s spark operator support #1236 (oavdeev)
- Add prow config for spark k8s operator integration testing #1235 (oavdeev-tt)
- Upgrading spark to 3.0.1 #1227 (pyalex)
- Support TFRecord as one of the output formats for historical feature retrieval #1222 (khorshuheng)
- Remove stage_dataframe from the launcher interface #1220 (oavdeev)
- Refactor staging client uploader and use it in EMR launcher #1219 (oavdeev)
- Remove unused EMR code #1217 (oavdeev)
- Remove job id from ingested row counter metric #1216 (terryyylim)
- Quickstart link fixed #1213 (szczeles)
- Delete v1 concepts #1194 (terryyylim)
- Dont write defaults to config #1188 (mike0sv)
- Refactor tests which utilizes feature sets #1186 (terryyylim)
- Refactor configurable options and add sphinx docs #1174 (terryyylim)
- Remove unnecessary Google Auth dependency #1170 (woop)
v0.8.2 (2020-12-01)
Features
Bug Fixes
- Fix tag order for release workflow #1205 (terryyylim)
- Fix Feature Table not updated on new feature addition #1197 (khorshuheng)
Merged Pull Requests
- Suppress kafka logs in Ingestion Job #1206 (pyalex)
- Add project name to metrics labels in Ingestion Job #1202 (pyalex)
v0.8.1 (2020-11-24)
Features
- Expires Redis Keys based on Feature Table Max Age #1161 (khorshuheng)
- Jobservice control loop (based on #1140) #1156 (oavdeev)
Bug Fixes
- Lazy metrics initialization (to correct pick up in executor) #1195 (pyalex)
- Add missing third_party folder #1185 (terryyylim)
- Fix missing name variable instantiation #1166 (terryyylim)
Merged Pull Requests
- Bump ssh-agent version #1175 (terryyylim)
- Refactor configurable options and add sphinx docs #1174 (terryyylim)
- Stabilize flaky e2e tests #1173 (pyalex)
- Fix connection resets in CI for Maven #1164 (woop)
- Add dataproc executor resource config #1160 (terryyylim)
- Fix github workflow deprecating env variable #1158 (terryyylim)
- Ensure consistency of github workflow #1157 (terryyylim)
v0.8.0 (2020-11-10)
Features
- Implement JobService API calls & connect it to SDK #1129 (tsotnet)
- Allow user to specify custom secrets to be mounted on Feast Serving and Feast Core pods #1127 (khorshuheng)
- Allow spark expressions in field mapping during Ingestion #1122 (pyalex)
- Update rest endpoints #1121 (terryyylim)
- Add feature table deletion #1114 (terryyylim)
- Add historical retrieval via job service #1107 (oavdeev)
- Implement list job and get job methods for Dataproc launcher #1106 (khorshuheng)
- Allow entities and features to be updated #1105 (terryyylim)
- Add get_by_id and list_jobs interface to the launcher interface and implement it for EMR #1095 (oavdeev)
- Support redis ssl in feast-serving #1092 (oavdeev)
- Add helm charts for feast jobservice #1081 (tsotnet)
- Terraform cleanup: tags, formatting, better defaults #1080 (oavdeev)
- Update docker-compose for Feast 0.8 #1078 (khorshuheng)
- Configure jupyter env on AWS via terraform #1077 (oavdeev)
- Implement EMR job cancelling #1075 (oavdeev)
- Streaming Ingestion Job supports AVRO format as input #1072 (pyalex)
- Accept Pandas dataframe as input for historical feature retrieval #1071 (khorshuheng)
- Add EMR streaming job launcher #1065 (oavdeev)
- EMR launcher #1061 (oavdeev)
- Add AWS managed kafka config to the example terraform #1058 (oavdeev)
- Feast SDK integration for historical feature retrieval using Spark #1054 (khorshuheng)
- Update GetOnlineFeatures method in sdks #1052 (terryyylim)
- "Start Offline-to-online ingestion" method in Python SDK #1051 (pyalex)
- Adding support for custom grpc dial options in Go SDK #1043 (ankurs)
- CLI command to start/stop/list streaming ingestion job on emr #1040 (oavdeev)
- Update serving service to handle new redis encoding #1038 (terryyylim)
- terraform config for aws #1033 (oavdeev)
- Streaming Ingestion Pipeline with Spark #1027 (pyalex)
- Run offline-to-online ingestion job on EMR #1026 (oavdeev)
- Add redis SSL support to the offline-to-online ingestion job #1025 (oavdeev)
- Dataproc and Standalone Cluster Spark Job launcher #1022 (khorshuheng)
- Pyspark job for feature batch retrieval #1021 (khorshuheng)
- Batch Ingestion Job rewritten on Spark #1020 (pyalex)
- Add Feature Tables API to Core & Python SDK #1019 (mrzzy)
- Introduce Entity as higher-level concept #1014 (terryyylim)
Bug Fixes
- Fix stencil client serialization issue #1147 (pyalex)
- Deadletter path is being incorrectly joined #1144 (pyalex)
- In Historical Retrieval (SDK) use project from client context #1138 (pyalex)
- Pass project from context to get entities #1137 (pyalex)
- JobService is in crashloop after installing helm chart #1135 (pyalex)
- Fix env var names for jupyter terraform config #1085 (oavdeev)
- Fix java class name validation #1084 (oavdeev)
- Multiple tiny AWS related fixes #1083 (oavdeev)
Merged Pull Requests
- Make created_timestamp property optional in KafkaSource #1146 (pyalex)
- In Streaming E2E Test filter kafka consumers by group id prefix #1145 (pyalex)
- Limit concurrency on e2e test runs to 1 #1142 (oavdeev)
- Update prow trigger for AWS #1139 (oavdeev)
- e2e test fixes to make them work on AWS #1132 (oavdeev)
- Add feature table name & job id to deadletter destination #1143 (pyalex)
- Drop hardcoded FEAST_CORE_URL env from JobService helm chart #1136 (pyalex)
- Add Prow to AWS codebuild trigger #1133 (oavdeev)
- Optional IngestionJob parameters passed by Spark Launcher #1130 (pyalex)
- Wait for job to be ready before cancelling #1126 (khorshuheng)
- Ability to run e2e tests in non-default project #1125 (pyalex)
- Ensure job is completed when ingesting to BQ #1123 (terryyylim)
- Add end-to-end Prow Job launcher for AWS tests #1118 (woop)
- Add confluent kafka installation to minimal notebook #1116 (woop)
- Scaffolding for integration tests #1113 (khorshuheng)
- Add serving integration test for updated feature type #1112 (terryyylim)
- In Historical Retrieval from BQ join between source & entities is performed inside BQ #1110 (pyalex)
- Make created timestamp column optional #1108 (khorshuheng)
- Add validation when feature type is changed #1102 (terryyylim)
- E2E flow in prow is working #1101 (pyalex)
- Return e2e back to prow runner #1100 (pyalex)
- Add gh workflow for dockerhub #1098 (terryyylim)
- Make demo notebook work on AWS #1097 (oavdeev)
- Update Kubernetes setup for Feast 0.8 #1096 (khorshuheng)
- Refactored end-to-end tests fully orchestrated by pytest #1094 (pyalex)
- Disable statsd by default for spark #1089 (oavdeev-tt)
- Restructure tutorial subfolder #1088 (terryyylim)
- Remove load test from github action #1087 (khorshuheng)
- Add more explanations to the demo notebook, use local file system instead of GCS by default #1086 (khorshuheng)
- Tutorial (Full demo) in Jupyter #1079 (pyalex)
- Add unit test for historical retrieval with panda dataframe #1073 (khorshuheng)
- Remove outdated tutorials #1069 (terryyylim)
- Add method to add feature to Feature table #1068 (terryyylim)
- Historical feature retrieval e2e test #1067 (khorshuheng)
- Use RedisKeyV2 as key serializer and java murmur implementation in Redis Sink #1064 (pyalex)
- Use existing staging client for dataproc staging #1063 (khorshuheng)
- Cleanup CLI and Python dependencies #1062 (terryyylim)
- Refactor Spark Job launcher API #1060 (pyalex)
- Create empty Job Service #1059 (tsotnet)
- Replace Data Source specific format options with DataFormat message #1049 (mrzzy)
- Add created_timestamp_column to DataSource. Rename timestamp_column -> event_timestamp_column #1048 (pyalex)
- Cleanup e2e and docker-compose tests #1035 (terryyylim)
- Add svc account volume mount to prow jobs #1034 (terryyylim)
- Update prow config and makefile #1024 (terryyylim)
- Refactor Python SDK to remove v1 concepts #1023 (terryyylim)
v0.7.1 (2020-10-07)
Bug Fixes
v0.7.0 (2020-09-09)
Breaking Changes
- Add request response logging via fluentd #961 (terryyylim)
- Run JobCoontroller as separate application #951 (pyalex)
- Output Subject Claim as Identity in Logging interceptor #946 (mrzzy)
- Use JobManager's backend as persistent storage and source of truth #903 (pyalex)
- Fix invalid characters for project, featureset, entity and features creation #976 (terryyylim)
Features
- Add redis key prefix as an option to Redis cluster #975 (khorshuheng)
- Authentication Support for Java & Go SDKs #971 (mrzzy)
- Add configurable prefix to Consumer Group in IngestionJob's Kafka reader #969 (terryyylim)
- Configurable kafka consumer in IngestionJob #959 (pyalex)
- Restart Ingestion Job on code version update #949 (pyalex)
- Add REST endpoints for Feast UI #878 (SwampertX)
- Upgrade Feast dependencies #876 (pyalex)
Bug Fixes
- Fix Java & Go SDK TLS support #986 (mrzzy)
- Fix Python SDK setuptools not supporting tags required for Go SDK to be versioned. #983 (mrzzy)
- Fix Python native types multiple entities online retrieval #977 (terryyylim)
- Prevent historical retrieval from failing on dash in project / featureSet name #970 (pyalex)
- Fetch Job's labels from dataflow #968 (pyalex)
- Fetch Job's Created Datetime from Dataflow #966 (pyalex)
- Fix flaky tests #953 (pyalex)
- Prevent field duplications on schema merge in BigQuery sink #945 (pyalex)
- Fix Audit Message Logging Interceptor Race Condition #938 (mrzzy)
- Bypass authentication for metric endpoints on Serving. #936 (mrzzy)
- Fix grpc security variables name and missing exec qualifier in docker.dev #935 (jmelinav)
- Remove extra line that duplicates statistics list #934 (terryyylim)
- Fix empty array when retrieving stats data #930 (terryyylim)
- Allow unauthenticated access when Authorization is disabled and to Health Probe #927 (mrzzy)
- Impute default project if empty before authorization is called #926 (jmelinav)
- Fix Github Actions CI load-test job failing due inability to install Feast Python SDK. #914 (mrzzy)
- Fix Online Serving unable to retrieve feature data after Feature Set update. #908 (mrzzy)
- Fix unit tests not running in feast.core package. #883 (mrzzy)
- Exclude dependencies signatures from IngestionJob package #879 (pyalex)
- Prevent race condition in BQ sink jobId generation #877 (pyalex)
- Add IngestionId & EventTimestamp to FeatureRowBatch to calculate lag metric correctly #874 (pyalex)
- Fix typo for fluentd request response map key #989 (terryyylim)
- Reduce polling interval for docker-compose test and fix flaky e2e test #982 (terryyylim)
- Fix rate-limiting issue on github actions for master branch #974 (terryyylim)
- Fix docker-compose test #973 (terryyylim)
- Fix Helm chart requirements lock and version linting #925 (woop)
- Fix Github Actions failures due to possible rate limiting. #972 (mrzzy)
- Fix docker image building for PR commits #907 (woop)
- Fix Github Actions versioned image push #994(mrzzy)
- Fix Go SDK extra colon in metadata header for Authentication #1001(mrzzy)
- Fix lint version not pulling tags. #999(mrzzy)
- Call fallback only when theres missing keys #1009 (pyalex)
Merged Pull Requests
- Add cryptography to python ci-requirements #988 (pyalex)
- Allow maps in environment variables in helm charts #987 (pyalex)
- Speed up Github Actions Docker builds #980 (mrzzy)
- Use setup.py develop instead of pip install -e #967 (pyalex)
- Peg black version #963 (terryyylim)
- Remove FeatureRow compaction in BQ sink #960 (pyalex)
- Get job controller deployment for docker compose back #958 (pyalex)
- Revert job controller deployment for docker compose #957 (woop)
- JobCoordinator use public API to communicate with Core #943 (pyalex)
- Allow Logging Interceptor to be toggled by Message Logging Enabled Flag #940 (mrzzy)
- Clean up Feast CI, docker compose, and notebooks #916 (woop)
- Allow use of Kubernetes for Github Actions #910 (woop)
- Wait for docker images to be ready for e2e dataflow test #909 (woop)
- Add docker image building to GitHub Actions and consolidate workflows #898 (woop)
- Add load test GitHub Action #897 (woop)
- Typo in feature sets example. #894 (ashwinath)
- Add auth integration tests #892 (woop)
- Integration Test for Job Coordinator #886 (pyalex)
- BQ sink produces sample of successful inserts #875 (pyalex)
- Add Branch and RC Awareness to Version Lint & Fix Semver Regex #998 (mrzzy)
v0.6.2 (2020-08-02)
Features
- Redis sink flushes only rows that have more recent eventTimestamp #913 (pyalex)
- Dataflow runner options: disk type & streaming engine #906 (pyalex)
- Add Structured Audit Logging #891 (mrzzy)
- Add Authentication and Authorization for feast serving #865 (jmelinav)
- Throw more informative exception when write_triggering_frequency_seconds is missing #917 (pyalex)
- Add caching to authorization #884 (jmelinav)
- Add Auth header #885 (AnujaVane)
Bug Fixes
- Fix Online Serving unable to retrieve feature data after Feature Set update. #908 (mrzzy)
- Fix Python SDK ingestion for featureset name that exist in multiple projects #868 (terryyylim)
- Backport delay in Redis acknowledgement of spec #915 (woop)
- Allow unauthenticated access when Authorization is disabled and to Health Probe #927 (mrzzy)
Merged Pull Requests
v0.6.1 (2020-07-17)
Features
- Improve parallelization in Redis Sink #866 (pyalex)
- BQ sink produces sample of successful inserts #875 (pyalex)
Bug Fixes
- Add IngestionId & EventTimestamp to FeatureRowBatch to calculate lag metric correctly #874 (pyalex)
- Prevent race condition in BQ sink jobId generation #877 (pyalex)
v0.6.0 (2020-07-13)
Breaking Changes
Features
- Allow users compute statistics over retrieved batch datasets #799 (zhilingc)
- Replace Keto Authorization with External HTTP Authorization #864 (woop)
- Add disk size as Dataflow Job Configuration #841 (khorshuheng)
- JobCoordinator may be turned off by configuration #829 (pyalex)
- Allow ingestion job grouping/consolidation to be configurable #825 (pyalex)
- Add subscriptions blacklist functionality #813 (terryyylim)
- Add Common module #801 (terryyylim)
- FeatureSets are delivered to Ingestion Job through Kafka #792 (pyalex)
- Add YAML export to Python SDK #782 (woop)
- Add support to Python SDK for staging files on Amazon S3 #769 (jmelinav)
- Add support for version method in Feast SDK and Core #759 (woop)
- Upgrade ingestion to allow for in-flight updates to feature sets for sinks #757 (pyalex)
- Add Discovery API for listing features #797 (terryyylim)
- Authentication and authorization support #793 (dr3s)
- Add API for listing feature sets using labels #785 (terryyylim)
Bug Fixes
- Bypass authentication for metric endpoints #862 (woop)
- Python SDK listing of ingestion job fails for featureset reference filter #861 (terryyylim)
- Fix BigQuerySink successful output to produce only once #858 (pyalex)
- Re-applying of featuresets does not update label changes #857 (terryyylim)
- BQ Sink is failing when Feature consists of only null values #853 (pyalex)
- Fix FeatureSetJobStatus removal #848 (pyalex)
- Fix: JobCoordinator tries to create duplicate FeatureSetJobStatuses #847 (pyalex)
- Replace IngestionJob when store was updated #846 (pyalex)
- Don't send unrecognized featureSets to deadletter in IngestionJob #845 (pyalex)
- Deallocate featureSet from job when source changed #844 (pyalex)
- Fix CPU count selection in Python SDK for non-Unix #839 (pyalex)
- Write metrics for store allocated rows only #830 (zhilingc)
- Prevent reserved fields from being registered #819 (terryyylim)
- Fix Optional#get() and string comparison bugs in JobService #804 (ches)
- Publish helm chart script should not modify the chart content #779 (khorshuheng)
- Fix pipeline options toArgs() returning empty list #765 (zhilingc)
- Remove usage of parallel stream for feature value map generation #751 (khorshuheng)
Merged Pull Requests
- Remove Spring Boot from auth tests #859 (woop)
- Authentication and Authorization into feast-auth module. #856 (jmelinav)
- Keep StoreProto inside JobStore to decouple JobCoordination from SpecService internals #852 (pyalex)
- Enable isort for Python SDK #843 (woop)
- Replace batch with historical for Python SDK retrieval #842 (woop)
- Upgrade pandas to 1.0.x #840 (duongnt)
- Ensure store subscriptions are migrated to allow exclusion schema #838 (pyalex)
- Remove project reference from feature set id in stats example notebook #836 (zhilingc)
- Enable linting and formatting for e2e tests #832 (woop)
- IngestionJob is being gracefully replaced to minimize downtime #828 (pyalex)
- Add native types for Python SDK online retrieval #826 (terryyylim)
- Send acknowledgment on Spec Update only after sinks are ready #822 (pyalex)
- Remove Duplicated Strip Projects Code from SDKs #820 (mrzzy)
- Consolidate ingestion jobs to one job per source #817 (pyalex)
- Add missing key count metric #816 (terryyylim)
- Create table in BigQuery if doesn't exists when new FeatureSetSpec arrived to IngestionJob #815 (pyalex)
- Refactor common module's feature string reference method #814 (terryyylim)
- Fix typo in documentation #811 (ravisuhag)
- Database Schema migration for RELEASE 0.6 with Flyway #810 (pyalex)
- Update helm installation docs - Fix broken link #808 (davidheryanto)
- Add authentication support for end-to-end tests #807 (jmelinav)
- Use latest instead of dev as the default image tag in helm charts #806 (duongnt)
- Build Feast Jupyter image and clean up examples #803 (woop)
- Move communication with IngestionJob to JobCoordinator #800 (pyalex)
- Compression of FeatureRows collection in memory #798 (pyalex)
- Add Kubernetes Pod labels to Core and Serving. #795 (ashwinath)
- Add v0.3.8 changelog #788 (ches)
- Update change log due to release 0.5.1 #783 (khorshuheng)
- Refactor end-to-end tests to reduce duplication #758 (woop)
- Recompile golang protos to include new FeatureSetStatus #755 (zhilingc)
- Merge Redis cluster connector with Redis connector #752 (pyalex)
0.5.1 (2020-06-06)
Features
- Add support for version method in Feast SDK and Core #759 (woop)
- Refactor runner configuration, add labels to dataflow options #718 (zhilingc)
Bug Fixes
- Fix pipeline options toArgs() returning empty list #765 (zhilingc)
- Fix project argument for feature set describe in CLI #731 (terryyylim)
- Fix Go and Java SDK Regressions #729 (mrzzy)
- Remove usage of parallel stream for feature value map generation #751 (khorshuheng)
- Restore Feast Java SDK and Ingestion compatibility with Java 8 runtimes #722 (ches)
- Python sdk bug fixes #723 (zhilingc)
Merged Pull Requests
- Increase Jaeger Tracing coverage #719 (terryyylim)
- Recompile golang protos to include new FeatureSetStatus #755 (zhilingc)
- Merge Redis cluster connector with Redis connector #752 (pyalex)
- Remove unused Hibernate dep from Serving #721 (ches)
v0.5.0 (2020-05-19)
Breaking Changes
- Add .proto to packages of Protobuf generated Java classes #700 (woop)
- Add support for feature set updates and remove versions #676 (zhilingc)
- Feast configuration files refactored #611 (woop)
See Feast 0.5 Release Issue for more details.
Features
- Add general storage API and refactor existing store implementations #567 (zhilingc)
- Add support for feature set updates and remove versions #676 (zhilingc)
- Add unique ingestion id for all batch ingestions #656 (zhilingc)
- Add storage interfaces #529 (zhilingc)
- Add BigQuery storage implementation #546 (zhilingc)
- Add Redis storage implementation #547 (zhilingc)
- Add Support for Redis Cluster #502 (lavkesh)
- Add Ingestion Job management API for Feast Core #548 (mrzzy)
- Add feature and feature set labels for metadata #536 (imjuanleonard)
- Update Python SDK so FeatureSet can import Schema from Tensorflow metadata #450 (davidheryanto)
Bug Fixes
- Add feature set status JOB_STARTING to denote feature sets waiting for job to get to RUNNING state #714 (zhilingc)
- Remove feature set status check for job update requirement #708 (khorshuheng)
- Fix Feast Core docker image #703 (khorshuheng)
- Include server port config on the generated application.yml #696 (khorshuheng)
- Fix typo in all types parquet yml file (e2e test) #683 (khorshuheng)
- Add grpc health probe implementation to core #680 (zhilingc)
- Ensure that generated python code are considered as module #679 (khorshuheng)
- Fix DataflowJobManager to update existing job instance instead of creating new one #678 (zhilingc)
- Fix config validation for feast.jobs.metrics.host #662 (davidheryanto)
- Docker compose bug fix #661 (woop)
- Swap join columns #647 (zhilingc)
- Fix Feast Serving not registering its store in Feast Core #641 (mrzzy)
- Kafka producer should raise an exception when it fails to connect to broker #636 (junhui096)
Merged Pull Requests
- Change organization from gojek to feast-dev #712 (woop)
- Extract feature set update tests so CI doesn't run it #709 (zhilingc)
- Ensure that batch retrieval tests clean up after themselves #704 (zhilingc)
- Apply default project to rows without project during ingestion #701 (zhilingc)
- Update tests to correct compute region #699 (terryyylim)
- Make Projects optional & Update Feature References #693 (mrzzy)
- Add Java code coverage reporting #686 (ches)
- Update e2e tests to allow non-SNAPSHOT testing #672 (woop)
- Move TFDV stats to higher-numbered protobuf fields #669 (ches)
- Clean up Docker Compose and add test #668 (woop)
- Enable Prow e2e tests by default #666 (woop)
- Add label checking to Prow #665 (woop)
- Upgrade Github Checkout action to v2 #660 (khorshuheng)
- Fix Redis cluster e2e #659 (terryyylim)
- Split Field model into distinct Feature and Entity objects #655 (zhilingc)
- Use Runner enum type instead of string for Job model #651 (ches)
- JobUpdateTask cleanups #650 (ches)
- Update approvers list #648 (khorshuheng)
- Update end-to-end test config #645 (zhilingc)
- Fix bigquery config for serving store #644 (zhilingc)
- Fix Dataflow translator bug #643 (zhilingc)
- Fix subscription config and doctests #634 (woop)
- Correct links to why-feast and concepts doc site #627 (anderseriksson)
- Make error on retrieval of nonexistent feature humanly readable #625 (mrzzy)
- Generate golang code for non-serving protos #618 (zhilingc)
- Regenerate golang code, fix proto comparisons #616 (zhilingc)
- Fix doc building #603 (woop)
- Pin Jupyter Notebook version #597 (imjuanleonard)
- Create project if not exists on applyFeatureSet #596 (Joostrothweiler)
- Apply a fixed window before writing row metrics #590 (davidheryanto)
- Allow tests to run on non-master branches #588 (woop)
v0.4.7 (2020-03-17)
Merged Pull Requests
- Add log4j-web jar to core and serving. #498 (Yanson)
- Clear all the futures when sync is called. #501 (lavkesh)
- Encode feature row before storing in Redis #530 (khorshuheng)
- Remove transaction when listing projects #522 (davidheryanto)
- Remove unused ingestion deps #520 (ches)
- Parameterize end to end test scripts. #433 (Yanson)
- Replacing Jedis With Lettuce in ingestion and serving #485 (lavkesh)
v0.4.6 (2020-02-26)
Merged Pull Requests
- Rename metric name for request latency in feast serving #488 (davidheryanto)
- Allow use of secure gRPC in Feast Python client #459 (Yanson)
- Extend WriteMetricsTransform in Ingestion to write feature value stats to StatsD #486 (davidheryanto)
- Remove transaction from Ingestion #480 (imjuanleonard)
- Fix fastavro version used in Feast to avoid Timestamp delta error #490 (davidheryanto)
- Fail Spotless formatting check before tests execute #487 (ches)
- Reduce refresh rate of specification refresh in Serving to 10 seconds #481 (woop)
v0.4.5 (2020-02-14)
Merged Pull Requests
- Use bzip2 compressed feature set json as pipeline option #466 (khorshuheng)
- Make redis key creation more determinisitic #471 (zhilingc)
- Helm Chart Upgrades #458 (Yanson)
- Exclude version from grouping #441 (khorshuheng)
- Use concrete class for AvroCoder compatibility #465 (zhilingc)
- Fix typo in split string length check #464 (zhilingc)
- Update README.md and remove versions from Helm Charts #457 (woop)
- Deduplicate example notebooks #456 (woop)
- Allow users not to set max age for batch retrieval #446 (zhilingc)
v0.4.4 (2020-01-28)
Merged Pull Requests
- Change RedisBackedJobService to use a connection pool #439 (zhilingc)
- Update GKE installation and chart values to work with 0.4.3 #434 (lgvital)
- Remove "resource" concept and the need to specify a kind in feature sets #432 (woop)
- Add retry options to BigQuery #431 (Yanson)
- Fix logging #430 (Yanson)
- Add documentation for bigquery batch retrieval #428 (zhilingc)
- Publish datatypes/java along with sdk/java #426 (ches)
- Update basic Feast example to Feast 0.4 #424 (woop)
- Introduce datatypes/java module for proto generation #391 (ches)
v0.4.3 (2020-01-08)
Bug Fixes
- Bugfix for redis ingestion retries throwing NullPointerException on remote runners #417 (khorshuheng)
v0.4.2 (2020-01-07)
Bug Fixes
- Missing argument in error string in ValidateFeatureRowDoFn #401
Merged Pull Requests
- Define maven revision property when packaging jars in Dockerfile so the images are built successfully #410 (davidheryanto)
- Deduplicate rows in subquery #409 (zhilingc)
- Filter out extra fields, deduplicate fields in ingestion #404 (zhilingc)
- Automatic documentation generation for gRPC API #403 (woop)
- Update feast core default values to include hibernate merge strategy #400 (zhilingc)
- Move cli into feast package #398 (zhilingc)
- Use Nexus staging plugin for deployment #394 (khorshuheng)
- Handle retry for redis io flow #274 (khorshuheng)
v0.4.1 (2019-12-30)
Merged Pull Requests
v0.4.0 (2019-12-28)
Features
- Edit description in feature specification to also reflect in BigQuery schema description. #239
- Allow for disabling of metrics pushing #57
Merged Pull Requests
- Java SDK release script #406 (davidheryanto)
- Use fixed 'dev' revision for test-e2e-batch #395 (davidheryanto)
- Project Namespacing #393 (woop)
- <docs>(concepts): change data types to upper case because lower case … #389 (david30907d)
- Remove alpha v1 from java package name #387 (khorshuheng)
- Minor bug fixes for Python SDK #383 (voonhous)
- Allow user to override job options #377 (khorshuheng)
- Add documentation to default values.yaml in Feast chart #376 (davidheryanto)
- Add support for file paths for providing entity rows during batch retrieval #375 (voonhous)
- Update sync helm chart script to ensure requirements.lock in in sync with requirements.yaml #373 (davidheryanto)
- Catch errors thrown by BQ during entity table loading #371 (zhilingc)
- Async job management #361 (zhilingc)
- Infer schema of PyArrow table directly #355 (voonhous)
- Add readiness checks for Feast services in end to end test #337 (davidheryanto)
- Create CHANGELOG.md #321 (woop)
v0.3.8 (2020-06-10)
Features
Merged Pull Requests
v0.3.7 (2020-05-01)
Merged Pull Requests
- Moved end-to-end test scripts from .prow to infra #657 (khorshuheng)
- Backported #566 & #647 to v0.3 #654 (ches)
v0.3.6 (2020-01-03)
Merged Pull Requests
v0.3.5 (2019-12-26)
Merged Pull Requests
- Always set destination table in BigQuery query config in Feast Batch Serving so it can handle large results #392 (davidheryanto)
v0.3.4 (2019-12-23)
Merged Pull Requests
v0.3.3 (2019-12-18)
Features
- Added Docker Compose for Feast #272
- Added ability to check import job status and cancel job through Python SDK #194
- Added basic customer transactions example #354 (woop)
Merged Pull Requests
- Added Prow jobs to automate the release of Docker images and Python SDK #369 (davidheryanto)
- Fixed installation link in README.md #368 (Jeffwan)
- Fixed Java SDK tests not actually running (missing dependencies) #366 (woop)
- Added more batch retrieval tests #357 (zhilingc)
- Python SDK and Feast Core Bug Fixes #353 (woop)
- Updated buildFeatureSets method in Golang SDK #351 (davidheryanto)
- Python SDK cleanup #348 (woop)
- Broke up queries for point in time correctness joins #347 (zhilingc)
- Exports gRPC call metrics and Feast resource metrics in Core #345 (davidheryanto)
- Fixed broken Google Group link on Community page #343 (ches)
- Ensured ImportJobTest is not flaky by checking WriteToStore metric and requesting adequate resources for testing #332 (davidheryanto)
- Added docker-compose file with Jupyter notebook #328 (khorshuheng)
- Added minimal implementation of ingesting Parquet and CSV files #327 (voonhous)
v0.3.2 (2019-11-29)
Merged Pull Requests
- Fixed incorrect BigQuery schema creation from FeatureSetSpec #340 (davidheryanto)
- Filtered out feature sets that dont share the same source #339 (zhilingc)
- Changed latency calculation method to not use Timer #338 (zhilingc)
- Moved Prometheus annotations to pod template for serving #336 (zhilingc)
- Removed metrics windowing, cleaned up step names for metrics writing #334 (zhilingc)
- Set BigQuery table time partition inside get table function #333 (zhilingc)
- Added unit test in Redis to return values with no max age set #329 (smadarasmi)
- Consolidated jobs into single steps instead of branching out #326 (zhilingc)
- Pinned Python SDK to minor versions for dependencies #322 (woop)
- Added Auto format to Google style with Spotless #317 (ches)
v0.3.1 (2019-11-25)
Merged Pull Requests
- Added Prometheus metrics to serving #316 (zhilingc)
- Changed default job metrics sink to Statsd #315 (zhilingc)
- Fixed module import error in Feast CLI #314 (davidheryanto)
v0.3.0 (2019-11-19)
Summary:
- Introduced "Feature Sets" as a concept with a new Feast Core API, Feast Serving API
- Upgraded Python SDK to support new Feast API. Allows for management of Feast as a library or through the command line.
- Implemented a Golang SDK and Java SDK to support the new Feast Core and Feast Serving APIs.
- Added support for multi-feature set retrieval and joins.
- Added point-in-time correct retrieval for both batch and online serving.
- Added support for an external source in Kafka.
- Added job management to Feast Core to manage ingestion/population jobs to remote Feast deployments
- Added metric support through Prometheus
Merged Pull Requests
- Regenerate go protos #313 (zhilingc)
- Bump chart version to 0.3.0 #311 (zhilingc)
- Refactored Core API: ListFeatureSets, ListStore, and GetFeatureSet #309 (woop)
- Use Maven's --also-make by default #308 (ches)
- Python SDK Ingestion and schema inference updates #307 (woop)
- Batch ingestion fix #299 (zhilingc)
- Update values-demo.yaml to make Minikube installation simpler #298 (woop)
- Fix bug in core not setting default Kafka source #297 (woop)
- Replace Prometheus logging in ingestion with StatsD logging #293 (woop)
- Feast Core: Stage files manually when launching Dataflow jobs #291 (davidheryanto)
- Database tweaks #290 (smadarasmi)
- Feast Helm charts and build script #289 (davidheryanto)
- Fix max_age changes not updating specs and add TQDM silencing flag #292 (woop)
- Ingestion fixes #286 (zhilingc)
- Consolidate jobs #279 (zhilingc)
- Import Spring Boot's dependency BOM, fix spring-boot:run at parent project level #276 (ches)
- Feast 0.3 Continuous Integration (CI) Update #271 (davidheryanto)
- Add batch feature retrieval to Python SDK #268 (woop)
- Set Maven build requirements and some project POM metadata #267 (ches)
- Python SDK enhancements #264 (woop)
- Use a symlink for Java SDK's protos #263 (ches)
- Clean up the Maven build #262 (ches)
- Add golang SDK #261 (zhilingc)
- Move storage configuration to serving #254 (zhilingc)
- Serving API changes for 0.3 #253 (zhilingc)
v0.1.8 (2019-10-30)
Features
- Feast cli config file should be settable by an env var #149
- Helm chart for deploying feast using Flink as runner #64
- Get ingestion metrics when running on Flink runner #63
- Move source types into their own package and discover them using java.util.ServiceLoader #61
- Change config to yaml #51
- Ability to pass runner option during ingestion job submission #50
Bug Fixes
- Fix Print Method in Feast CLI #211
- Dataflow monitoring by core is failing with incorrect job id #153
- Feast core crashes without logger set #150
Merged Pull Requests
- Remove redis transaction #280 (pradithya)
- Fix tracing to continue from existing trace created by grpc client #245 (pradithya)
v0.1.2 (2019-08-23)
Bug Fixes
- Batch Import, feature with datetime format issue #203
- Serving not correctly reporting readiness check if there is no activity #190
- Serving stop periodically reloading feature specification after a while #188
Merged Pull Requests
- Add
romanwozniakto prow owners config #216 (romanwozniak) - Implement filter for create dataset api #215 (pradithya)
- expand raw column to accomodate more features ingested in one go #213 (budi)
- update feast installation docs #210 (budi)
- Add Prow job for unit testing Python SDK #209 (davidheryanto)
- fix create_dataset #208 (budi)
- Update Feast installation doc #207 (davidheryanto)
- Fix unit test cli in prow script not returning correct exit code #206 (davidheryanto)
- Fix pytests and make TS conversion conditional #205 (zhilingc)
- Use full prow build id as dataset name during test #200 (davidheryanto)
- Add Feast CLI / python SDK documentation #199 (romanwozniak)
- Update library version to fix security vulnerabilities in dependencies #198 (davidheryanto)
- Update Prow configuration for Feast CI #197 (davidheryanto)
- [budi] update python sdk quickstart #196 (budi)
- Readiness probe #191 (pradithya)
- Fix periodic feature spec reload #189 (pradithya)
- Fixed a typo in environment variable in installation #187 (gauravkumar37)
- Revert "Update Quickstart" #185 (zhilingc)
- Update Quickstart #184 (pradithya)
- Continuous integration and deployment (CI/CD) update #183 (davidheryanto)
- Remove feature specs being able to declare their serving or warehouse stores #159 (tims)
v0.1.1 (2019-04-18)
Bug Fixes
- Fix BigQuery query template to retrieve training data #182 (davidheryanto)
Merged Pull Requests
v0.1.0 (2019-04-09)
Features
- Removal of storing historical value of feature in serving storage #53
- Remove feature "granularity" and relegate to metadata #17
Closes Issues
- Add ability to name an import job #167
- Ingestion retrying an invalid FeatureRow endlessly #163
- Ability to associate data ingested in Warehouse store to its ingestion job #145
- Missing (Fixing) unit test for FeatureRowKafkaIO #132
Merged Pull Requests
- Catch all kind of exception to avoid retrying #171 (pradithya)
- Integration test #170 (zhilingc)
- Proto error #169 (pradithya)
- Add --name flag to submit job #168 (pradithya)
- Prevent throwing RuntimeException when invalid proto is received #166 (pradithya)
- Add davidheryanto to OWNER file #165 (pradithya)
- Check validity of event timestamp in ValidateFeatureRowDoFn #164 (pradithya)
- Remove granularity #162 (pradithya)
- Better Kafka test #160 (tims)
- Simplify and document CLI building steps #158 (thirteen37)
- Fix link typo in README.md #156 (pradithya)
- Add Feast admin quickstart guide #155 (thirteen37)
- Pass all specs to ingestion by file #154 (tims)
- Preload spec in serving cache #152 (pradithya)
- Add job identifier to FeatureRow #147 (mansiib)
- Fix unit tests #146 (mansiib)
- Add thirteen37 to OWNERS #144 (thirteen37)
- Fix import spec created from Importer.from_csv #143 (pradithya)
- Regenerate go #142 (zhilingc)
- Flat JSON for pubsub and text files #141 (tims)
- Add wait flag for jobs, fix go proto path for dataset service #138 (zhilingc)
- Fix Python SDK importer's ability to apply features #135 (woop)
- Refactor stores #110 (tims)
- Coalesce rows #89 (tims)
- Remove historical feature in serving store #87 (pradithya)
v0.0.2 (2019-03-11)
Features
Closes Issues
- Preload Feast's spec in serving cache #151
- Feast csv data upload job #137
- Blocking call to start feast ingestion job #136
- Python SDK fails to apply feature when submitting job #134
- Default dump format should be changed for Python SDK #133
- Listing resources and finding out system state #131
- Reorganise ingestion store classes to match architecture #109
v0.0.1 (2019-02-11)
Features
- Spring boot CLI logs show up as JSON #104
- Allow for registering feature that doesn't have warehouse store #5
Bug Fixes
- Error when submitting large import spec #125
- Ingestion is not ignoring unknown feature in streaming source #99
- Vulnerability in dependency (core - jackson-databind ) #92
- TF file for cloud build trigger broken #72
- Job Execution Failure with NullPointerException #46
- Runtime Dependency Error After Upgrade to Beam 2.9.0 #44
- [FlinkRunner] Core should not follow remote flink runner job to completion #21
- Go packages in protos use incorrect repo #16
Merged Pull Requests
- Disable test during docker image creation #129 (pradithya)
- Repackage helm chart #127 (pradithya)
- Increase the column size for storing raw import spec #126 (pradithya)
- Update Helm Charts (Redis, Logging) #123 (woop)
- Added LOG_TYPE environmental variable #120 (woop)
- Fix missing Redis write #119 (pradithya)
- add logging when error on request feature #117 (pradithya)
- run yarn run build during generate-resource #115 (pradithya)
- Add loadBalancerSourceRanges option for both serving and core #114 (zhilingc)
- Build master #112 (pradithya)
- Cleanup warning while building proto files #108 (pradithya)
- Embed ui build & packaging into core's build #106 (pradithya)
- Add build badge to README #103 (woop)
- Ignore features in FeatureRow if it's not requested in import spec #101 (pradithya)
- Add override for serving service static ip #100 (zhilingc)
- Fix go test #97 (zhilingc)
- add missing copyright headers and fix test fail due to previous merge #95 (tims)
- Allow submission of kafka jobs #94 (zhilingc)
- upgrade jackson databind for security vulnerability #93 (tims)
- Version revert #91 (zhilingc)
- Fix validating feature row when the associated feature spec has no warehouse store #90 (pradithya)
- Add get command #85 (zhilingc)
- Avoid error thrown when no storage for warehouse/serving is registered #83 (pradithya)
- Fix jackson dependency issue #82 (zhilingc)
- Allow registration of feature without warehouse store #80 (pradithya)
- Remove branch from cloud build trigger #79 (woop)
- move read transforms into "source" package as FeatureSources #74 (tims)
- Fix tag regex in tf file #73 (zhilingc)
- Update charts #71 (mansiib)
- Deduplicate storage ids before we fetch them #68 (tims)
- Check the size of result against deduplicated request #67 (pradithya)
- Add ability to submit ingestion job using Flink #62 (pradithya)
- Fix vulnerabilities for webpack-dev #59 (budi)
- Build push #56 (zhilingc)
- Fix github vulnerability issue with webpack #54 (budi)
- Only lookup storage specs that we actually need #52 (tims)
- Link Python SDK RFC to PR and Issue #49 (woop)
- Python SDK #47 (zhilingc)
- Update com.google.httpclient to be same as Beam's dependency #45 (pradithya)
- Bump Beam SDK to 2.9.0 #43 (pradithya)
- Add fix for tests failing in docker image #40 (zhilingc)
- Change error store to be part of configuration instead #39 (zhilingc)
- Fix location of Prow's Tide configuration #35 (woop)
- Add testing folder for deploying test infrastructure and running tests #34 (woop)
- skeleton contributing guide #33 (tims)
- allow empty string to select a NoOp write transform #30 (tims)
- Remove packaging ingestion as separate profile (fix #28) #29 (pradithya)
- Change gopath to point to feast-dev repo #26 (zhilingc)
- Fixes #31 - errors during kafka deserializer (passing) test execution #25 (baskaranz)
- Kafka IO fixes #23 (tims)
- KafkaIO implementation for feast #19 (baskaranz)
- Return same type string for warehouse and serving NoOp stores #18 (tims)
- #12: prefetch specs and validate on job expansion #15 (tims)
- Added RFC for Feast Python SDK #14 (woop)
- Add more validation in feature spec registration #11 (pradithya)
- Added rfcs/ folder with readme and template #10 (woop)
- Expose ui service rpc #9 (pradithya)
- Add Feast overview to README #8 (woop)
- Directory structure changes #7 (zhilingc)
- Change register to apply #4 (zhilingc)
- Empty response handling in serving api #3 (pradithya)
- Proto file fixes #1 (pradithya)