Skip to content

Latest commit

 

History

History
1741 lines (1388 loc) · 173 KB

CHANGELOG.md

File metadata and controls

1741 lines (1388 loc) · 173 KB

Changelog

v0.16.1 (2021-12-10)

Full Changelog

Fixed bugs:

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

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:

v0.15.1 (2021-11-13)

Full Changelog

Fixed bugs:

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

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:

v0.14.1 (2021-10-28)

Full Changelog

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)

Full Changelog

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:

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)

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

Fixed bugs:

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)

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:

v0.11.0 (2021-06-24)

Full Changelog

Implemented enhancements:

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)

Full Changelog

Implemented enhancements:

  • Add to_bigquery() function to BigQueryRetrievalJob #1634 (vtao2)

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)

Full Changelog

Fixed bugs:

  • 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

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:

v0.10.5 (2021-05-19)

Full Changelog

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)

Full Changelog

Implemented enhancements:

Merged pull requests:

v0.10.3 (2021-04-21)

Full Changelog

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:

v0.10.2 (2021-04-21)

Full Changelog

Fixed bugs:

  • Fix bug in allowing empty repositories to be applied to a GCS registry #1488 (woop)

v0.10.1 (2021-04-21)

Full Changelog

Fixed bugs:

  • Fix time zone issue with get_historical_features #1475 (tsotnet)

Merged pull requests:

v0.10.0 (2021-04-15)

Full Changelog

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

Full Changelog

Implemented enhancements:

Fixed bugs:

v0.9.0 (2021-01-28)

Full Changelog

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:

v0.8.2 (2020-12-01)

Full Changelog

Implemented enhancements:

  • Configurable materialization destination for view in BigQuerySource #1201 (pyalex)

Fixed bugs:

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

Implemented enhancements:

Fixed bugs:

Merged pull requests:

v0.8.0 (2020-11-10)

Full Changelog

Implemented enhancements:

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:

v0.7.1 (2020-10-07)

Full Changelog

Fixed bugs:

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

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)

Full Changelog

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)

Full Changelog

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)

Full Changelog

Breaking changes:

  • Compute and write metrics for rows prior to store writes #763 (zhilingc)

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)

Full Changelog

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)

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.

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:

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

Fixed bugs:

  • Bugfix for redis ingestion retries throwing NullPointerException on remote runners #417 (khorshuheng)

v0.4.2 (2020-01-07)

Full Changelog

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)

Full Changelog

Merged pull requests:

v0.4.0 (2019-12-28)

Full Changelog

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:

v0.3.8 (2020-06-10)

Full Changelog

Implemented enhancements:

  • 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

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)

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

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:

v0.1.2 (2019-08-23)

Full Changelog

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:

v0.1.1 (2019-04-18)

Full Changelog

Fixed bugs:

Merged pull requests:

v0.1.0 (2019-04-09)

Full Changelog

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:

v0.0.2 (2019-03-11)

Full Changelog

Implemented enhancements:

  • Coalesce FeatureRows for improved "latest" value consistency in serving stores #88
  • Kafka source #22

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)

Full Changelog

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)