AEMS

This site is in preview. Enter the password to continue.

Incorrect password.

Changelog

Follow the latest product updates and major feature releases for AEMS.

v0.4.0

Central Extraction Service, Unified Grading & Language Intelligence

New Features

  • Central Extraction Service. New modular extraction pipeline with native text, pix2text OCR, and LLM Vision paths. Automatic GPU detection, vector/raster figure heuristics, and a vision_handled flag that prevents redundant LLM calls in smart mode. Runs behind a feature flag for gradual rollout.
  • Unified grading orchestrator. Canvas and Offline grading consolidated into a single shared orchestrator, eliminating duplicated logic and ensuring both paths receive identical pipeline improvements.
  • Language-aware grading. Automatic language detection from PDF text and grading instructions. Non-English exams receive localised feedback headers and language-specific prompts, with the annotation language forwarded end-to-end from API to grading worker.
  • Simple schema bypass. Schemas with zero tasks now skip the full schema pipeline and route directly to basic grading, reducing latency and avoiding unnecessary processing.
  • Schema builder sync. Preview-editor scroll synchronisation with drag-based region selection, allowing examiners to highlight PDF areas and map them to schema fields interactively.

Improvements

  • All image processing consolidated to WebP format, removing the image format setting and reducing storage footprint.
  • Vision-based annotation placement now used for offline grading, matching Canvas workflow quality.
  • Schema grading instructions loaded from the linked schema file rather than requiring manual re-entry.
  • Structured feedback added to the vision-only grading prompt for richer single-call results.
  • Schema pipeline JSON repair improved with LLM-assisted recovery for malformed extraction output.
  • UI refinements across analytics, SEO meta tags, and dashboard layout.

Bug Fixes

  • Fixed double bullet prefix in structured feedback formatting.
  • Fixed schema builder modal losing schemaJson when reopened after initial configuration.
  • Fixed hide-unpublished filter and schema prompt persistence on save.
  • Fixed vision_only missing from supported vision strategies, causing strategy validation failures.
  • Fixed coordinate regressions and permission checks in the grading pipeline.
  • Fixed PyMuPDF error noise with a suppress_mupdf_errors context manager.
  • Fixed handwritten exam page-split detection for non-English content.
  • Fixed scroll sync warm-up timing after preview render completes.
v0.3.0

Scoring Strategies, Legal Compliance & Security Hardening

New Features

  • Top-down scoring strategies. New deductive-first scoring pipeline with holistic ceilings, microcheck fallbacks, and scale-aligned common-error deductions. Deductive-first is now the default strategy.
  • Common error detection. Grading prompts now include common error analysis, surfacing recurring mistakes across submissions.
  • Terms acceptance onboarding. Users must accept EULA and SaaS Terms before using the app, with a full-screen overlay, version tracking, and a before-request consent gate.
  • About page & Legal section. New About page with EULA and SaaS Terms, PDF generation, and Swedish translations.
  • Schema ownership & visibility. Schemas now have ownership controls, visibility settings, and bulk delete support.
  • Offline grading wizard. Unified 4-step wizard for offline grading that reuses Canvas shared steps, with Swedish translations.
  • Cloud deployment infrastructure. Deployment tooling for both Linux and Windows environments.
  • PDF annotation benchmark. New benchmark system comparing Canvas workflow annotation quality with per-page metrics and LLM analysis.
  • Cost analytics persistence. Cost records are now persisted to PostgreSQL for long-term analytics.
  • Stale job reaper. Automatic recovery of leaked resource pool slots from abandoned grading jobs.

Improvements

  • Check type badges replaced with icons and type-aware grading display.
  • Canvas workflow refactored: jobs, export manager, and auth split into modular packages.
  • Schema sort order and Canvas grade toggle/display fixes.
  • PDF formatting improvements: title spacing, address fields, table word-wrapping.
  • Comprehensive lint cleanup: ruff, mypy, and ESLint errors resolved across the codebase.
  • Check dependencies now enforced across all grading paths.

Bug Fixes

  • Fixed Canvas PDF upload using the correct submission comment endpoint.
  • Fixed RBAC course ownership verification: API endpoints now check user-course membership.
  • Fixed X-Forwarded-For trust issue: uses remote_addr instead of trusting proxy headers.
  • Added file locking and atomic writes for GDPR data exports.
  • Extracted inline scripts from builder template for CSP compliance.
  • Normalized rubric dependency IDs and added validation for invalid references.
  • Fixed XSS vulnerability, fail-open lockout, and falsy timestamp handling.
  • Fixed race condition guard requiring DOM stamp existence and match.
  • Fixed schema access control vulnerabilities across API v1 and editor routes.
  • Fixed 267 wrong or missing Swedish translation entries.
  • Fixed mobile dashboard readability and dark-mode card shadow issues.

Security

  • All critical and high severity vulnerabilities resolved in security audit.
  • RBAC enforcement on schema edit, bulk delete, and visibility routes.
  • SSRF protection strengthened with DNS rebinding rejection.
  • Exception detail leaking eliminated from client-facing responses.
v0.2.0

Model Management & Swedish Localisation

New Features

  • Model Management. Administrators can now discover, enable, and filter available AI providers from the admin panel without touching configuration files.
  • Swedish localisation. Full Swedish (sv) translation covering all UI strings, email templates, and error messages.
  • Invisible text detection. PDF pre-processing now strips invisible text (white-on-white, black-on-black) to prevent prompt-injection attacks via exam content.
  • Analytics errors page. Redesigned analytics dashboard with dedicated error breakdown and cost-per-submission metrics.

Improvements

  • Canvas workflow refactored into 34 modular files, significantly faster to load on large assignments.
  • Vision cache hit rate improved by 12% through deterministic image preprocessing.
  • Grading pipeline latency reduced by approximately 18% for multi-page submissions.

Bug Fixes

  • Fixed annotation placement on landscape-orientation PDFs.
  • Resolved race condition in batch grading queue when >50 submissions were processed simultaneously.
  • Corrected Canvas grade sync for assignments with extra-credit components.

Breaking Changes

  • None. This release is fully backwards-compatible with v0.1.x configuration files and databases.
v0.1.0

AEMS MVP Launch

Welcome to the initial launch of the Assisted Exam Marking System (AEMS).

Core Features

  • Canvas Integration (Assignments, Students, Rubrics)
  • Visual Schema Builder with iterative AI generation
  • Offline grading via the AEMS Local Bridge Agent
  • Multi-modal grading pipeline (Vision and Text)
  • Grading analytics and export to Canvas
v0.1.1

Stability & Canvas Patch Release

Bug Fixes

  • Fixed Canvas API token refresh failing silently after 24 hours.
  • Resolved incorrect page-split detection for multi-student PDFs with non-standard page sizes.
  • Fixed memory system not persisting corrections when the grading session was closed before the review step.

Improvements

  • Reduced startup time by lazy-loading provider clients.
  • Improved OCR fallback accuracy for low-contrast printed text.
  • Added retry logic for Canvas API rate-limit responses (HTTP 429).