Skip to content

Conversation

@fengelniederhammer
Copy link
Contributor

@fengelniederhammer fengelniederhammer commented Jan 8, 2026

The most notable change is that SILO can now handle multiple lineage definitions (that is also the breaking change - the config value is an array now).

SILO Changelog

0.9.3 (2025-12-16)

Features

  • benchmarking: add optional QUERIES custom variable (772cd36)
  • benchmarking: allow avoidance of preprocessing by setting OUTPUT_DIR (74c8b84)
  • benchmarking: optionally store the produced binaries (7bb482c), closes #1087
  • benchmarking: update api-query to ignore empty ignore regex files (f572701)
  • silo: add function to dynamically create tables in a silo instance (b70f1df)
  • silo: use mimalloc as the default allocator (2203db9)

Bug Fixes

  • benchmarking: accept differences in HTTP error responses (df3e18b)
  • benchmarking: set a timeout waiting for SILO to start (f50e38d)
  • benchmarking: set default for QUERIES env var, not just QUERIES_DIR (20ad729)

0.9.2 (2025-12-03)

Features

  • benchmarking: add DEBUG custom variable for running debug builds (541afc8)
  • benchmarking: update api-query, enable CSV log file w/ checksum comparisons (3d135d0)
  • build: add Makefile rule to generate conanprofile (1a8a334)
  • build: tag images with branch name again (670817c)
  • ci: add CI workflow that also runs the test suite with debug build (9bdc52b)
  • documentation: add documentation for sequence storage format (47e4081)
  • silo: add efficient way of computing vertical coverage bitmaps and use them to adapt reference positions (8e7e9f4)
  • silo: add reordering of predicates to apply most selective predicates first (1db8cf0)
  • silo: better compression for sequences (9eb69c7)
  • silo: change IsInCoveredRegion to predicate instead of being its own filter-operator (6fef558)
  • silo: enable rewrite of SymbolInSet expressions under Or (5489117)
  • silo: split compile function into separate rewrite step (27b7e7c)

Bug Fixes

  • build: correctly fix the cppstd for installing the arrow dependency (0c4aed3)
  • build: fix Makefile to not repeatedly invoke conan install (346e6a9)
  • silo: do not add empty coverage bitmaps (5bd32c7)
  • silo: remove memory leak in sequence storage (1da9ecd)

0.9.1 (2025-10-28)

Features

  • benchmarking: support versioned datasets (#1031) (4a7399b), closes #1018
  • performance: add performance benchmark subdirectory with a benchmark on mutation queries (23af5c1)
  • silo: add amino acid codes J, O, U and clean some code (ccf15ed)
  • silo: add template to run ppx instances (#1019) (129b428)
  • silo: address memory leak concerns (#1008) (7359eea)
  • silo: fix clang-tidy configs (no comment allowed in checks), error on warnings in CMake clang-tidy option (#1009) (d5bbaba)
  • silo: improve error message if primary key is of type lineage (#1030) (a861141)

Bug Fixes

  • e2e: remove obsolete version tag in docker compose files leading to warning (5beabad)
  • silo: correctly error when requested insertion positions are larger than reference sequence size (befbc76)
  • silo: optimize check for unique keys (4738a27)

0.9.0 (2025-10-03)

⚠ BREAKING CHANGES

  • silo: Multiple breaking changes to lineage configuration:
    • PreprocessingConfig: lineageDefinitionsFilename renamed to
      lineageDefinitionFilenames and changed from string to list
    • DatabaseConfig: generateLineageIndex changed from boolean to string
      (expects lineage definition filename)

Features

  • silo: support multiple lineage systems (f4be635)

LAPIS Changelog

0.6.3 (2025-12-09)

Features

  • lapis-docs: give examples for boolean queries (#1470) (d211119)
  • lapis-docs: improve advanced queries docs (#1468) (6df0ed0)
  • lapis-docs: mention n-of syntax earlier (#1471) (d327c74)

Bug Fixes

0.6.2 (2025-12-02)

Features

  • lapis: automate access key rotation (#1429) (edbcfa7)
  • lapis: for protected data, require >= 10 sequences per request (#1428) (4f4c429)
  • lapis: support random with seed (#1426) (0773dcd)

Bug Fixes

  • lapis-e2e: fix invalid insertion indices (#1421) (53f2dab)
  • lapis: also regard request parameters for non-GET requests (#1427) (4c8cf32)

0.6.1 (2025-10-14)

Bug Fixes

  • lapis: close connection to SILO if client cancels request to LAPIS (#1393) (17012a8)

0.6.0 (2025-10-07)

⚠ BREAKING CHANGES

  • lapis: make generateLineageIndex in the database config a string field

Features

  • lapis: make generateLineageIndex in the database config a string field (#1377) (3f02855)

0.5.20 (2025-11-12)

Features

  • lapis: for protected data, require >= 10 sequences per request (97e651c)
  • lapis: automate access key rotation (2abed81)

Bug Fixes

  • lapis: also regard request parameters for non-GET requests (aff7eb5)

Screenshot

PR Checklist

  • All necessary documentation has been adapted.
  • The implemented feature is covered by appropriate, automated tests.
  • Any manual testing that has been done is documented (i.e. what exactly was tested?)
    • submitting for the dummy organism works
    • The CCHF S lineage still works (The dropdown in the search filter shows the same numbers as the current main deployment and filtering by it works.)
    • https://lapis-silo0-9.loculus.org/cchf/sample/aggregated?lineage=IV*&fields=lineage shows:
        "data": [
          {
            "count": 277,
            "lineage": "IV.2"
          },
          {
            "count": 380,
            "lineage": "IV.1"
          }
        ],
      
      which looks as reasonable.

🚀 Preview: https://silo0-9.loculus.org

@fengelniederhammer fengelniederhammer added the preview Triggers a deployment to argocd label Jan 8, 2026
@fengelniederhammer fengelniederhammer self-assigned this Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview Triggers a deployment to argocd

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(benchmarking): optionally store the produced binaries Benchmarking: allow benchmarking across SILO versions when datasets must adapt

2 participants