v1.9.0
What's Changed
New features
- Add FloatingActionButton and UserFeedback components by @drikusroor in #692
- VisualMatchingPairs component and styles (#687, #721)
- Improved state management (#706, #771)
- Simplified player config by @BeritJanssen in #648
- Alternative MatchingPairs layout (#672, #774, #724)
- Remove StartSession component (#725, #753)
- Add playlist upload and export functionality to PlaylistAdmin by @drikusroor in #691
- Add intermediate score by @BeritJanssen in #726
- Add a Django management command to create new experiments (#735, #757, #784, #807)
- Reorganize frontend styles (#696, #789, #790)
- Add consent through admin interface (#785, #764, #791)
Fixes
- Fixed: Show selected answer in button style by @drikusroor in #677
- Fix(mpref): Fix preferred songs without section bug (#708) by @drikusroor in #712
- fix react warning about passing {checked} prop by @BeritJanssen in #713
- Fixed: Fix broken TuneTwins card front on develop by @drikusroor in #720
- Fixed: Fix curly bracket issue by @drikusroor in #723
- Fixed: finalizeSession bug in Final component by @drikusroor in #689
- Fixed: Fix prepare_result function calls and add type hints by @drikusroor in #701
- only activate React StrictMode when Docker variable is True by @BeritJanssen in #705
- fix: use section_from_unused_song rather than random selection by @BeritJanssen in #728
- fix: refer to session.id from finalizeSession by @BeritJanssen in #731
- Fix playlist creation by @BeritJanssen in #743
- Fixed(ButtonArray): Hide button text when .invisible-text is present, disabled or not by @drikusroor in #742
- Bugfix er/iosversion fix by @Evert-R in #744
- Fix Playbutton style by @albertas-jn in #745
- Fixed(MatchingPairs): Remove margin-bottom in Histogram.scss by @drikusroor in #748
- Fixed: Fix TuneTwins 2nd card's equalizer animation not playing by @drikusroor in #751
- Remove restricted field from section by @drikusroor in #738
- Fixed: Correctly display top feedback & score in (Visual)MatchingPairs by @drikusroor in #759
- Fixed: Fix export_table method to export question_key and add unit tests by @drikusroor in #772
- Fixed: Fix input types for start time and duration fields in edit sections page by @drikusroor in #770
- Fix/experiment logic by @BeritJanssen in #776
- Fix: Increase file size limit for uploads in nginx configuration by @drikusroor in #778
- Fixed(Sentry): Fix conditional initialization of Sentry based on environment variable SENTRY_DSN by @drikusroor in #783
- Fix consent hooked by @Evert-R in #809
Documentation and setup
- Docs: Add troubleshooting section to README by @drikusroor in #682
- Config (Traefik): Configure a Traefik reverse proxy Docker container to use muscle.local and backend.muscle.local domains by @drikusroor in #717
- Docs(README): Multiple improvements to the readme file by @drikusroor in #793
- Set correct default slug in .env.dist to gold-msi by @drikusroor in #792
Continuous Integration
- CI: Add frontend coverage badge for frontend tests by @drikusroor in #693
- Test: Increase backend code coverage by @drikusroor in #697
- CI: Add Flake8 for linting by @drikusroor in #699
- Fix (Lint): Enable E713 & E266 flake8 rules and fix issues by @drikusroor in #704
- Fix (Lint): Fix linting issues and remove unnecessary blank lines in .flake8 file by @drikusroor in #707
- Fixed(CI): Remove unnecessary condition in CI workflow by @drikusroor in #700
- Fixed: Enable E711 flake8 rule and fix linting issues by @drikusroor in #703
- Podmanify MUSCLE applications to enable automatic CI/CD by @drikusroor in #722
- Config: Update port mapping in docker-compose file for podman by @drikusroor in #786
- CI: Add deployment workflows for test and acceptance environments by @drikusroor in #788
- CI: Add restart options to Docker services by @drikusroor in #798
Library updates
- Chore(deps): Migrate to React 18 by @drikusroor in #649
- Chore(deps): Bump follow-redirects from 1.15.2 to 1.15.4 in /frontend by @dependabot in #702
- Chore(deps): Bump pillow from 10.1.0 to 10.2.0 in /backend/requirements by @dependabot in #727
- Chore: Update package.json files with license, homepage, and description by @drikusroor in #749
- Chore(deps): Bump django from 3.2.23 to 3.2.24 in /backend/requirements by @dependabot in #758
- Chore(deps): Bump ip from 2.0.0 to 2.0.1 in /frontend by @dependabot in #787
- Chore: Only generate code coverage badges on push to develop by @drikusroor in #795
- Chore(deps): Make sure that django-markup is added to both dev & prod requirements by @drikusroor in #794
Full Changelog: v1.8.0...v.1.9.0