What shipped
All reposKey FrontendKeystoneKey Service Sites (KSL/GHK)Training Centre (STC/CPD)Key ProtosKeyflowCompany Backend (Strapi)Key Docs
All authorsJoshYG-TheKeyRhadamanthus1TheTomWardalex-wilson-the-keycpoteylunky84robin-agentsarahcthekey
11 PRs · 3 repos · 4 contributors · 29 Jun – 6 Jul
Monday, 6 July 2026
Key Service Sites (KSL/GHK)
- Rrobin-agentThe key_service_sites microservice now applies timeouts to all gRPC calls including page-rendering operations, preventing worker threads from getting stuck waiting for unresponsive backend services.#1983 — feat: PENG-3675 gRPC deadlines, 16MB limits, and django-q task retries
Keystone
- Rrobin-agentKeystone's gRPC calls now have timeouts to prevent workers from hanging indefinitely on slow services, retries for transient failures, and the assignment cleanup moved off the blocking request path.#1497 — feat: PENG-3675 gRPC deadlines, retries & async assignment cleanup (supersedes #1496)
Training Centre (STC/CPD)
- Rrobin-agentThe training_centre service added timeouts and automatic retries to its gRPC calls so transient service issues don't silently break course completion flows.#1964 — feat: PENG-3675 add deadlines and native gRPC retries to service clients
- RRhadamanthus1The almanac calendar management tool was restored to the training_centre codebase after it was accidentally deleted during a code cleanup.#1965 — fix(almanac): PENG-3499 restore almanac wagtail admin
Thursday, 2 July 2026
Key Service Sites (KSL/GHK)
- SsarahcthekeyConfigured the key_service_sites container to run as a non-root user for improved security in production environments.#1981 — feat(key_service_sites): run container as non-root user (PLA-380)
Keystone
- Rrobin-agentAutomatically deleted orphaned training assignments when a user account is permanently removed from the system to prevent data inconsistencies.#1494 — feat(signals): PENG-3643 delete assignments when KeyUser is deleted
Training Centre (STC/CPD)
- Rrobin-agentPrevented accidental changes to SCOID identifiers on training pages once registrations exist, which was breaking the ability to sync completion data from ScormCloud.#1960 — fix: PENG-3637 prevent SCOID changes when registrations or results exist
- Llunky84Modified certificate downloads to reference training results through their unique IDs instead of a separate certificates table for better data consistency.#1962 — PENG-3540 certificates pass elearning result id
Wednesday, 1 July 2026
Keystone
- Llunky84User authentication now bypasses caching during password resets so that login immediately validates against the new password hash instead of stale cached credentials.#1493 — PENG-3667 fix reset password stop caching KeyUser
Training Centre (STC/CPD)
- Llunky84The e-learning certificate API now exposes the record ID so clients can identify which e-learning result each certificate corresponds to.#1961 — PENG-3540 certificates from record id
Monday, 29 June 2026
Training Centre (STC/CPD)
- Rrobin-agentTraining content marked as 'new' will now automatically stop appearing as new after 2 months, eliminating the need for manual updates and preventing stale content from being labeled as fresh.#1959 — feat: PENG-3652 auto-expire is_new label after 2 months