## 4.1.0 (2026-05-29)

### Bugfixes

- Simplify CLI for copyright hook and fix bugs in pre-commit integration
- Ensure correct data types for mpyidentify and enhance debug log
- Make sure default fallback version of versioningit passed minimum version check
- Pass labels to dependabot as list rather than string
- Make default fallback version PEP 440 konform

### Features

- Create test images for visualization objects 
- Create a color module and add Helmholtz corporate colors
- Add utility to create GitLab-compatible JUnit test reports from finished workflows
- Improve robustness of ifndef hook to detect real header files and ignore code includes
- Replace watchdog in mpywatch with scheduler to be more robust
- Enable validation of case-level `case.yml` files via `fastjsonschema`
- Enable file list filtering for mpyrpdiff and improve CLI interface
- Remove depreciated copyrightyear and copyrightheader hooks

### Documentation

- Add information on errors raised by jinja template evaluation
- Remove duplicated line for documentation of mpyrpdiff
- Improve documentation for pre-commit hooks

### Miscellaneous

- Enable Git LFS for the repository and store png there
- Skip creation of README during rendering of workflow if it exists
- Temporarily deactivate validation of keyword section in `case.yml` files to...
- Bump snakemake from 9.20.0 to 9.21.0
- Bump snakemake from 9.5.0 to 9.20.0
- Extend list of labels for dependabot

### feature

- Store source file path for DictContainer

## 4.0.0 (2026-04-22)

### Features

- Extend mpyvisualize slice functionality

### Documentation

- Adjust documents to install package from pypi.org in future

### Testing and CI/CD

- Add integration test for Snakemake workflow requiring an Apptainer and Slurm environment

## 3.1.3 (2026-04-16)

### Documentation

- Shorten README.md of workflow copier template
- Eliminate reference to copier for mpycopy and workflow initialization
- Remove some left-overs for reuse configuration

### Miscellaneous

- Use identify to check if file is binary when updating shell script headers in a workflow
- Simplify template case detection during initialization of cases in the workflow

## 3.1.2 (2026-04-07)

### Bugfixes

- Fix Snakemake workflow report creation for non-templated case setups

## 3.1.1 (2026-04-07)

### Bugfixes

- Fix detection of templated cases in workflow and exclude binary files in case...

## 3.1.0 (2026-04-02)

### Bugfixes

- Add a fallback version for versioningit
- Correct slice tool documentation

### Features

- Change default Slurm options in workflow copier template to improve...
- Simplify copier_template/workflow/scripts/init.py by calling a new...
- Enable slice tool to process multiple fields based on file name pattern
- Bump pygments from 2.19.2 to 2.20.0

## 3.0.6 (2026-03-31)

### Documentation

- Adjust links and metadata for readthedocs and pypi
- Fix installation instruction in readthedocs configuration
- Add readthedocs configuration

## 3.0.5 (2026-03-25)

### Bugfixes

- Several small corrections to workflow copier template and mpyworkflow

## 3.0.4 (2026-03-24)

### Bugfixes

- Fix bug with mandatory logfile for mpypost for ci pipelines

## 3.0.3 (2026-03-23)

### Documentation

- Fix some links and metadata based on test publishing in test pypi

## 3.0.2 (2026-03-23)

### Bugfixes

- Fix epilog display for commands and sub-commands

### Documentation

- Fix several documentation issues obtained from test publishing in test pypi

## 3.0.1 (2026-03-20)

### Bugfixes

- Read version string either from command line or from metadata

### Features

- Replacing setuptools build backend by more flexible hatchling
- Fix remote launch, replace jupyter option by config, replace runcmd by cmd and...
- Convert mpycopy from argparse to Click and tidy up left-overs

### Documentation

- Fix broken category headline
- Align naming of OpenFOAM Foundation software
- Shift metadata from CITATION.cff to pyproject.toml and revise README

### Testing and CI/CD

- Reset broken infrastucture branch to main
- Use versioningit to manage version number dynamically based on git tags

## 2.12.0 (2026-03-04)

### Bugfixes

- Modify plot style of mpywatch to show mean and deviation
- Fix config file function for mpydocker and allow YAML and JSON format
- Fix pyproject.toml for mpywatch command

### Features

- New utility for creating, updating and managing Snakemake workflows for simulation batch processing
- Convert mpypublish, mpyshrun and mpyrpcmp from argparse to Click CLI interface
- Convert mpyhooks and mpyrpdiff from argparse to Click CLI interface

## 2.11.0 (2026-02-23)

### Features

- New tool mpyvisualize to create slices for a field from a VTK file
- Convert mpypost from argparse to Click CLI interface
- Convert mpytest from argparse to Click CLI interface

### Documentation

- Adjust include for cli information on landing page

