Skip to content

Changelog

  • Configurable logo and color scheme via theme and logo fields in AndromedaConfiguration
  • Compute-projects endpoint now includes start date, end date, and granted resources
  • Dashboard component for the service catalog added to the frontend
  • Project workflow system
    • Data models for Workflow, triggers, conditions, actions, subscriptions, and executions
    • Workflow Registry service for managing and verifying workflows
    • Time-based or event-based triggers, condition expressions with AND/OR logic, and configurable cooldowns and repetition limits
    • Actions to send emails or trigger an event
    • New workflow management component in the project details view for subscribing to, enabling, and monitoring workflows per project
    • Endpoints for listing, adding, editing, and deleting workflows, subscriptions, and executions
  • Andromeda sub-service for project overview now returns start, end, is_active, is_followup, and predecessor_id
  • Bibtex publications: added bibtex as source, automatic population of details, and optional abstract field
  • Andromeda sub-service for public project database (paginated, filterable endpoints for project overview)
  • Andromeda Service Catalog
    • Configurable service catalog items with tags, descriptions, icons, and available actions (enable, disable, open link, cluster usage)
    • Optional approval workflow requiring PI/PC and/or HPC center permission before a service can be used
    • Per-project management of which services are available, and per-user or per-compute-project access control
  • Project editor improvements: inactive clusters removed, default partitions and values
  • Resource priorities in compute projects now displayed as colored chips
  • Publications section in the frontend adapted to the new publications object type
  • Demo mode enhanced: project count reduced to 25% and missing data added (e.g., users as members)
  • Andromeda configuration is now automatically created with sensible defaults on startup if missing
  • Resolved performance issue causing long loading times due to cronjobs blocking worker processes
  • Publications in Project Manager
    • PIs and PCs can add publications via DOI, bibtex, or thesis types
  • Configurable “My Projects” overview with JOBS and PRIORITES options
  • New “project-overview” module with public project browsing and detailed views
  • Andromeda Service Catalog (frontend)
    • Browse and filter available services by tag, shown as tiles for enabled and available-but-not-yet-enabled services
    • Request access to a service, including accepting terms and conditions when required
    • PI/PC view for approving open requests and managing per-user or per-compute-project access to enabled services
  • Configurable logo and color scheme
  • Proposal module updated to use dedicated funding and public information attributes instead of custom data
  • Support ticket project selection no longer shows non-active or duplicate projects
  • Compute project resources now display only those from the current phase
  • Added funding and public information fields to the Project data model for better reporting and public visibility
  • Added database indexes for group job attributes to improve query performance
  • Added an is_active flag to clusters to allow hiding inactive systems from resource allocation
  • Added a total job count to the Andromeda job endpoint for accurate pagination and display
  • Improved test coverage across core PERSEUS services
  • Added system status permissions for L1, L2, and L3 support roles
  • Added endpoints to fetch and add project publications directly from Andromeda
  • Implemented a responsive design for the PERSEUS frontend to improve usability on tablets and mobile devices
  • Enhanced the Person Details view with ORCID, connected identities, and dedicated panels for jobs and resource usage
  • Added new endpoints to the JobManager and Usage services for retrieving user-specific job and resource data
  • Added a native database count method to improve performance when querying large collections
  • Added a backend endpoint to securely validate and update user ORCID identifiers
  • Added backend endpoints for managing compute project members, handling email invitations, and assigning project coordinator roles
  • Introduced a templated HTML email system with configurable branding and plain-text fallbacks
  • Added support for retrieving historical system status entries and updated the existing endpoint to accept optional date ranges
  • Updated the system status API to support a new “maintenance” category and improved historical data retrieval
  • Fixed datetime parsing in the SystemStatusEntry loader to correctly handle entries stored as datetime objects
  • Fixed missing Andromeda endpoints in the Swagger UI documentation
  • Fixed incorrect ordering of compute project phases so they now sort correctly by start date
  • Redesigned the system status view to display the last 14 days of history and clearly highlight active and planned maintenance
  • Added the ability for users to update their ORCID identifier in the profile section
  • Added a comprehensive user management interface for project managers, including member invitations and role assignments
  • Updated frontend dependencies and upgraded the Node.js runtime to version 24 LTS
  • Fixed several UI issues in the compute project details view, including graph axis scaling, tooltip formatting, job pagination, and priority color coding
  • Fixed the email input field on the profile page to use full width
  • Fixed the Project Manager view to operate at the top-level project scope rather than individual compute projects
  • Fixed the usage graph filters to only display resources actually used by the selected compute project
  • Removed the unused SystemStatus endpoint from the Gateway’s allowed routes
  • Fixed incorrect forwarding of list parameters in GET requests to ensure all values are passed correctly
  • New endpoint providing an overview of compute projects with usage data, including recent job counts and pending/running jobs
  • Indicator colors for resource priorities
    • New indicator_color field on ResourcePriority supporting hexadecimal color codes
    • Color selection UI in the PriorityManager creation and edit views
  • Group job support across the job manager and frontend
    • Group jobs are displayed as a single entry in job tables, preserving pagination
    • New endpoint to fetch all jobs within a group job with pagination, ordered by ascending index
  • Extended resource data model with parent hierarchy, default partitions, trackable resources, and minimum, maximum, and default values
  • Updated resource manager frontend to support the new resource fields when creating or editing resources
  • New endpoint allowing users to update their email address
  • Isolated MongoDB test environments using TestContainers for deterministic, self-contained test runs
  • Resource values are now visible and editable in the project editor when the browser window is narrow
  • Phase date rows in “All resources & limits” can now be expanded by clicking the row, matching the behavior of compute project entries
  • Requests authenticated via the Perseus-Token header are now correctly resolved for identity-dependent service logic instead of being silently treated as unauthenticated
  • Redesigned “My Projects” page
  • Email address update in the profile section with validation that rejects common private email providers
  • Group job display in job tables
  • Updated npm dependencies to latest versions and upgraded Node to version 24 LTS
  • Added the frontend configuration endpoint to the list of allowed endpoints
  • Login no longer fails when a user’s username is not set
  • Support ticket management
    • New SupportTicket and SupportTicketMessage models
    • New TicketManager service for creating, updating, and fetching tickets and messages
    • New Andromeda endpoint to create support tickets with optional attachments
    • Support for ticket attachments up to 25MB
  • Event system for custom states and services
    • DatabaseItem subclasses automatically emit signals on create, update, and delete
    • Project additionally emits attribute-specific update signals when individual fields change
    • @BaseService.on_event(signal_name) decorator to register service methods as event handlers
    • @receiver(signal_name) decorator to connect any callable to a named signal
    • create_and_send_signal() utility to emit custom signals
  • Andromeda endpoint to get PI and PC for a project
  • System Status UI for admins
  • Configurable Andromeda Module Service
  • Links in project notes are now clickable
  • Resource priorities, maximum resource amounts, and current phase display in Andromeda project details
  • Username mention in notes
  • Support Tickets module in Andromeda
    • New navigation entry and form for submitting support tickets
    • Project, compute project, service, job ID, message body, and attachment fields
    • Success confirmation and error handling after submission
  • After login, users are redirected to “My projects”
  • Clicking the Andromeda icon now opens “My projects” directly
  • SSH key information now states that updates can take some time
  • Users can submit support tickets without selecting a project
  • Profile and proposal pages show loading skeletons while data is loading
  • Logo color changed to white background in dark and light modes
  • PI and PC information are shown in Andromeda project details
  • White logo in dark mode
  • Resource graphs in “My projects” show units
  • Empty profile “Title” no longer overlap input labels
  • Predecessor selection in compute proposals works correctly
  • Compute proposal abbreviations are validated without including the fixed prefix
  • File upload support through the PERSEUS proxy
    • multipart/form-data requests can now be forwarded unchanged
    • Non-JSON write requests preserve their original Content-Type
    • Existing JSON request handling remains unchanged
  • Job list in project detail view
  • System status service
    • track the status of you cluster and other systems
    • communicate downtimes, maintenance or failures to the users
  • Collapsible navigation drawer
  • move dependency management from pipenv to uv
  • when two affiliations are merged the persons associated with these affiliations are moved to the merged one
  • fixed incorrect affiliation information displayed in the ProjectEdit service
  • fixed autocomplete search behavior in ProjectEdit
  • fixed a crash when adding file tags
  • fixed incorrect autocomplete information in PI & PC
  • external identities for persons
    • Identity model
    • embedded person identities with unique external IDs
    • PersonIdentity service for listing, linking, and unlinking identities
  • ORCID support to the person model
  • Added SSH Keys on Profile page in Andromeda
  • Hierarchical affiliation selection in Andromeda
  • Proposal deletion functionality in Andromeda
  • New component “Andromeda” initialized
    • User frontend, build for usage with PERSEUS
    • Compute proposal module initialized
  • New component “PERSEUS Gateway” initialized
    • Used for communication between Andromeda and PERSEUS
    • Handles login, sessions, rate limiting, and caching

none

none

none

none

none

  • Mentions in notes: PERSEUS users can now be mentioned and notified via project notes
  • Compute project member management: Owners and cluster admins can now add / remove users to / from compute projects
  • Node management and node availability management: By using new API endpoints within the ResourceManager, users can manage compute nodes as well as their availability - a corresponding frontend component will be added in future versions
  • The project search supports now username searches and will display all projects related to a person when entering their username
  • The person search supports now username searches and will display a person when entering their username
  • Workers can now have multiple handlers instead of only one
  • Workers now accepts a worker_timeout which defines how long to wait for the worker to finish processing after the job has been successfully submitted

none

none

  • Fixed wrong input labels for “end” field when adding a resource or limit in the project editor
  • Workers now require a whitelist of core instances which are allowed to submit jobs
  • Workers now verify if a job was sent by an allowed core instance by checking the signature of the JWT sent