- [#433] Rewrite of trend chart outlier detection
- Added a "statistic" selector that allows the selection of "measurement" or "isolation forest"
- Remove outlier detection from normal measurement plot, because the normal assumption is not reasonable
- The isolation forest statistic plots the multivariate outlier score in a non-parametric way, with an adjustable threshold
- [#440] Set up poetry to manage the dependencies, which might keep the dependencies from breaking down, and reduce the chances of the happening of issues such as [#430]
- [#443]
- Dropped support for Python 3.6, added support and testing for Python <= 3.11
- Added docker-compose logging in the CI
- Stopped using Meinheld workers in the Docker image, since this is largely unmaintained
- Fix a bug in the database script when constructing URLs that broken under new SQLAlchemy versions
- Bump pytest
- Fix a bug in pytest where we used scope as a positional argument
- Update the SubFactoryList to a new version that works with newer FactoryBoy versions
[#138] Added
USER_REGISTRATION_APPROVAL
as a config variable, which defaults to true. This means that the admin must explicitly activate new users in the user management page (/users/admin/users
) before they can login. To disable this feature, you need to create a config file (for examplemegaqc.conf.yaml
) with the contents:STRICT_REGISTRATION: false
Then, whenever you run MegaQC, you need to
export MEGAQC_CONFIG /path/to/megaqc.conf.yaml
Much stricter REST API permissions. You now need an API token for almost all requests. One exception is creating a new account, which you can do without a token, but it will be deactivated by default, unless it is the first account created
Dropped support for Node 8
- [#140] Added a changelog. It’s here! You’re reading it!
- Sphinx based documentation on Github Pages
- [#69] Added a check to verify that a database exists and exit nicely if not
- [#139] Fixed the user management page (
/users/admin/users
), which lost its JavaScript - [#148] Explicitly disable pagination for
find()
calls, ensuring we get more than 30 results in certain places - [#156] Fixed comparison plot running into comparisons with None values
- [#170] Improved handling of environment variables with environs
- [#194] Forward more headers through nginx when using Docker Compose. This should avoid bad HTTP redirects.
- Tests for the REST API permissions
- Enforce inactive users (by default) in the model layer
- Many and more dependency updates