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)