v0.18.1 (2022-02-15)
Fixed bugs:
- 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:
- Remove old flag warning with the python feature server #2300 (adchia)
- Use an OFFLINE schema for Snowflake offline store tests #2291 (sfc-gh-madkins)
- fix typos in markdown files #2289 (charliec443)
- Add -SNAPSHOT suffix to pom.xml version #2286 (tsotnet)
- Update CONTRIBUTING.md #2282 (adchia)
v0.18.0 (2022-02-05)
Implemented enhancements:
- Tutorial on validation of historical features #2277 (pyalex)
- Feast plan clean up #2256 (felixwang9817)
- Return
UNIX\_TIMESTAMP
as Pythondatetime
#2244 (judahrand) - Validating historical features against reference dataset with "great expectations" profiler #2243 (pyalex)
- Implement feature_store._apply_diffs to handle registry and infra diffs #2238 (felixwang9817)
- Compare Python objects instead of proto objects #2227 (felixwang9817)
- Modify feature_store.plan to produce an InfraDiff #2211 (felixwang9817)
- Implement diff_infra_protos method for feast plan #2204 (felixwang9817)
- Persisting results of historical retrieval #2197 (pyalex)
- Merge feast-snowflake plugin into main repo with documentation #2193 (sfc-gh-madkins)
- Add InfraDiff class for feast plan #2190 (felixwang9817)
- Use FeatureViewProjection instead of FeatureView in ODFV #2186 (judahrand)
Fixed bugs:
- Set
created\_timestamp
andlast\_updated\_timestamp
fields #2266 (judahrand) - Use
datetime.utcnow\(\)
to avoid timezone issues #2265 (judahrand) - Fix Redis key serialization in java feature server #2264 (pyalex)
- modify registry.db s3 object initialization to work in S3 subdirectory with Java Feast Server #2259 (NalinGHub)
- Add snowflake environment variables to allow testing on snowflake infra #2258 (sfc-gh-madkins)
- Correct inconsistent dependency #2255 (judahrand)
- Fix for historical field mappings #2252 (michelle-rascati-sp)
- Add backticks to left_table_query_string #2250 (dmille)
- Fix inference of BigQuery ARRAY types. #2245 (judahrand)
- Fix Redshift data creator #2242 (felixwang9817)
- Delete entity key from Redis only when all attached feature views are gone #2240 (pyalex)
- Tests for transformation service integration in java feature server #2236 (pyalex)
- Feature server helm chart produces invalid YAML #2234 (pyalex)
- Docker build fails for java feature server #2230 (pyalex)
- Fix ValueType.UNIX_TIMESTAMP conversions #2219 (judahrand)
- Add on demand feature views deletion #2203 (corentinmarek)
- Compare only specs in integration tests #2200 (felixwang9817)
- Bump log4j-core from 2.17.0 to 2.17.1 in /java #2189 (dependabot[bot])
- Support multiple application properties files (incl from classpath) #2187 (pyalex)
- Avoid requesting features from OnlineStore twice #2185 (judahrand)
- Speed up Datastore deletes by batch deletions with multithreading #2182 (ptoman-pa)
- Fixes large payload runtime exception in Datastore (issue 1633) #2181 (ptoman-pa)
Merged pull requests:
- Add link to community plugin for Spark offline store #2279 (adchia)
- Fix broken links on documentation #2278 (adchia)
- Publish alternative python package with FEAST_USAGE=False by default #2275 (pyalex)
- Unify all helm charts versions #2274 (pyalex)
- Fix / update helm chart workflows to push the feast python server #2273 (adchia)
- Update Feast Serving documentation with ways to run and debug locally #2272 (adchia)
- Fix Snowflake docs #2270 (felixwang9817)
- Update local-feature-server.md #2269 (tsotnet)
- Update docs to include Snowflake/DQM and removing unused docs from old versions of Feast #2268 (adchia)
- Graduate Python feature server #2263 (felixwang9817)
- Fix benchmark tests at HEAD by passing in Snowflake secrets #2262 (adchia)
- Refactor
pa\_to\_feast\_value\_type
#2246 (judahrand) - Allow using pandas.StringDtype to support on-demand features with STRING type #2229 (pyalex)
- Bump jackson-databind from 2.10.1 to 2.10.5.1 in /java/common #2228 (dependabot[bot])
- Split apply total parse repo #2226 (mickey-liu)
- Publish renamed java packages to maven central (via Sonatype) #2225 (pyalex)
- Make online store nullable #2224 (mirayyuce)
- Optimize
\_populate\_result\_rows\_from\_feature\_view
#2223 (judahrand) - Update to newer
redis-py
#2221 (judahrand) - Adding a local feature server test #2217 (adchia)
- replace GetOnlineFeaturesResponse with GetOnlineFeaturesResponseV2 in… #2214 (tsotnet)
- Updates to click==8.* #2210 (diogommartins)
- Bump protobuf-java from 3.12.2 to 3.16.1 in /java #2208 (dependabot[bot])
- Add default priority for bug reports #2207 (adchia)
- Modify issue templates to automatically attach labels #2205 (adchia)
- Python FeatureServer optimization #2202 (judahrand)
- Refactor all importer logic to belong in feast.importer #2199 (felixwang9817)
- Refactor
OnlineResponse.to\_dict\(\)
#2196 (judahrand) - [Java feature server] Converge ServingService API to make Python and Java feature servers consistent #2166 (pyalex)
- Add a unit test for the tag_proto_objects method #2163 (achals)
v0.17.0 (2021-12-31)
Implemented enhancements:
- Add feast-python-server helm chart #2177 (michelle-rascati-sp)
- Add SqliteTable as an InfraObject #2157 (felixwang9817)
- Compute property-level diffs for repo objects #2156 (achals)
- Add a feast plan command, and have CLI output differentiates between created, deleted and unchanged objects #2147 (achals)
- Refactor tag methods to infer created, deleted, and kept repo objects #2142 (achals)
- Add DatastoreTable infra object #2140 (felixwang9817)
- Dynamodb infra object #2131 (felixwang9817)
- Add Infra and InfraObjects classes #2125 (felixwang9817)
- Pre compute the timestamp range for feature views #2103 (judahrand)
Fixed bugs:
- Fix issues with java docker building #2178 (achals)
- unpin boto dependency in setup #2168 (fengyu05)
- Fix issue with numpy datetimes in feast_value_type_to_pandas_type #2167 (achals)
- Fix
BYTES
andBYTES_LIST
type conversion #2158 (judahrand) - Use correct name when deleting dynamo table #2154 (pyalex)
- Bump log4j-core from 2.15.0 to 2.16.0 in /java #2146 (dependabot[bot])
- Bump log4j-api from 2.15.0 to 2.16.0 in /java #2145 (dependabot[bot])
- Respect
full_feature_names
for ODFVs #2144 (judahrand) - Cache dynamodb client and resource in DynamoDB online store implement… #2138 (felixwang9817)
- Bump log4j-api from 2.13.2 to 2.15.0 in /java #2133 (dependabot[bot])
- Fix release workflow to use the new GCP action #2132 (adchia)
- Remove spring-boot from the feast serving application #2127 (achals)
- Fix Makefile to properly create the ECR_VERSION #2123 (adchia)
Closed 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:
- Update roadmap to include Snowflake + Trino. Also fix docs + update FAQ #2175 (adchia)
- Convert python values into proto values in bulk #2172 (pyalex)
- Push docker image after build in GH workflow #2171 (pyalex)
- Improve serialization performance #2165 (judahrand)
- Improve online deserialization latency #2164 (judahrand)
- Add a unit test for the tag_proto_objects method #2163 (achals)
- Bump log4j-core from 2.16.0 to 2.17.0 in /java #2161 (dependabot[bot])
- [Java Feature Server] Use hgetall in redis connector when number of retrieved fields is big enough #2159 (pyalex)
- Do not run benchmarks on pull requests #2155 (felixwang9817)
- Ensure that universal CLI test tears down infrastructure #2151 (felixwang9817)
- Remove underscores from ECR docker versions #2139 (achals)
- Run PR integration tests only on python 3.7 #2137 (achals)
- Update changelog for 0.16.1 and update helm charts #2135 (adchia)
- Bump log4j-core from 2.13.2 to 2.15.0 in /java #2134 (dependabot[bot])
- Updating lambda docker image to feature-server-python-aws #2130 (adchia)
- Fix README to reflect new integration test suites #2124 (adchia)
- Change the feast serve endpoint to be sync rather than async. #2119 (nossrannug)
- Remove argument
feature_refs
#2115 (judahrand) - Fix leaking dynamodb tables in integration tests #2104 (pyalex)
- Remove untested and undocumented interfaces #2084 (judahrand)
- Update creating-a-custom-provider.md #2070 (ChaitanyaKN)
v0.16.1 (2021-12-10)
Fixed bugs:
- Bump log4j-api from 2.13.2 to 2.15.0 in /java #2133 (dependabot[bot])
- Fix release workflow to use the new GCP action #2132 (adchia)
- Fix Makefile to properly create the ECR_VERSION #2123 (adchia)
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)
Implemented enhancements:
- 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)
Fixed bugs:
- 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:
- Add changelog for v0.16.0 #2120 (adchia)
- Update FAQ #2118 (felixwang9817)
- Move helm chart back to main repo #2113 (pyalex)
- Set package long description encoding to UTF-8 #2111 (danilopeixoto)
- Update release workflow to include new docker images #2108 (adchia)
- Use the maintainers group in Codeowners instead of individuals #2102 (achals)
- Remove tfx schema from ValueType #2098 (pyalex)
- Add data source implementations to RTD docs #2097 (felixwang9817)
- Updated feature view documentation to include blurb about feature inferencing #2096 (mavysavydav)
- Fix integration test that is unstable due to incorrect materialization boundaries #2095 (pyalex)
- Broaden google-cloud-core dependency #2094 (ptoman-pa)
- Use pip-tools to lock versions of dependent packages #2093 (ysk24ok)
- Fix typo in feature retrieval doc #2092 (olivierlabreche)
- Fix typo in FeatureView example (doc) #2091 (olivierlabreche)
- Use request.addfinalizer instead of the yield based approach in integ tests #2089 (achals)
- Odfv logic #2088 (felixwang9817)
- Refactor
_convert_arrow_to_proto
#2085 (judahrand) - Add github run id into the integration test projects for debugging #2069 (achals)
- Fixing broken entity key link in quickstart #2068 (adchia)
- Fix java_release workflow by removing step without users/with #2067 (achals)
- Allow using cached registry when writing to the online store #2066 (achals)
- Raise import error when repo configs module cannot be imported #2065 (felixwang9817)
- Remove refs to tensorflow_metadata #2063 (achals)
- Add detailed error messages for test_univerisal_e2e failures #2062 (achals)
- Remove unused protos & deprecated java modules #2061 (pyalex)
- Asynchronously refresh registry in transformation service #2060 (pyalex)
- Fix GH workflow for docker build of java parts #2059 (pyalex)
- Dedicated workflow for java PRs #2050 (pyalex)
- Run java integration test with real google cloud and aws #2049 (pyalex)
- Fixing typo enabling on_demand_transforms #2044 (ArrichM)
- Make
feast registry-dump
print the whole registry as one json #2040 (nossrannug) - Remove tensorflow-metadata folders #2038 (casassg)
- Update CHANGELOG for Feast v0.15.1 #2034 (felixwang9817)
- Remove unsupported java parts #2029 (pyalex)
- Fix checked out branch for PR docker image build workflow #2018 (tsotnet)
- Extend "feast in production" page with description of java feature server #2017 (pyalex)
- Remove duplicates in setup.py and run rudimentary verifications #2016 (achals)
- Upload feature server docker image to ECR on approved PRs #2014 (tsotnet)
- GitBook: [#1] Plugin standards documentation #2011 (felixwang9817)
- Add changelog for v0.15.0 #2006 (adchia)
- Add integration tests for AWS Lambda feature server #2001 (tsotnet)
v0.15.1 (2021-11-13)
Fixed bugs:
- 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)
- ODFV UDFs should handle list types #2002 (Agent007)
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)
Implemented enhancements:
- 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)
Fixed bugs:
- 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:
- Fix protobuf version conflict in [gcp] and [ci] packages #1992 (ysk24ok)
- Improve aws lambda deployment (logging, idempotency, etc) #1985 (tsotnet)
- Extend context for usage statistics collection & add latencies for performance analysis #1983 (pyalex)
- Update CHANGELOG for Feast v0.14.1 #1982 (felixwang9817)
- Document AWS Lambda permissions #1970 (tsotnet)
- Update online store helper docstring #1957 (amommendes)
- Add public docs for entity aliasing #1951 (codyjlin)
- Updating roadmap + hero image #1950 (adchia)
- Add David and Matt as approvers as well #1943 (achals)
- Add David and Matt as reviewers, and add actions for issue/PR assignment #1942 (achals)
- Simplify BigQuery load jobs #1935 (judahrand)
v0.14.1 (2021-10-28)
Fixed bugs:
- 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)
Implemented enhancements:
- 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)
Fixed bugs:
- 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:
- Update concepts/README.md #1926 (ysk24ok)
- Add CI for feature server Docker image #1925 (felixwang9817)
- cache provider in feature store instance #1924 (DvirDukhan)
- Refactor logging and error messages in serverless #1923 (felixwang9817)
- Add a caching step to our github actions #1919 (achals)
- Add provider, offline store, online store, registry to RTD #1918 (felixwang9817)
- Cleanup tests #1901 (felixwang9817)
v0.13.0 (2021-09-22)
Breaking changes:
- Enforce case-insensitively unique feature view names #1835 (codyjlin)
- Add init to Provider contract #1796 (woop)
Implemented enhancements:
- 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)
Fixed bugs:
- 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
andTIMESTAMP
#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)
Fixed bugs:
- Fix get_online_features telemetry to only log every 10000 times #1786 (felixwang9817)
v0.12.0 (2021-08-05)
Breaking changes:
- Set default feature naming to not include feature view name. Add option to include feature view name in feature naming. #1641 (Mwad22)
Implemented enhancements:
- 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)
Fixed bugs:
- 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:
- Add AWS docs in summary.md #1761 (tsotnet)
- Document permissions for AWS (DynamoDB & Redshift) #1753 (tsotnet)
- Adding small note for project naming convention #1752 (codyjlin)
- Fix warning in FeatureView.from_proto #1751 (tsotnet)
- Add Feature Service to the concepts group #1750 (achals)
- Docstring tests #1749 (felixwang9817)
- Document how pandas deals with missing values #1748 (achals)
- Restore feature refs #1746 (felixwang9817)
- Updating CLI apply to use FeatureStore #1745 (adchia)
- Delete old code #1743 (felixwang9817)
- Bump dependency on pyyaml #1742 (achals)
- Docstrings #1739 (felixwang9817)
- Add the foundation of the universal feature repo and a test that uses it #1734 (achals)
- Add AWS documentation (DynamoDB, Redshift) #1733 (tsotnet)
- Change internal references from input to batch_source #1729 (felixwang9817)
- Refactor tests into new directory layout #1725 (achals)
- Registry teardown #1718 (felixwang9817)
- Redirect telemetry to usage #1717 (felixwang9817)
- Link to offline and online store specs in docs summary #1715 (achals)
- Avoid skewed join between entity_df & feature views #1712 (MattDelac)
- Remove type comments #1710 (achals)
- Increase efficiency of Registry updates #1698 (felixwang9817)
- Parallelize integration tests #1684 (tsotnet)
- Remove debug logging #1678 (charliec443)
- Docs: Fix Feature References example #1674 (GregKuhlmann)
- Rename to_table to to_arrow #1671 (MattDelac)
- Small reference documentation update #1668 (nels)
- Grouped inferencing statements together in apply methods for easier readability #1667 (mavysavydav)
- Infer min and max timestamps from entity_df to limit data read from BQ source #1665 (Mwad22)
- Rename telemetry to usage #1660 (tsotnet)
- Update charts README #1659 (szalai1)
v0.11.0 (2021-06-24)
Implemented enhancements:
- Allow BigQuery project to be configured #1656 (MattDelac)
- Add to_bigquery function to BigQueryRetrievalJob #1634 (vtao2)
- Add AWS authentication using github actions #1629 (tsotnet)
- Introduce an OnlineStore interface #1628 (achals)
- Add to_df to convert get_online_feature response to pandas dataframe #1623 (tedhtchang)
- Add datastore namespace option in configs #1581 (tsotnet)
- Add offline_store config #1552 (tsotnet)
- Entity value_type inference for Feature Repo registration #1538 (mavysavydav)
- Inferencing of Features in FeatureView and timestamp column of DataSource #1523 (mavysavydav)
- Add Unix Timestamp value type #1520 (MattDelac)
- Add support for Redis and Redis Cluster #1511 (qooba)
- Add path option to cli #1509 (tedhtchang)
Fixed bugs:
- 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)
Implemented enhancements:
Fixed bugs:
- 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)
Fixed bugs:
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)
Implemented enhancements:
Fixed bugs:
- 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:
- Change OfflineStore class description #1571 (tedhtchang)
v0.10.5 (2021-05-19)
Implemented enhancements:
Fixed bugs:
- 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)
Implemented enhancements:
- Inferencing of Features in FeatureView and timestamp column of DataSource #1523 (mavysavydav)
- Add Unix Timestamp value type #1520 (MattDelac)
- Fix materialize for None #1481 (qooba)
Merged pull requests:
- 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)
- Upgrade grpcio version in python SDK #1508 (szalai1)
- Better logging for materialize command #1499 (jklegar)
v0.10.3 (2021-04-21)
Implemented enhancements:
- 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)
Fixed bugs:
- 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:
- Add a fixed timestamp to quickstart data #1513 (jklegar)
- Make gcp imports optional #1512 (jklegar)
- Fix documentation inconsistency #1510 (jongillham)
- pre-commit command typo fix in CONTRIBUTING.md #1506 (mavysavydav)
- Add optional telemetry to other CLI commands #1505 (jklegar)
- Pass entities information to Provider #1498 (MattDelac)
- Update broken urls in contributing.md #1489 (tedhtchang)
- Python docs formatting fixes #1473 (jklegar)
v0.10.2 (2021-04-21)
Fixed bugs:
v0.10.1 (2021-04-21)
Fixed bugs:
Merged pull requests:
- Improve exception handling, logging, and validation #1477 (woop)
- Remove duped pic #1476 (YikSanChan)
- Fix created timestamp related errors for BigQuery source #1474 (jklegar)
- Remove unnecessary MAVEN_CONFIG #1472 (danielsiwiec)
- Fix CLI entities command & add feature-views command #1471 (tsotnet)
v0.10.0 (2021-04-15)
** Implemented enhancements:**
- 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)
** Fixed bugs:**
- 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)
Implemented enhancements:
Fixed bugs:
- Fix kafka download url #1298 (jklegar)
- disable telemetry in docker-compose test and job_service #1297 (jklegar)
v0.9.0 (2021-01-28)
Implemented enhancements:
- 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)
Fixed bugs:
- 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:
- Use date partitioning column in FileSource #1293 (pyalex)
- Add EMR CI/CD entrypoint script #1290 (oavdeev)
- Online serving optimizations #1286 (pyalex)
- Make third party grpc packages recognizable as python module #1283 (khorshuheng)
- Report observed values in feature validation as Gauge #1280 (pyalex)
- Keep same amount of partitions after repartitioning in IngestionJob #1279 (pyalex)
- Add request feature counter metric #1272 (terryyylim)
- Use SEND_INTERRUPT to cancel EMR jobs #1271 (oavdeev)
- Fix historical test flakiness #1270 (jklegar)
- Allow https url for spark ingestion jar #1266 (jklegar)
- Add project name to feature validation metric #1264 (pyalex)
- Use dataproc console url instead of gcs for log uri #1263 (khorshuheng)
- Make nodes priority (for redis cluster) configurable in Serving #1260 (pyalex)
- Enhance job api to return associated feature table and start time #1259 (khorshuheng)
- Reporting metrics from validation UDF #1256 (pyalex)
- Allow use the same timestamp column for both created & even timestamp in Historical Retrieval #1255 (pyalex)
- Apply grpc tracing interceptor on Feast SDK #1243 (khorshuheng)
- Apply grpc tracing interceptor on online serving #1242 (khorshuheng)
- Python UDF in Ingestion being used for feature validation #1234 (pyalex)
- Add spark k8s operator launcher #1225 (oavdeev)
- Add deadletter/read-from-source metrics to batch and stream ingestion #1223 (terryyylim)
- Implement AbstractStagingClient for azure blob storage #1218 (jklegar)
- Configurable materialization destination for view in BigQuerySource #1201 (pyalex)
- Update Feast Core list features method #1176 (terryyylim)
- S3 endpoint configuration #1169 #1172 (mike0sv)
- Increase kafka consumer waiting time in e2e tests #1268 (pyalex)
- E2E tests support for jobservice's control loop #1267 (pyalex)
- Optimize memory footprint for Spark Ingestion Job #1265 (pyalex)
- Fix historical test for azure #1262 (jklegar)
- Change azure https to wasbs and add azure creds to spark #1258 (jklegar)
- Docs, fixes and scripts to run e2e tests in minikube #1254 (oavdeev)
- Fix azure blob storage access in e2e tests #1253 (jklegar)
- Update python version requirements to 3.7 for Dataproc launcher #1251 (pyalex)
- Fix build-ingestion-py-dependencies script #1250 (pyalex)
- Add datadog(statsd) client to python package for IngestionJob #1249 (pyalex)
- Add prow job for azure e2e test #1244 (jklegar)
- Azure e2e test #1241 (jklegar)
- Add Feast Serving histogram metrics #1240 (terryyylim)
- CI should work on python 3.6 #1237 (pyalex)
- Integration test for k8s spark operator support #1236 (oavdeev)
- Add prow config for spark k8s operator integration testing #1235 (oavdeev-tt)
- Upgrading spark to 3.0.1 #1227 (pyalex)
- Support TFRecord as one of the output formats for historical feature retrieval #1222 (khorshuheng)
- Remove stage_dataframe from the launcher interface #1220 (oavdeev)
- Refactor staging client uploader and use it in EMR launcher #1219 (oavdeev)
- Remove unused EMR code #1217 (oavdeev)
- Remove job id from ingested row counter metric #1216 (terryyylim)
- Quickstart link fixed #1213 (szczeles)
- Delete v1 concepts #1194 (terryyylim)
- Dont write defaults to config #1188 (mike0sv)
- Refactor tests which utilizes feature sets #1186 (terryyylim)
- Refactor configurable options and add sphinx docs #1174 (terryyylim)
- Remove unnecessary Google Auth dependency #1170 (woop)
v0.8.2 (2020-12-01)
Implemented enhancements:
Fixed bugs:
- Fix tag order for release workflow #1205 (terryyylim)
- Fix Feature Table not updated on new feature addition #1197 (khorshuheng)
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)
Implemented enhancements:
- Expires Redis Keys based on Feature Table Max Age #1161 (khorshuheng)
- Jobservice control loop (based on #1140) #1156 (oavdeev)
Fixed bugs:
- Lazy metrics initialization (to correct pick up in executor) #1195 (pyalex)
- Add missing third_party folder #1185 (terryyylim)
- Fix missing name variable instantiation #1166 (terryyylim)
Merged pull requests:
- Bump ssh-agent version #1175 (terryyylim)
- Refactor configurable options and add sphinx docs #1174 (terryyylim)
- Stabilize flaky e2e tests #1173 (pyalex)
- Fix connection resets in CI for Maven #1164 (woop)
- Add dataproc executor resource config #1160 (terryyylim)
- Fix github workflow deprecating env variable #1158 (terryyylim)
- Ensure consistency of github workflow #1157 (terryyylim)
v0.8.0 (2020-11-10)
Implemented enhancements:
- Implement JobService API calls & connect it to SDK #1129 (tsotnet)
- Allow user to specify custom secrets to be mounted on Feast Serving and Feast Core pods #1127 (khorshuheng)
- Allow spark expressions in field mapping during Ingestion #1122 (pyalex)
- Update rest endpoints #1121 (terryyylim)
- Add feature table deletion #1114 (terryyylim)
- Add historical retrieval via job service #1107 (oavdeev)
- Implement list job and get job methods for Dataproc launcher #1106 (khorshuheng)
- Allow entities and features to be updated #1105 (terryyylim)
- Add get_by_id and list_jobs interface to the launcher interface and implement it for EMR #1095 (oavdeev)
- Support redis ssl in feast-serving #1092 (oavdeev)
- Add helm charts for feast jobservice #1081 (tsotnet)
- Terraform cleanup: tags, formatting, better defaults #1080 (oavdeev)
- Update docker-compose for Feast 0.8 #1078 (khorshuheng)
- Configure jupyter env on AWS via terraform #1077 (oavdeev)
- Implement EMR job cancelling #1075 (oavdeev)
- Streaming Ingestion Job supports AVRO format as input #1072 (pyalex)
- Accept Pandas dataframe as input for historical feature retrieval #1071 (khorshuheng)
- Add EMR streaming job launcher #1065 (oavdeev)
- EMR launcher #1061 (oavdeev)
- Add AWS managed kafka config to the example terraform #1058 (oavdeev)
- Feast SDK integration for historical feature retrieval using Spark #1054 (khorshuheng)
- Update GetOnlineFeatures method in sdks #1052 (terryyylim)
- "Start Offline-to-online ingestion" method in Python SDK #1051 (pyalex)
- Adding support for custom grpc dial options in Go SDK #1043 (ankurs)
- CLI command to start/stop/list streaming ingestion job on emr #1040 (oavdeev)
- Update serving service to handle new redis encoding #1038 (terryyylim)
- terraform config for aws #1033 (oavdeev)
- Streaming Ingestion Pipeline with Spark #1027 (pyalex)
- Run offline-to-online ingestion job on EMR #1026 (oavdeev)
- Add redis SSL support to the offline-to-online ingestion job #1025 (oavdeev)
- Dataproc and Standalone Cluster Spark Job launcher #1022 (khorshuheng)
- Pyspark job for feature batch retrieval #1021 (khorshuheng)
- Batch Ingestion Job rewritten on Spark #1020 (pyalex)
- Add Feature Tables API to Core & Python SDK #1019 (mrzzy)
- Introduce Entity as higher-level concept #1014 (terryyylim)
Fixed bugs:
- 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:
- Make created_timestamp property optional in KafkaSource #1146 (pyalex)
- In Streaming E2E Test filter kafka consumers by group id prefix #1145 (pyalex)
- Limit concurrency on e2e test runs to 1 #1142 (oavdeev)
- Update prow trigger for AWS #1139 (oavdeev)
- e2e test fixes to make them work on AWS #1132 (oavdeev)
- Add feature table name & job id to deadletter destination #1143 (pyalex)
- Drop hardcoded FEAST_CORE_URL env from JobService helm chart #1136 (pyalex)
- Add Prow to AWS codebuild trigger #1133 (oavdeev)
- Optional IngestionJob parameters passed by Spark Launcher #1130 (pyalex)
- Wait for job to be ready before cancelling #1126 (khorshuheng)
- Ability to run e2e tests in non-default project #1125 (pyalex)
- Ensure job is completed when ingesting to BQ #1123 (terryyylim)
- Add end-to-end Prow Job launcher for AWS tests #1118 (woop)
- Add confluent kafka installation to minimal notebook #1116 (woop)
- Scaffolding for integration tests #1113 (khorshuheng)
- Add serving integration test for updated feature type #1112 (terryyylim)
- In Historical Retrieval from BQ join between source & entities is performed inside BQ #1110 (pyalex)
- Make created timestamp column optional #1108 (khorshuheng)
- Add validation when feature type is changed #1102 (terryyylim)
- E2E flow in prow is working #1101 (pyalex)
- Return e2e back to prow runner #1100 (pyalex)
- Add gh workflow for dockerhub #1098 (terryyylim)
- Make demo notebook work on AWS #1097 (oavdeev)
- Update Kubernetes setup for Feast 0.8 #1096 (khorshuheng)
- Refactored end-to-end tests fully orchestrated by pytest #1094 (pyalex)
- Disable statsd by default for spark #1089 (oavdeev-tt)
- Restructure tutorial subfolder #1088 (terryyylim)
- Remove load test from github action #1087 (khorshuheng)
- Add more explanations to the demo notebook, use local file system instead of GCS by default #1086 (khorshuheng)
- Tutorial (Full demo) in Jupyter #1079 (pyalex)
- Add unit test for historical retrieval with panda dataframe #1073 (khorshuheng)
- Remove outdated tutorials #1069 (terryyylim)
- Add method to add feature to Feature table #1068 (terryyylim)
- Historical feature retrieval e2e test #1067 (khorshuheng)
- Use RedisKeyV2 as key serializer and java murmur implementation in Redis Sink #1064 (pyalex)
- Use existing staging client for dataproc staging #1063 (khorshuheng)
- Cleanup CLI and Python dependencies #1062 (terryyylim)
- Refactor Spark Job launcher API #1060 (pyalex)
- Create empty Job Service #1059 (tsotnet)
- Replace Data Source specific format options with DataFormat message #1049 (mrzzy)
- Add created_timestamp_column to DataSource. Rename timestamp_column -> event_timestamp_column #1048 (pyalex)
- Cleanup e2e and docker-compose tests #1035 (terryyylim)
- Add svc account volume mount to prow jobs #1034 (terryyylim)
- Update prow config and makefile #1024 (terryyylim)
- Refactor Python SDK to remove v1 concepts #1023 (terryyylim)
v0.7.1 (2020-10-07)
Fixed bugs:
v0.7.0 (2020-09-09)
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)
Implemented enhancements:
- 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)
Fixed bugs:
- 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)
Implemented enhancements:
- 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)
Fixed bugs:
- 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)
Implemented enhancements:
- Improve parallelization in Redis Sink #866 (pyalex)
- BQ sink produces sample of successful inserts #875 (pyalex)
Fixed bugs:
- 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)
Breaking changes:
Implemented enhancements:
- 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)
Fixed bugs:
- 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)
Implemented enhancements:
- Add support for version method in Feast SDK and Core #759 (woop)
- Refactor runner configuration, add labels to dataflow options #718 (zhilingc)
Fixed bugs:
- 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)
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.
Implemented enhancements:
- 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)
Fixed bugs:
- 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:
- Change organization from gojek to feast-dev #712 (woop)
- Extract feature set update tests so CI doesn't run it #709 (zhilingc)
- Ensure that batch retrieval tests clean up after themselves #704 (zhilingc)
- Apply default project to rows without project during ingestion #701 (zhilingc)
- Update tests to correct compute region #699 (terryyylim)
- Make Projects optional & Update Feature References #693 (mrzzy)
- Add Java code coverage reporting #686 (ches)
- Update e2e tests to allow non-SNAPSHOT testing #672 (woop)
- Move TFDV stats to higher-numbered protobuf fields #669 (ches)
- Clean up Docker Compose and add test #668 (woop)
- Enable Prow e2e tests by default #666 (woop)
- Add label checking to Prow #665 (woop)
- Upgrade Github Checkout action to v2 #660 (khorshuheng)
- Fix Redis cluster e2e #659 (terryyylim)
- Split Field model into distinct Feature and Entity objects #655 (zhilingc)
- Use Runner enum type instead of string for Job model #651 (ches)
- JobUpdateTask cleanups #650 (ches)
- Update approvers list #648 (khorshuheng)
- Update end-to-end test config #645 (zhilingc)
- Fix bigquery config for serving store #644 (zhilingc)
- Fix Dataflow translator bug #643 (zhilingc)
- Fix subscription config and doctests #634 (woop)
- Correct links to why-feast and concepts doc site #627 (anderseriksson)
- Make error on retrieval of nonexistent feature humanly readable #625 (mrzzy)
- Generate golang code for non-serving protos #618 (zhilingc)
- Regenerate golang code, fix proto comparisons #616 (zhilingc)
- Fix doc building #603 (woop)
- Pin Jupyter Notebook version #597 (imjuanleonard)
- Create project if not exists on applyFeatureSet #596 (Joostrothweiler)
- Apply a fixed window before writing row metrics #590 (davidheryanto)
- Allow tests to run on non-master branches #588 (woop)
v0.4.7 (2020-03-17)
Merged pull requests:
- Add log4j-web jar to core and serving. #498 (Yanson)
- Clear all the futures when sync is called. #501 (lavkesh)
- Encode feature row before storing in Redis #530 (khorshuheng)
- Remove transaction when listing projects #522 (davidheryanto)
- Remove unused ingestion deps #520 (ches)
- Parameterize end to end test scripts. #433 (Yanson)
- Replacing Jedis With Lettuce in ingestion and serving #485 (lavkesh)
v0.4.6 (2020-02-26)
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)
Merged pull requests:
- Use bzip2 compressed feature set json as pipeline option #466 (khorshuheng)
- Make redis key creation more determinisitic #471 (zhilingc)
- Helm Chart Upgrades #458 (Yanson)
- Exclude version from grouping #441 (khorshuheng)
- Use concrete class for AvroCoder compatibility #465 (zhilingc)
- Fix typo in split string length check #464 (zhilingc)
- Update README.md and remove versions from Helm Charts #457 (woop)
- Deduplicate example notebooks #456 (woop)
- Allow users not to set max age for batch retrieval #446 (zhilingc)
v0.4.4 (2020-01-28)
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)
Fixed bugs:
- Bugfix for redis ingestion retries throwing NullPointerException on remote runners #417 (khorshuheng)
v0.4.2 (2020-01-07)
Fixed bugs:
- 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)
Merged pull requests:
v0.4.0 (2019-12-28)
Implemented enhancements:
- Edit description in feature specification to also reflect in BigQuery schema description. #239
- Allow for disabling of metrics pushing #57
Merged pull requests:
- Java SDK release script #406 (davidheryanto)
- Use fixed 'dev' revision for test-e2e-batch #395 (davidheryanto)
- Project Namespacing #393 (woop)
- <docs>(concepts): change data types to upper case because lower case … #389 (david30907d)
- Remove alpha v1 from java package name #387 (khorshuheng)
- Minor bug fixes for Python SDK #383 (voonhous)
- Allow user to override job options #377 (khorshuheng)
- Add documentation to default values.yaml in Feast chart #376 (davidheryanto)
- Add support for file paths for providing entity rows during batch retrieval #375 (voonhous)
- Update sync helm chart script to ensure requirements.lock in in sync with requirements.yaml #373 (davidheryanto)
- Catch errors thrown by BQ during entity table loading #371 (zhilingc)
- Async job management #361 (zhilingc)
- Infer schema of PyArrow table directly #355 (voonhous)
- Add readiness checks for Feast services in end to end test #337 (davidheryanto)
- Create CHANGELOG.md #321 (woop)
v0.3.8 (2020-06-10)
Implemented enhancements:
Merged pull requests:
v0.3.7 (2020-05-01)
Merged pull requests:
- Moved end-to-end test scripts from .prow to infra #657 (khorshuheng)
- Backported #566 & #647 to v0.3 #654 (ches)
v0.3.6 (2020-01-03)
Merged pull requests:
v0.3.5 (2019-12-26)
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)
Merged pull requests:
v0.3.3 (2019-12-18)
Implemented enhancements:
- 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)
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)
Merged pull requests:
- Added Prometheus metrics to serving #316 (zhilingc)
- Changed default job metrics sink to Statsd #315 (zhilingc)
- Fixed module import error in Feast CLI #314 (davidheryanto)
v0.3.0 (2019-11-19)
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)
Implemented enhancements:
- 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
Fixed bugs:
- 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:
- Remove redis transaction #280 (pradithya)
- Fix tracing to continue from existing trace created by grpc client #245 (pradithya)
v0.1.2 (2019-08-23)
Fixed bugs:
- 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:
- Add
romanwozniak
to prow owners config #216 (romanwozniak) - Implement filter for create dataset api #215 (pradithya)
- expand raw column to accomodate more features ingested in one go #213 (budi)
- update feast installation docs #210 (budi)
- Add Prow job for unit testing Python SDK #209 (davidheryanto)
- fix create_dataset #208 (budi)
- Update Feast installation doc #207 (davidheryanto)
- Fix unit test cli in prow script not returning correct exit code #206 (davidheryanto)
- Fix pytests and make TS conversion conditional #205 (zhilingc)
- Use full prow build id as dataset name during test #200 (davidheryanto)
- Add Feast CLI / python SDK documentation #199 (romanwozniak)
- Update library version to fix security vulnerabilities in dependencies #198 (davidheryanto)
- Update Prow configuration for Feast CI #197 (davidheryanto)
- [budi] update python sdk quickstart #196 (budi)
- Readiness probe #191 (pradithya)
- Fix periodic feature spec reload #189 (pradithya)
- Fixed a typo in environment variable in installation #187 (gauravkumar37)
- Revert "Update Quickstart" #185 (zhilingc)
- Update Quickstart #184 (pradithya)
- Continuous integration and deployment (CI/CD) update #183 (davidheryanto)
- Remove feature specs being able to declare their serving or warehouse stores #159 (tims)
v0.1.1 (2019-04-18)
Fixed bugs:
- Fix BigQuery query template to retrieve training data #182 (davidheryanto)
Merged pull requests:
v0.1.0 (2019-04-09)
Implemented enhancements:
- Removal of storing historical value of feature in serving storage #53
- Remove feature "granularity" and relegate to metadata #17
Closed 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:
- Catch all kind of exception to avoid retrying #171 (pradithya)
- Integration test #170 (zhilingc)
- Proto error #169 (pradithya)
- Add --name flag to submit job #168 (pradithya)
- Prevent throwing RuntimeException when invalid proto is received #166 (pradithya)
- Add davidheryanto to OWNER file #165 (pradithya)
- Check validity of event timestamp in ValidateFeatureRowDoFn #164 (pradithya)
- Remove granularity #162 (pradithya)
- Better Kafka test #160 (tims)
- Simplify and document CLI building steps #158 (thirteen37)
- Fix link typo in README.md #156 (pradithya)
- Add Feast admin quickstart guide #155 (thirteen37)
- Pass all specs to ingestion by file #154 (tims)
- Preload spec in serving cache #152 (pradithya)
- Add job identifier to FeatureRow #147 (mansiib)
- Fix unit tests #146 (mansiib)
- Add thirteen37 to OWNERS #144 (thirteen37)
- Fix import spec created from Importer.from_csv #143 (pradithya)
- Regenerate go #142 (zhilingc)
- Flat JSON for pubsub and text files #141 (tims)
- Add wait flag for jobs, fix go proto path for dataset service #138 (zhilingc)
- Fix Python SDK importer's ability to apply features #135 (woop)
- Refactor stores #110 (tims)
- Coalesce rows #89 (tims)
- Remove historical feature in serving store #87 (pradithya)
v0.0.2 (2019-03-11)
Implemented enhancements:
Closed 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)
Implemented enhancements:
- Spring boot CLI logs show up as JSON #104
- Allow for registering feature that doesn't have warehouse store #5
Fixed bugs:
- 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)