Releases: puavo-org/ktp-controller
v0.4.1
[0.4.1] - 2026-04-16
Fixed
- When decrypting exams, be cool with a situtation where Abitti2 tells
us that some decrypt codes were invalid, but all exams were
decrypted successfully nevertheless. Yes, it's crooked. But as long
as Abitti2 can decrypt all exams we want, we don't care how it does
it.
v0.3.13
[0.3.13] - 2026-04-16
Fixed
- When decrypting exams, be cool with a situtation where Abitti2 tells
us that some decrypt codes were invalid, but all exams were
decrypted successfully nevertheless. Yes, it's crooked. But as long
as Abitti2 can decrypt all exams we want, we don't care how it does
it.
v0.4.0
[0.4.0] - 2026-04-12
Fixed
- Get rid of harmless, but dangerous looking supervisor event buffer
overflow errors.
Changed
-
Cleanup old answers files (more than 2 weeks old) and old archived
exam packages (exam packages marked as archived and more than 1 day
old). -
All HTTP(S) requests are now made asynchronously using httpx.
-
All dependencies have been updated.
Added
-
Add configuration option to control automatic student access code
change:KTP_CONTROLLER_ABITTI2_CHANGE_STUDENT_ACCESS_CODE_AUTOMATICALLY=true|falseThe default remains unchanged and is
true. -
In PuavoOS,
~/ktp-jako(created if not exist) contains now symbolic links to:- logs
- exam-files
- exam-packages
- answers-files
- orphan-answers-files
v0.3.12
[0.3.12] - 2026-04-10
Fixed
- Allow abitti2server to exit with status code 0.
v0.3.11
[0.3.11] - 2026-04-09
Fixed
- Refresh exams independently of Exam-O-Matic websocket pongs:
websocket connections to Exam-O-Matic seem unreliable for an unknown
reason. Having independent asynchronous periodic (once per 3min)
refresh task ensures exam info gets refreshed even if websocket
connection is down.
v0.3.10
[0.3.10] - 2026-04-07
Fixed
- Send intermediate answers to Exam-O-Matic as is_final=FALSE (was is_final=UNKNOWN).
v0.3.9
[0.3.9] - 2026-03-31
Fixed
- Obtain version information from Abitti2 v1.26.0+ correctly.
v0.3.8
[0.3.8] - 2026-03-25
Fixed
- Offload possibly long running answer transfers to background
threads. This avoids blocking the main loop for extended periods of
time. Which in turn means that websockets can keep playing their
keepalive ping-pong game behind the scenes.
Changed
- Periodic answer transfer task is now running only when exam package
isrunning. Previously, it was running also when exam packages
werestopping, but that does not make much sense; the final answer
transfer is about to get started anyways, when the exam package is
completelystopped.
v0.3.7
[0.3.7] - 2026-03-24
Fixed
-
Agent now logs errors occured during periodic answer transfers.
-
Periodic answer transfer task is not re-started anymore when the
scheduled exam package is stopped. This caused issues when periodic
answer transfer itself was failing (for any reason). Final archival
process will take care of transfering final answers from Abitti2 to
Exam-O-Matic when the exam package has been stopped.
v0.3.6
[0.3.6] - 2026-03-23
Changed
- Answers file download timeout (from Abitti2) increased from 5sec to 200secs (connect timeout 6.1sec)
- Answers file upload timeout (to Exam-O-Matic) increased from 60secs to 600secs (connect timeout 6.1sec)
- Exam package upload timeout (to Abitti2) increased from 20secs to 60secs (connect timeout 6.1sec)