Skip to content

Latest commit

 

History

History
2751 lines (2198 loc) · 318 KB

CHANGELOG.md

File metadata and controls

2751 lines (2198 loc) · 318 KB

Changelog

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)