Refactored default pipeline version handling by removing ensureDefaultVersion support and improving version management logic.
Added new pipeline version update endpoint (POST /pipeline-versions/{versionId}) for updating specific pipeline versions independently from the default version.
Fixed PipelineVersionLaunchComposite query logic to properly return null for non-existent pipeline versions instead of creating invalid composite objects.
Added custom schema support to pipeline forms, allowing users to specify custom schema names or URLs for pipeline configuration.
Added centralized design system tokens (tokens.ts) with functional colors, semantic colors, and component sizes for consistent UI styling.
Added auto-detection of form controls in ExpansionPanelComponent via the new wtExpansionPanelDetail directive, reducing boilerplate code and enabling reactive updates to collapsed panel summaries.
Enabled custom pipeline schema retrieval via the /pipelines/{pipelineId}/schema endpoint, with improved error handling and refactored transaction management.
Implemented transparent hash version upgrade mechanism that automatically detects and upgrades outdated pipeline version hashes during comparison operations without persisting changes.
Implemented VersionedHash class to provide structured, type-safe access to version hash strings throughout the platform, improving code maintainability and enabling future hash algorithm upgrades.
Removed the pipeline_version_created audit event in favor of the existing pipeline_updated event, which already tracks pipeline version creation.
Added tristate checkboxes to category rows in the custom roles permissions table, allowing users to quickly select or deselect all permissions within a category.
Consolidated Members, Teams, and Collaborators pages into the Access Control page as tabs with pagination support for Teams list and empty-state components.
Added admin endpoint GET /api/admin/orgs/{orgId}/roles to list organization roles.
Added endpoint GET /orgs/{orgId}/users/{userId}/roles to list user roles in organization.
Added maxCustomRolesPerOrg quota definition and enforcement, limiting the number of custom roles per organization.
Fixed Open in new tab functionality for workflow reports by implementing a separate route with report path passed as query parameter.
Fixed step status indication mechanism in launch forms to properly track all controls registered to a section, including those registered after initial creation.
Fixed Data Explorer path decoding to be null-safe, preventing test failures.
Fixed an issue causing custom pipeline info fetch error messages to be incorrectly removed when selecting the same value again in pipeline, revision, or main script fields.
Fixed an issue causing the Launchpad to display empty optimization buttons when optimization status is not set.
Prevent conda Studios from auto-starting when the organization exceeds Studio session limits.