Releases: obcode/plexams.go
Releases Β· obcode/plexams.go
Release list
v2.0.0
2.0.0 (2026-07-10)
π£ Breaking Changes
- studentregs: carry Primuss and ZPA ancode explicitly (30524ab)
Student registrations now keep BOTH ancode namespaces side by side instead of
overwriting the Primuss ancode with the ZPA ancode at prepare time. Rule: internal
use (plan/slot/conflict) keys on the ZPA ancode; external communication
(Primuss/MUC.DAI) uses the Primuss ancode (per study program, e.g. DE/202). For FK07
exams they are normally equal but never assumed equal β the connected exams'
PrimussAncodes mapping is authoritative (handles PrΓΌfungsamt mismatches too).
New value type model.Ancodes{ZpaAncode, PrimussAncodes[]{Program,Ancode}} bundles an
exam's internal/external identity (= ZPAExam.AnCode + PrimussAncodes); helpers
ZPAExam.Ancodes()/PrimussAncodeForProgram() and computed AssembledExam/PlannedExam
.Ancodes() (GraphQL `ancodes` field). Consolidated the duplicate PrimussAncode
map-key struct into model.ZPAPrimussAncodes.
Schema renames (BREAKING, GUI must adapt): RegWithProgram.reg -> primussAncode +
zpaAncode; Student.regs -> zpaAncodes; StudentReg/EnhancedStudentReg.ancode ->
primussAncode (Go field PrimussAncode, bson stays "AnCode"); AnCode.ancode ->
zpaAncode; StudentRegsPerAncodeAndProgram gains zpaAncode + primussAncode.
Pure, unit-tested helper resolveAncodes() replaces the in-place "fixing ancode"
overwrite in PrepareStudentRegs.
Fixes:
- GetStudentRegsForAncode resolved the Primuss ancode from the ZPA ancode directly,
returning empty registrations for MUC.DAI exams (ZPA != Primuss). Now resolves the
Primuss ancode per program from zpaExam.PrimussAncodes.
- ValidateConflicts rendered MUC.DAI conflict ancodes with an ancode%1000 decode that
assumed the never-used base+primussAncode scheme (import assigns 90000-sequential),
showing "/1" instead of "DE/202". Now renders from the exam's PrimussAncodes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
π Feature
- csv: add program/primussAncode clarity columns to exam-times export (7fbbee7)
π Code Refactoring
- db: extract collection name retrieval to a separate function (83f5bed)
v1.247.0
1.247.0 (2026-07-09)
π Feature
- email: send As a shared account with planner name + Reply-To (26a9b8d)
π Documentation
- config: document smtp.fromaddress and the send-as-account pattern (c3e58ee)
π Tests
- email: cover send-as-account From and Reply-To resolution (c1404bd)
π§ Chores
- memory: correct 554 diagnosis to From-vs-login send-as policy (f9362bc)
v1.246.1
1.246.1 (2026-07-09)
π Bug Fixes
- email: use FQDN for Message-ID and HELO to avoid 554 rejection (a5aa70a)
π Documentation
- config: document smtp.hostname (5f1f864)
π Tests
- email: assert Message-ID uses the FQDN, not the local hostname (e9c0b78)
π§ Chores
- memory: note Message-ID/HELO FQDN fix (4f623e3)
v1.246.0
1.246.0 (2026-07-09)
π Feature
- email: control sender identity β envelope-from, planer overrides, dry-run override (bcbda2e)
π Documentation
- config: document smtp.envelopefrom and smtp.noreplyname (6a67e7d)
π Tests
- email: cover sender identity resolution and dry-run override (46236a9)
π§ Chores
- memory: planer email overrides + shibboleth-per-user future (632a255)
v1.245.0
v1.244.0
1.244.0 (2026-07-09)
π Feature
- preplan: expose the pre-planning hard/soft rules for a read-only GUI view (06e5c10)
π Bug Fixes
- preplan: leftover SEB should be the smallest ones ("je kleiner desto besser") (76442cb)
- preplan: keep large/same-slot-coupled SEB placed, drop several small ones (7026bc7)
π§ Chores
v1.243.3
v1.243.2
1.243.2 (2026-07-09)
π Bug Fixes
- exahm: rooms may be shared between exams; SEB may split across R-building labs (11828c7)
- exahm: use global room-packing in the preplan solver, matching validation (6f71808)
- preplan: show the real German weekday in findings, not always "Mo" (f105200)
π§ Chores
- memory: correct packing model (rooms shared, whole-room reverted) (5bad911)
- memory: sync (weekday fix + global preplan packing) (ed64da3)
merge
- German weekday in findings + global room-packing in preplan solver (42f1da3)
v1.243.1
v1.243.0
1.243.0 (2026-07-08)
π Feature
- zpa: mark condition for ZPA persons imported after fetching teachers (efc5ee4)
- planning: add condition for ZPA persons imported and update titles (9b216a3)
π Bug Fixes
- exahm: seat-accurate window gate + place small SEB into spare Anny capacity (10b6e38)
π§ Chores
- memory: sync Claude memory (seat-accurate EXaHM gate + small SEB fill) (6049ddf)