Added Created, File ID, Start Time, Stop Time, and Duration as opt-in columns in the Data Center My Files column picker
Added an adjustable time-chunking option to the Timeline Viewer so applications can set the engine-results bucket size on panel mount rather than being fixed at 10 seconds.
Added a read-only GPU resource tier field to the engine view in the Admin UI, which displays blank for engines with no tier set.
Added the per-field JSON Schema description to the Media Source create and edit forms, so schema-authored guidance reaches the person filling in the form.
Fixed a bug in the Timeline transcript editor where saving an edit wrote every transcription engine's series into the first engine's asset, permanently polluting that engine's transcript.
Fixed a bug where saving a Timeline transcript edit discarded unedited segments in the same bucket.
Fixed a bug where saving a Timeline transcript edit destroyed any series crossing a bucket boundary when the following bucket was edited.
Fixed a bug where saving a Timeline transcript edit stripped language and other non-whitelisted fields from the edited bucket's series.
Fixed a bug in the Timeline inline editor where two concurrent saves to the same engine read the same merge base, silently losing one edit.
Fixed a bug where a Timeline translation edit saved during the refetch window after a previous save could silently drop the earlier edit.
Fixed a bug where Timeline inline edits under chunked load used a single chunk-window record as the merge base, truncating the persisted series.
Fixed a bug where the chunked-load engine-results store could never re-ingest data, so the rendered Timeline ignored refreshed results.
Fixed a bug where createAsset did not invalidate the chunked engine-results queries, so Timeline writes were never reflected without a reload.
Fixed a bug causing the Instance Login and Custom Login views to white-screen when a login configuration had a null buttonColor or buttonTextColor.
Fixed a bug where the Admin Center registration wizard showed "Link unavailable" instead of the signup URL preview on non-Desktop app surfaces.
aiWare API Updates
Added audit log events for schema changes, covering schema creation, status updates, and draft lifecycle, so admins have a record of changes to their instance schemas.
Added desktopAppUrl to the staticAppConfig query so non-Desktop applications and local environments can resolve it without a bundled config file.
Added notificationMailboxes to the User type, giving services a way to resolve the mailboxes belonging to a single user instead of paging through every mailbox in the organization.
Added a typed gpuTier field to the engine schema, readable by query and settable by mutation, replacing any need for a generic JSON blob field.
Added a Platform API operation that issues a fresh authorization link for an existing destination, reusing that destination's provider account rather than creating a second one.
Added server-side per-platform media constraints to distributeAsset, so publishes that violate a destination's technical limits are rejected at the mutation instead of failing downstream at the platform.
Added the schema foundation for access lists, including a new registration_access_entry model and legacy-table compatibility.
Updated the four social destinationType definitions and their config and publish schemas to be consistent across environments via migration, eliminating stage-to-production drift.
Updated Core to return null failureReason and failureMessage for tasks that have not failed, removing misleading failure information from successful and aborted tasks.
Established a single Data-owned canonical source of truth for task failure codes, with generated downstream artifacts and CI drift detection.
Fixed a bug where core-admin-server returned a 500 instead of a 404 for revoked API tokens on GET /api/admin/apikey/:token, which accounted for roughly 87% of that service's 5XX traffic.
Fixed a bug where OIDC login failed when multiple connections shared an issuer hostname, because concurrent login attempts overwrote each other's session state.
Fixed a race in SCIM Push Groups where a group upsert could silently drop group membership rows without surfacing an error.
Fixed a bug preventing non-admin users in OLP-enabled organizations from uploading files through the web uploader.
Deprecated the key, type, and path parameters on the getSignedWritableUrl mutation; the bucket key is now generated entirely server-side, and contentType and filename on createAsset supersede the values previously derived from key.
aiWare Processing Updates
Added a continue-on-error mode to Hub package provisioning so that a single failing resource no longer aborts the whole run; non-dependent resources are still attempted and errors are accumulated.
Improved the Hub package list to be served from the Hub database, calling AIData GraphQL only for package details, so the Packages tab still renders when AIData is unavailable and no longer fetches a full manifest for every row.
Fixed a memory leak in media-streamer that leaked a storage socket per /image request, exhausting node TCP memory and freezing services nodes.
Fixed a bug where continuous isService scheduled jobs with no source URL fell through to regular job creation, flooding the cluster with erroring engine pods.
Fixed a bug where ai package export logged that an already-exported resource was skipped but exported it anyway, causing nested-package cycles to recurse without terminating.
Fixed FailOldRunningTasks, the primary-controller sweep for tasks stuck in running, which had never executed because its configuration key was unregistered.
Updated ai package import to escape special characters in generic string fields, so package content containing newlines no longer breaks the generated GraphQL query.
Updated edge-controller to send failureReason on task status updates, so Core reports the actual cause of a task failure instead of a generic validation message.
Improved the engine toolkit to preserve the failure reason originally reported by the engine when a chunk task exhausts its retries, instead of reporting unknown to Core.
Updated the podcast adapter to support the new NCAA feed format while continuing to support the previous one.