Skip to content

Commit e2f722c

Browse files
Merge branch 'master' into refactor-odfv
2 parents a87c4b4 + 678589b commit e2f722c

File tree

224 files changed

+45889
-10545
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

224 files changed

+45889
-10545
lines changed

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
# Changelog
22

3+
# [0.58.0](https://github.com/feast-dev/feast/compare/v0.57.0...v0.58.0) (2025-12-16)
4+
5+
6+
### Bug Fixes
7+
8+
* Add java proto ([#5719](https://github.com/feast-dev/feast/issues/5719)) ([fc3ea20](https://github.com/feast-dev/feast/commit/fc3ea208e0d37d1083fda261fd374c87fa4da17c))
9+
* Add possibility to force full features names for materialize ops ([#5728](https://github.com/feast-dev/feast/issues/5728)) ([55c9c36](https://github.com/feast-dev/feast/commit/55c9c36a5cc385869d2c7671a5629da1ba282d47))
10+
* Fixed file registry cache sync ([09505d4](https://github.com/feast-dev/feast/commit/09505d4ae79f5ca5b452c9c5e41a56e1f7d3d136))
11+
* Handle hyphon in sqlite project name ([#5575](https://github.com/feast-dev/feast/issues/5575)) ([#5749](https://github.com/feast-dev/feast/issues/5749)) ([b8346ff](https://github.com/feast-dev/feast/commit/b8346ff58c0d78deff52b2a864772dc23741ea75))
12+
* Pinned substrait to fix protobuf issue ([d0ef4da](https://github.com/feast-dev/feast/commit/d0ef4da05dc91893b14b10b888b3c458fd389ce5))
13+
* Set TLS certificate annotation only on gRPC service ([#5715](https://github.com/feast-dev/feast/issues/5715)) ([75d13db](https://github.com/feast-dev/feast/commit/75d13db1ea536bd4759dbb719190a266b6466b24))
14+
* SQLite online store deletes tables from other projects in shared registry scenarios ([#5766](https://github.com/feast-dev/feast/issues/5766)) ([fabce76](https://github.com/feast-dev/feast/commit/fabce765804a8577ef31fb83525adc5df5748c44))
15+
* Validate not existing entity join keys for preventing panic ([0b93559](https://github.com/feast-dev/feast/commit/0b935595b7e296f1d51a52c42b750a470ea10ceb))
16+
17+
18+
### Features
19+
20+
* Add annotations for pod templates ([534e647](https://github.com/feast-dev/feast/commit/534e647f40567a8d632fb562f1e58057b1c61c3e))
21+
* Add Pytorch template ([#5780](https://github.com/feast-dev/feast/issues/5780)) ([6afd353](https://github.com/feast-dev/feast/commit/6afd353425027fe7de561092306c390ea1ad0d19))
22+
* Add support for extra options for stream source ([#5618](https://github.com/feast-dev/feast/issues/5618)) ([18956c2](https://github.com/feast-dev/feast/commit/18956c2765ebc4c92ca8afc7e02aca8b7dfc339d))
23+
* Added matched_tag field search api results with fuzzy search capabilities ([#5769](https://github.com/feast-dev/feast/issues/5769)) ([4a9ffae](https://github.com/feast-dev/feast/commit/4a9ffae3d2c7449670d9dddb8b3b341ee00ffc29))
24+
* Added support for enabling metrics in Feast Operator ([#5317](https://github.com/feast-dev/feast/issues/5317)) ([#5748](https://github.com/feast-dev/feast/issues/5748)) ([a8498c2](https://github.com/feast-dev/feast/commit/a8498c2c43439024cd9516eae8e1733b3f69b577))
25+
* Configure CacheTTLSecondscache,CacheMode for file-based registry in Feast Operator([#5708](https://github.com/feast-dev/feast/issues/5708)) ([#5744](https://github.com/feast-dev/feast/issues/5744)) ([f25f83b](https://github.com/feast-dev/feast/commit/f25f83b3e4d324a9b52cd2e90036c3d25f25ee80))
26+
* Implemented Tiling Support for Time-Windowed Aggregations ([#5724](https://github.com/feast-dev/feast/issues/5724)) ([7a99166](https://github.com/feast-dev/feast/commit/7a991660817ffcbe3059b0141f42f15e5f7d5b04))
27+
* Offline Store historical features retrieval based on datetime range for spark ([#5720](https://github.com/feast-dev/feast/issues/5720)) ([27ec8ec](https://github.com/feast-dev/feast/commit/27ec8ec26b2884d09df3ee3e648b96824e1f2b4c))
28+
* Offline Store historical features retrieval based on datetime range in dask ([#5717](https://github.com/feast-dev/feast/issues/5717)) ([a16582a](https://github.com/feast-dev/feast/commit/a16582a82914b015095f60a61a3a722c9c82bb63))
29+
* Production ready feast operator with v1 apiversion ([#5771](https://github.com/feast-dev/feast/issues/5771)) ([49359c6](https://github.com/feast-dev/feast/commit/49359c6227601bc31ee08fdc4f4208fb6d101755))
30+
* Support for Map value data type ([#5768](https://github.com/feast-dev/feast/issues/5768)) ([#5772](https://github.com/feast-dev/feast/issues/5772)) ([b99a8a9](https://github.com/feast-dev/feast/commit/b99a8a9aeafba912a6ceea8658f5efeae90b245d))
31+
332
# [0.57.0](https://github.com/feast-dev/feast/compare/v0.56.0...v0.57.0) (2025-11-13)
433

534

docs/SUMMARY.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
* [Scaling Feast](how-to-guides/scaling-feast.md)
6969
* [Structuring Feature Repos](how-to-guides/structuring-repos.md)
7070
* [Running Feast in production (e.g. on Kubernetes)](how-to-guides/running-feast-in-production.md)
71+
* [Feast on Kubernetes](how-to-guides/feast-on-kubernetes.md)
7172
* [Customizing Feast](how-to-guides/customizing-feast/README.md)
7273
* [Adding a custom batch materialization engine](how-to-guides/customizing-feast/creating-a-custom-materialization-engine.md)
7374
* [Adding a new offline store](how-to-guides/customizing-feast/adding-a-new-offline-store.md)
@@ -157,6 +158,7 @@
157158
* [Registry server](reference/feature-servers/registry-server.md)
158159
* [\[Beta\] Web UI](reference/alpha-web-ui.md)
159160
* [\[Beta\] On demand feature view](reference/beta-on-demand-feature-view.md)
161+
* [\[Alpha\] Static Artifacts Loading](reference/alpha-static-artifacts.md)
160162
* [\[Alpha\] Vector Database](reference/alpha-vector-database.md)
161163
* [\[Alpha\] Data quality monitoring](reference/dqm.md)
162164
* [\[Alpha\] Streaming feature computation with Denormalized](reference/denormalized.md)

docs/getting-started/quickstart.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ Creating a new Feast repository in /home/Jovyan/my_project.
9696
Let's take a look at the resulting demo repo itself. It breaks down into
9797

9898
* `data/` contains raw demo parquet data
99-
* `example_repo.py` contains demo feature definitions
99+
* `feature_definitions.py` contains demo feature definitions
100100
* `feature_store.yaml` contains a demo setup configuring where data sources are
101101
* `test_workflow.py` showcases how to run all key Feast commands, including defining, retrieving, and pushing features.
102102
You can run this with `python test_workflow.py`.
@@ -116,7 +116,7 @@ entity_key_serialization_version: 3
116116
```
117117
{% endtab %}
118118
119-
{% tab title="example_repo.py" %}
119+
{% tab title="feature_definitions.py" %}
120120
```python
121121
# This is an example feature definition file
122122

@@ -309,7 +309,7 @@ We'll walk through some snippets of code below and explain
309309
### Step 4: Register feature definitions and deploy your feature store
310310

311311
The `apply` command scans python files in the current directory for feature view/entity definitions, registers the
312-
objects, and deploys infrastructure. In this example, it reads `example_repo.py` and sets up SQLite online store tables. Note that we had specified SQLite as the default online store by
312+
objects, and deploys infrastructure. In this example, it reads `feature_definitions.py` and sets up SQLite online store tables. Note that we had specified SQLite as the default online store by
313313
configuring `online_store` in `feature_store.yaml`.
314314

315315
{% tabs %}
@@ -495,7 +495,7 @@ print(training_df.head())
495495
{% endtabs %}
496496
### Step 6: Ingest batch features into your online store
497497

498-
We now serialize the latest values of features since the beginning of time to prepare for serving. Note, `materialize_incremental` serializes all new features since the last `materialize` call, or since the time provided minus the `ttl` timedelta. In this case, this will be `CURRENT_TIME - 1 day` (`ttl` was set on the `FeatureView` instances in [feature_repo/feature_repo/example_repo.py](feature_repo/feature_repo/example_repo.py)).
498+
We now serialize the latest values of features since the beginning of time to prepare for serving. Note, `materialize_incremental` serializes all new features since the last `materialize` call, or since the time provided minus the `ttl` timedelta. In this case, this will be `CURRENT_TIME - 1 day` (`ttl` was set on the `FeatureView` instances in [feature_repo/feature_repo/feature_definitions.py](feature_repo/feature_repo/feature_definitions.py)).
499499

500500
{% tabs %}
501501
{% tab title="Bash (with timestamp)" %}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Feast on Kubernetes
2+
3+
This page covers deploying Feast on Kubernetes, including the Feast Operator and feature servers.
4+
5+
## Overview
6+
7+
Kubernetes is a common target environment for running Feast in production. You can use Kubernetes to:
8+
9+
1. Run Feast feature servers for online feature retrieval.
10+
2. Run scheduled and ad-hoc jobs (e.g. materialization jobs) as Kubernetes Jobs.
11+
3. Operate Feast components using Kubernetes-native primitives.
12+
13+
## Feast Operator
14+
15+
To deploy Feast components on Kubernetes, use the included [feast-operator](../../infra/feast-operator).
16+
17+
For first-time Operator users, it may be a good exercise to try the [Feast Operator Quickstart](../../examples/operator-quickstart). The quickstart demonstrates some of the Operator's built-in features, e.g. git repos, `feast apply` jobs, etc.
18+
19+
## Deploy Feast feature servers on Kubernetes
20+
21+
{% embed url="https://www.youtube.com/playlist?list=PLPzVNzik7rsAN-amQLZckd0so3cIr7blX" %}
22+
23+
**Basic steps**
24+
25+
1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
26+
2. Install the Operator
27+
28+
Install the latest release:
29+
30+
```sh
31+
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/dist/install.yaml
32+
```
33+
34+
OR, install a specific version:
35+
36+
```sh
37+
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/tags/<version>/infra/feast-operator/dist/install.yaml
38+
```
39+
40+
3. Deploy a Feature Store
41+
42+
```sh
43+
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/config/samples/v1_featurestore.yaml
44+
```
45+
46+
Verify the status:
47+
48+
```sh
49+
$ kubectl get feast
50+
NAME STATUS AGE
51+
sample Ready 2m21s
52+
```
53+
54+
The above will install a simple [FeatureStore CR](../../infra/feast-operator/docs/api/markdown/ref.md) like the following. By default, it will run the [Online Store feature server](../reference/feature-servers/python-feature-server.md):
55+
56+
```yaml
57+
apiVersion: feast.dev/v1
58+
kind: FeatureStore
59+
metadata:
60+
name: sample
61+
spec:
62+
feastProject: my_project
63+
```
64+
65+
> _More advanced FeatureStore CR examples can be found in the feast-operator [samples directory](../../infra/feast-operator/config/samples)._
66+
67+
{% hint style="success" %}
68+
Important note: Scaling a Feature Store Deployment should only be done if the configured data store(s) will support it.
69+
70+
Please check the how-to guide for some specific recommendations on [how to scale Feast](./scaling-feast.md).
71+
{% endhint %}

docs/how-to-guides/running-feast-in-production.md

Lines changed: 1 addition & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -204,54 +204,7 @@ feature_vector = fs.get_online_features(
204204
```
205205

206206
### 4.2. Deploy Feast feature servers on Kubernetes
207-
208-
To deploy a Feast feature server on Kubernetes, you should use the included [feast-operator](../../infra/feast-operator).
209-
210-
{% embed url="https://www.youtube.com/playlist?list=PLPzVNzik7rsAN-amQLZckd0so3cIr7blX" %}
211-
212-
**Basic steps**
213-
1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
214-
2. Install the Operator
215-
216-
217-
Install the latest release
218-
```sh
219-
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/dist/install.yaml
220-
```
221-
222-
OR, install a specific version -
223-
```
224-
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/tags/<version>/infra/feast-operator/dist/install.yaml
225-
```
226-
227-
3. Deploy a Feature Store
228-
229-
```sh
230-
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/config/samples/v1alpha1_featurestore.yaml
231-
```
232-
Verify the status
233-
```
234-
$ kubectl get feast
235-
NAME STATUS AGE
236-
sample Ready 2m21s
237-
```
238-
239-
The above will install a simple [FeatureStore CR](../../infra/feast-operator/docs/api/markdown/ref.md) like the following. By default, it will run the [Online Store feature server](../reference/feature-servers/python-feature-server.md) -
240-
```yaml
241-
apiVersion: feast.dev/v1alpha1
242-
kind: FeatureStore
243-
metadata:
244-
name: sample
245-
spec:
246-
feastProject: my_project
247-
```
248-
> _More advanced FeatureStore CR examples can be found in the feast-operator [samples directory](../../infra/feast-operator/config/samples)._
249-
250-
For first-time Operator users, it may be a good exercise to try the [Feast Operator Quickstart](../../examples/operator-quickstart). The quickstart will demonstrate some of the Operator's built-in features, e.g. git repos, `feast apply` jobs, etc.
251-
252-
{% hint style="success" %} Important note: Scaling a Feature Store Deployment should only be done if the configured data store(s) will support it.
253-
254-
Please check the how-to guide for some specific recommendations on [how to scale Feast](./scaling-feast.md). {% endhint %}
207+
See [Feast on Kubernetes](./feast-on-kubernetes.md).
255208

256209
## 5. Using environment variables in your yaml configuration
257210

0 commit comments

Comments
 (0)