diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index d92a420a40a..00000000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# Each line is a file pattern followed by one or more owners. -# https://help.github.com/en/articles/about-code-owners - -* @feast-dev/maintainers diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d210cbe2f41..e8d00798c0c 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,9 +2,10 @@ 1. Ensure that your code follows our code conventions: https://github.com/feast-dev/feast/blob/master/CONTRIBUTING.md#code-style--linting 2. Run unit tests and ensure that they are passing: https://github.com/feast-dev/feast/blob/master/CONTRIBUTING.md#unit-tests -3. If your change introduces any API changes, make sure to update the integration tests scripts here: https://github.com/feast-dev/feast/tree/master/sdk/python/tests or https://github.com/feast-dev/feast/tree/master/sdk/go +3. If your change introduces any API changes, make sure to update the integration tests here: https://github.com/feast-dev/feast/tree/master/sdk/python/tests 4. Make sure documentation is updated for your PR! -5. Make sure you have signed the CLA https://cla.developers.google.com/clas +5. Make sure your commits are signed: https://github.com/feast-dev/feast/blob/master/CONTRIBUTING.md#signing-off-commits +6. Make sure your PR title follows conventional commits (e.g. fix: [description] vs feat: [description]) --> @@ -16,16 +17,3 @@ Usage: `Fixes #`, or `Fixes (paste link of issue)`. --> Fixes # - -**Does this PR introduce a user-facing change?**: - -```release-note - -``` diff --git a/.github/workflows/assign_issues.yml b/.github/workflows/assign_issues.yml deleted file mode 100644 index f8702e2485c..00000000000 --- a/.github/workflows/assign_issues.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Issue assignment - -on: - issues: - types: [opened] - -jobs: - auto-assign: - runs-on: ubuntu-latest - steps: - - name: 'Auto-assign issue' - uses: pozil/auto-assign-issue@v1.1.0 - with: - assignees: achals, woop, tsotnet, felix, felixwang9817, adchia - numOfAssignee: 1 diff --git a/.github/workflows/assign_reviewers.yml b/.github/workflows/assign_reviewers.yml deleted file mode 100644 index ab776add0dc..00000000000 --- a/.github/workflows/assign_reviewers.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: 'Assign Reviewers' -on: - pull_request_target: - types: - - opened - - ready_for_review - -jobs: - add-reviews: - runs-on: ubuntu-latest - steps: - - uses: kentaro-m/auto-assign-action@v1.2.0 diff --git a/.github/workflows/java_master_only.yml b/.github/workflows/java_master_only.yml index 04313c4120c..a856fbe2cba 100644 --- a/.github/workflows/java_master_only.yml +++ b/.github/workflows/java_master_only.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: 'true' - - uses: google-github-actions/setup-gcloud@master + - uses: google-github-actions/setup-gcloud@v0 with: version: '290.0.1' export_default_credentials: true diff --git a/.github/workflows/java_pr.yml b/.github/workflows/java_pr.yml index 081a4f42744..9906c246ecd 100644 --- a/.github/workflows/java_pr.yml +++ b/.github/workflows/java_pr.yml @@ -53,8 +53,9 @@ jobs: integration-test: # all jobs MUST have this if check for 'ok-to-test' or 'approved' for security purposes. - if: (github.event.action == 'labeled' && (github.event.label.name == 'approved' || github.event.label.name == 'ok-to-test')) - || (github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved'))) + if: + (github.event.action == 'labeled' && (github.event.label.name == 'lgtm' || github.event.label.name == 'approved' || github.event.label.name == 'ok-to-test')) || + (github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved'))) runs-on: ubuntu-latest needs: unit-test-java steps: diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index c1808bf03a7..971282966c5 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -15,6 +15,11 @@ jobs: with: python-version: "3.7" architecture: x64 + - name: Setup Go + id: setup-go + uses: actions/setup-go@v2 + with: + go-version: 1.17.7 - name: Upgrade pip version run: | pip install --upgrade "pip>=21.3.1" @@ -35,16 +40,30 @@ jobs: - name: Install pip-tools run: pip install pip-tools - name: Install dependencies - run: make install-python-ci-dependencies + run: | + make compile-protos-go + make install-python-ci-dependencies - name: Lint python run: make lint-python lint-go: - container: gcr.io/kf-feast/feast-ci:latest - runs-on: [ubuntu-latest] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - name: Setup Go + id: setup-go + uses: actions/setup-go@v2 + with: + go-version: 1.17.7 + - name: Setup Python + id: setup-python + uses: actions/setup-python@v2 + with: + python-version: "3.7" + - name: Upgrade pip version + run: | + pip install --upgrade "pip>=21.3.1" - name: Install dependencies - run: make install-go-ci-dependencies + run: make install-go-proto-dependencies - name: Lint go run: make lint-go \ No newline at end of file diff --git a/.github/workflows/master_only.yml b/.github/workflows/master_only.yml index e7a89815fe4..5546686b247 100644 --- a/.github/workflows/master_only.yml +++ b/.github/workflows/master_only.yml @@ -54,17 +54,28 @@ jobs: docker push $ECR_REGISTRY/$ECR_REPOSITORY:${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }} outputs: DOCKER_IMAGE_TAG: ${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }} - integration-test-python: + integration-test-python-and-go: needs: build-lambda-docker-image runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - python-version: [ 3.7, 3.8, 3.9 ] + python-version: [ "3.7", "3.8", "3.9", "3.10" ] + go-version: [ 1.17.0 ] os: [ ubuntu-latest ] env: OS: ${{ matrix.os }} PYTHON: ${{ matrix.python-version }} + services: + redis: + image: redis + ports: + - 6379:6379 + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 steps: - uses: actions/checkout@v2 - name: Setup Python @@ -73,6 +84,11 @@ jobs: with: python-version: ${{ matrix.python-version }} architecture: x64 + - name: Setup Go + id: setup-go + uses: actions/setup-go@v2 + with: + go-version: ${{ matrix.go-version }} - name: Set up Cloud SDK uses: google-github-actions/setup-gcloud@v0 with: @@ -110,16 +126,11 @@ jobs: run: pip install pip-tools - name: Install dependencies run: make install-python-ci-dependencies - - name: Start Redis - uses: supercharge/redis-github-action@1.4.0 - with: - redis-version: ${{ matrix.redis-version }} - redis-port: 12345 - name: Setup Redis Cluster run: | docker pull vishnunair/docker-redis-cluster:latest docker run -d -p 6001:6379 -p 6002:6380 -p 6003:6381 -p 6004:6382 -p 6005:6383 -p 6006:6384 --name redis-cluster vishnunair/docker-redis-cluster - - name: Test python + - name: Test python and go env: FEAST_SERVER_DOCKER_IMAGE_TAG: ${{ needs.build-lambda-docker-image.outputs.DOCKER_IMAGE_TAG }} FEAST_USAGE: "False" @@ -173,7 +184,7 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up Cloud SDK - uses: google-github-actions/setup-gcloud@master + uses: google-github-actions/setup-gcloud@v0 with: project_id: ${{ secrets.GCP_PROJECT_ID }} service_account_key: ${{ secrets.GCP_SA_KEY }} @@ -194,4 +205,4 @@ jobs: make push-${{ matrix.component }}-docker REGISTRY=${REGISTRY} VERSION=${GITHUB_SHA} docker tag ${REGISTRY}/${{ matrix.component }}:${GITHUB_SHA} ${REGISTRY}/${{ matrix.component }}:develop - docker push ${REGISTRY}/${{ matrix.component }}:develop + docker push ${REGISTRY}/${{ matrix.component }}:develop \ No newline at end of file diff --git a/.github/workflows/pr_integration_tests.yml b/.github/workflows/pr_integration_tests.yml index 4c758d7601a..2373f96ba7a 100644 --- a/.github/workflows/pr_integration_tests.yml +++ b/.github/workflows/pr_integration_tests.yml @@ -14,9 +14,10 @@ on: jobs: build-docker-image: - # all jobs MUST have this if check for 'ok-to-test' or 'approved' for security purposes. - if: (github.event.action == 'labeled' && (github.event.label.name == 'approved' || github.event.label.name == 'ok-to-test')) - || (github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved'))) + # all jobs MUST have this if check for 'ok-to-test' or 'approved' or 'lgtm' for security purposes. + if: + (github.event.action == 'labeled' && (github.event.label.name == 'lgtm' || github.event.label.name == 'approved' || github.event.label.name == 'ok-to-test')) || + (github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved'))) runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -71,19 +72,30 @@ jobs: outputs: DOCKER_IMAGE_TAG: ${{ steps.image-tag.outputs.DOCKER_IMAGE_TAG }} integration-test-python: - # all jobs MUST have this if check for 'ok-to-test' or 'approved' for security purposes. - if: (github.event.action == 'labeled' && (github.event.label.name == 'approved' || github.event.label.name == 'ok-to-test')) - || (github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved'))) + # all jobs MUST have this if check for 'ok-to-test' or 'approved' or 'lgtm' for security purposes. + if: + (github.event.action == 'labeled' && (github.event.label.name == 'lgtm' || github.event.label.name == 'approved' || github.event.label.name == 'ok-to-test')) || + (github.event.action != 'labeled' && (contains(github.event.pull_request.labels.*.name, 'ok-to-test') || contains(github.event.pull_request.labels.*.name, 'approved'))) needs: build-docker-image runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - python-version: [ 3.7 ] + python-version: [ "3.7" ] os: [ ubuntu-latest ] env: OS: ${{ matrix.os }} PYTHON: ${{ matrix.python-version }} + services: + redis: + image: redis + ports: + - 6379:6379 + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 steps: - uses: actions/checkout@v2 with: @@ -92,17 +104,17 @@ jobs: # code from the PR. ref: refs/pull/${{ github.event.pull_request.number }}/merge submodules: recursive - - name: Start Redis - uses: supercharge/redis-github-action@1.4.0 - with: - redis-version: ${{ matrix.redis-version }} - redis-port: 12345 - name: Setup Python uses: actions/setup-python@v2 id: setup-python with: python-version: ${{ matrix.python-version }} architecture: x64 + - name: Setup Go + id: setup-go + uses: actions/setup-go@v2 + with: + go-version: 1.17.7 - name: Set up gcloud SDK uses: google-github-actions/setup-gcloud@v0 with: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0d7476a82ba..f8a8d40fb34 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -64,7 +64,7 @@ jobs: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up Cloud SDK - uses: google-github-actions/setup-gcloud@master + uses: google-github-actions/setup-gcloud@v0 with: project_id: ${{ secrets.GCP_PROJECT_ID }} service_account_key: ${{ secrets.GCP_SA_KEY }} @@ -107,7 +107,7 @@ jobs: VERSION_WITHOUT_PREFIX: ${{ needs.get-version.outputs.version_without_prefix }} steps: - uses: actions/checkout@v2 - - uses: google-github-actions/setup-gcloud@master + - uses: google-github-actions/setup-gcloud@v0 with: version: '290.0.1' export_default_credentials: true @@ -126,37 +126,85 @@ jobs: run: ./infra/scripts/helm/push-helm-charts.sh $VERSION_WITHOUT_PREFIX publish-python-sdk: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: [ "3.7", "3.8", "3.9", "3.10" ] + os: [ ubuntu-latest, macOS-latest ] + compile-go: [ True ] + include: + - python-version: "3.7" + os: ubuntu-latest + compile-go: False env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - container: python:3.7 + COMPILE_GO: ${{ matrix.compile-go }} steps: - uses: actions/checkout@v2 + - name: Setup Python + id: setup-python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - name: Setup Go + id: setup-go + uses: actions/setup-go@v2 + with: + go-version: 1.17.7 + - name: Upgrade pip version + run: | + pip install --upgrade "pip>=21.3.1" - name: Install pip-tools run: pip install pip-tools - name: Install dependencies - run: make install-python-ci-dependencies PYTHON=3.7 + run: make install-python-ci-dependencies PYTHON=${{ matrix.python-version }} - name: Publish Python Package run: | cd sdk/python python3 -m pip install --user --upgrade setuptools wheel twine python3 setup.py sdist bdist_wheel - python3 -m twine upload --verbose dist/* + python3 -m twine upload --verbose dist/*.whl publish-python-sdk-no-telemetry: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + python-version: [ "3.7", "3.8", "3.9", "3.10" ] + os: [ ubuntu-latest, macOS-latest ] + compile-go: [ True ] + include: + - python-version: "3.7" + os: ubuntu-latest + compile-go: False needs: get-version env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - container: python:3.7 + COMPILE_GO: ${{ matrix.compile-go }} steps: - uses: actions/checkout@v2 + - name: Setup Python + id: setup-python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - name: Setup Go + id: setup-go + uses: actions/setup-go@v2 + with: + go-version: 1.17.7 + - name: Upgrade pip version + run: | + pip install --upgrade "pip>=21.3.1" - name: Install pip-tools run: pip install pip-tools - name: Install dependencies - run: make install-python-ci-dependencies PYTHON=3.7 + run: make install-python-ci-dependencies PYTHON=${{ matrix.python-version }} - name: Publish Python Package env: SETUPTOOLS_SCM_PRETEND_VERSION: ${{ needs.get-version.outputs.version_without_prefix }} @@ -166,7 +214,7 @@ jobs: sed -i 's/NAME = "feast"/NAME = "feast-no-telemetry"/g' setup.py python3 -m pip install --user --upgrade setuptools wheel twine python3 setup.py sdist bdist_wheel - python3 -m twine upload --verbose dist/* + python3 -m twine upload --verbose dist/*.whl publish-java-sdk: container: maven:3.6-jdk-11 @@ -204,3 +252,22 @@ jobs: mkdir -p /root/.m2/ echo -n "$MAVEN_SETTINGS" > /root/.m2/settings.xml infra/scripts/publish-java-sdk.sh --revision ${VERSION_WITHOUT_PREFIX} --gpg-key-import-dir /root + + publish-web-ui-npm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '17.x' + registry-url: 'https://registry.npmjs.org' + - name: Install yarn dependencies + working-directory: ./ui + run: yarn install + - name: Build yarn rollup + working-directory: ./ui + run: yarn build:lib + - name: Publish UI package + run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d66f895bf54..2f4d15590a1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,4 +40,4 @@ jobs: - name: Release if: github.event.inputs.dry_run == 'false' run: | - npx -p @semantic-release/changelog -p @semantic-release/git -p @semantic-release/exec -p semantic-release semantic-release \ No newline at end of file + npx -p @semantic-release/changelog -p @semantic-release/git -p @semantic-release/exec -p semantic-release semantic-release diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index d9552e175e7..8f37e2e2a36 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -7,7 +7,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ 3.7, 3.8, 3.9 ] + python-version: [ "3.7", "3.8", "3.9", "3.10" ] os: [ ubuntu-latest, macOS-latest] env: OS: ${{ matrix.os }} @@ -20,6 +20,11 @@ jobs: with: python-version: ${{ matrix.python-version }} architecture: x64 + - name: Setup Go + id: setup-go + uses: actions/setup-go@v2 + with: + go-version: 1.17.7 - name: Upgrade pip version run: | pip install --upgrade "pip>=21.3.1" @@ -61,11 +66,23 @@ jobs: unit-test-go: runs-on: ubuntu-latest - container: gcr.io/kf-feast/feast-ci:latest steps: - uses: actions/checkout@v2 + - name: Setup Python + id: setup-python + uses: actions/setup-python@v2 + with: + python-version: "3.7" + - name: Upgrade pip version + run: | + pip install --upgrade "pip>=21.3.1" + - name: Setup Go + id: setup-go + uses: actions/setup-go@v2 + with: + go-version: 1.17.7 - name: Install dependencies - run: make install-go-ci-dependencies + run: make install-go-proto-dependencies - name: Compile protos run: make compile-protos-go - name: Test diff --git a/.gitignore b/.gitignore index 05c73a42951..0f3165e8414 100644 --- a/.gitignore +++ b/.gitignore @@ -105,6 +105,7 @@ coverage.xml .hypothesis/ .pytest_cache/ infra/scripts/*.conf +go/cmd/server/logging/feature_repo/data/ # Translations *.mo @@ -186,6 +187,7 @@ dmypy.json sdk/python/docs/html sdk/python/feast/protos/ sdk/go/protos/ +go/protos/ #benchmarks .benchmarks @@ -203,7 +205,7 @@ ui/.pnp ui/.pnp.js ui/coverage ui/build -ui/feature_repo/data/online.db +ui/feature_repo/data/online.db ui/feature_repo/registry.db ui/.vercel @@ -218,3 +220,5 @@ ui/.vercel **/yarn-debug.log* **/yarn-error.log* +# Go subprocess binaries (built during feast pip package building) +sdk/python/feast/binaries/ diff --git a/.prow/config.yaml b/.prow/config.yaml index 8b3905e43bb..21adb54fda3 100644 --- a/.prow/config.yaml +++ b/.prow/config.yaml @@ -60,7 +60,6 @@ tide: - do-not-merge/invalid-owners-file - do-not-merge/work-in-progress - needs-rebase - - needs-kind merge_method: feast-dev/feast: squash feast-dev/feast-spark: squash diff --git a/.prow/plugins.yaml b/.prow/plugins.yaml index 0dbf0f4c72b..eca8851c67d 100644 --- a/.prow/plugins.yaml +++ b/.prow/plugins.yaml @@ -12,8 +12,6 @@ plugins: - wip - trigger - config-updater - - require-matching-label - - release-note feast-dev/feast-spark: - approve - assign @@ -27,8 +25,6 @@ plugins: - wip - trigger - config-updater - - require-matching-label - - release-note config_updater: maps: @@ -46,15 +42,3 @@ external_plugins: - name: needs-rebase events: - pull_request - -require_matching_label: -- missing_label: needs-kind - org: feast-dev - repo: feast - prs: true - regexp: ^kind/ -- missing_label: needs-kind - org: feast-dev - repo: feast-spark - prs: true - regexp: ^kind/ diff --git a/.releaserc.js b/.releaserc.js index 60a8616e073..8cdcc1f2779 100644 --- a/.releaserc.js +++ b/.releaserc.js @@ -22,12 +22,26 @@ possible_branches = [{name: "master"}, {name: current_branch}] module.exports = { branches: possible_branches, plugins: [ - "@semantic-release/commit-analyzer", + // Try to guess the type of release we should be doing (minor, patch) + ["@semantic-release/commit-analyzer", { + // Ensure that breaking changes trigger minor instead of major releases + "releaseRules": [ + {breaking: true, release: 'minor'}, + {tag: 'Breaking', release: 'minor'}, + ] + }], + ["@semantic-release/exec", { + // Validate the type of release we are doing "verifyReleaseCmd": "./infra/scripts/validate-release.sh ${nextRelease.type} " + current_branch, - "prepareCmd": "python ./infra/scripts/version_bump/bump_file_versions.py ${lastRelease.version} ${nextRelease.version}" + + // Bump all version files + "prepareCmd": "python ./infra/scripts/release/bump_file_versions.py ${lastRelease.version} ${nextRelease.version}" }], + "@semantic-release/release-notes-generator", + + // Update the changelog [ "@semantic-release/changelog", { @@ -35,6 +49,8 @@ module.exports = { changelogTitle: "# Changelog", } ], + + // Make a git commit, tag, and push the changes [ "@semantic-release/git", { @@ -46,7 +62,21 @@ module.exports = { message: "chore(release): release ${nextRelease.version}\n\n${nextRelease.notes}" } ], - "@semantic-release/github" + + // Publish a GitHub release (but don't spam issues/PRs with comments) + [ + "@semantic-release/github", + { + successComment: false, + failComment: false, + failTitle: false, + labels: false, + } + ], + + // For some reason all patches are tagged as pre-release. This step undoes that. + ["@semantic-release/exec", { + "publishCmd": "python ./infra/scripts/release/unset_prerelease.py ${nextRelease.version}" + }], ] } - diff --git a/CHANGELOG.md b/CHANGELOG.md index 73b8d2f0500..bcb6f8cde3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,81 @@ # Changelog +# [0.20.0](https://github.com/feast-dev/feast/compare/v0.19.0...v0.20.0) (2022-04-14) + + +### Bug Fixes + +* Add inlined data sources to the top level registry ([#2456](https://github.com/feast-dev/feast/issues/2456)) ([356788a](https://github.com/feast-dev/feast/commit/356788a4d3c3677f60512b3e841498245289d9a2)) +* Add new value types to types.ts for web ui ([#2463](https://github.com/feast-dev/feast/issues/2463)) ([ad5694e](https://github.com/feast-dev/feast/commit/ad5694e601559ca1d8f8d3c91307c3c2cae1c69a)) +* Add PushSource proto and Python class ([#2428](https://github.com/feast-dev/feast/issues/2428)) ([9a4bd63](https://github.com/feast-dev/feast/commit/9a4bd63f62b54b76148c069c7665a3067553c456)) +* Add spark to lambda dockerfile ([#2480](https://github.com/feast-dev/feast/issues/2480)) ([514666f](https://github.com/feast-dev/feast/commit/514666f31cf6456dee59a5db750d8bd4ec63d8be)) +* Added private_key auth for Snowflake ([#2508](https://github.com/feast-dev/feast/issues/2508)) ([c42c9b0](https://github.com/feast-dev/feast/commit/c42c9b0f2a962e428d9af0d3e7ba080a62d77008)) +* Added Redshift and Spark typecheck to data_source event_timestamp_col inference ([#2389](https://github.com/feast-dev/feast/issues/2389)) ([04dea73](https://github.com/feast-dev/feast/commit/04dea732a495dfc8fa3dd006c89f73c6d08097c5)) +* Building of go extension fails ([#2448](https://github.com/feast-dev/feast/issues/2448)) ([7d1efd5](https://github.com/feast-dev/feast/commit/7d1efd56387b4a8c373c69f062ea31214f33c5f1)) +* Bump the number of versions bumps expected to 27 ([#2549](https://github.com/feast-dev/feast/issues/2549)) ([ecc9938](https://github.com/feast-dev/feast/commit/ecc9938774e9446f54484272bb3677e8d2fc1682)) +* Create __init__ files for the proto-generated python dirs ([#2410](https://github.com/feast-dev/feast/issues/2410)) ([e17028d](https://github.com/feast-dev/feast/commit/e17028dbb90cb88d9df9a9769abbd90c5c301563)) +* Don't prevent apply from running given duplicate empty names in data sources. Also fix repeated apply of Spark data source. ([#2415](https://github.com/feast-dev/feast/issues/2415)) ([b95f441](https://github.com/feast-dev/feast/commit/b95f4410ee91069ff84e81d2d5f3e9329edc8626)) +* Dynamodb deduplicate batch write request by partition keys ([#2515](https://github.com/feast-dev/feast/issues/2515)) ([70d4a13](https://github.com/feast-dev/feast/commit/70d4a1335312747521fc57e7742abf7eb85c12a6)) +* Ensure that __init__ files exist in proto dirs ([#2433](https://github.com/feast-dev/feast/issues/2433)) ([9b94f7b](https://github.com/feast-dev/feast/commit/9b94f7b35221af0bf1f813ab47e2f52e37a79ca6)) +* Fix DataSource constructor to unbreak custom data sources ([#2492](https://github.com/feast-dev/feast/issues/2492)) ([712653e](https://github.com/feast-dev/feast/commit/712653e91cc4dc51174058a850f00a471c7269b9)) +* Fix default feast apply path without any extras ([#2373](https://github.com/feast-dev/feast/issues/2373)) ([6ba7fc7](https://github.com/feast-dev/feast/commit/6ba7fc789da34f0d239d7cae1b3a95e14eae9e2f)) +* Fix definitions.py with new definition ([#2541](https://github.com/feast-dev/feast/issues/2541)) ([eefc34a](https://github.com/feast-dev/feast/commit/eefc34a5da978ccc686bbc2586b4af5de3917ff1)) +* Fix entity row to use join key instead of name ([#2521](https://github.com/feast-dev/feast/issues/2521)) ([c22fa2c](https://github.com/feast-dev/feast/commit/c22fa2c42c2c2b6b84c1876f12d690806ea8d431)) +* Fix Java Master ([#2499](https://github.com/feast-dev/feast/issues/2499)) ([e083458](https://github.com/feast-dev/feast/commit/e0834587ec1450026a17a7c18f2708d44410da07)) +* Fix registry proto ([#2435](https://github.com/feast-dev/feast/issues/2435)) ([ea6a9b2](https://github.com/feast-dev/feast/commit/ea6a9b2034c35bf36ee5073fad93dde52279ebcd)) +* Fix some inconsistencies in the docs and comments in the code ([#2444](https://github.com/feast-dev/feast/issues/2444)) ([ad008bf](https://github.com/feast-dev/feast/commit/ad008bfd1d826a72247accf993a58505a9e2b308)) +* Fix spark docs ([#2382](https://github.com/feast-dev/feast/issues/2382)) ([d4a606a](https://github.com/feast-dev/feast/commit/d4a606ad68fedeb12839038a956043a66e6f518f)) +* Fix Spark template to work correctly on feast init -t spark ([#2393](https://github.com/feast-dev/feast/issues/2393)) ([ae133fd](https://github.com/feast-dev/feast/commit/ae133fd3ee55da3ff2fb2848456de527935ee94f)) +* Fix the feature repo fixture used by java tests ([#2469](https://github.com/feast-dev/feast/issues/2469)) ([32e925e](https://github.com/feast-dev/feast/commit/32e925e5edebef98449e295e2b1cf0f98ceb8d77)) +* Fix unhashable Snowflake and Redshift sources ([cd8f1c9](https://github.com/feast-dev/feast/commit/cd8f1c9d3a07231343631692b6de67e7f5c93b8f)) +* Fixed bug in passing config file params to snowflake python connector ([#2503](https://github.com/feast-dev/feast/issues/2503)) ([34f2b59](https://github.com/feast-dev/feast/commit/34f2b591bc8de3af59dfd0031ff803b4fe028abd)) +* Fixing Spark template to include source name ([#2381](https://github.com/feast-dev/feast/issues/2381)) ([a985f1d](https://github.com/feast-dev/feast/commit/a985f1d310915bafba3074f9cea776232b956e29)) +* Make name a keyword arg for the Entity class ([#2467](https://github.com/feast-dev/feast/issues/2467)) ([43847de](https://github.com/feast-dev/feast/commit/43847dea74b25bb2081d76b1fd5e43da8cbc0781)) +* Making a name for data sources not a breaking change ([#2379](https://github.com/feast-dev/feast/issues/2379)) ([71d7ae2](https://github.com/feast-dev/feast/commit/71d7ae26f0357646a15a41f7c2b53a0cab1b7c12)) +* Minor link fix in `CONTRIBUTING.md` ([#2481](https://github.com/feast-dev/feast/issues/2481)) ([2917e27](https://github.com/feast-dev/feast/commit/2917e272ab538955d564552a56ef36bb3f75f646)) +* Preserve ordering of features in _get_column_names ([#2457](https://github.com/feast-dev/feast/issues/2457)) ([495b435](https://github.com/feast-dev/feast/commit/495b4353051d9d48886407f2ca7de19c3eb458d7)) +* Relax click python requirement to >=7 ([#2450](https://github.com/feast-dev/feast/issues/2450)) ([f202f92](https://github.com/feast-dev/feast/commit/f202f928ff02f4a263f3b4ce450051e526304c51)) +* Remove date partition column field from datasources that don't s… ([#2478](https://github.com/feast-dev/feast/issues/2478)) ([ce35835](https://github.com/feast-dev/feast/commit/ce35835413d4f5bc174eb177e277be96e8bb9673)) +* Remove docker step from unit test workflow ([#2535](https://github.com/feast-dev/feast/issues/2535)) ([6f22f22](https://github.com/feast-dev/feast/commit/6f22f227a22bea6f9ef171764a4c5e3d74b310ea)) +* Remove spark from the AWS Lambda dockerfile ([#2498](https://github.com/feast-dev/feast/issues/2498)) ([6abae16](https://github.com/feast-dev/feast/commit/6abae16803ef4644c91822626820e99b2f7cfbbd)) +* Request data api update ([#2488](https://github.com/feast-dev/feast/issues/2488)) ([0c9e5b7](https://github.com/feast-dev/feast/commit/0c9e5b7e2132b619056e9b41519d54a93e977f6c)) +* Schema update ([#2509](https://github.com/feast-dev/feast/issues/2509)) ([cf7bbc2](https://github.com/feast-dev/feast/commit/cf7bbc2226e2c3d652df1ddfc411a1feadda26c4)) +* Simplify DataSource.from_proto logic ([#2424](https://github.com/feast-dev/feast/issues/2424)) ([6bda4d2](https://github.com/feast-dev/feast/commit/6bda4d2b2080e5a97333e14863f2235aed989661)) +* Snowflake api update ([#2487](https://github.com/feast-dev/feast/issues/2487)) ([1181a9e](https://github.com/feast-dev/feast/commit/1181a9e62335ee00ee54cd1bc88baa6297238988)) +* Support passing batch source to streaming sources for backfills ([#2523](https://github.com/feast-dev/feast/issues/2523)) ([90db1d1](https://github.com/feast-dev/feast/commit/90db1d1bb079a76a6a26a89a9c70b9f80bb8b08a)) +* Timestamp update ([#2486](https://github.com/feast-dev/feast/issues/2486)) ([bf23111](https://github.com/feast-dev/feast/commit/bf23111acedf0b5180e368e1cffbdeb0da5a8f30)) +* Typos in Feast UI error message ([#2432](https://github.com/feast-dev/feast/issues/2432)) ([e14369d](https://github.com/feast-dev/feast/commit/e14369def00c116e05c91475c29fa32ab2fa8aeb)) +* Update feature view APIs to prefer keyword args ([#2472](https://github.com/feast-dev/feast/issues/2472)) ([7c19cf7](https://github.com/feast-dev/feast/commit/7c19cf7fe3e42674a357e54a6576c772a7bcb107)) +* Update file api ([#2470](https://github.com/feast-dev/feast/issues/2470)) ([83a11c6](https://github.com/feast-dev/feast/commit/83a11c6b3af3b78653fe612989a5f5227cb773c1)) +* Update Makefile to cd into python dir before running commands ([#2437](https://github.com/feast-dev/feast/issues/2437)) ([ca32155](https://github.com/feast-dev/feast/commit/ca3215502bc4c92d0635efaceae22acc914c73a8)) +* Update redshift api ([#2479](https://github.com/feast-dev/feast/issues/2479)) ([4fa73a9](https://github.com/feast-dev/feast/commit/4fa73a9c1fc5f003a5662e497d77e69efdbae6c1)) +* Update some fields optional in UI parser ([#2380](https://github.com/feast-dev/feast/issues/2380)) ([cff7ac3](https://github.com/feast-dev/feast/commit/cff7ac3c6440a78a7fa460b2f19bc07d9ea5aab2)) +* Use a single version of jackson libraries and upgrade to 2.12.6.1 ([#2473](https://github.com/feast-dev/feast/issues/2473)) ([5be1cc6](https://github.com/feast-dev/feast/commit/5be1cc6768c123b592c26099d12f3469f575a52c)) +* Use dateutil parser to parse materialization times ([#2464](https://github.com/feast-dev/feast/issues/2464)) ([6c55e49](https://github.com/feast-dev/feast/commit/6c55e49898e9b5f5aa77fe87ac0807984937a708)) +* Use the correct dockerhub image tag when building feature servers ([#2372](https://github.com/feast-dev/feast/issues/2372)) ([0d62c1d](https://github.com/feast-dev/feast/commit/0d62c1d34b02cd67e13e545d081b90fe1562261e)) + + +### Features + +* Add `/write-to-online-store` method to the python feature server ([#2423](https://github.com/feast-dev/feast/issues/2423)) ([d2fb048](https://github.com/feast-dev/feast/commit/d2fb0487134f011c1a0f217f1a325e3bf6a52d27)) +* Add description, tags, owner fields to all feature view classes ([#2440](https://github.com/feast-dev/feast/issues/2440)) ([ed5e928](https://github.com/feast-dev/feast/commit/ed5e9282678c943c750c5e9d84037376dd1380d3)) +* Add DQM Logging on GRPC Server with FileLogStorage for Testing ([#2403](https://github.com/feast-dev/feast/issues/2403)) ([57a97d8](https://github.com/feast-dev/feast/commit/57a97d8e207e38876901b9a6b1d6e0f7cc6ce43d)) +* Add Feast types in preparation for changing type system ([#2475](https://github.com/feast-dev/feast/issues/2475)) ([4864252](https://github.com/feast-dev/feast/commit/4864252db4e8ef6effb596c689bd17ec884ebffe)) +* Add Field class ([#2500](https://github.com/feast-dev/feast/issues/2500)) ([1279612](https://github.com/feast-dev/feast/commit/1279612fe64d8d24fa57d873f4a617095adc5feb)) +* Add support for DynamoDB online_read in batches ([#2371](https://github.com/feast-dev/feast/issues/2371)) ([702ec49](https://github.com/feast-dev/feast/commit/702ec498eff2fb079d5403e9471b73ae840d6d7f)) +* Add Support for DynamodbOnlineStoreConfig endpoint_url parameter ([#2485](https://github.com/feast-dev/feast/issues/2485)) ([7b863d1](https://github.com/feast-dev/feast/commit/7b863d14e8442007b1403e467130b974b3aba078)) +* Add templating for dynamodb table name ([#2394](https://github.com/feast-dev/feast/issues/2394)) ([f591088](https://github.com/feast-dev/feast/commit/f59108806c6819bcd42828244a2abc66471cd8f8)) +* Allow local feature server to use Go feature server if enabled ([#2538](https://github.com/feast-dev/feast/issues/2538)) ([a2ef375](https://github.com/feast-dev/feast/commit/a2ef3755766a7224298f984a2cadb17829b2f3d2)) +* Allow using entity's join_key in get_online_features ([#2420](https://github.com/feast-dev/feast/issues/2420)) ([068c765](https://github.com/feast-dev/feast/commit/068c765ccf5f984bc0a73a8354711f39a5c17da7)) +* Data Source Api Update ([#2468](https://github.com/feast-dev/feast/issues/2468)) ([6b96b21](https://github.com/feast-dev/feast/commit/6b96b21a32cc6dc3b44b48289711a66b2c33512d)) +* Go server ([#2339](https://github.com/feast-dev/feast/issues/2339)) ([d12e7ef](https://github.com/feast-dev/feast/commit/d12e7ef3b9c79cae30a2401c9ae6c0ac783c4b6b)), closes [#2354](https://github.com/feast-dev/feast/issues/2354) [#2361](https://github.com/feast-dev/feast/issues/2361) [#2332](https://github.com/feast-dev/feast/issues/2332) [#2356](https://github.com/feast-dev/feast/issues/2356) [#2363](https://github.com/feast-dev/feast/issues/2363) [#2349](https://github.com/feast-dev/feast/issues/2349) [#2355](https://github.com/feast-dev/feast/issues/2355) [#2336](https://github.com/feast-dev/feast/issues/2336) [#2361](https://github.com/feast-dev/feast/issues/2361) [#2363](https://github.com/feast-dev/feast/issues/2363) [#2344](https://github.com/feast-dev/feast/issues/2344) [#2354](https://github.com/feast-dev/feast/issues/2354) [#2347](https://github.com/feast-dev/feast/issues/2347) [#2350](https://github.com/feast-dev/feast/issues/2350) [#2356](https://github.com/feast-dev/feast/issues/2356) [#2355](https://github.com/feast-dev/feast/issues/2355) [#2349](https://github.com/feast-dev/feast/issues/2349) [#2352](https://github.com/feast-dev/feast/issues/2352) [#2341](https://github.com/feast-dev/feast/issues/2341) [#2336](https://github.com/feast-dev/feast/issues/2336) [#2373](https://github.com/feast-dev/feast/issues/2373) [#2315](https://github.com/feast-dev/feast/issues/2315) [#2372](https://github.com/feast-dev/feast/issues/2372) [#2332](https://github.com/feast-dev/feast/issues/2332) [#2349](https://github.com/feast-dev/feast/issues/2349) [#2336](https://github.com/feast-dev/feast/issues/2336) [#2361](https://github.com/feast-dev/feast/issues/2361) [#2363](https://github.com/feast-dev/feast/issues/2363) [#2344](https://github.com/feast-dev/feast/issues/2344) [#2354](https://github.com/feast-dev/feast/issues/2354) [#2347](https://github.com/feast-dev/feast/issues/2347) [#2350](https://github.com/feast-dev/feast/issues/2350) [#2356](https://github.com/feast-dev/feast/issues/2356) [#2355](https://github.com/feast-dev/feast/issues/2355) [#2349](https://github.com/feast-dev/feast/issues/2349) [#2352](https://github.com/feast-dev/feast/issues/2352) [#2341](https://github.com/feast-dev/feast/issues/2341) [#2336](https://github.com/feast-dev/feast/issues/2336) [#2373](https://github.com/feast-dev/feast/issues/2373) [#2379](https://github.com/feast-dev/feast/issues/2379) [#2380](https://github.com/feast-dev/feast/issues/2380) [#2382](https://github.com/feast-dev/feast/issues/2382) [#2364](https://github.com/feast-dev/feast/issues/2364) [#2366](https://github.com/feast-dev/feast/issues/2366) [#2386](https://github.com/feast-dev/feast/issues/2386) +* Graduate write_to_online_store out of experimental status ([#2426](https://github.com/feast-dev/feast/issues/2426)) ([e7dd4b7](https://github.com/feast-dev/feast/commit/e7dd4b75ba0fbd86338aacf2ecd0cc8979dc803b)) +* Make feast PEP 561 compliant ([#2405](https://github.com/feast-dev/feast/issues/2405)) ([3c41f94](https://github.com/feast-dev/feast/commit/3c41f944c68fb6687389c0b154f7297941a1f398)), closes [#2420](https://github.com/feast-dev/feast/issues/2420) [#2418](https://github.com/feast-dev/feast/issues/2418) [#2425](https://github.com/feast-dev/feast/issues/2425) [#2426](https://github.com/feast-dev/feast/issues/2426) [#2427](https://github.com/feast-dev/feast/issues/2427) [#2431](https://github.com/feast-dev/feast/issues/2431) [#2433](https://github.com/feast-dev/feast/issues/2433) [#2420](https://github.com/feast-dev/feast/issues/2420) [#2418](https://github.com/feast-dev/feast/issues/2418) [#2425](https://github.com/feast-dev/feast/issues/2425) [#2426](https://github.com/feast-dev/feast/issues/2426) [#2427](https://github.com/feast-dev/feast/issues/2427) [#2431](https://github.com/feast-dev/feast/issues/2431) [#2433](https://github.com/feast-dev/feast/issues/2433) +* Makefile for contrib for Issue [#2364](https://github.com/feast-dev/feast/issues/2364) ([#2366](https://github.com/feast-dev/feast/issues/2366)) ([a02325b](https://github.com/feast-dev/feast/commit/a02325b20f4d1a949ebb1f26bd3b65a22e3ea4f3)) +* Support on demand feature views in go feature server ([#2494](https://github.com/feast-dev/feast/issues/2494)) ([6edd274](https://github.com/feast-dev/feast/commit/6edd274261689b8c67df31d598aa5d5b14dcf5f7)) +* Switch from Feature to Field ([#2514](https://github.com/feast-dev/feast/issues/2514)) ([6a03bed](https://github.com/feast-dev/feast/commit/6a03bed82bf408d2f46d209be7ac9524b4ea6dcd)) +* Use a daemon thread to monitor the go feature server exclusively ([#2391](https://github.com/feast-dev/feast/issues/2391)) ([0bb5e8c](https://github.com/feast-dev/feast/commit/0bb5e8c5a91f6f986f879f965b84e987e71a9d88)) + # [0.19.0](https://github.com/feast-dev/feast/compare/v0.18.0...v0.19.0) (2022-03-05) @@ -24,11 +100,11 @@ * Key ttl setting for redis online store ([#2341](https://github.com/feast-dev/feast/issues/2341)) ([236a108](https://github.com/feast-dev/feast/commit/236a108c87aed106e0a46e48172d31dc94ed9c2b)) * Metadata changes & making data sources top level objects to power Feast UI ([#2336](https://github.com/feast-dev/feast/issues/2336)) ([43da230](https://github.com/feast-dev/feast/commit/43da2302dfcbf3b5e56ed068021b5821d544c05f)) -## [v0.18.1](https://github.com/feast-dev/feast/tree/v0.18.1) (2022-02-15) +# [v0.18.1](https://github.com/feast-dev/feast/tree/v0.18.1) (2022-02-15) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.18.0...v0.18.1) -**Fixed bugs:** +### Bug Fixes - ODFVs raise a PerformanceWarning for very large sets of features [\#2293](https://github.com/feast-dev/feast/issues/2293) - Don't require `snowflake` to always be installed [\#2309](https://github.com/feast-dev/feast/pull/2309) ([judahrand](https://github.com/judahrand)) @@ -39,7 +115,7 @@ - Expose snowflake credentials for unit testing [\#2288](https://github.com/feast-dev/feast/pull/2288) ([sfc-gh-madkins](https://github.com/sfc-gh-madkins)) - Fix flaky tests \(test\_online\_store\_cleanup & test\_feature\_get\_online\_features\_types\_match\) [\#2276](https://github.com/feast-dev/feast/pull/2276) ([pyalex](https://github.com/pyalex)) -**Merged pull requests:** +### Merged Pull Requests - Remove old flag warning with the python feature server [\#2300](https://github.com/feast-dev/feast/pull/2300) ([adchia](https://github.com/adchia)) - Use an OFFLINE schema for Snowflake offline store tests [\#2291](https://github.com/feast-dev/feast/pull/2291) ([sfc-gh-madkins](https://github.com/sfc-gh-madkins)) @@ -47,11 +123,11 @@ - Add -SNAPSHOT suffix to pom.xml version [\#2286](https://github.com/feast-dev/feast/pull/2286) ([tsotnet](https://github.com/tsotnet)) - Update CONTRIBUTING.md [\#2282](https://github.com/feast-dev/feast/pull/2282) ([adchia](https://github.com/adchia)) -## [v0.18.0](https://github.com/feast-dev/feast/tree/v0.18.0) (2022-02-05) +# [v0.18.0](https://github.com/feast-dev/feast/tree/v0.18.0) (2022-02-05) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.17.0...v0.18.0) -**Implemented enhancements:** +### Features - Tutorial on validation of historical features [\#2277](https://github.com/feast-dev/feast/pull/2277) ([pyalex](https://github.com/pyalex)) - Feast plan clean up [\#2256](https://github.com/feast-dev/feast/pull/2256) ([felixwang9817](https://github.com/felixwang9817)) @@ -66,7 +142,7 @@ - Add InfraDiff class for feast plan [\#2190](https://github.com/feast-dev/feast/pull/2190) ([felixwang9817](https://github.com/felixwang9817)) - Use FeatureViewProjection instead of FeatureView in ODFV [\#2186](https://github.com/feast-dev/feast/pull/2186) ([judahrand](https://github.com/judahrand)) -**Fixed bugs:** +### Bug Fixes - Set `created\_timestamp` and `last\_updated\_timestamp` fields [\#2266](https://github.com/feast-dev/feast/pull/2266) ([judahrand](https://github.com/judahrand)) - Use `datetime.utcnow\(\)` to avoid timezone issues [\#2265](https://github.com/feast-dev/feast/pull/2265) ([judahrand](https://github.com/judahrand)) @@ -91,7 +167,7 @@ - Speed up Datastore deletes by batch deletions with multithreading [\#2182](https://github.com/feast-dev/feast/pull/2182) ([ptoman-pa](https://github.com/ptoman-pa)) - Fixes large payload runtime exception in Datastore \(issue 1633\) [\#2181](https://github.com/feast-dev/feast/pull/2181) ([ptoman-pa](https://github.com/ptoman-pa)) -**Merged pull requests:** +### Merged Pull Requests - Add link to community plugin for Spark offline store [\#2279](https://github.com/feast-dev/feast/pull/2279) ([adchia](https://github.com/adchia)) - Fix broken links on documentation [\#2278](https://github.com/feast-dev/feast/pull/2278) ([adchia](https://github.com/adchia)) @@ -125,11 +201,11 @@ - Add a unit test for the tag\_proto\_objects method [\#2163](https://github.com/feast-dev/feast/pull/2163) ([achals](https://github.com/achals)) -## [v0.17.0](https://github.com/feast-dev/feast/tree/v0.17.0) (2021-12-31) +# [v0.17.0](https://github.com/feast-dev/feast/tree/v0.17.0) (2021-12-31) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.16.1...v0.17.0) -**Implemented enhancements:** +### Features - Add feast-python-server helm chart [\#2177](https://github.com/feast-dev/feast/pull/2177) ([michelle-rascati-sp](https://github.com/michelle-rascati-sp)) - Add SqliteTable as an InfraObject [\#2157](https://github.com/feast-dev/feast/pull/2157) ([felixwang9817](https://github.com/felixwang9817)) @@ -141,7 +217,7 @@ - Add Infra and InfraObjects classes [\#2125](https://github.com/feast-dev/feast/pull/2125) ([felixwang9817](https://github.com/felixwang9817)) - Pre compute the timestamp range for feature views [\#2103](https://github.com/feast-dev/feast/pull/2103) ([judahrand](https://github.com/judahrand)) -**Fixed bugs:** +### Bug Fixes - Fix issues with java docker building [\#2178](https://github.com/feast-dev/feast/pull/2178) ([achals](https://github.com/achals)) - unpin boto dependency in setup [\#2168](https://github.com/feast-dev/feast/pull/2168) ([fengyu05](https://github.com/fengyu05)) @@ -157,7 +233,7 @@ - Remove spring-boot from the feast serving application [\#2127](https://github.com/feast-dev/feast/pull/2127) ([achals](https://github.com/achals)) - Fix Makefile to properly create the ECR\_VERSION [\#2123](https://github.com/feast-dev/feast/pull/2123) ([adchia](https://github.com/adchia)) -**Closed issues:** +### Closes Issues - In GH workflow docker images are being built but not published [\#2152](https://github.com/feast-dev/feast/issues/2152) - Any plan to make Feast 0.10+ support docker [\#2148](https://github.com/feast-dev/feast/issues/2148) @@ -165,7 +241,7 @@ - Release workflow does not work [\#2136](https://github.com/feast-dev/feast/issues/2136) - Redis Online Store - Truncate and Load [\#2129](https://github.com/feast-dev/feast/issues/2129) -**Merged pull requests:** +### Merged Pull Requests - Update roadmap to include Snowflake + Trino. Also fix docs + update FAQ [\#2175](https://github.com/feast-dev/feast/pull/2175) ([adchia](https://github.com/adchia)) - Convert python values into proto values in bulk [\#2172](https://github.com/feast-dev/feast/pull/2172) ([pyalex](https://github.com/pyalex)) @@ -188,33 +264,33 @@ - Fix leaking dynamodb tables in integration tests [\#2104](https://github.com/feast-dev/feast/pull/2104) ([pyalex](https://github.com/pyalex)) - Remove untested and undocumented interfaces [\#2084](https://github.com/feast-dev/feast/pull/2084) ([judahrand](https://github.com/judahrand)) - Update creating-a-custom-provider.md [\#2070](https://github.com/feast-dev/feast/pull/2070) ([ChaitanyaKN](https://github.com/ChaitanyaKN)) -## [v0.16.1](https://github.com/feast-dev/feast/tree/v0.16.1) (2021-12-10) +# [v0.16.1](https://github.com/feast-dev/feast/tree/v0.16.1) (2021-12-10) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.16.0...v0.16.1) -**Fixed bugs:** +### Bug Fixes - Bump log4j-api from 2.13.2 to 2.15.0 in /java [\#2133](https://github.com/feast-dev/feast/pull/2133) ([dependabot[bot]](https://github.com/apps/dependabot)) - Fix release workflow to use the new GCP action [\#2132](https://github.com/feast-dev/feast/pull/2132) ([adchia](https://github.com/adchia)) - Fix Makefile to properly create the ECR\_VERSION [\#2123](https://github.com/feast-dev/feast/pull/2123) ([adchia](https://github.com/adchia)) -**Merged pull requests:** +### Merged Pull Requests - Updating lambda docker image to feature-server-python-aws [\#2130](https://github.com/feast-dev/feast/pull/2130) ([adchia](https://github.com/adchia)) - Fix README to reflect new integration test suites [\#2124](https://github.com/feast-dev/feast/pull/2124) ([adchia](https://github.com/adchia)) - Remove argument `feature_refs` [\#2115](https://github.com/feast-dev/feast/pull/2115) ([judahrand](https://github.com/judahrand)) -## [v0.16.0](https://github.com/feast-dev/feast/tree/v0.16.0) (2021-12-08) +# [v0.16.0](https://github.com/feast-dev/feast/tree/v0.16.0) (2021-12-08) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.15.1...v0.16.0) -**Implemented enhancements:** +### Features - Install redis extra in AWS Lambda feature server & add hiredis depend… [\#2057](https://github.com/feast-dev/feast/pull/2057) ([tsotnet](https://github.com/tsotnet)) - Support of GC and S3 storages for registry in Java Feature Server [\#2043](https://github.com/feast-dev/feast/pull/2043) ([pyalex](https://github.com/pyalex)) - Adding stream ingestion alpha documentation [\#2005](https://github.com/feast-dev/feast/pull/2005) ([adchia](https://github.com/adchia)) -**Fixed bugs:** +### Bug Fixes - requested\_features are not passed to online\_read\(\) from passthrough\_provider [\#2106](https://github.com/feast-dev/feast/issues/2106) - `feast apply` broken with 0.15.\* if the registry already exists [\#2086](https://github.com/feast-dev/feast/issues/2086) @@ -244,7 +320,7 @@ - Fix duplicate update infra [\#1990](https://github.com/feast-dev/feast/pull/1990) ([felixwang9817](https://github.com/felixwang9817)) - Improve performance of \_convert\_arrow\_to\_proto [\#1984](https://github.com/feast-dev/feast/pull/1984) ([nossrannug](https://github.com/nossrannug)) -**Merged pull requests:** +### Merged Pull Requests - Add changelog for v0.16.0 [\#2120](https://github.com/feast-dev/feast/pull/2120) ([adchia](https://github.com/adchia)) - Update FAQ [\#2118](https://github.com/feast-dev/feast/pull/2118) ([felixwang9817](https://github.com/felixwang9817)) @@ -288,18 +364,18 @@ - Add changelog for v0.15.0 [\#2006](https://github.com/feast-dev/feast/pull/2006) ([adchia](https://github.com/adchia)) - Add integration tests for AWS Lambda feature server [\#2001](https://github.com/feast-dev/feast/pull/2001) ([tsotnet](https://github.com/tsotnet)) -## [v0.15.1](https://github.com/feast-dev/feast/tree/v0.15.1) (2021-11-13) +# [v0.15.1](https://github.com/feast-dev/feast/tree/v0.15.1) (2021-11-13) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.15.0...v0.15.1) -**Fixed bugs:** +### Bug Fixes - Add missing comma in setup.py [\#2031](https://github.com/feast-dev/feast/pull/2031) ([achals](https://github.com/achals)) - Correct cleanup after usage e2e tests [\#2015](https://github.com/feast-dev/feast/pull/2015) ([pyalex](https://github.com/pyalex)) - Change Environment timestamps to be in UTC [\#2007](https://github.com/feast-dev/feast/pull/2007) ([felixwang9817](https://github.com/felixwang9817)) - ODFV UDFs should handle list types [\#2002](https://github.com/feast-dev/feast/pull/2002) ([Agent007](https://github.com/Agent007)) -**Merged pull requests:** +### Merged Pull Requests - Remove unsupported java parts [\#2029](https://github.com/feast-dev/feast/pull/2029) ([pyalex](https://github.com/pyalex)) - Fix checked out branch for PR docker image build workflow [\#2018](https://github.com/feast-dev/feast/pull/2018) ([tsotnet](https://github.com/tsotnet)) @@ -308,11 +384,11 @@ - Add integration tests for AWS Lambda feature server [\#2001](https://github.com/feast-dev/feast/pull/2001) ([tsotnet](https://github.com/tsotnet)) - Moving Feast Java back into main repo under java/ package [\#1997](https://github.com/feast-dev/feast/pull/1997) ([adchia](https://github.com/adchia)) -## [v0.15.0](https://github.com/feast-dev/feast/tree/v0.15.0) (2021-11-08) +# [v0.15.0](https://github.com/feast-dev/feast/tree/v0.15.0) (2021-11-08) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.14.1...v0.15.0) -**Implemented enhancements:** +### Features - Adding stream ingestion alpha documentation [\#2005](https://github.com/feast-dev/feast/pull/2005) ([adchia](https://github.com/adchia)) - Feature transformation server docker image [\#1972](https://github.com/feast-dev/feast/pull/1972) ([felixwang9817](https://github.com/felixwang9817)) @@ -324,7 +400,7 @@ - Add final\_output\_feature\_names in Query context to avoid SELECT \* EXCEPT [\#1911](https://github.com/feast-dev/feast/pull/1911) ([MattDelac](https://github.com/MattDelac)) - Add Dockerfile for GCP CloudRun FeatureServer [\#1887](https://github.com/feast-dev/feast/pull/1887) ([judahrand](https://github.com/judahrand)) -**Fixed bugs:** +### Bug Fixes - feast=0.14.0 `query_generator()` unecessary used twice [\#1978](https://github.com/feast-dev/feast/issues/1978) - get\_online\_features on demand transform bug fixes + local integration test mode [\#2004](https://github.com/feast-dev/feast/pull/2004) ([adchia](https://github.com/adchia)) @@ -346,7 +422,7 @@ - Fix \_\_getitem\_\_ return value for feature view and on-demand feature view [\#1936](https://github.com/feast-dev/feast/pull/1936) ([mavysavydav](https://github.com/mavysavydav)) - Corrected setup.py BigQuery version that's needed for a contributor's merged PR 1844 [\#1934](https://github.com/feast-dev/feast/pull/1934) ([mavysavydav](https://github.com/mavysavydav)) -**Merged pull requests:** +### Merged Pull Requests - Fix protobuf version conflict in \[gcp\] and \[ci\] packages [\#1992](https://github.com/feast-dev/feast/pull/1992) ([ysk24ok](https://github.com/ysk24ok)) - Improve aws lambda deployment \(logging, idempotency, etc\) [\#1985](https://github.com/feast-dev/feast/pull/1985) ([tsotnet](https://github.com/tsotnet)) @@ -360,11 +436,11 @@ - Add David and Matt as reviewers, and add actions for issue/PR assignment [\#1942](https://github.com/feast-dev/feast/pull/1942) ([achals](https://github.com/achals)) - Simplify BigQuery load jobs [\#1935](https://github.com/feast-dev/feast/pull/1935) ([judahrand](https://github.com/judahrand)) -## [v0.14.1](https://github.com/feast-dev/feast/tree/v0.14.1) (2021-10-28) +# [v0.14.1](https://github.com/feast-dev/feast/tree/v0.14.1) (2021-10-28) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.14.0...v0.14.1) -**Fixed bugs:** +### Bug Fixes - Fix duplicate upload entity [\#1981](https://github.com/feast-dev/feast/pull/1981) ([achals](https://github.com/achals)) - Fix bug in feast alpha enable CLI command [\#1940](https://github.com/feast-dev/feast/pull/1940) ([felixwang9817](https://github.com/felixwang9817)) @@ -372,16 +448,16 @@ - Fix \_\_getitem\_\_ return value for feature view and on-demand feature view [\#1936](https://github.com/feast-dev/feast/pull/1936) ([mavysavydav](https://github.com/mavysavydav)) - Corrected setup.py BigQuery version that's needed for a contributor's merged PR 1844 [\#1934](https://github.com/feast-dev/feast/pull/1934) ([mavysavydav](https://github.com/mavysavydav)) -**Merged pull requests:** +### Merged Pull Requests - Updating roadmap + hero image [\#1950](https://github.com/feast-dev/feast/pull/1950) ([adchia](https://github.com/adchia)) - Simplify BigQuery load jobs [\#1935](https://github.com/feast-dev/feast/pull/1935) ([judahrand](https://github.com/judahrand)) -## [v0.14.0](https://github.com/feast-dev/feast/tree/v0.14.0) (2021-10-08) +# [v0.14.0](https://github.com/feast-dev/feast/tree/v0.14.0) (2021-10-08) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.13.0...v0.14.0) -**Implemented enhancements:** +### Features - Changed FVProjection 'name\_to\_use' field to 'name\_alias' and changed '.set\_projection' in FeatureView to ".with\_projection". Also adjustments for some edge cases [\#1929](https://github.com/feast-dev/feast/pull/1929) ([mavysavydav](https://github.com/mavysavydav)) - Make serverless alpha feature [\#1928](https://github.com/feast-dev/feast/pull/1928) ([felixwang9817](https://github.com/felixwang9817)) @@ -392,7 +468,7 @@ - Upload docker image to ECR during feast apply [\#1877](https://github.com/feast-dev/feast/pull/1877) ([felixwang9817](https://github.com/felixwang9817)) - Added .with\_name method in FeatureView/OnDemandFeatureView classes for name aliasing. FeatureViewProjection will hold this information [\#1872](https://github.com/feast-dev/feast/pull/1872) ([mavysavydav](https://github.com/mavysavydav)) -**Fixed bugs:** +### Bug Fixes - Update makefile to use pip installed dependencies [\#1920](https://github.com/feast-dev/feast/pull/1920) ([loftiskg](https://github.com/loftiskg)) - Delete tables [\#1916](https://github.com/feast-dev/feast/pull/1916) ([felixwang9817](https://github.com/felixwang9817)) @@ -403,7 +479,7 @@ - Fix issue with feature views being detected as duplicated when imported [\#1905](https://github.com/feast-dev/feast/pull/1905) ([achals](https://github.com/achals)) - Use contextvars to maintain a call stack during the usage calls [\#1882](https://github.com/feast-dev/feast/pull/1882) ([achals](https://github.com/achals)) -**Merged pull requests:** +### Merged Pull Requests - Update concepts/README.md [\#1926](https://github.com/feast-dev/feast/pull/1926) ([ysk24ok](https://github.com/ysk24ok)) - Add CI for feature server Docker image [\#1925](https://github.com/feast-dev/feast/pull/1925) ([felixwang9817](https://github.com/felixwang9817)) @@ -413,16 +489,16 @@ - Add provider, offline store, online store, registry to RTD [\#1918](https://github.com/feast-dev/feast/pull/1918) ([felixwang9817](https://github.com/felixwang9817)) - Cleanup tests [\#1901](https://github.com/feast-dev/feast/pull/1901) ([felixwang9817](https://github.com/felixwang9817)) -## [v0.13.0](https://github.com/feast-dev/feast/tree/v0.13.0) (2021-09-22) +# [v0.13.0](https://github.com/feast-dev/feast/tree/v0.13.0) (2021-09-22) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.12.1...v0.13.0) -**Breaking changes:** +### Breaking Changes - Enforce case-insensitively unique feature view names [\#1835](https://github.com/feast-dev/feast/pull/1835) ([codyjlin](https://github.com/codyjlin)) - Add init to Provider contract [\#1796](https://github.com/feast-dev/feast/pull/1796) ([woop](https://github.com/woop)) -**Implemented enhancements:** +### Features - Add on demand feature view experimental docs [\#1880](https://github.com/feast-dev/feast/pull/1880) ([adchia](https://github.com/adchia)) - Adding telemetry for on demand feature views and making existing usage calls async [\#1873](https://github.com/feast-dev/feast/pull/1873) ([adchia](https://github.com/adchia)) @@ -442,7 +518,7 @@ - Add s3 support \(with custom endpoints\) [\#1789](https://github.com/feast-dev/feast/pull/1789) ([woop](https://github.com/woop)) - Local feature server implementation \(HTTP endpoint\) [\#1780](https://github.com/feast-dev/feast/pull/1780) ([tsotnet](https://github.com/tsotnet)) -**Fixed bugs:** +### Bug Fixes - Fixing odfv cli group description [\#1890](https://github.com/feast-dev/feast/pull/1890) ([adchia](https://github.com/adchia)) - Fix list feature format for BigQuery offline datasources. [\#1889](https://github.com/feast-dev/feast/pull/1889) ([judahrand](https://github.com/judahrand)) @@ -468,7 +544,7 @@ - Fix BQ historical retrieval with rows that got backfilled [\#1744](https://github.com/feast-dev/feast/pull/1744) ([MattDelac](https://github.com/MattDelac)) - Handle case where`_LIST` type is empty [\#1703](https://github.com/feast-dev/feast/pull/1703) ([judahrand](https://github.com/judahrand)) -**Merged pull requests:** +### Merged Pull Requests - Add `ValueType.NULL` [\#1893](https://github.com/feast-dev/feast/pull/1893) ([judahrand](https://github.com/judahrand)) - Adding more details to the CONTRIBUTING.md [\#1888](https://github.com/feast-dev/feast/pull/1888) ([adchia](https://github.com/adchia)) @@ -504,23 +580,23 @@ - Adding initial type support related tests for BQ [\#1768](https://github.com/feast-dev/feast/pull/1768) ([adchia](https://github.com/adchia)) - Add release-patch script [\#1554](https://github.com/feast-dev/feast/pull/1554) ([jklegar](https://github.com/jklegar)) -## [v0.12.1](https://github.com/feast-dev/feast/tree/v0.12.1) (2021-08-20) +# [v0.12.1](https://github.com/feast-dev/feast/tree/v0.12.1) (2021-08-20) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.12.0...v0.12.1) -**Fixed bugs:** +### Bug Fixes - Fix get\_online\_features telemetry to only log every 10000 times [\#1786](https://github.com/feast-dev/feast/pull/1786) ([felixwang9817](https://github.com/felixwang9817)) -## [v0.12.0](https://github.com/feast-dev/feast/tree/v0.12.0) (2021-08-05) +# [v0.12.0](https://github.com/feast-dev/feast/tree/v0.12.0) (2021-08-05) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.11.0...v0.12.0) -**Breaking changes:** +### Breaking Changes - Set default feature naming to not include feature view name. Add option to include feature view name in feature naming. [\#1641](https://github.com/feast-dev/feast/pull/1641) ([Mwad22](https://github.com/Mwad22)) -**Implemented enhancements:** +### Features - AWS Template improvements \(input prompt for configs, default to Redshift\) [\#1731](https://github.com/feast-dev/feast/pull/1731) ([tsotnet](https://github.com/tsotnet)) - Clean up uploaded entities in Redshift offline store [\#1730](https://github.com/feast-dev/feast/pull/1730) ([tsotnet](https://github.com/tsotnet)) @@ -535,7 +611,7 @@ - Add to\_table\(\) to RetrievalJob object [\#1663](https://github.com/feast-dev/feast/pull/1663) ([MattDelac](https://github.com/MattDelac)) - Provide the user with more options for setting the to\_bigquery config [\#1661](https://github.com/feast-dev/feast/pull/1661) ([codyjlin](https://github.com/codyjlin)) -**Fixed bugs:** +### Bug Fixes - Fix `feast apply` bugs [\#1754](https://github.com/feast-dev/feast/pull/1754) ([tsotnet](https://github.com/tsotnet)) - Teardown integration tests resources for aws [\#1740](https://github.com/feast-dev/feast/pull/1740) ([achals](https://github.com/achals)) @@ -556,7 +632,7 @@ - Cancel BigQuery job if timeout hits [\#1672](https://github.com/feast-dev/feast/pull/1672) ([MattDelac](https://github.com/MattDelac)) - Make sure FeatureViews with same name can not be applied at the same … [\#1651](https://github.com/feast-dev/feast/pull/1651) ([tedhtchang](https://github.com/tedhtchang)) -**Merged pull requests:** +### Merged Pull Requests - Add AWS docs in summary.md [\#1761](https://github.com/feast-dev/feast/pull/1761) ([tsotnet](https://github.com/tsotnet)) - Document permissions for AWS \(DynamoDB & Redshift\) [\#1753](https://github.com/feast-dev/feast/pull/1753) ([tsotnet](https://github.com/tsotnet)) @@ -590,11 +666,11 @@ - Rename telemetry to usage [\#1660](https://github.com/feast-dev/feast/pull/1660) ([tsotnet](https://github.com/tsotnet)) - Update charts README [\#1659](https://github.com/feast-dev/feast/pull/1659) ([szalai1](https://github.com/szalai1)) -## [v0.11.0](https://github.com/feast-dev/feast/tree/v0.11.0) (2021-06-24) +# [v0.11.0](https://github.com/feast-dev/feast/tree/v0.11.0) (2021-06-24) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.8...v0.11.0) -**Implemented enhancements:** +### Features - Allow BigQuery project to be configured [\#1656](https://github.com/feast-dev/feast/pull/1656) ([MattDelac](https://github.com/MattDelac)) - Add to_bigquery function to BigQueryRetrievalJob [\#1634](https://github.com/feast-dev/feast/pull/1634) ([vtao2](https://github.com/vtao2)) @@ -609,7 +685,7 @@ - Add support for Redis and Redis Cluster [\#1511](https://github.com/feast-dev/feast/pull/1511) ([qooba](https://github.com/qooba)) - Add path option to cli [\#1509](https://github.com/feast-dev/feast/pull/1509) ([tedhtchang](https://github.com/tedhtchang)) -**Fixed bugs:** +### Bug Fixes - Schema Inferencing should happen at apply time [\#1646](https://github.com/feast-dev/feast/pull/1646) ([mavysavydav](https://github.com/mavysavydav)) - Don't use .result\(\) in BigQueryOfflineStore, since it still leads to OOM [\#1642](https://github.com/feast-dev/feast/pull/1642) ([tsotnet](https://github.com/tsotnet)) @@ -630,7 +706,7 @@ - Validate project and repo names for apply and init commands [\#1558](https://github.com/feast-dev/feast/pull/1558) ([tedhtchang](https://github.com/tedhtchang)) - Bump supported Python version to 3.7 [\#1504](https://github.com/feast-dev/feast/pull/1504) ([tsotnet](https://github.com/tsotnet)) -**Merged pull requests:** +### Merged Pull Requests - Rename telemetry to usage [\#1660](https://github.com/feast-dev/feast/pull/1660) ([tsotnet](https://github.com/tsotnet)) - Refactor OfflineStoreConfig classes into their owning modules [\#1657](https://github.com/feast-dev/feast/pull/1657) ([achals](https://github.com/achals)) @@ -668,35 +744,35 @@ - Add optional telemetry to other CLI commands [\#1505](https://github.com/feast-dev/feast/pull/1505) ([jklegar](https://github.com/jklegar)) -## [v0.10.8](https://github.com/feast-dev/feast/tree/v0.10.8) (2021-06-17) +# [v0.10.8](https://github.com/feast-dev/feast/tree/v0.10.8) (2021-06-17) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.7...v0.10.8) -**Implemented enhancements:** +### Features - Add `to_bigquery()` function to BigQueryRetrievalJob [\#1634](https://github.com/feast-dev/feast/pull/1634) ([vtao2](https://github.com/vtao2)) -**Fixed bugs:** +### Bug Fixes - Don't use .result\(\) in BigQueryOfflineStore, since it still leads to OOM [\#1642](https://github.com/feast-dev/feast/pull/1642) ([tsotnet](https://github.com/tsotnet)) - Don't load entire bigquery query results in memory [\#1638](https://github.com/feast-dev/feast/pull/1638) ([tsotnet](https://github.com/tsotnet)) - Add entity column validations when getting historical features from bigquery [\#1614](https://github.com/feast-dev/feast/pull/1614) ([achals](https://github.com/achals)) -**Merged pull requests:** +### Merged Pull Requests - Make test historical retrieval longer [\#1630](https://github.com/feast-dev/feast/pull/1630) ([MattDelac](https://github.com/MattDelac)) - Fix failing historical retrieval assertion [\#1622](https://github.com/feast-dev/feast/pull/1622) ([woop](https://github.com/woop)) - Optimize historical retrieval with BigQuery offline store [\#1602](https://github.com/feast-dev/feast/pull/1602) ([MattDelac](https://github.com/MattDelac)) -## [v0.10.7](https://github.com/feast-dev/feast/tree/v0.10.7) (2021-06-07) +# [v0.10.7](https://github.com/feast-dev/feast/tree/v0.10.7) (2021-06-07) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.6...v0.10.7) -**Fixed bugs:** +### Bug Fixes - Fix race condition in historical e2e tests [\#1620](https://github.com/feast-dev/feast/pull/1620) ([woop](https://github.com/woop)) -**Merged pull requests:** +### Merged Pull Requests - Use drop\_duplicates\(\) instead of groupby \(about 1.5~2x faster\) [\#1617](https://github.com/feast-dev/feast/pull/1617) ([rightx2](https://github.com/rightx2)) - Use CONCAT\(\) instead of ROW\_NUMBER\(\) [\#1601](https://github.com/feast-dev/feast/pull/1601) ([MattDelac](https://github.com/MattDelac)) @@ -704,38 +780,38 @@ - Append nanoseconds to dataset name in test\_historical\_retrival to prevent tests stomping over each other [\#1593](https://github.com/feast-dev/feast/pull/1593) ([achals](https://github.com/achals)) - Make start and end timestamps tz aware in the CLI [\#1590](https://github.com/feast-dev/feast/pull/1590) ([achals](https://github.com/achals)) -## [v0.10.6](https://github.com/feast-dev/feast/tree/v0.10.6) (2021-05-27) +# [v0.10.6](https://github.com/feast-dev/feast/tree/v0.10.6) (2021-05-27) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.5...v0.10.6) -**Implemented enhancements:** +### Features - Add datastore namespace option in configs [\#1581](https://github.com/feast-dev/feast/pull/1581) ([tsotnet](https://github.com/tsotnet)) -**Fixed bugs:** +### Bug Fixes - Fix contention issue [\#1582](https://github.com/feast-dev/feast/pull/1582) ([woop](https://github.com/woop)) - Ensure that only None types fail predicate [\#1580](https://github.com/feast-dev/feast/pull/1580) ([woop](https://github.com/woop)) - Don't create bigquery dataset if it already exists [\#1569](https://github.com/feast-dev/feast/pull/1569) ([tsotnet](https://github.com/tsotnet)) -**Merged pull requests:** +### Merged Pull Requests - Change OfflineStore class description [\#1571](https://github.com/feast-dev/feast/pull/1571) ([tedhtchang](https://github.com/tedhtchang)) -## [v0.10.5](https://github.com/feast-dev/feast/tree/v0.10.5) (2021-05-19) +# [v0.10.5](https://github.com/feast-dev/feast/tree/v0.10.5) (2021-05-19) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.4...v0.10.5) -**Implemented enhancements:** +### Features - Add offline\_store config [\#1552](https://github.com/feast-dev/feast/pull/1552) ([tsotnet](https://github.com/tsotnet)) -**Fixed bugs:** +### Bug Fixes - Validate project and repo names for apply and init commands [\#1558](https://github.com/feast-dev/feast/pull/1558) ([tedhtchang](https://github.com/tedhtchang)) -**Merged pull requests:** +### Merged Pull Requests - Fix Sphinx documentation building [\#1563](https://github.com/feast-dev/feast/pull/1563) ([woop](https://github.com/woop)) - Add test coverage and remove MacOS integration tests [\#1562](https://github.com/feast-dev/feast/pull/1562) ([woop](https://github.com/woop)) @@ -744,17 +820,17 @@ - Add opt-out exception logging telemetry [\#1535](https://github.com/feast-dev/feast/pull/1535) ([jklegar](https://github.com/jklegar)) - Add instruction for install Feast on IKS and OpenShift using Kustomize [\#1534](https://github.com/feast-dev/feast/pull/1534) ([tedhtchang](https://github.com/tedhtchang)) -## [v0.10.4](https://github.com/feast-dev/feast/tree/v0.10.4) (2021-05-12) +# [v0.10.4](https://github.com/feast-dev/feast/tree/v0.10.4) (2021-05-12) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.3...v0.10.4) -**Implemented enhancements:** +### Features - Inferencing of Features in FeatureView and timestamp column of DataSource [\#1523](https://github.com/feast-dev/feast/pull/1523) ([mavysavydav](https://github.com/mavysavydav)) - Add Unix Timestamp value type [\#1520](https://github.com/feast-dev/feast/pull/1520) ([MattDelac](https://github.com/MattDelac)) - Fix materialize for None [\#1481](https://github.com/feast-dev/feast/pull/1481) ([qooba](https://github.com/qooba)) -**Merged pull requests:** +### Merged Pull Requests - BigQuery type to Feast type conversion chart update [\#1530](https://github.com/feast-dev/feast/pull/1530) ([mavysavydav](https://github.com/mavysavydav)) - remove unnecessay path join in setup.py [\#1529](https://github.com/feast-dev/feast/pull/1529) ([shihabuddinbuet](https://github.com/shihabuddinbuet)) @@ -765,22 +841,22 @@ - Better logging for materialize command [\#1499](https://github.com/feast-dev/feast/pull/1499) ([jklegar](https://github.com/jklegar)) -## [v0.10.3](https://github.com/feast-dev/feast/tree/v0.10.3) (2021-04-21) +# [v0.10.3](https://github.com/feast-dev/feast/tree/v0.10.3) (2021-04-21) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.2...v0.10.3) -**Implemented enhancements:** +### Features - Add support for third party providers [\#1501](https://github.com/feast-dev/feast/pull/1501) ([tsotnet](https://github.com/tsotnet)) - Infer entity dataframe event timestamp column [\#1495](https://github.com/feast-dev/feast/pull/1495) ([jklegar](https://github.com/jklegar)) - Allow Feast apply to import files recursively \(and add .feastignore\) [\#1482](https://github.com/feast-dev/feast/pull/1482) ([tsotnet](https://github.com/tsotnet)) -**Fixed bugs:** +### Bug Fixes - Bump supported Python version to 3.7 [\#1504](https://github.com/feast-dev/feast/pull/1504) ([tsotnet](https://github.com/tsotnet)) - Fix bug in allowing empty repositories to be applied to a GCS registry [\#1488](https://github.com/feast-dev/feast/pull/1488) ([woop](https://github.com/woop)) -**Merged pull requests:** +### Merged Pull Requests - Add a fixed timestamp to quickstart data [\#1513](https://github.com/feast-dev/feast/pull/1513) ([jklegar](https://github.com/jklegar)) - Make gcp imports optional [\#1512](https://github.com/feast-dev/feast/pull/1512) ([jklegar](https://github.com/jklegar)) @@ -791,23 +867,23 @@ - Update broken urls in contributing.md [\#1489](https://github.com/feast-dev/feast/pull/1489) ([tedhtchang](https://github.com/tedhtchang)) - Python docs formatting fixes [\#1473](https://github.com/feast-dev/feast/pull/1473) ([jklegar](https://github.com/jklegar)) -## [v0.10.2](https://github.com/feast-dev/feast/tree/v0.10.2) (2021-04-21) +# [v0.10.2](https://github.com/feast-dev/feast/tree/v0.10.2) (2021-04-21) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.1...v0.10.2) -**Fixed bugs:** +### Bug Fixes - Fix bug in allowing empty repositories to be applied to a GCS registry [\#1488](https://github.com/feast-dev/feast/pull/1488) ([woop](https://github.com/woop)) -## [v0.10.1](https://github.com/feast-dev/feast/tree/v0.10.1) (2021-04-21) +# [v0.10.1](https://github.com/feast-dev/feast/tree/v0.10.1) (2021-04-21) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.10.0...v0.10.1) -**Fixed bugs:** +### Bug Fixes - Fix time zone issue with get\_historical\_features [\#1475](https://github.com/feast-dev/feast/pull/1475) ([tsotnet](https://github.com/tsotnet)) -**Merged pull requests:** +### Merged Pull Requests - Improve exception handling, logging, and validation [\#1477](https://github.com/feast-dev/feast/pull/1477) ([woop](https://github.com/woop)) - Remove duped pic [\#1476](https://github.com/feast-dev/feast/pull/1476) ([YikSanChan](https://github.com/YikSanChan)) @@ -816,11 +892,11 @@ - Fix CLI entities command & add feature-views command [\#1471](https://github.com/feast-dev/feast/pull/1471) ([tsotnet](https://github.com/tsotnet)) -## [v0.10.0](https://github.com/feast-dev/feast/tree/0.10.0) (2021-04-15) +# [v0.10.0](https://github.com/feast-dev/feast/tree/0.10.0) (2021-04-15) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.9.5...v0.10.0) -** Implemented enhancements:** +### Features - Add template generation to Feast CLI for Google Cloud Platform [\#1460](https://github.com/feast-dev/feast/pull/1460) ([woop](https://github.com/woop)) - Add support for retrieving data from sources that don't match providers [\#1454](https://github.com/feast-dev/feast/pull/1454) ([woop](https://github.com/woop)) @@ -842,7 +918,7 @@ - FeatureStore, FeatureView, Config, and BigQuerySource classes for updated SDK [\#1364](https://github.com/feast-dev/feast/pull/1364) ([jklegar](https://github.com/jklegar)) - Add support for new deploy CLI [\#1362](https://github.com/feast-dev/feast/pull/1362) ([oavdeev](https://github.com/oavdeev)) -** Fixed bugs:** +### Bug Fixes - Fix time zone access with native python datetimes [\#1469](https://github.com/feast-dev/feast/pull/1469) ([tsotnet](https://github.com/tsotnet)) - Small fixes for created\_timestamp [\#1468](https://github.com/feast-dev/feast/pull/1468) ([jklegar](https://github.com/jklegar)) @@ -859,7 +935,7 @@ - Make CLI apply in local mode idempotent [\#1401](https://github.com/feast-dev/feast/pull/1401) ([oavdeev](https://github.com/oavdeev)) - Fix a bug in client archive\_project method and fix lint in grpc auth [\#1396](https://github.com/feast-dev/feast/pull/1396) ([randxie](https://github.com/randxie)) -**Merged pull requests:** +### Merged Pull Requests - Change GCP template names to match local template [\#1470](https://github.com/feast-dev/feast/pull/1470) ([jklegar](https://github.com/jklegar)) - Add logging to materialize [\#1467](https://github.com/feast-dev/feast/pull/1467) ([woop](https://github.com/woop)) @@ -906,25 +982,25 @@ - Add Firestore online format specification [\#1367](https://github.com/feast-dev/feast/pull/1367) ([oavdeev](https://github.com/oavdeev)) - Improve documentation for k8s-spark resource template [\#1363](https://github.com/feast-dev/feast/pull/1363) ([theofpa](https://github.com/theofpa)) -## [v0.9.1](https://github.com/feast-dev/feast/tree/v0.9.1) (2021-01-29) +# [v0.9.1](https://github.com/feast-dev/feast/tree/v0.9.1) (2021-01-29) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.9.0...v0.9.1) -**Implemented enhancements:** +### Features - Add telemetry to Python SDK [\#1289](https://github.com/feast-dev/feast/pull/1289) ([jklegar](https://github.com/jklegar)) -**Fixed bugs:** +### Bug Fixes - Fix kafka download url [\#1298](https://github.com/feast-dev/feast/pull/1298) ([jklegar](https://github.com/jklegar)) - disable telemetry in docker-compose test and job\_service [\#1297](https://github.com/feast-dev/feast/pull/1297) ([jklegar](https://github.com/jklegar)) -## [v0.9.0](https://github.com/feast-dev/feast/tree/v0.9.0) (2021-01-28) +# [v0.9.0](https://github.com/feast-dev/feast/tree/v0.9.0) (2021-01-28) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.8.4...v0.9.0) -**Implemented enhancements:** +### Features - Enable user to provide spark job template as input for jobservice deployment [\#1285](https://github.com/feast-dev/feast/pull/1285) ([khorshuheng](https://github.com/khorshuheng)) - Add feature table name filter to jobs list api [\#1282](https://github.com/feast-dev/feast/pull/1282) ([terryyylim](https://github.com/terryyylim)) @@ -933,7 +1009,7 @@ - Azure example terraform [\#1274](https://github.com/feast-dev/feast/pull/1274) ([jklegar](https://github.com/jklegar)) -**Fixed bugs:** +### Bug Fixes - make EMR jar uploader work the same as k8s one [\#1284](https://github.com/feast-dev/feast/pull/1284) ([oavdeev](https://github.com/oavdeev)) - Don't error when azure vars not set [\#1277](https://github.com/feast-dev/feast/pull/1277) ([jklegar](https://github.com/jklegar)) @@ -944,7 +1020,7 @@ - Bump terraform rds module version [\#1204](https://github.com/feast-dev/feast/pull/1204) ([oavdeev](https://github.com/oavdeev)) -**Merged pull requests:** +### Merged Pull Requests - Use date partitioning column in FileSource [\#1293](https://github.com/feast-dev/feast/pull/1293) ([pyalex](https://github.com/pyalex)) - Add EMR CI/CD entrypoint script [\#1290](https://github.com/feast-dev/feast/pull/1290) ([oavdeev](https://github.com/oavdeev)) @@ -1001,41 +1077,41 @@ - Remove unnecessary Google Auth dependency [\#1170](https://github.com/feast-dev/feast/pull/1170) ([woop](https://github.com/woop)) -## [v0.8.2](https://github.com/feast-dev/feast/tree/v0.8.2) (2020-12-01) +# [v0.8.2](https://github.com/feast-dev/feast/tree/v0.8.2) (2020-12-01) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.8.1...v0.8.2) -**Implemented enhancements:** +### Features - Configurable materialization destination for view in BigQuerySource [\#1201](https://github.com/feast-dev/feast/pull/1201) ([pyalex](https://github.com/pyalex)) -**Fixed bugs:** +### Bug Fixes - Fix tag order for release workflow [\#1205](https://github.com/feast-dev/feast/pull/1205) ([terryyylim](https://github.com/terryyylim)) - Fix Feature Table not updated on new feature addition [\#1197](https://github.com/feast-dev/feast/pull/1197) ([khorshuheng](https://github.com/khorshuheng)) -**Merged pull requests:** +### Merged Pull Requests - Suppress kafka logs in Ingestion Job [\#1206](https://github.com/feast-dev/feast/pull/1206) ([pyalex](https://github.com/pyalex)) - Add project name to metrics labels in Ingestion Job [\#1202](https://github.com/feast-dev/feast/pull/1202) ([pyalex](https://github.com/pyalex)) -## [v0.8.1](https://github.com/feast-dev/feast/tree/v0.8.1) (2020-11-24) +# [v0.8.1](https://github.com/feast-dev/feast/tree/v0.8.1) (2020-11-24) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.8.0...v0.8.1) -**Implemented enhancements:** +### Features - Expires Redis Keys based on Feature Table Max Age [\#1161](https://github.com/feast-dev/feast/pull/1161) ([khorshuheng](https://github.com/khorshuheng)) - Jobservice control loop \(based on \#1140\) [\#1156](https://github.com/feast-dev/feast/pull/1156) ([oavdeev](https://github.com/oavdeev)) -**Fixed bugs:** +### Bug Fixes - Lazy metrics initialization \(to correct pick up in executor\) [\#1195](https://github.com/feast-dev/feast/pull/1195) ([pyalex](https://github.com/pyalex)) - Add missing third\_party folder [\#1185](https://github.com/feast-dev/feast/pull/1185) ([terryyylim](https://github.com/terryyylim)) - Fix missing name variable instantiation [\#1166](https://github.com/feast-dev/feast/pull/1166) ([terryyylim](https://github.com/terryyylim)) -**Merged pull requests:** +### Merged Pull Requests - Bump ssh-agent version [\#1175](https://github.com/feast-dev/feast/pull/1175) ([terryyylim](https://github.com/terryyylim)) - Refactor configurable options and add sphinx docs [\#1174](https://github.com/feast-dev/feast/pull/1174) ([terryyylim](https://github.com/terryyylim)) @@ -1046,11 +1122,11 @@ - Ensure consistency of github workflow [\#1157](https://github.com/feast-dev/feast/pull/1157) ([terryyylim](https://github.com/terryyylim)) -## [v0.8.0](https://github.com/feast-dev/feast/tree/v0.8.0) (2020-11-10) +# [v0.8.0](https://github.com/feast-dev/feast/tree/v0.8.0) (2020-11-10) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.7.1...v0.8.0) -**Implemented enhancements:** +### Features - Implement JobService API calls & connect it to SDK [\#1129](https://github.com/feast-dev/feast/pull/1129) ([tsotnet](https://github.com/tsotnet)) - Allow user to specify custom secrets to be mounted on Feast Serving and Feast Core pods [\#1127](https://github.com/feast-dev/feast/pull/1127) ([khorshuheng](https://github.com/khorshuheng)) @@ -1088,7 +1164,7 @@ - Add Feature Tables API to Core & Python SDK [\#1019](https://github.com/feast-dev/feast/pull/1019) ([mrzzy](https://github.com/mrzzy)) - Introduce Entity as higher-level concept [\#1014](https://github.com/feast-dev/feast/pull/1014) ([terryyylim](https://github.com/terryyylim)) -**Fixed bugs:** +### Bug Fixes - Fix stencil client serialization issue [\#1147](https://github.com/feast-dev/feast/pull/1147) ([pyalex](https://github.com/pyalex)) - Deadletter path is being incorrectly joined [\#1144](https://github.com/feast-dev/feast/pull/1144) ([pyalex](https://github.com/pyalex)) @@ -1099,7 +1175,7 @@ - Fix java class name validation [\#1084](https://github.com/feast-dev/feast/pull/1084) ([oavdeev](https://github.com/oavdeev)) - Multiple tiny AWS related fixes [\#1083](https://github.com/feast-dev/feast/pull/1083) ([oavdeev](https://github.com/oavdeev)) -**Merged pull requests:** +### Merged Pull Requests - Make created\_timestamp property optional in KafkaSource [\#1146](https://github.com/feast-dev/feast/pull/1146) ([pyalex](https://github.com/pyalex)) - In Streaming E2E Test filter kafka consumers by group id prefix [\#1145](https://github.com/feast-dev/feast/pull/1145) ([pyalex](https://github.com/pyalex)) @@ -1148,17 +1224,17 @@ - Refactor Python SDK to remove v1 concepts [\#1023](https://github.com/feast-dev/feast/pull/1023) ([terryyylim](https://github.com/terryyylim)) -## [v0.7.1](https://github.com/feast-dev/feast/tree/v0.7.1) (2020-10-07) +# [v0.7.1](https://github.com/feast-dev/feast/tree/v0.7.1) (2020-10-07) [Full Changelog](https://github.com/feast-dev/feast/compare/sdk/go/v0.7.0...v0.7.1) -**Fixed bugs:** +### Bug Fixes - Provide stable jobName in RowMetrics labels [\#1028](https://github.com/feast-dev/feast/pull/1028) ([pyalex](https://github.com/pyalex)) -## [v0.7.0](https://github.com/feast-dev/feast/tree/v0.7.0) (2020-09-09) +# [v0.7.0](https://github.com/feast-dev/feast/tree/v0.7.0) (2020-09-09) [Full Changelog](https://github.com/feast-dev/feast/compare/sdk/go/v0.6.2...v0.7.0) -**Breaking changes:** +### Breaking Changes - Add request response logging via fluentd [\#961](https://github.com/feast-dev/feast/pull/961) ([terryyylim](https://github.com/terryyylim)) - Run JobCoontroller as separate application [\#951](https://github.com/feast-dev/feast/pull/951) ([pyalex](https://github.com/pyalex)) @@ -1166,7 +1242,7 @@ - Use JobManager's backend as persistent storage and source of truth [\#903](https://github.com/feast-dev/feast/pull/903) ([pyalex](https://github.com/pyalex)) - Fix invalid characters for project, featureset, entity and features creation [\#976](https://github.com/feast-dev/feast/pull/976) ([terryyylim](https://github.com/terryyylim)) -**Implemented enhancements:** +### Features - Add redis key prefix as an option to Redis cluster [\#975](https://github.com/feast-dev/feast/pull/975) ([khorshuheng](https://github.com/khorshuheng)) - Authentication Support for Java & Go SDKs [\#971](https://github.com/feast-dev/feast/pull/971) ([mrzzy](https://github.com/mrzzy)) @@ -1176,7 +1252,7 @@ - Add REST endpoints for Feast UI [\#878](https://github.com/feast-dev/feast/pull/878) ([SwampertX](https://github.com/SwampertX)) - Upgrade Feast dependencies [\#876](https://github.com/feast-dev/feast/pull/876) ([pyalex](https://github.com/pyalex)) -**Fixed bugs:** +### Bug Fixes - Fix Java & Go SDK TLS support [\#986](https://github.com/feast-dev/feast/pull/986) ([mrzzy](https://github.com/mrzzy)) - Fix Python SDK setuptools not supporting tags required for Go SDK to be versioned. [\#983](https://github.com/feast-dev/feast/pull/983) ([mrzzy](https://github.com/mrzzy)) @@ -1211,7 +1287,7 @@ - Fix lint version not pulling tags. [\#999](https://github.com/feast-dev/feast/pull/999)([mrzzy](https://github.com/mrzzy)) - Call fallback only when theres missing keys [\#1009](https://github.com/feast-dev/feast/pull/751) ([pyalex](https://github.com/pyalex)) -**Merged pull requests:** +### Merged Pull Requests - Add cryptography to python ci-requirements [\#988](https://github.com/feast-dev/feast/pull/988) ([pyalex](https://github.com/pyalex)) - Allow maps in environment variables in helm charts [\#987](https://github.com/feast-dev/feast/pull/987) ([pyalex](https://github.com/pyalex)) @@ -1234,10 +1310,10 @@ - BQ sink produces sample of successful inserts [\#875](https://github.com/feast-dev/feast/pull/875) ([pyalex](https://github.com/pyalex)) - Add Branch and RC Awareness to Version Lint & Fix Semver Regex [\#998](https://github.com/feast-dev/feast/pull/998) ([mrzzy](https://github.com/mrzzy)) -## [v0.6.2](https://github.com/feast-dev/feast/tree/v0.6.2) (2020-08-02) +# [v0.6.2](https://github.com/feast-dev/feast/tree/v0.6.2) (2020-08-02) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.6.1...v0.6.2) -**Implemented enhancements:** +### Features - Redis sink flushes only rows that have more recent eventTimestamp [\#913](https://github.com/feast-dev/feast/pull/913) ([pyalex](https://github.com/pyalex)) - Dataflow runner options: disk type & streaming engine [\#906](https://github.com/feast-dev/feast/pull/906) ([pyalex](https://github.com/pyalex)) @@ -1247,40 +1323,40 @@ - Add caching to authorization [\#884](https://github.com/feast-dev/feast/pull/884) ([jmelinav](https://github.com/jmelinav)) - Add Auth header [\#885](https://github.com/feast-dev/feast/pull/885) ([AnujaVane](https://github.com/AnujaVane)) -**Fixed bugs:** +### Bug Fixes - Fix Online Serving unable to retrieve feature data after Feature Set update. [\#908](https://github.com/feast-dev/feast/pull/908) ([mrzzy](https://github.com/mrzzy)) - Fix Python SDK ingestion for featureset name that exist in multiple projects [\#868](https://github.com/feast-dev/feast/pull/868) ([terryyylim](https://github.com/terryyylim)) - Backport delay in Redis acknowledgement of spec [\#915](https://github.com/feast-dev/feast/pull/915) ([woop](https://github.com/woop)) - Allow unauthenticated access when Authorization is disabled and to Health Probe [\#927](https://github.com/feast-dev/feast/pull/927) ([mrzzy](https://github.com/mrzzy)) -**Merged pull requests:** +### Merged Pull Requests - Upgrade Feast dependencies [\#876](https://github.com/feast-dev/feast/pull/876) ([pyalex](https://github.com/pyalex)) -## [v0.6.1](https://github.com/feast-dev/feast/tree/v0.6.1) (2020-07-17) +# [v0.6.1](https://github.com/feast-dev/feast/tree/v0.6.1) (2020-07-17) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.6.0...v0.6.1) -**Implemented enhancements:** +### Features - Improve parallelization in Redis Sink [\#866](https://github.com/feast-dev/feast/pull/866) ([pyalex](https://github.com/pyalex)) - BQ sink produces sample of successful inserts [\#875](https://github.com/feast-dev/feast/pull/875) ([pyalex](https://github.com/pyalex)) -**Fixed bugs:** +### Bug Fixes - Add IngestionId & EventTimestamp to FeatureRowBatch to calculate lag metric correctly [\#874](https://github.com/feast-dev/feast/pull/874) ([pyalex](https://github.com/pyalex)) - Prevent race condition in BQ sink jobId generation [\#877](https://github.com/feast-dev/feast/pull/877) ([pyalex](https://github.com/pyalex)) -## [v0.6.0](https://github.com/feast-dev/feast/tree/v0.6.0) (2020-07-13) +# [v0.6.0](https://github.com/feast-dev/feast/tree/v0.6.0) (2020-07-13) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.5.1...v0.6.0) -**Breaking changes:** +### Breaking Changes - Compute and write metrics for rows prior to store writes [\#763](https://github.com/feast-dev/feast/pull/763) ([zhilingc](https://github.com/zhilingc)) -**Implemented enhancements:** +### Features - Allow users compute statistics over retrieved batch datasets [\#799](https://github.com/feast-dev/feast/pull/799) ([zhilingc](https://github.com/zhilingc)) - Replace Keto Authorization with External HTTP Authorization [\#864](https://github.com/feast-dev/feast/pull/864) ([woop](https://github.com/woop)) @@ -1298,7 +1374,7 @@ - Authentication and authorization support [\#793](https://github.com/feast-dev/feast/pull/793) ([dr3s](https://github.com/dr3s)) - Add API for listing feature sets using labels [\#785](https://github.com/feast-dev/feast/pull/785) ([terryyylim](https://github.com/terryyylim)) -**Fixed bugs:** +### Bug Fixes - Bypass authentication for metric endpoints [\#862](https://github.com/feast-dev/feast/pull/862) ([woop](https://github.com/woop)) - Python SDK listing of ingestion job fails for featureset reference filter [\#861](https://github.com/feast-dev/feast/pull/861) ([terryyylim](https://github.com/terryyylim)) @@ -1318,7 +1394,7 @@ - Fix pipeline options toArgs\(\) returning empty list [\#765](https://github.com/feast-dev/feast/pull/765) ([zhilingc](https://github.com/zhilingc)) - Remove usage of parallel stream for feature value map generation [\#751](https://github.com/feast-dev/feast/pull/751) ([khorshuheng](https://github.com/khorshuheng)) -**Merged pull requests:** +### Merged Pull Requests - Remove Spring Boot from auth tests [\#859](https://github.com/feast-dev/feast/pull/859) ([woop](https://github.com/woop)) - Authentication and Authorization into feast-auth module. [\#856](https://github.com/feast-dev/feast/pull/856) ([jmelinav](https://github.com/jmelinav)) @@ -1356,11 +1432,11 @@ [Full Changelog](https://github.com/feast-dev/feast/compare/v0.5.0...v0.5.1) -**Implemented enhancements:** +### Features - Add support for version method in Feast SDK and Core [\#759](https://github.com/feast-dev/feast/pull/759) ([woop](https://github.com/woop)) - Refactor runner configuration, add labels to dataflow options [\#718](https://github.com/feast-dev/feast/pull/718) ([zhilingc](https://github.com/zhilingc)) -**Fixed bugs:** +### Bug Fixes - Fix pipeline options toArgs\(\) returning empty list [\#765](https://github.com/feast-dev/feast/pull/765) ([zhilingc](https://github.com/zhilingc)) - Fix project argument for feature set describe in CLI [\#731](https://github.com/feast-dev/feast/pull/731) ([terryyylim](https://github.com/terryyylim)) - Fix Go and Java SDK Regressions [\#729](https://github.com/feast-dev/feast/pull/729) ([mrzzy](https://github.com/mrzzy)) @@ -1368,17 +1444,17 @@ - Restore Feast Java SDK and Ingestion compatibility with Java 8 runtimes [\#722](https://github.com/feast-dev/feast/pull/722) ([ches](https://github.com/ches)) - Python sdk bug fixes [\#723](https://github.com/feast-dev/feast/pull/723) ([zhilingc](https://github.com/zhilingc)) -**Merged pull requests:** +### Merged Pull Requests - Increase Jaeger Tracing coverage [\#719](https://github.com/feast-dev/feast/pull/719) ([terryyylim](https://github.com/terryyylim)) - Recompile golang protos to include new FeatureSetStatus [\#755](https://github.com/feast-dev/feast/pull/755) ([zhilingc](https://github.com/zhilingc)) - Merge Redis cluster connector with Redis connector [\#752](https://github.com/feast-dev/feast/pull/752) ([pyalex](https://github.com/pyalex)) - Remove unused Hibernate dep from Serving [\#721](https://github.com/feast-dev/feast/pull/721) ([ches](https://github.com/ches)) -## [v0.5.0](https://github.com/feast-dev/feast/tree/v0.5.0) (2020-05-19) +# [v0.5.0](https://github.com/feast-dev/feast/tree/v0.5.0) (2020-05-19) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.4.7...v0.5.0) -**Breaking changes:** +### Breaking Changes - Add .proto to packages of Protobuf generated Java classes [\#700](https://github.com/feast-dev/feast/pull/700) ([woop](https://github.com/woop)) - Add support for feature set updates and remove versions [\#676](https://github.com/feast-dev/feast/pull/676) ([zhilingc](https://github.com/zhilingc)) @@ -1386,7 +1462,7 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for more details. -**Implemented enhancements:** +### Features - Add general storage API and refactor existing store implementations [\#567](https://github.com/feast-dev/feast/pull/567) ([zhilingc](https://github.com/zhilingc)) - Add support for feature set updates and remove versions [\#676](https://github.com/feast-dev/feast/pull/676) ([zhilingc](https://github.com/zhilingc)) @@ -1399,7 +1475,7 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Add feature and feature set labels for metadata [\#536](https://github.com/feast-dev/feast/pull/536) ([imjuanleonard](https://github.com/imjuanleonard)) - Update Python SDK so FeatureSet can import Schema from Tensorflow metadata [\#450](https://github.com/feast-dev/feast/pull/450) ([davidheryanto](https://github.com/davidheryanto)) -**Fixed bugs:** +### Bug Fixes - Add feature set status JOB\_STARTING to denote feature sets waiting for job to get to RUNNING state [\#714](https://github.com/feast-dev/feast/pull/714) ([zhilingc](https://github.com/zhilingc)) - Remove feature set status check for job update requirement [\#708](https://github.com/feast-dev/feast/pull/708) ([khorshuheng](https://github.com/khorshuheng)) @@ -1415,7 +1491,7 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Fix Feast Serving not registering its store in Feast Core [\#641](https://github.com/feast-dev/feast/pull/641) ([mrzzy](https://github.com/mrzzy)) - Kafka producer should raise an exception when it fails to connect to broker [\#636](https://github.com/feast-dev/feast/pull/636) ([junhui096](https://github.com/junhui096)) -**Merged pull requests:** +### Merged Pull Requests - Change organization from gojek to feast-dev [\#712](https://github.com/feast-dev/feast/pull/712) ([woop](https://github.com/woop)) - Extract feature set update tests so CI doesn't run it [\#709](https://github.com/feast-dev/feast/pull/709) ([zhilingc](https://github.com/zhilingc)) @@ -1449,11 +1525,11 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Apply a fixed window before writing row metrics [\#590](https://github.com/feast-dev/feast/pull/590) ([davidheryanto](https://github.com/davidheryanto)) - Allow tests to run on non-master branches [\#588](https://github.com/feast-dev/feast/pull/588) ([woop](https://github.com/woop)) -## [v0.4.7](https://github.com/feast-dev/feast/tree/v0.4.7) (2020-03-17) +# [v0.4.7](https://github.com/feast-dev/feast/tree/v0.4.7) (2020-03-17) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.4.6...v0.4.7) -**Merged pull requests:** +### Merged Pull Requests - Add log4j-web jar to core and serving. [\#498](https://github.com/feast-dev/feast/pull/498) ([Yanson](https://github.com/Yanson)) - Clear all the futures when sync is called. [\#501](https://github.com/feast-dev/feast/pull/501) ([lavkesh](https://github.com/lavkesh)) - Encode feature row before storing in Redis [\#530](https://github.com/feast-dev/feast/pull/530) ([khorshuheng](https://github.com/khorshuheng)) @@ -1462,11 +1538,11 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Parameterize end to end test scripts. [\#433](https://github.com/feast-dev/feast/pull/433) ([Yanson](https://github.com/Yanson)) - Replacing Jedis With Lettuce in ingestion and serving [\#485](https://github.com/feast-dev/feast/pull/485) ([lavkesh](https://github.com/lavkesh)) -## [v0.4.6](https://github.com/feast-dev/feast/tree/v0.4.6) (2020-02-26) +# [v0.4.6](https://github.com/feast-dev/feast/tree/v0.4.6) (2020-02-26) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.4.5...v0.4.6) -**Merged pull requests:** +### Merged Pull Requests - Rename metric name for request latency in feast serving [\#488](https://github.com/feast-dev/feast/pull/488) ([davidheryanto](https://github.com/davidheryanto)) - Allow use of secure gRPC in Feast Python client [\#459](https://github.com/feast-dev/feast/pull/459) ([Yanson](https://github.com/Yanson)) - Extend WriteMetricsTransform in Ingestion to write feature value stats to StatsD [\#486](https://github.com/feast-dev/feast/pull/486) ([davidheryanto](https://github.com/davidheryanto)) @@ -1475,11 +1551,11 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Fail Spotless formatting check before tests execute [\#487](https://github.com/feast-dev/feast/pull/487) ([ches](https://github.com/ches)) - Reduce refresh rate of specification refresh in Serving to 10 seconds [\#481](https://github.com/feast-dev/feast/pull/481) ([woop](https://github.com/woop)) -## [v0.4.5](https://github.com/feast-dev/feast/tree/v0.4.5) (2020-02-14) +# [v0.4.5](https://github.com/feast-dev/feast/tree/v0.4.5) (2020-02-14) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.4.4...v0.4.5) -**Merged pull requests:** +### Merged Pull Requests - Use bzip2 compressed feature set json as pipeline option [\#466](https://github.com/feast-dev/feast/pull/466) ([khorshuheng](https://github.com/khorshuheng)) - Make redis key creation more determinisitic [\#471](https://github.com/feast-dev/feast/pull/471) ([zhilingc](https://github.com/zhilingc)) - Helm Chart Upgrades [\#458](https://github.com/feast-dev/feast/pull/458) ([Yanson](https://github.com/Yanson)) @@ -1490,11 +1566,11 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Deduplicate example notebooks [\#456](https://github.com/feast-dev/feast/pull/456) ([woop](https://github.com/woop)) - Allow users not to set max age for batch retrieval [\#446](https://github.com/feast-dev/feast/pull/446) ([zhilingc](https://github.com/zhilingc)) -## [v0.4.4](https://github.com/feast-dev/feast/tree/v0.4.4) (2020-01-28) +# [v0.4.4](https://github.com/feast-dev/feast/tree/v0.4.4) (2020-01-28) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.4.3...v0.4.4) -**Merged pull requests:** +### Merged Pull Requests - Change RedisBackedJobService to use a connection pool [\#439](https://github.com/feast-dev/feast/pull/439) ([zhilingc](https://github.com/zhilingc)) - Update GKE installation and chart values to work with 0.4.3 [\#434](https://github.com/feast-dev/feast/pull/434) ([lgvital](https://github.com/lgvital)) @@ -1506,23 +1582,23 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Update basic Feast example to Feast 0.4 [\#424](https://github.com/feast-dev/feast/pull/424) ([woop](https://github.com/woop)) - Introduce datatypes/java module for proto generation [\#391](https://github.com/feast-dev/feast/pull/391) ([ches](https://github.com/ches)) -## [v0.4.3](https://github.com/feast-dev/feast/tree/v0.4.3) (2020-01-08) +# [v0.4.3](https://github.com/feast-dev/feast/tree/v0.4.3) (2020-01-08) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.4.2...v0.4.3) -**Fixed bugs:** +### Bug Fixes - Bugfix for redis ingestion retries throwing NullPointerException on remote runners [\#417](https://github.com/feast-dev/feast/pull/417) ([khorshuheng](https://github.com/khorshuheng)) -## [v0.4.2](https://github.com/feast-dev/feast/tree/v0.4.2) (2020-01-07) +# [v0.4.2](https://github.com/feast-dev/feast/tree/v0.4.2) (2020-01-07) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.4.1...v0.4.2) -**Fixed bugs:** +### Bug Fixes - Missing argument in error string in ValidateFeatureRowDoFn [\#401](https://github.com/feast-dev/feast/issues/401) -**Merged pull requests:** +### Merged Pull Requests - Define maven revision property when packaging jars in Dockerfile so the images are built successfully [\#410](https://github.com/feast-dev/feast/pull/410) ([davidheryanto](https://github.com/davidheryanto)) - Deduplicate rows in subquery [\#409](https://github.com/feast-dev/feast/pull/409) ([zhilingc](https://github.com/zhilingc)) @@ -1533,24 +1609,24 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Use Nexus staging plugin for deployment [\#394](https://github.com/feast-dev/feast/pull/394) ([khorshuheng](https://github.com/khorshuheng)) - Handle retry for redis io flow [\#274](https://github.com/feast-dev/feast/pull/274) ([khorshuheng](https://github.com/khorshuheng)) -## [v0.4.1](https://github.com/feast-dev/feast/tree/v0.4.1) (2019-12-30) +# [v0.4.1](https://github.com/feast-dev/feast/tree/v0.4.1) (2019-12-30) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.4.0...v0.4.1) -**Merged pull requests:** +### Merged Pull Requests - Add project-related commands to CLI [\#397](https://github.com/feast-dev/feast/pull/397) ([zhilingc](https://github.com/zhilingc)) -## [v0.4.0](https://github.com/feast-dev/feast/tree/v0.4.0) (2019-12-28) +# [v0.4.0](https://github.com/feast-dev/feast/tree/v0.4.0) (2019-12-28) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.5...v0.4.0) -**Implemented enhancements:** +### Features - Edit description in feature specification to also reflect in BigQuery schema description. [\#239](https://github.com/feast-dev/feast/issues/239) - Allow for disabling of metrics pushing [\#57](https://github.com/feast-dev/feast/issues/57) -**Merged pull requests:** +### Merged Pull Requests - Java SDK release script [\#406](https://github.com/feast-dev/feast/pull/406) ([davidheryanto](https://github.com/davidheryanto)) - Use fixed 'dev' revision for test-e2e-batch [\#395](https://github.com/feast-dev/feast/pull/395) ([davidheryanto](https://github.com/davidheryanto)) @@ -1568,62 +1644,62 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Add readiness checks for Feast services in end to end test [\#337](https://github.com/feast-dev/feast/pull/337) ([davidheryanto](https://github.com/davidheryanto)) - Create CHANGELOG.md [\#321](https://github.com/feast-dev/feast/pull/321) ([woop](https://github.com/woop)) -## [v0.3.8](https://github.com/feast-dev/feast/tree/v0.3.8) (2020-06-10) +# [v0.3.8](https://github.com/feast-dev/feast/tree/v0.3.8) (2020-06-10) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.7...v0.3.8) -**Implemented enhancements:** +### Features - v0.3 backport: Add feature and feature set labels [\#737](https://github.com/feast-dev/feast/pull/737) ([ches](https://github.com/ches)) -**Merged pull requests:** +### Merged Pull Requests - v0.3 backport: Add Java coverage reporting [\#734](https://github.com/feast-dev/feast/pull/734) ([ches](https://github.com/ches)) -## [v0.3.7](https://github.com/feast-dev/feast/tree/v0.3.7) (2020-05-01) +# [v0.3.7](https://github.com/feast-dev/feast/tree/v0.3.7) (2020-05-01) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.6...v0.3.7) -**Merged pull requests:** +### Merged Pull Requests - Moved end-to-end test scripts from .prow to infra [\#657](https://github.com/feast-dev/feast/pull/657) ([khorshuheng](https://github.com/khorshuheng)) - Backported \#566 & \#647 to v0.3 [\#654](https://github.com/feast-dev/feast/pull/654) ([ches](https://github.com/ches)) -## [v0.3.6](https://github.com/feast-dev/feast/tree/v0.3.6) (2020-01-03) +# [v0.3.6](https://github.com/feast-dev/feast/tree/v0.3.6) (2020-01-03) -**Merged pull requests:** +### Merged Pull Requests [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.5...v0.3.6) - Add support for file paths for providing entity rows during batch retrieval [\#375](https://github.com/feast-dev/feast/pull/375) ([voonhous](https://github.com/voonhous)) -## [v0.3.5](https://github.com/feast-dev/feast/tree/v0.3.5) (2019-12-26) +# [v0.3.5](https://github.com/feast-dev/feast/tree/v0.3.5) (2019-12-26) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.4...v0.3.5) -**Merged pull requests:** +### Merged Pull Requests - Always set destination table in BigQuery query config in Feast Batch Serving so it can handle large results [\#392](https://github.com/feast-dev/feast/pull/392) ([davidheryanto](https://github.com/davidheryanto)) -## [v0.3.4](https://github.com/feast-dev/feast/tree/v0.3.4) (2019-12-23) +# [v0.3.4](https://github.com/feast-dev/feast/tree/v0.3.4) (2019-12-23) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.3...v0.3.4) -**Merged pull requests:** +### Merged Pull Requests - Make redis key creation more determinisitic [\#380](https://github.com/feast-dev/feast/pull/380) ([zhilingc](https://github.com/zhilingc)) -## [v0.3.3](https://github.com/feast-dev/feast/tree/v0.3.3) (2019-12-18) +# [v0.3.3](https://github.com/feast-dev/feast/tree/v0.3.3) (2019-12-18) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.2...v0.3.3) -**Implemented enhancements:** +### Features - Added Docker Compose for Feast [\#272](https://github.com/feast-dev/feast/issues/272) - Added ability to check import job status and cancel job through Python SDK [\#194](https://github.com/feast-dev/feast/issues/194) - Added basic customer transactions example [\#354](https://github.com/feast-dev/feast/pull/354) ([woop](https://github.com/woop)) -**Merged pull requests:** +### Merged Pull Requests - Added Prow jobs to automate the release of Docker images and Python SDK [\#369](https://github.com/feast-dev/feast/pull/369) ([davidheryanto](https://github.com/davidheryanto)) - Fixed installation link in README.md [\#368](https://github.com/feast-dev/feast/pull/368) ([Jeffwan](https://github.com/Jeffwan)) @@ -1639,11 +1715,11 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Added docker-compose file with Jupyter notebook [\#328](https://github.com/feast-dev/feast/pull/328) ([khorshuheng](https://github.com/khorshuheng)) - Added minimal implementation of ingesting Parquet and CSV files [\#327](https://github.com/feast-dev/feast/pull/327) ([voonhous](https://github.com/voonhous)) -## [v0.3.2](https://github.com/feast-dev/feast/tree/v0.3.2) (2019-11-29) +# [v0.3.2](https://github.com/feast-dev/feast/tree/v0.3.2) (2019-11-29) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.1...v0.3.2) -**Merged pull requests:** +### Merged Pull Requests - Fixed incorrect BigQuery schema creation from FeatureSetSpec [\#340](https://github.com/feast-dev/feast/pull/340) ([davidheryanto](https://github.com/davidheryanto)) - Filtered out feature sets that dont share the same source [\#339](https://github.com/feast-dev/feast/pull/339) ([zhilingc](https://github.com/zhilingc)) @@ -1656,17 +1732,17 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Pinned Python SDK to minor versions for dependencies [\#322](https://github.com/feast-dev/feast/pull/322) ([woop](https://github.com/woop)) - Added Auto format to Google style with Spotless [\#317](https://github.com/feast-dev/feast/pull/317) ([ches](https://github.com/ches)) -## [v0.3.1](https://github.com/feast-dev/feast/tree/v0.3.1) (2019-11-25) +# [v0.3.1](https://github.com/feast-dev/feast/tree/v0.3.1) (2019-11-25) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.3.0...v0.3.1) -**Merged pull requests:** +### Merged Pull Requests - Added Prometheus metrics to serving [\#316](https://github.com/feast-dev/feast/pull/316) ([zhilingc](https://github.com/zhilingc)) - Changed default job metrics sink to Statsd [\#315](https://github.com/feast-dev/feast/pull/315) ([zhilingc](https://github.com/zhilingc)) - Fixed module import error in Feast CLI [\#314](https://github.com/feast-dev/feast/pull/314) ([davidheryanto](https://github.com/davidheryanto)) -## [v0.3.0](https://github.com/feast-dev/feast/tree/v0.3.0) (2019-11-19) +# [v0.3.0](https://github.com/feast-dev/feast/tree/v0.3.0) (2019-11-19) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.1.8...v0.3.0) @@ -1681,7 +1757,7 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for * Added job management to Feast Core to manage ingestion/population jobs to remote Feast deployments * Added metric support through Prometheus -**Merged pull requests:** +### Merged Pull Requests - Regenerate go protos [\#313](https://github.com/feast-dev/feast/pull/313) ([zhilingc](https://github.com/zhilingc)) - Bump chart version to 0.3.0 [\#311](https://github.com/feast-dev/feast/pull/311) ([zhilingc](https://github.com/zhilingc)) @@ -1709,11 +1785,11 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Move storage configuration to serving [\#254](https://github.com/feast-dev/feast/pull/254) ([zhilingc](https://github.com/zhilingc)) - Serving API changes for 0.3 [\#253](https://github.com/feast-dev/feast/pull/253) ([zhilingc](https://github.com/zhilingc)) -## [v0.1.8](https://github.com/feast-dev/feast/tree/v0.1.8) (2019-10-30) +# [v0.1.8](https://github.com/feast-dev/feast/tree/v0.1.8) (2019-10-30) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.1.2...v0.1.8) -**Implemented enhancements:** +### Features - Feast cli config file should be settable by an env var [\#149](https://github.com/feast-dev/feast/issues/149) - Helm chart for deploying feast using Flink as runner [\#64](https://github.com/feast-dev/feast/issues/64) @@ -1722,28 +1798,28 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Change config to yaml [\#51](https://github.com/feast-dev/feast/issues/51) - Ability to pass runner option during ingestion job submission [\#50](https://github.com/feast-dev/feast/issues/50) -**Fixed bugs:** +### Bug Fixes - Fix Print Method in Feast CLI [\#211](https://github.com/feast-dev/feast/issues/211) - Dataflow monitoring by core is failing with incorrect job id [\#153](https://github.com/feast-dev/feast/issues/153) - Feast core crashes without logger set [\#150](https://github.com/feast-dev/feast/issues/150) -**Merged pull requests:** +### Merged Pull Requests - Remove redis transaction [\#280](https://github.com/feast-dev/feast/pull/280) ([pradithya](https://github.com/pradithya)) - Fix tracing to continue from existing trace created by grpc client [\#245](https://github.com/feast-dev/feast/pull/245) ([pradithya](https://github.com/pradithya)) -## [v0.1.2](https://github.com/feast-dev/feast/tree/v0.1.2) (2019-08-23) +# [v0.1.2](https://github.com/feast-dev/feast/tree/v0.1.2) (2019-08-23) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.1.1...v0.1.2) -**Fixed bugs:** +### Bug Fixes - Batch Import, feature with datetime format issue [\#203](https://github.com/feast-dev/feast/issues/203) - Serving not correctly reporting readiness check if there is no activity [\#190](https://github.com/feast-dev/feast/issues/190) - Serving stop periodically reloading feature specification after a while [\#188](https://github.com/feast-dev/feast/issues/188) -**Merged pull requests:** +### Merged Pull Requests - Add `romanwozniak` to prow owners config [\#216](https://github.com/feast-dev/feast/pull/216) ([romanwozniak](https://github.com/romanwozniak)) - Implement filter for create dataset api [\#215](https://github.com/feast-dev/feast/pull/215) ([pradithya](https://github.com/pradithya)) @@ -1767,36 +1843,36 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Continuous integration and deployment \(CI/CD\) update [\#183](https://github.com/feast-dev/feast/pull/183) ([davidheryanto](https://github.com/davidheryanto)) - Remove feature specs being able to declare their serving or warehouse stores [\#159](https://github.com/feast-dev/feast/pull/159) ([tims](https://github.com/tims)) -## [v0.1.1](https://github.com/feast-dev/feast/tree/v0.1.1) (2019-04-18) +# [v0.1.1](https://github.com/feast-dev/feast/tree/v0.1.1) (2019-04-18) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.1.0...v0.1.1) -**Fixed bugs:** +### Bug Fixes - Fix BigQuery query template to retrieve training data [\#182](https://github.com/feast-dev/feast/pull/182) ([davidheryanto](https://github.com/davidheryanto)) -**Merged pull requests:** +### Merged Pull Requests - Add python init files [\#176](https://github.com/feast-dev/feast/pull/176) ([zhilingc](https://github.com/zhilingc)) - Change pypi package from Feast to feast [\#173](https://github.com/feast-dev/feast/pull/173) ([zhilingc](https://github.com/zhilingc)) -## [v0.1.0](https://github.com/feast-dev/feast/tree/v0.1.0) (2019-04-09) +# [v0.1.0](https://github.com/feast-dev/feast/tree/v0.1.0) (2019-04-09) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.0.2...v0.1.0) -**Implemented enhancements:** +### Features - Removal of storing historical value of feature in serving storage [\#53](https://github.com/feast-dev/feast/issues/53) - Remove feature "granularity" and relegate to metadata [\#17](https://github.com/feast-dev/feast/issues/17) -**Closed issues:** +### Closes Issues - Add ability to name an import job [\#167](https://github.com/feast-dev/feast/issues/167) - Ingestion retrying an invalid FeatureRow endlessly [\#163](https://github.com/feast-dev/feast/issues/163) - Ability to associate data ingested in Warehouse store to its ingestion job [\#145](https://github.com/feast-dev/feast/issues/145) - Missing \(Fixing\) unit test for FeatureRowKafkaIO [\#132](https://github.com/feast-dev/feast/issues/132) -**Merged pull requests:** +### Merged Pull Requests - Catch all kind of exception to avoid retrying [\#171](https://github.com/feast-dev/feast/pull/171) ([pradithya](https://github.com/pradithya)) - Integration test [\#170](https://github.com/feast-dev/feast/pull/170) ([zhilingc](https://github.com/zhilingc)) @@ -1824,16 +1900,16 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Coalesce rows [\#89](https://github.com/feast-dev/feast/pull/89) ([tims](https://github.com/tims)) - Remove historical feature in serving store [\#87](https://github.com/feast-dev/feast/pull/87) ([pradithya](https://github.com/pradithya)) -## [v0.0.2](https://github.com/feast-dev/feast/tree/v0.0.2) (2019-03-11) +# [v0.0.2](https://github.com/feast-dev/feast/tree/v0.0.2) (2019-03-11) [Full Changelog](https://github.com/feast-dev/feast/compare/v0.0.1...v0.0.2) -**Implemented enhancements:** +### Features - Coalesce FeatureRows for improved "latest" value consistency in serving stores [\#88](https://github.com/feast-dev/feast/issues/88) - Kafka source [\#22](https://github.com/feast-dev/feast/issues/22) -**Closed issues:** +### Closes Issues - Preload Feast's spec in serving cache [\#151](https://github.com/feast-dev/feast/issues/151) - Feast csv data upload job [\#137](https://github.com/feast-dev/feast/issues/137) @@ -1843,16 +1919,16 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - Listing resources and finding out system state [\#131](https://github.com/feast-dev/feast/issues/131) - Reorganise ingestion store classes to match architecture [\#109](https://github.com/feast-dev/feast/issues/109) -## [v0.0.1](https://github.com/feast-dev/feast/tree/v0.0.1) (2019-02-11) +# [v0.0.1](https://github.com/feast-dev/feast/tree/v0.0.1) (2019-02-11) [Full Changelog](https://github.com/feast-dev/feast/compare/ec9def2bbb06dc759538e4424caadd70f548ea64...v0.0.1) -**Implemented enhancements:** +### Features - Spring boot CLI logs show up as JSON [\#104](https://github.com/feast-dev/feast/issues/104) - Allow for registering feature that doesn't have warehouse store [\#5](https://github.com/feast-dev/feast/issues/5) -**Fixed bugs:** +### Bug Fixes - Error when submitting large import spec [\#125](https://github.com/feast-dev/feast/issues/125) - Ingestion is not ignoring unknown feature in streaming source [\#99](https://github.com/feast-dev/feast/issues/99) @@ -1863,7 +1939,7 @@ See [Feast 0.5 Release Issue](https://github.com/feast-dev/feast/issues/527) for - \[FlinkRunner\] Core should not follow remote flink runner job to completion [\#21](https://github.com/feast-dev/feast/issues/21) - Go packages in protos use incorrect repo [\#16](https://github.com/feast-dev/feast/issues/16) -**Merged pull requests:** +### Merged Pull Requests - Disable test during docker image creation [\#129](https://github.com/feast-dev/feast/pull/129) ([pradithya](https://github.com/pradithya)) - Repackage helm chart [\#127](https://github.com/feast-dev/feast/pull/127) ([pradithya](https://github.com/pradithya)) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62e42d4df09..cb17012eea3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,11 +4,24 @@ ## Overview This guide is targeted at developers looking to contribute to Feast components in the main Feast repository: -- [Feast Python SDK / CLI](#feast-python-sdk-%2F-cli) +- [Feast Python SDK / CLI](#feast-python-sdk--cli) - [Feast Java Serving](#feast-java-serving) - [Feast Go Client](#feast-go-client) +## Community +See [Contribution process](https://docs.feast.dev/project/contributing) and [Community](https://docs.feast.dev/community) for details on how to get more involved in the community. + +A quick few highlights: +- [RFCs](https://drive.google.com/drive/u/0/folders/0AAe8j7ZK3sxSUk9PVA) +- [Community Slack](https://slack.feast.dev/) +- [Feast Dev Mailing List](https://groups.google.com/g/feast-dev) +- [Community Calendar](https://calendar.google.com/calendar/u/0?cid=ZTFsZHVhdGM3MDU3YTJucTBwMzNqNW5rajBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ) + - Includes biweekly community calls at 10AM PST + ## Making a pull request +We use the convention that the assignee of a PR is the person with the next action. + +This means that often, the assignee may be empty (if no reviewer has been found yet), the reviewer, or the PR writer if there are comments to be addressed. ### Pull request checklist A quick list of things to keep in mind as you're making changes: @@ -20,12 +33,12 @@ A quick list of things to keep in mind as you're making changes: - When you make the PR - Make a pull request from the forked repo you made - Ensure you add a GitHub **label** (i.e. a kind tag to the PR (e.g. `kind/bug` or `kind/housekeeping`)) or else checks will fail. - - Ensure you leave a release note for any user facing changes in the PR. There is a field automatically generated in the PR request. You can write `NONE` in that field if there are no user facing changes. + - Ensure you leave a release note for any user facing changes in the PR. There is a field automatically generated in the PR request. You can write `NONE` in that field if there are no user facing changes. - Please run tests locally before submitting a PR (e.g. for Python, the [local integration tests](#local-integration-tests)) - Try to keep PRs smaller. This makes them easier to review. ### Forking the repo -Fork the Feast Github repo and clone your fork locally. Then make changes to a local branch to the fork. +Fork the Feast Github repo and clone your fork locally. Then make changes to a local branch to the fork. See [Creating a pull request from a fork](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) @@ -40,10 +53,10 @@ pre-commit install --hook-type pre-commit --hook-type pre-push 3. On push, the pre-commit hook will run. This runs `make format` and `make lint`. ### Signing off commits -> :warning: Warning: using the default integrations with IDEs like VSCode or IntelliJ will not sign commits. +> :warning: Warning: using the default integrations with IDEs like VSCode or IntelliJ will not sign commits. > When you submit a PR, you'll have to re-sign commits to pass the DCO check. -Use git signoffs to sign your commits. See +Use git signoffs to sign your commits. See https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification for details Then, you can sign off commits with the `-s` flag: @@ -121,15 +134,15 @@ There are two sets of tests you can run: To get local integration tests running, you'll need to have Redis setup: Redis -1. Install Redis: [Quickstart](https://redis.io/topics/quickstart) -2. Run `redis-server` +1. Install Redis: [Quickstart](https://redis.io/topics/quickstart) +2. Run `redis-server` Now run `make test-python-universal-local` #### Full integration tests To test across clouds, on top of setting up Redis, you also need GCP / AWS / Snowflake setup. -> Note: you can manually control what tests are run today by inspecting +> Note: you can manually control what tests are run today by inspecting > [RepoConfiguration](https://github.com/feast-dev/feast/blob/master/sdk/python/tests/integration/feature_repos/repo_configuration.py) > and commenting out tests that are added to `DEFAULT_FULL_REPO_CONFIGS` @@ -151,6 +164,22 @@ To test across clouds, on top of setting up Redis, you also need GCP / AWS / Sno Then run `make test-python-integration`. Note that for Snowflake / GCP / AWS, this will create new temporary tables / datasets. +#### (Experimental) Run full integration tests against containerized services +Test across clouds requires existing accounts on GCP / AWS / Snowflake, and may incur costs when using these services. + +For this approach of running tests, you'll need to have docker set up locally: [Get Docker](https://docs.docker.com/get-docker/) + +It's possible to run some integration tests against emulated local versions of these services, using ephemeral containers. +These tests create new temporary tables / datasets locally only, and they are cleaned up. when the containers are torn down. + +The services with containerized replacements currently implemented are: +- Datastore +- DynamoDB +- Redis + +You can run `make test-python-integration-container` to run tests against the containerized versions of dependencies. + + ## Feast Java Serving See [Java contributing guide](java/CONTRIBUTING.md) @@ -187,4 +216,18 @@ go vet Unit tests for the Feast Go Client can be run as follows: ```sh go test -``` \ No newline at end of file +``` + +### Testing with Github Actions workflows +* Update your current master on your forked branch and make a pull request against your own forked master. +* Enable workflows by going to actions and clicking `Enable Workflows`. + * Pushes will now run your edited workflow yaml file against your test code. + * Unfortunately, in order to test any github workflow changes, you must push the code to the branch and see the output in the actions tab. + +## Issues +* pr-integration-tests workflow is skipped + * Add `ok-to-test` github label. +* pr-integration-tests errors out with `Error: fatal: invalid refspec '+refs/pull//merge:refs/remotes/pull//merge'` + * This is because github actions cannot pull the branch version for some reason so just find your PR number in your pull request header and hard code it into the `uses: actions/checkout@v2` section (i.e replace `refs/pull/${{ github.event.pull_request.number }}/merge` with `refs/pull//merge`) +* AWS/GCP workflow + * Currently still cannot test GCP/AWS workflow without setting up secrets in a forked repository. diff --git a/Makefile b/Makefile index 164f6afb54d..4d961a04725 100644 --- a/Makefile +++ b/Makefile @@ -16,12 +16,11 @@ ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) MVN := mvn -f java/pom.xml ${MAVEN_EXTRA_OPTS} -PROTO_TYPE_SUBDIRS = core serving types storage -PROTO_SERVICE_SUBDIRS = core serving OS := linux ifeq ($(shell uname -s), Darwin) OS = osx endif +TRINO_VERSION ?= 376 # General @@ -33,15 +32,13 @@ test: test-python test-java test-go protos: compile-protos-go compile-protos-python compile-protos-docs -build: protos build-java build-docker build-html - -install-ci-dependencies: install-python-ci-dependencies install-java-ci-dependencies install-go-ci-dependencies +build: protos build-java build-docker # Python SDK -install-python-ci-dependencies: +install-python-ci-dependencies: install-go-proto-dependencies install-go-ci-dependencies cd sdk/python && python -m piptools sync requirements/py$(PYTHON)-ci-requirements.txt - cd sdk/python && python setup.py develop + cd sdk/python && COMPILE_GO=true python setup.py develop lock-python-ci-dependencies: cd sdk/python && python -m piptools compile -U --extra ci --output-file requirements/py$(PYTHON)-ci-requirements.txt @@ -50,8 +47,7 @@ package-protos: cp -r ${ROOT_DIR}/protos ${ROOT_DIR}/sdk/python/feast/protos compile-protos-python: - @$(foreach dir,$(PROTO_TYPE_SUBDIRS),cd ${ROOT_DIR}/protos; python -m grpc_tools.protoc -I. --grpc_python_out=../sdk/python/feast/protos/ --python_out=../sdk/python/feast/protos/ --mypy_out=../sdk/python/feast/protos/ feast/$(dir)/*.proto;) - @$(foreach dir,$(PROTO_TYPE_SUBDIRS),grep -rli 'from feast.$(dir)' sdk/python/feast/protos | xargs -I@ sed -i.bak 's/from feast.$(dir)/from feast.protos.feast.$(dir)/g' @;) + cd sdk/python && python setup.py build_python_protos install-python: cd sdk/python && python -m piptools sync requirements/py$(PYTHON)-requirements.txt @@ -72,12 +68,21 @@ test-python: test-python-integration: FEAST_USAGE=False IS_TEST=True python -m pytest -n 8 --integration sdk/python/tests +test-python-integration-container: + FEAST_USAGE=False IS_TEST=True FEAST_LOCAL_ONLINE_CONTAINER=True python -m pytest -n 8 --integration sdk/python/tests + +test-python-universal-contrib: + PYTHONPATH='.' FULL_REPO_CONFIGS_MODULE=sdk.python.feast.infra.offline_stores.contrib.contrib_repo_configuration FEAST_USAGE=False IS_TEST=True python -m pytest -n 8 --integration --universal sdk/python/tests + test-python-universal-local: FEAST_USAGE=False IS_TEST=True FEAST_IS_LOCAL_TEST=True python -m pytest -n 8 --integration --universal sdk/python/tests test-python-universal: FEAST_USAGE=False IS_TEST=True python -m pytest -n 8 --integration --universal sdk/python/tests +test-python-go-server: compile-go-lib + FEAST_USAGE=False IS_TEST=True FEAST_GO_FEATURE_RETRIEVAL=True pytest --integration --goserver sdk/python/tests + format-python: # Sort cd ${ROOT_DIR}/sdk/python; python -m isort feast/ tests/ @@ -86,7 +91,7 @@ format-python: cd ${ROOT_DIR}/sdk/python; python -m black --target-version py37 feast tests lint-python: - cd ${ROOT_DIR}/sdk/python; python -m mypy feast/ tests/ + cd ${ROOT_DIR}/sdk/python; python -m mypy cd ${ROOT_DIR}/sdk/python; python -m isort feast/ tests/ --check-only cd ${ROOT_DIR}/sdk/python; python -m flake8 feast/ tests/ cd ${ROOT_DIR}/sdk/python; python -m black --check feast tests @@ -117,23 +122,50 @@ build-java: build-java-no-tests: ${MVN} --no-transfer-progress -Dmaven.javadoc.skip=true -Dgpg.skip -DskipUTs=true -DskipITs=true -Drevision=${REVISION} clean package -# Go SDK +# Trino plugin +start-trino-locally: + cd ${ROOT_DIR}; docker run --detach --rm -p 8080:8080 --name trino -v ${ROOT_DIR}/sdk/python/feast/infra/offline_stores/contrib/trino_offline_store/test_config/properties/:/etc/catalog/:ro trinodb/trino:${TRINO_VERSION} + sleep 15 + +test-trino-plugin-locally: + cd ${ROOT_DIR}/sdk/python; FULL_REPO_CONFIGS_MODULE=feast.infra.offline_stores.contrib.trino_offline_store.test_config.manual_tests FEAST_USAGE=False IS_TEST=True python -m pytest --integration --universal tests/ + +kill-trino-locally: + cd ${ROOT_DIR}; docker stop trino + +# Go SDK & embedded + +install-go-proto-dependencies: + go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26.0 + go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0 install-go-ci-dependencies: - go get -u github.com/golang/protobuf/protoc-gen-go - go get -u golang.org/x/lint/golint + # ToDo: currently gopy installation doesn't work w/o explicit go get in the next line + # ToDo: there should be a better way to install gopy + go get github.com/go-python/gopy + go install golang.org/x/tools/cmd/goimports + go install github.com/go-python/gopy + +install-protoc-dependencies: + pip install grpcio-tools==1.34.0 + +compile-protos-go: install-go-proto-dependencies install-protoc-dependencies + cd sdk/python && python setup.py build_go_protos -compile-protos-go: - $(foreach dir,types serving core storage,cd ${ROOT_DIR}/protos; protoc -I/usr/local/include -I. --go_out=plugins=grpc,paths=source_relative:../sdk/go/protos feast/$(dir)/*.proto;) +compile-go-lib: install-go-proto-dependencies install-go-ci-dependencies + python -m pip install pybindgen==0.22.0 + cd sdk/python && python setup.py build_go_lib -test-go: - cd ${ROOT_DIR}/sdk/go; go test ./... +# Needs feast package to setup the feature store +test-go: compile-protos-go + pip install -e "sdk/python[ci]" + go test ./... format-go: - cd ${ROOT_DIR}/sdk/go; gofmt -s -w *.go + gofmt -s -w go/ -lint-go: - cd ${ROOT_DIR}/sdk/go; go vet +lint-go: compile-protos-go + go vet ./go/internal/feast ./go/cmd/server # Docker @@ -198,4 +230,4 @@ build-sphinx: compile-protos-python cd $(ROOT_DIR)/sdk/python/docs && $(MAKE) build-api-source build-templates: - python infra/scripts/compile-templates.py \ No newline at end of file + python infra/scripts/compile-templates.py diff --git a/OWNERS b/OWNERS index 199f9d19f23..bc7342c3d61 100644 --- a/OWNERS +++ b/OWNERS @@ -9,6 +9,7 @@ approvers: - felixwang9817 - mavysavydav - MattDelac + - kevjumba reviewers: - woop - tsotnet @@ -18,3 +19,4 @@ reviewers: - felixwang9817 - mavysavydav - MattDelac + - kevjumba diff --git a/README.md b/README.md index 9f15c1a1714..b0cc61c91dc 100644 --- a/README.md +++ b/README.md @@ -147,8 +147,8 @@ The list below contains the functionality that contributors are planning to deve * [x] [Synapse source (community plugin)](https://github.com/Azure/feast-azure) * [x] [Hive (community plugin)](https://github.com/baineng/feast-hive) * [x] [Postgres (community plugin)](https://github.com/nossrannug/feast-postgres) - * [x] [Spark (community plugin)](https://github.com/Adyen/feast-spark-offline-store) - * [x] Kafka source (with [push support into the online store](https://docs.feast.dev/reference/alpha-stream-ingestion)) + * [x] [Spark (community plugin)](https://docs.feast.dev/reference/data-sources/spark) + * [x] Kafka / Kinesis sources (via [push support into the online store](https://docs.feast.dev/reference/data-sources/push) * [ ] HTTP source * **Offline Stores** * [x] [Snowflake](https://docs.feast.dev/reference/offline-stores/snowflake) @@ -158,7 +158,7 @@ The list below contains the functionality that contributors are planning to deve * [x] [Hive (community plugin)](https://github.com/baineng/feast-hive) * [x] [Postgres (community plugin)](https://github.com/nossrannug/feast-postgres) * [x] [Trino (community plugin)](https://github.com/Shopify/feast-trino) - * [x] [Spark (community plugin)](https://github.com/Adyen/feast-spark-offline-store) + * [x] [Spark (community plugin)](https://docs.feast.dev/reference/offline-stores/spark) * [x] [In-memory / Pandas](https://docs.feast.dev/reference/offline-stores/file) * [x] [Custom offline store support](https://docs.feast.dev/how-to-guides/adding-a-new-offline-store) * **Online Stores** @@ -173,12 +173,12 @@ The list below contains the functionality that contributors are planning to deve * [ ] Cassandra * **Streaming** * [x] [Custom streaming ingestion job support](https://docs.feast.dev/how-to-guides/creating-a-custom-provider) - * [x] [Push based streaming data ingestion](reference/alpha-stream-ingestion.md) + * [x] [Push based streaming data ingestion](https://docs.feast.dev/reference/data-sources/push.md) * [ ] Streaming ingestion on AWS * [ ] Streaming ingestion on GCP * **Feature Engineering** * [x] On-demand Transformations (Alpha release. See [RFC](https://docs.google.com/document/d/1lgfIw0Drc65LpaxbUu49RCeJgMew547meSJttnUqz7c/edit#)) - * [ ] Batch transformation (SQL. In progress. See [RFC](https://docs.google.com/document/d/1964OkzuBljifDvkV-0fakp2uaijnVzdwWNGdz7Vz50A/edit)) + * [ ] Batch transformation (In progress. See [RFC](https://docs.google.com/document/d/1964OkzuBljifDvkV-0fakp2uaijnVzdwWNGdz7Vz50A/edit)) * [ ] Streaming transformation * **Deployments** * [x] AWS Lambda (Alpha release. See [RFC](https://docs.google.com/document/d/1eZWKWzfBif66LDN32IajpaG-j82LSHCCOzY6R7Ax7MI/edit)) @@ -204,7 +204,7 @@ The list below contains the functionality that contributors are planning to deve * [x] CLI for browsing feature registry * [x] Model-centric feature tracking (feature services) * [x] Amundsen integration (see [Feast extractor](https://github.com/amundsen-io/amundsen/blob/main/databuilder/databuilder/extractor/feast_extractor.py)) - * [ ] Feast Web UI (in progress) + * [x] Feast Web UI (alpha) * [ ] REST API for browsing feature registry * [ ] Feature versioning diff --git a/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1) (1).svg b/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1) (1).svg new file mode 100644 index 00000000000..b707f490461 --- /dev/null +++ b/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1) (1).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1) (2).svg b/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1) (2).svg new file mode 100644 index 00000000000..b707f490461 --- /dev/null +++ b/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1) (2).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1).svg b/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1).svg new file mode 100644 index 00000000000..b707f490461 --- /dev/null +++ b/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (1).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (2).svg b/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (2).svg new file mode 100644 index 00000000000..b707f490461 --- /dev/null +++ b/docs/.gitbook/assets/basic-architecture-diagram (3) (3) (3) (3) (3) (3) (1) (1) (1) (2) (2).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (1).svg b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (1).svg new file mode 100644 index 00000000000..fb5e0659e55 --- /dev/null +++ b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (1).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (2).svg b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (2).svg new file mode 100644 index 00000000000..fb5e0659e55 --- /dev/null +++ b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (2).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (3).svg b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (3).svg new file mode 100644 index 00000000000..fb5e0659e55 --- /dev/null +++ b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1) (3).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1).svg b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1).svg new file mode 100644 index 00000000000..fb5e0659e55 --- /dev/null +++ b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (1).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (2).svg b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (2).svg new file mode 100644 index 00000000000..fb5e0659e55 --- /dev/null +++ b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (2).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (3).svg b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (3).svg new file mode 100644 index 00000000000..fb5e0659e55 --- /dev/null +++ b/docs/.gitbook/assets/blank-diagram-4 (4) (4) (4) (4) (4) (4) (4) (4) (2) (1) (1) (1) (1) (2) (3).svg @@ -0,0 +1 @@ +