Skip to content

Commit e1ba89a

Browse files
committed
release 4.0.0
1 parent 8ea311e commit e1ba89a

7 files changed

Lines changed: 85 additions & 13 deletions

File tree

TODO

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
* Validation page
22
* Check MariaDB instructions
3-
* Generate secret key
43
* Check Apache instructions
54
* Update instructions for manual installation

source/admin/configuration.rst

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -272,10 +272,9 @@ If the ``admin`` configuration is not present, the admin privilege is not touche
272272
# The requested scopes
273273
scopes: "openid email profile"
274274
275-
# Controls the session cookie SameSite attribute, forcing it to "Lax". This is necessary if your OIDC provider
276-
# resides on a different top level domain name than the Helfertool (error message: "Login failed")
277-
# Set it to true in this case.
278-
thirdparty_domain: false
275+
# The claim that should be used as username
276+
# Reasonable choices are email or preferred_username
277+
username_claim: "email"
279278
280279
# It could happen that the user is disabled or claims change. So we can redirect the users from time to time
281280
# to the OIDC provider and validate if they are still allowed to login.
@@ -284,10 +283,11 @@ If the ``admin`` configuration is not present, the admin privilege is not touche
284283
285284
# If the session is only terminated in the application, the login via OIDC works again without asking for credentials.
286285
# Therefore, we can also trigger a logout at the OIDC provider.
287-
# The URL is less well specified and depends on the provider (here: Keycloak)
286+
# We built URLs according to the OpenID Connect RP-Initiated Logout 1.0 standard by default
288287
logout:
289288
endpoint: "https://auth.helfertool.org/auth/realms/test/protocol/openid-connect/logout"
290289
redirect_parameter: "redirect_uri"
290+
id_token_hint: true
291291
292292
# Permissions based on claims
293293
claims:
@@ -424,6 +424,7 @@ Security settings
424424
debug: false
425425
426426
# Unique and secret key
427+
# At least 50 characters recommended, for example: pwgen -s 50 1
427428
secret: "change_this_for_production"
428429
429430
# URLs that are used for the software
@@ -445,15 +446,17 @@ Security settings
445446
# Enable captchas
446447
captchas:
447448
# for newsletter registration (recommended)
448-
newsletter: false
449+
newsletter: true
450+
451+
# for password reset (recommended)
452+
password_reset: true
449453
450454
# for event registration
451455
registration: false
452456
453457
.. note::
454-
Captchas were added in version 3.3.
455-
They are disabled by default, but we recommend to enable it for the newsletter registration (if you use this feature).
456-
Although the newsletter registration implementes a GDPR compliant double opt-in, one mail is still sent out.
458+
Captchas were added in version 3.3 and were disabled by default.
459+
Starting with version 4.0, captchas for newsletter registrations and password resets are enabled by default.
457460

458461
.. _configuration-features:
459462

@@ -536,6 +539,9 @@ Badge settings
536539
# Maximum number of copies for special badges
537540
special_badges_max: 50
538541
542+
# Time until PDF build is aborted in minutes
543+
build_timeout: 5
544+
539545
# Time until PDF file is deleted after it was created in minutes
540546
pdf_timeout: 30
541547
@@ -553,6 +559,27 @@ Newsletter settings
553559
# This setting specifies how long the link is valid (days). Afterwards, the mail address is deleted.
554560
subscribe_deadline: 3
555561
562+
Admin automation settings
563+
-------------------------
564+
565+
.. code-block:: none
566+
567+
automation:
568+
# Send reminder mails to event admins that did not archive the event within time
569+
# "deadline" and "interval" need to be set to enable the feature
570+
event_archive:
571+
# Deadline (months)
572+
deadline: 6
573+
574+
# Interval of mails (days)
575+
interval: 7
576+
577+
# Start this number of days before the deadline (optional)
578+
start_before_deadline: 14
579+
580+
# Link to some documentation that is included in the mail (optional)
581+
#docs: ""
582+
556583
Additional settings without Docker
557584
----------------------------------
558585

