Feast v0.18.0
Overview
Today, we released Feast 0.18, with some major developments:
- Snowflake offline store support has been merged into the main repo
- Introduced saved datasets, which allows persisting data frames retrieved from offline stores
- The first milestone of Data Quality Monitoring project has been implemented. This enables defining expectation suites (using Great Expectations) and running them against training datasets
- Python feature server graduated from the alpha status
- A significant performance improvements have been achieved in both Python & Java feature servers
✨ New Features:
- Tutorial on validation of historical features #2277 (pyalex)
- Feast plan clean up #2256 (felixwang9817)
- Return
UNIX_TIMESTAMP
as Pythondatetime
#2244 (judahrand) - Validating historical features against reference dataset with "great expectations" profiler #2243 (pyalex)
- Implement feature_store._apply_diffs to handle registry and infra diffs #2238 (felixwang9817)
- Compare Python objects instead of proto objects #2227 (felixwang9817)
- Modify feature_store.plan to produce an InfraDiff #2211 (felixwang9817)
- Implement diff_infra_protos method for feast plan #2204 (felixwang9817)
- Persisting results of historical retrieval #2197 (pyalex)
- Merge feast-snowflake plugin into main repo with documentation #2193 (sfc-gh-madkins)
- Add InfraDiff class for feast plan #2190 (felixwang9817)
- Use FeatureViewProjection instead of FeatureView in ODFV #2186 (judahrand)
🔴 Fixed bugs:
- Set
created_timestamp
andlast_updated_timestamp
fields #2266 (judahrand) - Use
datetime.utcnow()
to avoid timezone issues #2265 (judahrand) - Fix Redis key serialization in java feature server #2264 (pyalex)
- modify registry.db s3 object initialization to work in S3 subdirectory with Java Feast Server #2259 (NalinGHub)
- Add snowflake environment variables to allow testing on snowflake infra #2258 (sfc-gh-madkins)
- Correct inconsistent dependency #2255 (judahrand)
- Fix for historical field mappings #2252 (michelle-rascati-sp)
- Add backticks to left_table_query_string #2250 (dmille)
- Fix inference of BigQuery ARRAY types. #2245 (judahrand)
- Fix Redshift data creator #2242 (felixwang9817)
- Delete entity key from Redis only when all attached feature views are gone #2240 (pyalex)
- Tests for transformation service integration in java feature server #2236 (pyalex)
- Feature server helm chart produces invalid YAML #2234 (pyalex)
- Docker build fails for java feature server #2230 (pyalex)
- Fix ValueType.UNIX_TIMESTAMP conversions #2219 (judahrand)
- Add on demand feature views deletion #2203 (corentinmarek)
- Compare only specs in integration tests #2200 (felixwang9817)
- Bump log4j-core from 2.17.0 to 2.17.1 in /java #2189 (dependabot[bot])
- Support multiple application properties files (incl from classpath) #2187 (pyalex)
- Avoid requesting features from OnlineStore twice #2185 (judahrand)
- Speed up Datastore deletes by batch deletions with multithreading #2182 (ptoman-pa)
- Fixes large payload runtime exception in Datastore (issue 1633) #2181 (ptoman-pa)
🔨 Merged pull requests:
- Add link to community plugin for Spark offline store #2279 (adchia)
- Fix broken links on documentation #2278 (adchia)
- Publish alternative python package with FEAST_USAGE=False by default #2275 (pyalex)
- Unify all helm charts versions #2274 (pyalex)
- Fix / update helm chart workflows to push the feast python server #2273 (adchia)
- Update Feast Serving documentation with ways to run and debug locally #2272 (adchia)
- Fix Snowflake docs #2270 (felixwang9817)
- Update local-feature-server.md #2269 (tsotnet)
- Update docs to include Snowflake/DQM and removing unused docs from old versions of Feast #2268 (adchia)
- Graduate Python feature server #2263 (felixwang9817)
- Fix benchmark tests at HEAD by passing in Snowflake secrets #2262 (adchia)
- Refactor
pa_to_feast_value_type
#2246 (judahrand) - Allow using pandas.StringDtype to support on-demand features with STRING type #2229 (pyalex)
- Bump jackson-databind from 2.10.1 to 2.10.5.1 in /java/common #2228 (dependabot[bot])
- Split apply total parse repo #2226 (mickey-liu)
- Publish renamed java packages to maven central (via Sonatype) #2225 (pyalex)
- Make online store nullable #2224 (mirayyuce)
- Optimize
_populate_result_rows_from_feature_view
#2223 (judahrand) - Update to newer
redis-py
#2221 (judahrand) - Adding a local feature server test #2217 (adchia)
- replace GetOnlineFeaturesResponse with GetOnlineFeaturesResponseV2 in… #2214 (tsotnet)
- Updates to click==8.* #2210 (diogommartins)
- Bump protobuf-java from 3.12.2 to 3.16.1 in /java #2208 (dependabot[bot])
- Add default priority for bug reports #2207 (adchia)
- Modify issue templates to automatically attach labels #2205 (adchia)
- Python FeatureServer optimization #2202 (judahrand)
- Refactor all importer logic to belong in feast.importer #2199 (felixwang9817)
- Refactor
OnlineResponse.to_dict()
#2196 (judahrand) - [Java feature server] Converge ServingService API to make Python and Java feature servers consistent #2166 (pyalex)
- Add a unit test for the tag_proto_objects method #2163 (achals)