agoge_v2025.04_release-notes

Agoge v2025.04 Release Notes

Release Date: April 2025


Overview

This release delivers broad improvements across application performance, security, and user-facing features. Notable enhancements include a shift to more efficient database operations, expanded snapshot and imaging workflows, improved browser-based connectivity options, and richer instructor-focused functionality for maintaining instructions.


1. Performance and Infrastructure Improvements

  • Firestore Database Rework

    • Continued transitioned to a more robust Firestore-native approach to streamline queries, reduce data-fetch overhead, and improve reliability for large-scale data operations.
  • Pub/Sub Standardization

    • Consolidated and standardized Pub/Sub message formats across various build and control handlers. This simplifies asynchronous communications and improves debugging clarity.
  • Snapshot and Image Management Overhaul

    • Introduced daily snapshot tasks, refined automatic snapshot creation, and added the ability to restore from and delete older snapshots more reliably.
    • Refactored the compute manager classes to better handle images, snapshots, and instance operations for improved consistency and performance.
  • Daily Maintenance Enhancements

    • Separated out high-load tasks into individual Pub/Sub actions to mitigate timeouts during maintenance cycles.
    • Automated tasks (e.g., Google image sync, NVD database sync) now run with improved scheduling and clearer logs to reduce downtime and maintenance complexity.
  • Major React and API Upgrades

    • Consolidated redundant code, increased model consistency, and introduced more efficient state management hooks.
    • Improved how server check-in/check-out states are polled, reducing potential performance bottlenecks and providing clearer progress feedback to end users.

2. Security Enhancements

  • Student Firewall Improvements

    • Expanded the student workout firewall to handle IPv6 addresses and further constrain inbound traffic to only authorized IP ranges.
  • User Duplication Fixes and Permission Updates

    • Addressed an issue where duplicate users could be created from the admin interface.
    • Strengthened checks on user management endpoints to reduce the risk of inadvertent or malicious account manipulation.
  • Secrets and Access Controls

    • Modified environment variable fetching to only retrieve sensitive secrets on-demand, lowering exposure risks.
    • Reworked Guacamole API proxy handling to ensure safer remote access to lab servers, preventing unauthorized console connections.

3. New Features and Functional Improvements

  • Lab snapshot management and improved disk management

    • Adding the ability for instructors to take snapshots and restore lab servers.
    • Introduced an “Add Disk” option for template servers, allowing instructors to configure custom storage or additional volumes during lab creation.
    • Enabled editing of machine types and disk sizes within lab specifications to meet varied performance needs.
  • Multiple Connection Methods

    • Enhanced human-interaction (SSH/RDP/Web) options so instructors can define multiple ways students can interact with a server, supporting diverse training scenarios and device compatibility.
  • Instructor-Focused UI Enhancements

    • Revamped the teacher dashboard to provide consolidated views of units and server statuses.
    • Implemented improved step-by-step lab specification forms with real-time validation, progress-saving, and warnings for missing or locked images.
  • Expanded Admin Features

    • Admins can now edit global project settings from within a unified interface.
    • Build testing support has been bolstered, ensuring non-standard or user-contributed lab environments remain stable and secure.