Releases: e-valuation/EvaP
Releases · e-valuation/EvaP
2026.1.2
What's Changed
- Disallow PEP 420 implicit namespace packages by @niklasmohrin in #2607
- Fix Text Answer review redirect by @geromequa in #2497
- Care about nix-users group only on Debian-ish by @niklasmohrin in #2611
- Fix semester default course end date fallback in import_cms_data by @niklasmohrin in #2622
- Linting rule for relative imports by @suttrop in #2624
- Make global evaluation progress feature generic by @hansegucker in #2621
Full Changelog: 2026.1.1...2026.1.2
2026.1.1
2026.1.0
What's Changed
- Add PyPI badge by @niklasmohrin in #2580
- use ruff for formatting by @suttrop in #2575
- Importer improvements (part 3) by @janno42 in #2592
- Set vote_end_date during json import only once by @janno42 in #2593
- Importer logging and attempted changes by @janno42 in #2594
- Migrate to django-fsm-2 by @niklasmohrin in #2581
- Automate CMS Import by @janno42 in #2595
Full Changelog: 2025.12.0...2026.1.0
2025.12.0
What's Changed
- Add support for ignoring specific users during JSON import by @Belissimo-T in #2527
- fixed wrong redirect when changing language in dropout by @ZoqkMaze in #2533
- Don't send reminders shortly after evaluation start by @gitjannes in #2471
- Allow selecting tool in
./manage.py lintand./manage.py formatby @Belissimo-T in #2557 - search reset for result page by @HannesClausnitzer in #2530
- JSON enrollment importer v2 - part 1 - skip certain course types, use callingname, set is_rewarded correctly, and fix edit rights for contributors by @hansegucker in #2517
- Introduce settings for exam evaluation weights and duration by @ZoqkMaze in #2549
- Eslint: enforce curly braces by @richardebeling in #2559
- Relax requires-python to
>=3.11.0by @niklasmohrin in #2561 - Bump glob from 10.4.5 to 10.5.0 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #2563
- Add CI check for minimal_test_data_results.json by @suttrop in #2568
- Fixed misplacement of questionnaire language button by @HannesClausnitzer in #2560
- Handle proxy users without email as internal users by @janno42 in #2574
- Add
--headedflag for live tests by @Belissimo-T in #2572 - add language selection in questionnaire preview by @ZoqkMaze in #2562
- Fixed alignment of messages on plain_page htmls #2553 by @HannesClausnitzer in #2558
- Fix dropout questionnaire blocking vote submission by @geromequa in #2579
- Introduce exam types by @hansegucker in #2547
New Contributors
- @Belissimo-T made their first contribution in #2527
- @gitjannes made their first contribution in #2471
- @suttrop made their first contribution in #2568
Full Changelog: 2025.10.0...2025.12.0
2025.10.0
What's Changed
- Keep width of badges fixed large enough by @fekoch in #2454
- Don't wait for grades if all participants are external by @jooooosef in #2466
- Mark
__name__ == "__main__"as nocover in check_dist.py by @niklasmohrin in #2476 - Validate data format in JSON importer by @hansegucker in #2464
- Dropped Courses by @fekoch in #2262
- Update nix flake inputs by @niklasmohrin in #2477
rm -rf evap/static/maintenance/by @niklasmohrin in #2483- Require just one default name for exam evaluation by @ronjakrg in #2480
- Rename degrees to programs in logs by @ronjakrg in #2470
- Stop excluding migrations from formatters by @niklasmohrin in #2486
- Fix flaky
StudentVoteLiveTest.test_resolving_submit_errors_clears_warningby @niklasmohrin in #2492 - Add hint in case of missing package manager to setup-nix by @geromequa in #2498
- Remove single results by @janno42 in #2484
- UI changes by @janno42 in #2490
- Main language for evaluations by @hansegucker in #2367
- update external login title according to branding changes by @funnyanni-pdm in #2496
- Fix alignment of participation progress bars by @ronjakrg in #2468
- fix: incorrect reward points in export by @velramiir in #2502
- Use confirmation modal for delegate selection modal by @styrix560 in #2473
- Database constraints for model fields with choices by @richardebeling in #2481
- Enable type checking in migrations and fix references into evap module by @niklasmohrin in #2489
- Add reverse helper to LiveServerTests by @richardebeling in #2512
nix flake updateby @niklasmohrin in #2518- define non searchable datagrid columns by @jooooosef in #2474
- Allow extra keys in JSON importer pydantic validation by @hansegucker in #2522
- Hide info icon on results page in print view by @HannesClausnitzer in #2526
- Use a global WeakSet to track views that don't require login by @richardebeling in #2511
- Minor preparations for question/questionnaire split by @Kakadus in #2535
- Fix questionnaire warnings for dropout questions by @rsahwe in #2532
- removed unnecessary log info for general contributions by @cakeillionair in #2531
- add tooltip for Questionnaire language by @ZoqkMaze in #2529
- Add plainpage tag to evaluation creation and copy. by @LukasMansour in #2541
- Collapsable box for participants in evaluation form by @ybrnr in #2388
New Contributors
- @ronjakrg made their first contribution in #2480
- @geromequa made their first contribution in #2498
- @funnyanni-pdm made their first contribution in #2496
- @HannesClausnitzer made their first contribution in #2526
- @rsahwe made their first contribution in #2532
- @cakeillionair made their first contribution in #2531
- @ZoqkMaze made their first contribution in #2529
- @LukasMansour made their first contribution in #2541
Full Changelog: 2025.6.1...2025.10.0
2025.6.1
What's Changed
- fix select delegate modal text clipping by @jooooosef in #2462
- Log adding participants via User Profile edit page by @jooooosef in #2412
- Take
INSTITUTION_EMAIL_REPLACEMENTSinto account when checking email transitions by @niklasmohrin in #2460 - Remove unnecessary whitepsace from delegate preparation modal by @jooooosef in #2465
Full Changelog: 2025.6.0...2025.6.1
2025.6.0
What's Changed
- Fix delete button on staff programs page by @richardebeling in #2433
- Replace
do_not_call_in_templatesproperty withenum.nonmemberby @niklasmohrin in #2440 - Automatically update email address on subdomain change by @niklasmohrin in #2434
- Update bootstrap to 5.3.6 by @niklasmohrin in #2437
- Fix linear number of queries on grades semester view by @niklasmohrin in #2441
- Prevent double tab opening by @janno42 in #2442
- Ban importing
evap.settingsby @niklasmohrin in #2445 - Fix artifact glob for .mo files by @niklasmohrin in #2446
- Remove unused deconstructor by @jooooosef in #2451
- Add
tools/check_dist.pyto ensure all specified artifacts are used by @niklasmohrin in #2447 - Make legal notice text configurable in settings by @niklasmohrin in #2455
- Add animation on evaluation deletion by @styrix560 in #2458
- Add program merge view by @richardebeling in #2435
- JSON enrollment importer by @hansegucker in #2187
New Contributors
- @styrix560 made their first contribution in #2458
Full Changelog: 2025.5.0...2025.6.0
2025.5.0
What's Changed
Features/Refactoring
- Rename degree to program by @janno42 in #2282
- Grade Publishing Reminder Email in
send_remindersby @richardebeling in #2284 - reset evaluation after it started by @fekoch in #2136
- Add result filter slider by @Kakadus in #2283
- Convert sortable-form and its usages to TypeScript by @PFischbeck in #2199
- Make natural key of userprofile unique by @Kakadus in #2249
- Reset translation in test tearDown by @richardebeling in #2309
- Replace
do_not_call_in_templates = Trueclass variable in enums with instance property by @niklasmohrin in #2325 - Sticky submit area in staff evaluation form by @janno42 in #2335
- Allow setting step size for reward point redemption and use formset by @hansegucker in #2264
- Fixup result filter slider by @Kakadus in #2318
- Person management button by @janno42 in #2339
- Fix create_user and create_superuser by @richardebeling in #2344
- Silence
createsuperuserduring tests by @Kakadus in #2353 - Dispatch a
clickevent on an off-DOM<a>element when clicking on.table-seamless-linksrows by @niklasmohrin in #2349 - Adds shortcut button to add exam evaluation by @FSadrieh in #2050
- Exit staff mode after permission revocation by @ybrnr in #2355
- Add step to rewards.rewardpointredemptionevent in testdata by @jooooosef in #2382
- Test mismatching testdata by @jooooosef in #2385
- Bilingual RewardPointRedemptionEvent names by @jooooosef in #2380
- Refactor Sisyphus to ts and drop unnecessary functionality by @hansegucker in #2377
- Semesters not ordered correctly in evaluation selection on person management page by @jooooosef in #2399
- remove incorrect CSS class that lead to wrong background color by @janno42 in #2403
- Correct redeeming users count in RewardPointRedemptionEvents overview by @Kakadus in #2404
- Grant reward points on evaluation deletion by @richardebeling in #2358
- Add preparation reminder text view by @Kakadus in #2408
- Delete participations of long inactive users by @Redflashx12 in #2329
- Fix TomSelect autocompleting prefixes to existing options on tag inputs by @richardebeling in #2410
- Fix various TypeScript / ESLint warnings by @niklasmohrin in #2414
- Explicitly disconnect signals when no longer needed by @richardebeling in #2413
- Improve quadratic lookup in
get_evaluations_with_course_result_attributesby @richardebeling in #2420 - Use django 5.2 features:
reversewith query/fragment, auto-imports onmanage.py shellby @richardebeling in #2428 - Student vote callouts by @richardebeling in #2423
- Customizable evaluation results filters by @jooooosef in #2232
- Fix inaccurate password warnings by @niklasmohrin in #2436
- Assign contributor questionnaires per course type by @jooooosef in #2373
Dependencies/Infrastructure
- Add
typing-extensionstorequirements.txtby @niklasmohrin in #2295 - Provide development environment via
nixby @niklasmohrin in #2274 - Update to bootstrap 5.3.3 by @richardebeling in #2281
- Update to psycopg3 by @richardebeling in #2289
- Use
pastefrom coreutils by @ybrnr in #2308 - Fix Codacy badge link by @michaelgruenewald in #2316
- Add
packages.poetryby @niklasmohrin in #2314 - Add python wrapper for IDEs by @Kakadus in #2317
- MacOS nix fixes by @niklasmohrin in #2321
- format before linting by @Kakadus in #2338
- use log-level instead of loglevel prettier arg by @Kakadus in #2347
- Switch to
uv2nixby @niklasmohrin in #2345 - Add eslint by @Kakadus in #2285
- Remove duplicate bootstrap import by @niklasmohrin in #2365
- Fix GitHub badge link by @Kakadus in #2376
- Split
settings.BASE_DIRintoMODULEandDATADIRby @niklasmohrin in #2374 - Remove
magic-nix-cacheby @niklasmohrin in #2384 - Move
manage.pycontent toevap.__main__by @niklasmohrin in #2387 - Build wheel by @niklasmohrin in #2389
- Better instructions on how to reset persistent state in development environment by @richardebeling in #2390
- Add dunder name check to manage.py by @Kakadus in #2396
- Use Django's
LiveServerTestCasefor frontend tests by @hansegucker in #2077 - Remove compiled files in clean-setup and don't collect static files in init by @hansegucker in #2397
- Don't restrict time of day in renovate PR schedule by @Kakadus in #2401
- Move
localsettings.template.pyandmanage_autocompletion.shtoevap/development/by @niklasmohrin in #2402 - Add
evap-dev-with-lspshell by @niklasmohrin in #2407 - Recreate package-lock.json to remove outdated dependency references by @richardebeling in #2409
- Update Python to 3.12 and flake inputs by @niklasmohrin in #2406
- Small
services.nixand CI refactors by @niklasmohrin in #2411 - Add typescript-language-server to evap-dev-with-lsp shell by @niklasmohrin in #2415
- fixup renovate configuration by @Kakadus in #2419
- Fixup fixup renovate configuration by @niklasmohrin in #2422
- Suppress python callstacks on lint/ts/scss command failure by @richardebeling in #2405
- Change backup process test to use evap-deployment repo by @niklasmohrin in #2424
rm -rf deployment/by @niklasmohrin in #2425- Downgrade Python to 3.11 by @niklasmohrin in #2426
- Update django and django-webtest by @Kakadus in #2427
- Publish EvaP to PyPI by @niklasmohrin in #2328
- Add permission for OAuth to coverage CI steps by @niklasmohrin in #2429
New Contributors
- @Redflashx12 made their first contribution in #2329
Full Changelog: 2024-09-09...2025.5.0
2024-09-09
What's Changed
- only remount if REPO_FOLDER does not contain any items by @fekoch in #2242
- Fix has_answers returning False once any RatingResult has no answers by @janno42 in #2245
- type results exporter by @fidoriel in #2035
- remove incorrect db comment by @fidoriel in #2254
- Shush dependabot about ruff and django-stubs patch updates by @richardebeling in #2257
- Fix user delete form submit by @Kakadus in #2250
- update fontawsome to 6.6.0 by @fekoch in #2263
- Abort confirmation modal flow if attached form is invalid by @niklasmohrin in #2253
- Do calculation of redemptions by user in database by @hansegucker in #2261
- Pin django to minor version by @richardebeling in #2267
- Fix person management none error by @Kakadus in #2198
- Change icon-yellow to icon-blue by @janno42 in #2276
Full Changelog: 2024-07-07...2024-09-09
2024-07-07
What's Changed
- Add missing migration after
Evaluation.Statestring update by @niklasmohrin in #2227 - Improve linter configuration by @Kakadus in #2228
- Add participant progress bar by @Kakadus in #2234
- Fix infobox collapse by @Kakadus in #2237
- always show placeholder text in fullwidth user selection fields by @janno42 in #2241
Full Changelog: 2024-06-17...2024-07-07