### Testing and CI/CD

- Move test for mpypost into cli test module
- Correct changelog categories in merge request template
- Fix copyright year for ruff linter

## 2.10.1 (2026-02-16)

### Bugfixes

- mpytest: Fix argument types for CLI
- Use get_current_context instead of context decorator in mpyfuzzy
- Add mpywatch to toctree for listing in navbar
- Fix categories in changelog

## 2.10.0 (2026-02-09)

### Bugfixes

- Increase loglevel for mpydocker integration tests
- Increase shared memory for docker images for inter-process communication

### Features

- Allow loading of incomplete data files, e.g., produced by volFieldValues functionObject
- Add function for retrieving project urls from project metadata
- Change API for mpyfuzzy utility from argparse to click

### Documentation

- mpydocker: Improve documentation w.r.t. mounting volumes
- Improve information on how to run integration tests with pytest and tox

## 2.9.0 (2026-01-23)

### Bugfixes

- Allow removing sandboxed apptainer images without root privileges and improve build error message.
- Fix `--quiet` for `mpycopy` and stop using `Worker` which is marked as deprecated by copier

### Features

- New utility to monitor progress and real-time plotting for simulations

### Documentation

- Fix documentation on customize apptainer container

## 2.8.0 (2026-01-21)

### Bugfixes

- Fix wrong argument passed to keywords hook
- Fix package version determination for Click

### Features

- Add new zigzag detection post-processing functionality

### Documentation

- Add documentation for zigzag (oscillation) calculation with mpypost
- Add a hint how to determine the name of a running container for mpydocker

## 2.7.0 (2026-01-15)

### Features

- Add apptainer runtime, integration tests, and Click CLI interface for mpydocker

## 2.6.2 (2026-01-13)

### Bugfixes

- Dirty fix of order of positional arguments for depreciated 'copyright-header' hook.

## 2.6.1 (2026-01-13)

### Bugfixes

- Fix wrong argument name in copyright-header hook interface

## 2.6.0 (2026-01-09)

### Bugfixes

- Catch exception for build error of custom image
- Allow launching of existing base image in case of --no-build
- Remove wrong show_default for click.argument
- Add missing help text to input option for mpyidentify command

### Features

- Implement decorator for logging and input/output and adopt mpyidentify to click
- Update numpy requirement from <2.4.0,>=1.21.5 to >=1.21.5,<2.5.0

### Testing and CI/CD

- Add new integration test environments for tox

## 2.5.0 (2025-12-18)

### Features

- Add possibility to specify a license model for simulation software
- Add a new lexer for OpenFOAM Foundation software dictionaries
- Bump matplotlib from 3.10.7 to 3.10.8

### Testing and CI/CD

- Simplify merge request default template

## 2.4.0 (2025-12-08)

### Documentation

- Enhance documentation for each script and use readthedocs template

## 2.3.0 (2025-12-02)

### Bugfixes

- Make sure that extra_args for mpydocker are splitted correctly when added to docker command

### Features

- Create a class structure for mpydocker and allow running environment checks on a remote machine

## 2.2.0 (2025-11-27)

### Bugfixes

- Fixing function annotations and pass all logging arguments to configure function.

### Features

- Use run_serial_on_files function for all hooks
- Add new option --types and --print to identify files in a repository and use with xargs
- Add new PostParser for subparsers in cli/post.py module
- New hook to automatically generate copyright headers for source code and configuration files
- New function to filter file list by tags (required mainly for hooks)
- Add a new tool to generate a diff report between two repositories based on git diff.

## 2.1.3 (2025-11-04)

### Bugfixes

- Remove dublicated license file from repository root (see Licenses folder instead)
- Remove left-over print statement
- Improve error message for YAML and JSON reading in multiphasepy.io

### Features

- Restructure hooks and add two functions to sort lists and dictionaries

### Documentation

- mpydocker: Fix warning about deprecated `--site` option
- Use SPDX conformal license headers in source files

### Testing and CI/CD

- Enable sorting of imports using ruff in the pre-commit configuration.

## 2.1.2 (2025-10-17)

### Bugfixes

- Fix issue with new --image-suffix argument instead of --suffix
- Remove jsonargparse dependency

## 2.1.1 (2025-10-17)

### Bugfixes

- Adjust setuptools to detect sub-modules

## 2.1.0 (2025-10-17)

### Features

- Add a new auxiliary module for general purpose functions
- Remove jsonargparse for a more consistent command line interface
- Implement a detection of most of the files in OpenFOAM Foundation software based on identify
- Bump matplotlib from 3.10.6 to 3.10.7
- Separate scripts into individual files and put them in cli directory.
- Bump pyyaml from 6.0.2 to 6.0.3

## 2.0.0 (2025-09-19)

