|
| 1 | +# A+ v1.30 Release Notes |
| 2 | + |
| 3 | +December 2025 |
| 4 | + |
| 5 | +## A+ v1.30.0 |
| 6 | +* [A+ v1.30.0](https://github.com/apluslms/a-plus/releases/tag/v1.30.0) |
| 7 | +* [a-plus-rst-tools v2.0.0](https://github.com/apluslms/a-plus-rst-tools/releases/tag/v2.0.0) |
| 8 | +* [MOOC-Grader v1.30.2](https://github.com/apluslms/mooc-grader/releases/tag/v1.30.2) |
| 9 | +* [Git Manager v1.30.2](https://github.com/apluslms/gitmanager/releases/tag/v1.30.2) |
| 10 | +* [MOOC-Jutut v3.0.0](https://github.com/apluslms/mooc-jutut/releases/tag/3.0.0) |
| 11 | +* [django-colortag v3.0.0](https://github.com/apluslms/django-colortag/releases/tag/3.0.0) |
| 12 | +* [js-jquery-toggle v2.0.0](https://github.com/apluslms/js-jquery-toggle/releases/tag/2.0.0) |
| 13 | + |
| 14 | +### Important! |
| 15 | + |
| 16 | +#### A+ |
| 17 | +* Requires courses to be built with the new **a-plus-rst-tools** v2.0.0. |
| 18 | +* Due to updates to [python-grader-utils](https://github.com/apluslms/python-grader-utils), course staff needs to update the [grade-python](https://github.com/apluslms/grade-python/tree/3.13-5.0-4.13) container image in each exercise that uses **python-grader-utils**, to one of the versions listed below, depending on which flavour is being used. |
| 19 | + |
| 20 | + If the grading command (see example below) is not `graderutils`, i.e., **python-grader-utils** is not used, changes are not needed, but the image can still be updated if desirable. |
| 21 | + |
| 22 | + New container images: |
| 23 | + ``` |
| 24 | + 3.13-5.0-4.13 |
| 25 | + math-3.13-5.0-4.13 |
| 26 | + rdf-3.13-5.0-4.13 |
| 27 | + xls-3.13-5.0-4.13 |
| 28 | + y2-3.13-5.0-4.13 |
| 29 | + ml-3.13-5.0-4.13 |
| 30 | + ply-3.13-5.0-4.13 |
| 31 | + jupyter-3.13-5.0-4.13 |
| 32 | + smt-3.13-5.0-4.13 |
| 33 | + mec-3.13-5.0-4.13 |
| 34 | + psql-3.13-5.0-4.13 |
| 35 | + comp-3.13-5.0-4.13 |
| 36 | + ``` |
| 37 | +
|
| 38 | + Example of an outdated `config.yaml` that needs to be updated: |
| 39 | + ```yaml |
| 40 | + container: |
| 41 | + image: apluslms/grade-python:3.9-4.5-4.3 |
| 42 | + mount: exercises/1 |
| 43 | + cmd: graderutils |
| 44 | + ``` |
| 45 | +
|
| 46 | + Updated `config.yaml`: |
| 47 | + ```yaml |
| 48 | + container: |
| 49 | + image: apluslms/grade-python:3.13-5.0-4.13 |
| 50 | + mount: exercises/1 |
| 51 | + cmd: graderutils |
| 52 | + ``` |
| 53 | +* In order to test a course locally, update the `plus` and `grader` services' container images to the latest version in `docker-compose.yml`: |
| 54 | + ```yaml |
| 55 | + plus: |
| 56 | + image: apluslms/run-aplus-front:1.30 |
| 57 | + ... |
| 58 | + grader: |
| 59 | + image: apluslms/run-mooc-grader:1.30 |
| 60 | + ``` |
| 61 | +
|
| 62 | +* Dark theme specific custom CSS styles can be added by using, e.g.: |
| 63 | + ```css |
| 64 | + [data-bs-theme=dark] h2 { |
| 65 | + color: white; |
| 66 | + } |
| 67 | + ``` |
| 68 | +
|
| 69 | +#### a-plus-rst-tools |
| 70 | +* For older A+ versions (<=1.29), Bootstrap 3 backwards compatibility can be toggled with the following `conf.py` setting: |
| 71 | + ```python |
| 72 | + html_theme = 'aplus_bs3' |
| 73 | + ``` |
| 74 | +
|
| 75 | +### New features and changes |
| 76 | +
|
| 77 | +#### A+ |
| 78 | +* Upgrade to Bootstrap 5 [#1442](https://github.com/apluslms/a-plus/pull/1442), [#584](https://github.com/apluslms/a-plus/issues/584) |
| 79 | +* Add experimental dark UI theme [#898](https://github.com/apluslms/a-plus/issues/898) |
| 80 | +* Implement search for courses on A+ frontpage [#579](https://github.com/apluslms/a-plus/issues/579) |
| 81 | +* Add a button from student view to deadline deviations [#1458](https://github.com/apluslms/a-plus/issues/1458) |
| 82 | +* Add 'ignore trailing whitespace' button when comparing submission [#1457](https://github.com/apluslms/a-plus/issues/1457) |
| 83 | +* Retain submitted input in acceptPost exercises [#1475](https://github.com/apluslms/a-plus/issues/1475) |
| 84 | +* Fix empty quiz exercise if user submitted during grader downtime [#1466](https://github.com/apluslms/a-plus/issues/1466) |
| 85 | +* Fix error if grading_data is not JSON [#1455](https://github.com/apluslms/a-plus/pull/1455) |
| 86 | +
|
| 87 | +#### a-plus-rst-tools |
| 88 | +* Upgrade to Bootstrap 5 |
| 89 | +* Add questionnaire option 'hide-correctness' [#182](https://github.com/apluslms/a-plus-rst-tools/issues/182) |
| 90 | +
|
| 91 | +#### MOOC-Grader |
| 92 | +* Upgrade to Bootstrap 5 |
| 93 | +* Add support for questionnaire option 'hide-correctness' [#182](https://github.com/apluslms/a-plus-rst-tools/issues/182) |
| 94 | +
|
| 95 | +#### Git Manager |
| 96 | +* Upgrade to Bootstrap 5 |
| 97 | +
|
| 98 | +#### MOOC-Jutut |
| 99 | +* Upgrade to Bootstrap 5 |
| 100 | +
|
| 101 | +#### django-colortag |
| 102 | +* Upgrade to Bootstrap 5 |
| 103 | +
|
| 104 | +#### js-jquery-toggle |
| 105 | +* Upgrade to Bootstrap 5 |
0 commit comments