# [0.51.0](
v0.50.0...v0.51.0) (2025-07-21)
### Bug Fixes
* FeatureView serialization with cycle detection ([
#5502](
#5502)) ([
f287ca5](
f287ca5))
* Fix current version in publish workflow ([
#5499](
#5499)) ([
0af6e94](
0af6e94))
* Fix NPM authentication ([
#5506](
#5506)) ([
9f85892](
9f85892))
* Fix verify wheels workflow for macos14 ([
#5486](
#5486)) ([
07174cc](
07174cc))
* Fixed error thrown for invalid project name on features api ([
#5525](
#5525)) ([
4a9a5d0](
4a9a5d0))
* Fixed ODFV on-write transformations ([
271ef74](
271ef74))
* Move Install OS X dependencies before python setup ([
#5488](
#5488)) ([
35f211c](
35f211c))
* Normalize current version by removing 'v' prefix if present ([
#5500](
#5500)) ([
43f3d52](
43f3d52))
* Skip macOS 14 with Python 3.10 due to gettext library ([
#5490](
#5490)) ([
41d4977](
41d4977))
* Standalone Web UI Publish Workflow ([
#5498](
#5498)) ([
c47b134](
c47b134))
### Features
* Added endpoints to allow user to get data for all projects ([
4e06965](
4e06965))
* Added grpc and rest endpoint for features ([
#5519](
#5519)) ([
0a75696](
0a75696))
* Added relationship support to all API endpoints ([
#5496](
#5496)) ([
bea83e7](
bea83e7))
* Continue updating doc ([
#5523](
#5523)) ([
ea53b2b](
ea53b2b))
* Hybrid offline store ([
#5510](
#5510)) ([
8f1af55](
8f1af55))
* Populate created and updated timestamp on data sources ([
af3056b](
af3056b))
* Provide ready-to-use Python definitions in api ([
37628d9](
37628d9))
* Snowflake source. fetch MAX in a single query ([
#5387](
#5387)) ([
b49cea1](
b49cea1))
* Support compute engine to use multi feature views as source ([
#5482](
#5482)) ([
b9ac90b](
b9ac90b))
* Support pagination and sorting on registry apis ([
#5495](
#5495)) ([
c4b6fbe](
c4b6fbe))
* Update doc ([
#5521](
#5521)) ([
2808ce1](
2808ce1))
What this PR does / why we need it:
When custom version not provided:
The release workflow (https://github.com/feast-dev/feast/blob/master/.github/workflows/release.yml#L83) will already bump all file versions (including ui/package.json) during validation.
The UI workflow should just use whatever version is already in the files.
├── bump_file_versions.py updates ui/package.json
├── Creates v0.50.0 tag
└── Commits changes
├── ui/package.json already has 0.50.0
└── publish_web_ui.yml uses correct version
When custom version provided:
Normalize custom version (next version) by removing 'v' prefix if present. Get current version as last released tag without 'v' prefix .