### Features

- Remove FoamExtCase class in favor of extending the BaseCase class
- Bump matplotlib from 3.10.3 to 3.10.6

## 1.10.0 (2025-08-12)

### Bugfixes

- Strip points from log file name in case no prefix is given

### Miscellaneous

- Minimum version of Snakemake set to 9.5.0

## 1.9.0 (2025-07-08)

### Bugfixes

- Define pre-commit as development dependency

### Features

- Added function for checking whether the installed version of multiphasepy...
- Use identify to detect file types and extend identify to detect OpenFOAM Foundation files
- Generalize logging options and use logging module for mpyshrun and mpytest
- Create a package specific logger and add logfile option

## 1.8.1 (2025-07-01)

### Bugfixes

- Fix wrong detection of positional arguments for mpyshrun
- Allow more flexibility for ifndef and define statements according to OpenFOAM release

### Features

- Introduce shorthand command line arguments for mpyshrun to match runApplication
- Update numpy requirement from <2.3.0,>=1.21.5 to >=1.21.5,<2.4.0
- Bump pyyaml from 6.0.1 to 6.0.2

## 1.8.0 (2025-05-27)

### Features

- mpycollect: Add `--test` option for generating a workflow.yml that only...

## 1.7.3 (2025-05-26)

### Bugfixes

- Make sure that goodness from fuzzy logic can reach 1 for perfect agreement

## 1.7.2 (2025-05-22)

### Documentation

- Add hints on how-to install additional packages for jupyter notebooks in the container

### Features

- Eliminate need for Allclean script for a simulation case to be considered valid
- Create a own module for exeptions for better structure

## 1.7.1 (2025-05-16)

### Bugfixes

- Add missing paramiko package for docker-py and improve error management
- Fix a wrong argument type for progress bar in mpydocker
- Add new function to read literals (str with whitespaces) from OpenFOAM dictionaries

## 1.7.0 (2025-05-12)

### Features

- Add new utility mpycollect to obtain all cases from a directory for Snakemake workflow
- Bump matplotlib from 3.10.1 to 3.10.3

### Miscellaneous

- Reduce number of categories for changelog generation

### Testing and CI/CD

- Remove tests folder from coverage report

## 1.6.4 (2025-04-22)

### Bugfixes

- Downgrade to last Snakemake version that worked w.r.t. IncompleteFilesException

## 1.6.3 (2025-04-22)

### Bugfixes

- Make ORCID for authors in CITATION.cff optional
- Define a default logger named 'multiphasepy' to avoid conflicts
- Remove obsolete print statement from pull function

### Testing and CI/CD

- Disable spellchecking for CHANGELOG.md

## 1.6.2 (2025-04-17)

### Bugfixes

- Fix the missing message for ImageNotFound error in mpydocker

## 1.6.1 (2025-04-17)

### Bugfixes

- Bumping jsonargparse due to a bug

## 1.6.0 (2025-04-17)

### Bugfixes

- Remove prefix from commit message for dependabot
- Entry for ignored versions for dependabot should be lists

### Documentation

- Fix order of authors to alphabetical

### Features

- New case parameter container and faster keyword check
- Update numpy requirement from <2.1.0,>=1.21.5 to >=1.21.5,<2.3.0
- Bump pygments from 2.18.0 to 2.19.1
- Bump matplotlib from 3.9.1 to 3.10.1
- Update docker python sdk dependency to 7.1.0
- Prefer to use pathlib and Path objects instead of os.path
- Create a generic BaseCase class and add specific case classes for StarCCM+ and Fluent

## 1.5.0 (2025-03-19)

### Bugfixes

- Optional repository name for mpyrpcmp as additional command line argument

### Documentation

- Improve description of mpycopy script

### Features

- Post: add function for standard deviation, min and max
- Add FFT function for Fourier transforming of signals

## 1.4.8 (2025-02-13)

### Bugfixes

- Only fix copyright date if hook fails

## 1.4.7 (2025-02-12)

### Bugfixes

- Allow for newer Snakemake versions again after upstream fix...

## 1.4.6 (2025-02-05)

### Features

- Add auto-fixing for copyright year issues to hook

### Testing and CI/CD

- Add script for testing CFD code functionality

## 1.4.5 (2025-01-15)

### Bugfixes

- Catch exception that case template features a caseParamaterTable.ecsv but not case.yml(.jinja)

### Features

- Simplify code for reading metadata for a extended OpenFOAM case

## 1.4.4 (2025-01-10)

### Features

- Refactored handling of template cases

## 1.4.3 (2024-12-10)

### Bugfixes

- Fix formating of debug message for uid and gid
- Remove backslash from repository for docker pull in case no namespace is given
- Skip list comprehension for mounted volumes in case no volumes are specified
- mpydocker: Password free sudo access for user in docker image and pass...
- mpydocker: If host uid and gid are lower than 1000 use default user in ubuntu...

