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 delete command (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 PydanticDeprecatedSince20 warning 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.path during feast 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

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:
  1. You're using Feast UI as a module

  2. You're serving the UI files from a non-root path via the PUBLIC_URL environment variable

  3. You're serving the project list from the root path

  4. You're not passing the feastUIConfigs.projectListPromise prop 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

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_column for SparkSource (#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

  • Revert "chore: Add Milvus to pr_integration_tests.yml" (#4900) (07958f7), closes #4891

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)

  • chore!: Update @elastic/eui and @emotion/react in Feast UI (#4597) (b9ddbf9)

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 peerDependencies and dependencies (#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

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

Features

Reverts

  • Revert "fix: Avoid XSS attack from Jinjin2's Environment()." (#4357) (cdeab48), closes #4355

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

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_alias during 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_string method for Snowflake datasource (#4131) (c1579c7)
  • Make sure schema is used when generating from_expression for Snowflake (#4177) (5051da7)
  • Pass native input values to get_online_features from 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

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_disposition in 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: __dummy applying 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

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 entities from_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

0.29.0 (2023-01-31)

Bug Fixes

Features

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 pyspark dependency 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-Credential header 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

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_storage functionality to SparkOfflineStore (#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_batch method (#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 serve command (#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_timeout parameter (#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_batch for 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_features or get_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_key to join_keys in 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 schema parameter 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

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)

Full Changelog

Bug Fixes

  • ODFVs raise a PerformanceWarning for very large sets of features #2293
  • Don't require snowflake to 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

v0.18.0 (2022-02-05)

Full Changelog

Features

Bug Fixes

Merged Pull Requests

v0.17.0 (2021-12-31)

Full Changelog

Features

Bug Fixes

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

v0.16.1 (2021-12-10)

Full Changelog

Bug Fixes

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)

Full Changelog

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 apply broken 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

v0.15.1 (2021-11-13)

Full Changelog

Bug Fixes

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)

Full Changelog

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

v0.14.1 (2021-10-28)

Full Changelog

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)

Full Changelog

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

v0.13.0 (2021-09-22)

Full Changelog

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 dill to 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_LIST type is empty #1703 (judahrand)

Merged Pull Requests

  • Add ValueType.NULL #1893 (judahrand)
  • Adding more details to the CONTRIBUTING.md #1888 (adchia)
  • Parse BQ DATETIME and TIMESTAMP #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)

Full Changelog

Bug Fixes

v0.12.0 (2021-08-05)

Full Changelog

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 apply bugs #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

v0.11.0 (2021-06-24)

Full Changelog

Features

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)

Full Changelog

Features

  • Add to_bigquery() function to BigQueryRetrievalJob #1634 (vtao2)

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)

Full Changelog

Bug Fixes

  • Fix race condition in historical e2e tests #1620 (woop)

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)

Full Changelog

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

v0.10.5 (2021-05-19)

Full Changelog

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)

Full Changelog

Features

Merged Pull Requests

v0.10.3 (2021-04-21)

Full Changelog

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

v0.10.2 (2021-04-21)

Full Changelog

Bug Fixes

  • Fix bug in allowing empty repositories to be applied to a GCS registry #1488 (woop)

v0.10.1 (2021-04-21)

Full Changelog

Bug Fixes

  • Fix time zone issue with get_historical_features #1475 (tsotnet)

Merged Pull Requests

v0.10.0 (2021-04-15)

Full Changelog

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)

Full Changelog

Features

Bug Fixes

v0.9.0 (2021-01-28)

Full Changelog

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

v0.8.2 (2020-12-01)

Full Changelog

Features

  • Configurable materialization destination for view in BigQuerySource #1201 (pyalex)

Bug Fixes

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)

Full Changelog

Features

Bug Fixes

Merged Pull Requests

v0.8.0 (2020-11-10)

Full Changelog

Features

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

v0.7.1 (2020-10-07)

Full Changelog

Bug Fixes

  • Provide stable jobName in RowMetrics labels #1028 (pyalex)

v0.7.0 (2020-09-09)

Full Changelog

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)

Full Changelog

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)

Full Changelog

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)

Full Changelog

Breaking Changes

  • Compute and write metrics for rows prior to store writes #763 (zhilingc)

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)

Full Changelog

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)

Full Changelog

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

v0.4.7 (2020-03-17)

Full Changelog

Merged Pull Requests

v0.4.6 (2020-02-26)

Full Changelog

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)

Full Changelog

Merged Pull Requests

v0.4.4 (2020-01-28)

Full Changelog

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)

Full Changelog

Bug Fixes

  • Bugfix for redis ingestion retries throwing NullPointerException on remote runners #417 (khorshuheng)

v0.4.2 (2020-01-07)

Full Changelog

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)

Full Changelog

Merged Pull Requests

v0.4.0 (2019-12-28)

Full Changelog

Features

  • Edit description in feature specification to also reflect in BigQuery schema description. #239
  • Allow for disabling of metrics pushing #57

Merged Pull Requests

v0.3.8 (2020-06-10)

Full Changelog

Features

  • v0.3 backport: Add feature and feature set labels #737 (ches)

Merged Pull Requests

  • v0.3 backport: Add Java coverage reporting #734 (ches)

v0.3.7 (2020-05-01)

Full Changelog

Merged Pull Requests

v0.3.6 (2020-01-03)

Merged Pull Requests

Full Changelog

  • Add support for file paths for providing entity rows during batch retrieval #375 (voonhous)

v0.3.5 (2019-12-26)

Full Changelog

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)

Full Changelog

Merged Pull Requests

  • Make redis key creation more determinisitic #380 (zhilingc)

v0.3.3 (2019-12-18)

Full Changelog

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)

Full Changelog

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)

Full Changelog

Merged Pull Requests

v0.3.0 (2019-11-19)

Full Changelog

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)

Full Changelog

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

v0.1.2 (2019-08-23)

Full Changelog

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

v0.1.1 (2019-04-18)

Full Changelog

Bug Fixes

Merged Pull Requests

v0.1.0 (2019-04-09)

Full Changelog

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

v0.0.2 (2019-03-11)

Full Changelog

Features

  • Coalesce FeatureRows for improved "latest" value consistency in serving stores #88
  • Kafka source #22

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)

Full Changelog

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)