source/admin/further/logging.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ The following events are currently logged:
4747
+---------------------------+--------------+--------------------------------------------------------+
4848
| password changed | info | |
4949
+---------------------------+--------------+--------------------------------------------------------+
50+
| password resetattempt | info | Password reset was started (link sent to user) |
51+
+---------------------------+--------------+--------------------------------------------------------+
52+
| password reset | info | |
53+
+---------------------------+--------------+--------------------------------------------------------+
5054
| user created | info | |
5155
+---------------------------+--------------+--------------------------------------------------------+
5256
| user deleted | info | |
@@ -167,4 +171,5 @@ The following events are currently logged:
167171
+---------------------------+--------------+--------------------------------------------------------+
168172
| corona cleanup | info | |
169173
+---------------------------+--------------+--------------------------------------------------------+
170-
174+
| archiveexception changed | info | |
175+
+---------------------------+--------------+--------------------------------------------------------+

source/admin/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ configure at least the following settings:
144144
* Database
145145
* RabbitMQ
146146
* Mail server
147-
* Secret key (``security`` > ``secret``)
147+
* Secret key (``security`` > ``secret``) - at least 50 characters recommended, for example `pwgen -s 50 1`
148148
* Allowed hosts (``security`` > ``allowed_hosts``)
149149

150150
.. TODO: explain, how to generate

source/admin/versions.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Latest release
4040
+-----------------+--------------------------------------------+------------------+
4141
| Relase series | Latest release | Release date |
4242
+=================+============================================+==================+
43-
| 3.3.x | :ref:`3.3.1 <changelog-3-3-1>` | 2025-06-03 |
43+
| 4.0.x | :ref:`4.0.0 <changelog-4-0-0>` | 2026-02-02 |
4444
+-----------------+--------------------------------------------+------------------+
4545

4646
.. _versions_tags:

source/releases/changelog.rst

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,45 @@
44
Changelog
55
=========
66

7+
.. _changelog-4-0-0:
8+
9+
4.0.0 (2026-02-02)
10+
------------------
11+
12+
* Breaking changes
13+
14+
* Removed Corona tracing app
15+
* Enforce additional parameter in validation links, that prevent guessing (added since 3.0.0)
16+
17+
* Security fixes
18+
19+
* Fix wrong permission checks in badge views
20+
* Add build timeout for badge PDFs
21+
* Show warning about debug mode and weak secret keys on "Check installation" page
22+
* Escape ``og:description`` meta property correctly
23+
24+
* Changes in `helfertool.yaml`:
25+
26+
* Removed: ``language`` -> ``country``
27+
* Removed: ``authentication`` -> ``oidc`` -> ``provider`` -> ``thirdparty_domain`` (not required anymore, SameSite attribute of session cookie is always ``Lax`` now)
28+
* New: ``authentication`` -> ``oidc`` -> ``provider`` -> ``username_claim``
29+
* New: ``badges`` -> ``build_timeout``
30+
* New: ``automation`` (and config below)
31+
* Add password reset via mail for local users
32+
* New users can be added without directly setting a password - the password is then set via password reset
33+
* Add automated reminder mails for event archival (disabled by default)
34+
* Add option to ask for Matrix ID during registration
35+
* When using OpenID Connect, the claim used for the username can be configured now (setting: ``username_claim``)
36+
* When using OpenID Connect, the logout according to the "OpenID Connect RP-Initiated Logout 1.0" standard is supported now (Keycloak and Entra ID for example support that)
37+
* Fix performance issue on main page with list of events
38+
* Improve some redirects after saving a shift or job and setting the presence of helpers
39+
* Update of dependencies (Django, Debian 13 for container, ...) and replaced CKEditor
40+
41+
Thanks to the participants of the practical course "Web Application Security" at TUM for analyzing the tool and providing their results:
42+
43+
* Michael Vynogradov
44+
* `... more names will be added`
45+
746
.. _changelog-3-3-1:
847

948
3.3.1 (2025-06-03)

source/releases/history.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ Details about relases and versions can be found in the :ref:`admin guide <versio
99
+-----------------+--------------------------------------------+------------------+
1010
| Relase series | Latest release | Release date |
1111
+=================+============================================+==================+
12+
| 4.0.x | :ref:`4.0.0 <changelog-4-0-0>` | 2026-02-02 |
13+
+-----------------+--------------------------------------------+------------------+
1214
| 3.3.x | :ref:`3.3.1 <changelog-3-3-1>` | 2025-06-03 |
1315
+-----------------+--------------------------------------------+------------------+
1416
| 3.2.x | :ref:`3.2.3 <changelog-3-2-3>` | 2024-04-09 |

0 commit comments

Comments
 (0)