### Deployment

- Remove cloning of scikit-fuzzy library, and replace by pypi package

## 1.4.2 (2024-11-29)

### Bugfixes

- Allow optional keys for referencePublication in codemeta.json for Rodare publishing

## 1.4.1 (2024-11-05)

### Bugfixes

- Enforce utf-8 encoding for reading data files into data container

### Testing and CI/CD

- Drop slow megalinter for static code analysis and replace by fast pre-commit hooks

## 1.4.0 (2024-10-23)

### Testing and CI/CD

- Use tox framework to execute unit tests for various python versions

### Documentation

- Correct installation instructions

### Features

- Replace internal data handling with data containers from Astropy package

## 1.3.1 (2024-10-10)

### Bugfixes

- Fix mpycopy script arguments

## 1.3.0 (2024-10-09)

### Features

- Added new FoamTemplateCase class

### Bugfix

- Clarify error message on invalid copyright headers

## 1.2.0 (2024-10-02)

### Testing and CI/CD

- Add pre-commit hook to sort cspell dictionary file

### Features

- Introduce git hooks and pre-commit configuration for code style checks

## 1.1.3 (2024-09-26)

### Documentation

- Suggest installation of multiphasepy in a Python virtual environment

## 1.1.2 (2024-09-24)

### Bugfixes

- Restrict configuration for logging to this package and avoid configuring root logger

### Documentation

- Remove dangerous hint for deadsnake repository for older python versions

### Deployment

- Remove some minor left-overs for Conda packaging

## 1.1.1 (2024-09-17)

### Bugfixes

- Raise required python version for Snakemake and mpydocker

### Deployment

- Add an argument to mpypublish to specify package version number directly,...

## 1.1.0 (2024-09-17)

### Bugfixes

- Fix regular expression for changelog generation

### Testing and CI/CD

- Fix remaining wrong path to ci include files in infrastructure project
- Adjust path for ci includes due to renaming in infrastructure project

### Miscellaneous

- Update Snakemake version to >= 8.19.3

## 1.0.1 (2024-08-16)

### Testing and CI/CD

- Simplify tag pattern for release management
- Check for too large files and tailing whitespaces in pre-commit hook
- Ignore rules directory for static code checks

### Features

- Add script to update a code publication in Rodare

### Deployment

- Remove all conda related information and implementation due to unclear license
- Automated release pipeline with deployment for Rodare

## 1.0.0 (2024-08-15)

### Testing and CI/CD

- Simplify tag pattern for release management
- Check for too large files and tailing whitespaces in pre-commit hook
- Ignore rules directory for static code checks

### Features

- Add script to update a code publication in Rodare

## 0.12.0 (2024-08-02)

### Bugfixes

- Move validation job for citation.cff to infrastructure

### Documentation

- Enhance documentation for mpyshrun to avoid ambiguous command line arguments

### Features

- Add function to calculate derivatives for data files to mpypost
- Add configuration for git hooks to be enabled with pre-commit
- Function to read and write dictionaries from OpenFOAM Foundation software
- Add CITATION.cff for releases in Rodare

## 0.11.1 (2024-07-24)

### Bugfixes

- Add missing categories to changelog configuration

### Miscellaneous

- Use --foo and -f style for arguments of all scripts

## 0.11.0 (2024-07-19)

### Testing and CI/CD

- Add installation test for ubuntu 22.04 and 24.04

### Features

- New utility for post-processing of simulation data

### Deployment

- Adjust dockerfiles for installation test to install for user instead of global

## 0.10.3 (2024-07-16)

### Bugfixes

- The default suffix argument value has to be a empty list of strings

## 0.10.2 (2024-07-16)

### Bugfixes

- Calculate a defined value for Pearson coefficient in case of flat profile

## 0.10.1 (2024-07-16)

### Bugfixes

- Fix wrong argument type for suffix command line option

### Documentation

- Fix spelling mistakes and exclude changelog from static code checks
- Add installation instructions for Ubuntu 24.04 and older Ubuntu systems

### Miscellaneous

- Re-factoring handling of arguments for scripts

## 0.10.0 (2024-07-13)

### Documentation

- Fix typo in script name

### Miscellaneous

- Add conda build dir to ignore list

### Deployment

- Update dependencies for conda
- Install custom branch for scikit-fuzzy to make it compatible with python 3.12
- Generate changelog and release notes

### Testing and CI/CD

- Use echo instead of ls to be more general for testing mpyshrun

### Features

- Implement reader for probe files produced by OpenFOAM Foundation software
- New tool to run shell commands on an OpenFOAM case named mpyshrun
