Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Changelog

# [0.58.0](https://github.com/feast-dev/feast/compare/v0.57.0...v0.58.0) (2025-12-16)


### Bug Fixes

* Add java proto ([#5719](https://github.com/feast-dev/feast/issues/5719)) ([fc3ea20](https://github.com/feast-dev/feast/commit/fc3ea208e0d37d1083fda261fd374c87fa4da17c))
* 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))
* Fixed file registry cache sync ([09505d4](https://github.com/feast-dev/feast/commit/09505d4ae79f5ca5b452c9c5e41a56e1f7d3d136))
* 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))
* Pinned substrait to fix protobuf issue ([d0ef4da](https://github.com/feast-dev/feast/commit/d0ef4da05dc91893b14b10b888b3c458fd389ce5))
* 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))
* 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))
* Validate not existing entity join keys for preventing panic ([0b93559](https://github.com/feast-dev/feast/commit/0b935595b7e296f1d51a52c42b750a470ea10ceb))


### Features

* Add annotations for pod templates ([534e647](https://github.com/feast-dev/feast/commit/534e647f40567a8d632fb562f1e58057b1c61c3e))
* Add Pytorch template ([#5780](https://github.com/feast-dev/feast/issues/5780)) ([6afd353](https://github.com/feast-dev/feast/commit/6afd353425027fe7de561092306c390ea1ad0d19))
* 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))
* 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))
* 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))
* 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))
* 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))
* 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))
* 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))
* 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))
* 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))

# [0.57.0](https://github.com/feast-dev/feast/compare/v0.56.0...v0.57.0) (2025-11-13)


Expand Down
2 changes: 2 additions & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
* [Scaling Feast](how-to-guides/scaling-feast.md)
* [Structuring Feature Repos](how-to-guides/structuring-repos.md)
* [Running Feast in production (e.g. on Kubernetes)](how-to-guides/running-feast-in-production.md)
* [Feast on Kubernetes](how-to-guides/feast-on-kubernetes.md)
* [Customizing Feast](how-to-guides/customizing-feast/README.md)
* [Adding a custom batch materialization engine](how-to-guides/customizing-feast/creating-a-custom-materialization-engine.md)
* [Adding a new offline store](how-to-guides/customizing-feast/adding-a-new-offline-store.md)
Expand Down Expand Up @@ -157,6 +158,7 @@
* [Registry server](reference/feature-servers/registry-server.md)
* [\[Beta\] Web UI](reference/alpha-web-ui.md)
* [\[Beta\] On demand feature view](reference/beta-on-demand-feature-view.md)
* [\[Alpha\] Static Artifacts Loading](reference/alpha-static-artifacts.md)
* [\[Alpha\] Vector Database](reference/alpha-vector-database.md)
* [\[Alpha\] Data quality monitoring](reference/dqm.md)
* [\[Alpha\] Streaming feature computation with Denormalized](reference/denormalized.md)
Expand Down
8 changes: 4 additions & 4 deletions docs/getting-started/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Creating a new Feast repository in /home/Jovyan/my_project.
Let's take a look at the resulting demo repo itself. It breaks down into

* `data/` contains raw demo parquet data
* `example_repo.py` contains demo feature definitions
* `feature_definitions.py` contains demo feature definitions
* `feature_store.yaml` contains a demo setup configuring where data sources are
* `test_workflow.py` showcases how to run all key Feast commands, including defining, retrieving, and pushing features.
You can run this with `python test_workflow.py`.
Expand All @@ -117,7 +117,7 @@ entity_key_serialization_version: 3
```
{% endtab %}

{% tab title="example_repo.py" %}
{% tab title="feature_definitions.py" %}
```python
# This is an example feature definition file

Expand Down Expand Up @@ -310,7 +310,7 @@ We'll walk through some snippets of code below and explain
### Step 4: Register feature definitions and deploy your feature store

The `apply` command scans python files in the current directory for feature view/entity definitions, registers the
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
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
configuring `online_store` in `feature_store.yaml`.

{% tabs %}
Expand Down Expand Up @@ -496,7 +496,7 @@ print(training_df.head())
{% endtabs %}
### Step 6: Ingest batch features into your online store

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)).
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)).

{% tabs %}
{% tab title="Bash (with timestamp)" %}
Expand Down
71 changes: 71 additions & 0 deletions docs/how-to-guides/feast-on-kubernetes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Feast on Kubernetes

This page covers deploying Feast on Kubernetes, including the Feast Operator and feature servers.

## Overview

Kubernetes is a common target environment for running Feast in production. You can use Kubernetes to:

1. Run Feast feature servers for online feature retrieval.
2. Run scheduled and ad-hoc jobs (e.g. materialization jobs) as Kubernetes Jobs.
3. Operate Feast components using Kubernetes-native primitives.

## Feast Operator

To deploy Feast components on Kubernetes, use the included [feast-operator](../../infra/feast-operator).

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.

## Deploy Feast feature servers on Kubernetes

{% embed url="https://www.youtube.com/playlist?list=PLPzVNzik7rsAN-amQLZckd0so3cIr7blX" %}

**Basic steps**

1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
2. Install the Operator

Install the latest release:

```sh
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/dist/install.yaml
```

OR, install a specific version:

```sh
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/tags/<version>/infra/feast-operator/dist/install.yaml
```

3. Deploy a Feature Store

```sh
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/config/samples/v1_featurestore.yaml
```

Verify the status:

```sh
$ kubectl get feast
NAME STATUS AGE
sample Ready 2m21s
```

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):

```yaml
apiVersion: feast.dev/v1
kind: FeatureStore
metadata:
name: sample
spec:
feastProject: my_project
```

> _More advanced FeatureStore CR examples can be found in the feast-operator [samples directory](../../infra/feast-operator/config/samples)._

{% hint style="success" %}
Important note: Scaling a Feature Store Deployment should only be done if the configured data store(s) will support it.

Please check the how-to guide for some specific recommendations on [how to scale Feast](./scaling-feast.md).
{% endhint %}
49 changes: 1 addition & 48 deletions docs/how-to-guides/running-feast-in-production.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,54 +204,7 @@ feature_vector = fs.get_online_features(
```

### 4.2. Deploy Feast feature servers on Kubernetes

To deploy a Feast feature server on Kubernetes, you should use the included [feast-operator](../../infra/feast-operator).

{% embed url="https://www.youtube.com/playlist?list=PLPzVNzik7rsAN-amQLZckd0so3cIr7blX" %}

**Basic steps**
1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
2. Install the Operator


Install the latest release
```sh
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/dist/install.yaml
```

OR, install a specific version -
```
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/tags/<version>/infra/feast-operator/dist/install.yaml
```

3. Deploy a Feature Store

```sh
kubectl apply -f https://raw.githubusercontent.com/feast-dev/feast/refs/heads/stable/infra/feast-operator/config/samples/v1_featurestore.yaml
```
Verify the status
```
$ kubectl get feast
NAME STATUS AGE
sample Ready 2m21s
```

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) -
```yaml
apiVersion: feast.dev/v1
kind: FeatureStore
metadata:
name: sample
spec:
feastProject: my_project
```
> _More advanced FeatureStore CR examples can be found in the feast-operator [samples directory](../../infra/feast-operator/config/samples)._

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.

{% hint style="success" %} Important note: Scaling a Feature Store Deployment should only be done if the configured data store(s) will support it.

Please check the how-to guide for some specific recommendations on [how to scale Feast](./scaling-feast.md). {% endhint %}
See [Feast on Kubernetes](./feast-on-kubernetes.md).

## 5. Using environment variables in your yaml configuration

Expand Down
Loading