Skip to content

Climate Conference

Choose a tag to compare

@knutdrand knutdrand released this 31 May 07:43
· 1170 commits to master since this release

🚀 Release v1.0.14 · Model Configuration & Metrics Expansion

This release introduces major enhancements to model configuration, adds new backtest metrics, and improves system robustness across the board. It also includes several bug fixes, CI improvements, and developer tooling updates.

The database schemas has changed significantly since last release, so the existing evaluation and dataset data in the chap database has to be deleted for this update. Running docker compose down --volumes will do this.


🖥 How to install this release on a server

Step 1 | NB! Only needed if you already have the chap-core repo, otherwise skip to step 2

2.1 If you already have the folder since you previously cloned the CHAP core repo, go into the folder (chap-core) and run the command below. This will shut down running containers and delete all data related to CHAP.

IMPORTANT! Be aware this will also delete stored data in Chap, such as evaluations and predictions.

docker compose down --volumes

2.2. Fetch all new versions

git fetch --tags 

2.3. Run the command below to switch the repo to v1.0.14, this is not necessary if you cloned the repo/started from scratch (step 1)

git switch v1.0.14 --detach

Step 2: NB! Only if you have not proceeded with step 1 (you not have the chap-core repo)

Run this command, if you have not cloned the chap-core repo before, or you are starting from scratch, for instance, if you are deploying through GitHub Actions.

git clone --depth 1 --branch v1.0.14 https://github.com/dhis2-chap/chap-core.git

Step 3 | Start chap-core

Within the chap-core folder, rebuild and start the containers in detach mode:

docker compose up --build -d

✨ Features

  • 🧠 Model Template Configuration System
    You can now configure ModelTemplates into ConfiguredModels via YAML files and API endpoints. This enables better versioning, flexibility, and reproducibility in model management workflows.

  • 📅 Dual Support for Weekly and Monthly Models
    Prediction pipelines now support both week-based and month-based adapters. This improves compatibility with different time resolutions.

  • 📈 Enhanced Backtest Metrics

    • Added normalized CRPS as a new metric.
    • Backtest results now include associated model and dataset.
    • API returns a detailed list of timepoint and aggregate metrics.
  • 📌 Job Management

    • Added job cancellation endpoint with built-in validation to prevent unsafe deletions.
    • Improved validation of job deletion and filtering options.
  • 📝 Metadata Support

    • Datasets can now include metadata for better traceability.
    • New fields (author_note, author_assessed_status) added to model templates.

🛠 Fixes

  • Fixed integration tests and flaky CI runs by isolating failing models.
  • Resolved import errors and invalid environment references in Docker and tests.
  • Addressed false-positive errors in docker_db_flow.py.
  • Improved validation for edge cases and NaN metrics.

🔧 DevOps & CI/CD

  • Multiple version bumps from v1.0.8v1.0.14.
  • Improved CI to:
    • Avoid accidental PyPI pushes.
    • Tag Docker images by platform (e.g., linux/amd64).
    • Use Python 3.12 for testing and packaging.
  • Cleaned up Dockerfile.inla and simplified compose workflows.

🧪 Testing Improvements

  • Better Docker-based integration test flows.
  • Fine-tuned which models/datasets are tested to reduce noise.
  • More logs included to aid debugging.

🧹 Internal Maintenance

  • Cleaned up legacy endpoints and renamed /models to /configured_models (with alias retained).
  • Removed unused code, updated formatting, and standardized file naming.
  • Enhanced error resilience in metrics and model seeding flows.

📚 Documentation

  • Updated internal documentation on endpoints and model configuration.
  • Improved developer setup guides and DHIS2 integration instructions.

Final note

Thanks to all contributors for helping us reach this milestone.
🚨 If you're upgrading, please ensure that any local model configuration files conform to the new YAML structure and that Python 3.12 is installed.