Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: feast-dev/feast
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: stable
Choose a base ref
...
head repository: feast-dev/feast
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 16 commits
  • 101 files changed
  • 12 contributors

Commits on Mar 14, 2026

  1. feat: Add Oracle DB as Offline store in python sdk & operator (#6017)

    * feat: Add Oracle DB as Offline store in python sdk &  support in feast-operator
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Added oracle db dependency from ibis-framework subgroups
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Operator yaml changes
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Data source writer ignored parameters, fixed
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Replaced raw sql with dedicated truncate_table() to fix SQL Injection Vulnerability
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Minor improvements like single db connection, removal of default creds & validation for mutually exclusive fields
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Fetching pre-filtered table from db
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Minor formatting changes
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Added Oracle DB Offline Store documentation
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Resolved import error by removing OracleSource import from the __init__
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Fixed lint error by updating secret baseline
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * fix: Exclude qdrant from docstring tests to avoid qdrant-client 1.17.0 EnumTypeWrapper incompatibility
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Generated secret.baseline to avoid lint error
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Fixed lint error
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Updated .secrets.baseline
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Fixed lint errors
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Fixed lint errors
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Update sdk/python/feast/type_map.py
    
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Updated dependency lock files
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Fixed lint issues in Trino Offline Store
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Updated requirements
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Updated pixi.lock file
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Restricted non-empty feature_views in get_historical_features() to avoid runtime errors
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Removed _build_data_source_reader_for_retrieval function
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Modified initial query to be _ to avoid empty string casting to Null value in Oracle DB
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * cast DATE to TIMESTAMP in _read_oracle_table to preserve time lost by ibis date32[day] Arrow mapping
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Use single database connection for pull_latest_from_table_or_query()
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Improved readibility by breaking down the code into functions
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Updated .secret.baseline
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Updated .secret.baseline and pixi.lock
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Fixed lint issue
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    ---------
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
    aniketpalu and devin-ai-integration[bot] authored Mar 14, 2026
    Configuration menu
    Copy the full SHA
    9d35368 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2026

  1. Configuration menu
    Copy the full SHA
    4ea9b32 View commit details
    Browse the repository at this point in the history
  2. feat: Add feast apply init container to automate registry population …

    …on pod start (#6106)
    
    * feat: Add feast apply init container to automate registry population on pod start
    
    Signed-off-by: ntkathole <[email protected]>
    
    * fix: Replicas is not required
    
    Signed-off-by: ntkathole <[email protected]>
    
    * fix: Fixed race condition in _apply_object
    
    Signed-off-by: ntkathole <[email protected]>
    
    * fix: Improve error messaging
    
    Signed-off-by: ntkathole <[email protected]>
    
    ---------
    
    Signed-off-by: ntkathole <[email protected]>
    ntkathole authored Mar 15, 2026
    Configuration menu
    Copy the full SHA
    6b31a43 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2026

  1. fix: Fix regstry Rest API tests intermittent failure

    Signed-off-by: Srihari <[email protected]>
    Srihari1192 authored and ntkathole committed Mar 16, 2026
    Configuration menu
    Copy the full SHA
    d53a339 View commit details
    Browse the repository at this point in the history
  2. feat: Added Agent skills for AI Agents (#6007)

    Added Agent Skills for the feast user
    
    Signed-off-by: Chaitany patel <[email protected]>
    patelchaitany authored Mar 16, 2026
    Configuration menu
    Copy the full SHA
    99008c8 View commit details
    Browse the repository at this point in the history
  3. feat: Created DocEmbedder class (#5973)

    * - Introduced DocEmbedder class for embedding documents and transforming them into the FeatureView schema.
    - Added BaseChunker and TextChunker classes for document chunking.
    - Updated pyproject.toml to include sentence-transformers dependency.
    - Created a new Jupyter notebook example for using the RAG retriever with document embedding.
    
    Signed-off-by: Chaitany patel <[email protected]>
    
    * - Introduced DocEmbedder class for embedding documents and transforming them into the FeatureView schema.
    - Added BaseChunker and TextChunker classes for document chunking.
    - Updated pyproject.toml to include sentence-transformers dependency.
    - Created a new Jupyter notebook example for using the RAG retriever with document embedding.
    
    Signed-off-by: Chaitany patel <[email protected]>
    
    * resolving the merge conflict
    
    Signed-off-by: Chaitany patel <[email protected]>
    
    ---------
    
    Signed-off-by: Chaitany patel <[email protected]>
    patelchaitany authored Mar 16, 2026
    Configuration menu
    Copy the full SHA
    0719c06 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    611fe05 View commit details
    Browse the repository at this point in the history
  5. feat: Add Claude Code agent skills for Feast (#6081)

    * feat: add Claude Code agent skills for Feast
    
    Add two agent skills following the anthropics/skills SKILL.md format:
    
    - feast-dev: Development guide for contributors covering setup, testing,
      linting, code style, project structure, and key abstractions
    - feast-feature-engineering: User-facing guide for building feature stores
      covering feature definitions, materialization, online/offline retrieval,
      on-demand transformations, and CLI reference
    
    Closes #5976
    
    Signed-off-by: Sagar Gupta <[email protected]>
    
    * refactor: move skills to top-level dir, add Agent Skills spec compatibility
    
    - Move from .claude/skills/ to skills/ for platform-agnostic placement
    - Add license, compatibility, and metadata fields per agentskills.io spec
    - Skills now work with Claude Code, OpenAI Codex, and any Agent Skills
      compatible tool
    
    Addresses feedback from @franciscojavierarceo regarding OpenAI compatibility.
    
    Signed-off-by: Sagar Gupta <[email protected]>
    
    * refactor: scope to dev/contributor skill only
    
    Remove feast-feature-engineering skill to avoid overlap with #6007
    which covers user-facing content more comprehensively. This PR now
    focuses exclusively on the developer/contributor workflow skill.
    
    Signed-off-by: Sagar Gupta <[email protected]>
    
    * fix: align commands with Makefile and CLAUDE.md
    
    Address Devin Review findings:
    - Use make install-python-dependencies-dev instead of uv pip install
    - Remove nonexistent start-local-integration-tests target
    - Fix type-check command to cd sdk/python && python -m mypy feast
    - Add make test-python-unit-fast and make precommit-check targets
    
    Signed-off-by: Sagar Gupta <[email protected]>
    
    * fix: correct test file path to test_unit_feature_store.py
    
    Address Devin Review finding: the example pytest commands referenced
    test_feature_store.py which doesn't exist. The actual file is
    test_unit_feature_store.py. Also use -k flag for test name filtering
    instead of :: class notation.
    
    Signed-off-by: Sagar Gupta <[email protected]>
    
    * fix: correct CLI entry point path to cli/cli.py
    
    Signed-off-by: Sagar Gupta <[email protected]>
    
    ---------
    
    Signed-off-by: Sagar Gupta <[email protected]>
    Sagargupta16 authored Mar 16, 2026
    Configuration menu
    Copy the full SHA
    1e5b60f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3639570 View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2026

  1. Configuration menu
    Copy the full SHA
    c335ec7 View commit details
    Browse the repository at this point in the history
  2. fix: Fixed the intermittent FeatureViewNotFoundException

    Signed-off-by: ntkathole <[email protected]>
    ntkathole committed Mar 17, 2026
    Configuration menu
    Copy the full SHA
    661ecc7 View commit details
    Browse the repository at this point in the history
  3. docs: Add blog post on Feast Oracle Database offline store support (#…

    …6114)
    
    * docs: Add blog post on Feast Oracle Database offline store support
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Corrected slack channel link & removed future plan section
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Reworded description, minor nits
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Updated image with Feast text in the hero image
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    * Updated image with Feast text in the hero image
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    
    ---------
    
    Signed-off-by: Aniket Paluskar <[email protected]>
    aniketpalu authored Mar 17, 2026
    Configuration menu
    Copy the full SHA
    9552492 View commit details
    Browse the repository at this point in the history
  4. fix(postgres): Use end_date in synthetic entity_df for non-entity ret…

    …rieval (#6110)
    
    * fix(postgres): Use end_date instead of start_date in synthetic entity_df for non-entity retrieval
    
    The non-entity retrieval path created a synthetic entity_df using
    pd.date_range(start=start_date, ...)[:1], which placed start_date as
    the event_timestamp. Since PIT joins use MAX(entity_timestamp) as the
    upper bound for feature data filtering, using start_date made end_date
    unreachable — no features after start_date would be returned.
    
    Fix: use [end_date] directly, matching the ClickHouse implementation
    (PR #6066) and the Dask offline store behavior.
    
    Signed-off-by: yassinnouh21 <[email protected]>
    
    * fix: preserve timestamp range for min_event_timestamp and fix formatting
    
    The entity_df fix alone would cause min_event_timestamp to be computed
    as end_date - TTL (instead of start_date - TTL), clipping valid data
    from the query window. Override entity_df_event_timestamp_range to
    (start_date, end_date) in non-entity mode so the full range is used.
    
    Also fix ruff formatting in the test file.
    
    Signed-off-by: yassinnouh21 <[email protected]>
    
    * test: add integration test for non-entity retrieval
    
    Signed-off-by: yassinnouh21 <[email protected]>
    
    ---------
    
    Signed-off-by: yassinnouh21 <[email protected]>
    Co-authored-by: Francisco Javier Arceo <[email protected]>
    YassinNouh21 and franciscojavierarceo authored Mar 17, 2026
    Configuration menu
    Copy the full SHA
    088a802 View commit details
    Browse the repository at this point in the history
  5. fix: SSL/TLS mode by default for postgres connection

    Signed-off-by: ntkathole <[email protected]>
    ntkathole committed Mar 17, 2026
    Configuration menu
    Copy the full SHA
    4844488 View commit details
    Browse the repository at this point in the history
  6. feat: Add typed_features field to grpc write request ((#6117) (#6118)

    * feat: add typed_features field to PushRequest and WriteToOnlineStoreRequest (#6117)
    
    Signed-off-by: Nick Quinn <[email protected]>
    
    * Devin feedback
    
    Signed-off-by: Nick Quinn <[email protected]>
    
    * feat: Add typed_features field to grpc write request (#6117)
    
    Signed-off-by: Nick Quinn <[email protected]>
    
    * fix: Revert generated proto files to CI-compatible version
    
    Signed-off-by: Nick Quinn <[email protected]>
    
    * fix: Fix GrpcServer_pb2 typed_features stub and import paths
    
    Signed-off-by: Nick Quinn <[email protected]>
    
    * style: Apply ruff line-length formatting to grpc_server.py
    
    Signed-off-by: Nick Quinn <[email protected]>
    
    * Unwrap compound protobuf Value types in parse_typed
    
    Signed-off-by: Nick Quinn <[email protected]>
    
    * feat: Support distinct count aggregation [#6116]
    
    Signed-off-by: Nick Quinn <[email protected]>
    
    ---------
    
    Signed-off-by: Nick Quinn <[email protected]>
    Co-authored-by: Nick Quinn <[email protected]>
    Co-authored-by: Francisco Javier Arceo <[email protected]>
    3 people authored Mar 17, 2026
    Configuration menu
    Copy the full SHA
    eeaa6db View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2026

  1. Make feature server URL configurable in UI

    Signed-off-by: kchawlani19 <[email protected]>
    kchawlani19 authored and ntkathole committed Mar 18, 2026
    Configuration menu
    Copy the full SHA
    18ede88 View commit details
    Browse the repository at this point in the history
Loading