{"errCode":0,"errMessage":"","data":{"status":"ok","runtime":{"mode":"production","startedAt":"2026-10-26T15:35:22.324Z"},"versions":{"serverVersion":"0.1.10","coreVersion":"0.1.1"},"currentRelease":{"summary":"Fixed: Profile name changes update the authentication account and survive password login, bootstrap administrator login, and session renewal. Email and passw...","body":"# Unreleased\n\n- Fixed: Profile name changes update the authentication account and survive password login, bootstrap administrator login, and session renewal. Email and password changes preserve the saved name.\n\n- Improved: Store deployments can write to local disk or OSS per environment and explicitly enable reads across both backends when sharing a database, preserving archive and image review and downloads.\n\n- Fixed: Release-note links follow the dev, alpha and main environments so local and alpha services open the matching documentation.\n\n- Fixed: deployments include localized Server and Web notes with source identity; health links use the current environment.\n\n- Improved: configure PostgreSQL connection limits per pool and the Server listen address when hosting multiple environments on one machine.\n\n- Fixed developer personal configurations to default to published templates, preventing missing role-field errors and explaining when a role-controlled template must be published first.\n\n- Added authoritative profile role enforcement and filtered configurations and attachments, with immutable version 3 policy templates.\n\n- Fixed publication drafts, previews and distributed templates honoring source system-only restrictions. Drafts cannot relax policy, and excluded historical third-party values do not block publication.\n\n- Project configuration APIs honor source-declared system-only AI rules, atomically reject third-party saves and imports, and preserve source restrictions in published model fields.\n\n- Added static discovery of Core Agent model configuration fields with account isolation, import/export and publication permissions. Model secrets are excluded from publication by default.\n\n- Fixed invitation lists to expose only guest and developer invitations to maintainers, preventing project and group privilege escalation through higher-role tokens.\n- Fixed admin-key request approval to retain system administrator identity. Guest requests use a separate membership-request table without migrating retired source grants or depending on their constraints.\n- Fixed published personal configuration reads, saves and exports to work without a draft; draft publication checks are returned only for the selected draft.\n\n- Fixed startup initialization of administrator and group columns on existing account and project tables, preventing login and project-query failures while preserving data across repeated initialization.\n- Changed project authorization to fixed roles with nested groups and current memberships. Store project and listing settings require maintainer access; review remains system administrator-only. The new structure does not migrate old role data.\n\n- Fixed publication filtering to retain inherited editing and value inclusion rules beneath omitted JSON parents, preventing whole-object replacement or imports from changing locked values.\n\n- Added author publication drafts and immutable version templates with filtered fields, values, defaults and attachments; actual ownership, source hashes and draft revisions are checked, personal data stays account isolated, and denied edits/imports are atomic.\n\n- Fixed: project configuration file fields choose and upload files to Server storage, then save references. Type restrictions, replacement and clearing preserve the previous value when uploads fail.\n\n- [Fixed] Retain newer field values and shadowed custom definitions when reading or editing configurations for older source versions in file and PostgreSQL storage.\n\n- [Added] Generic project configuration APIs and new project/account-scoped storage replace the Kanban-only endpoints, with revision checks, atomic import/export, custom fields and shared static-preview values. Existing configuration data is not migrated.\n\n### Project Avatars\n\n- New projects save their type icon with random colors at a contrast ratio of at least 4.5:1.\n- Store source projects, revisions, public entries, and project summaries return consistent projectCard metadata, with legacy icon fields supported on read.\n\n### Added\n\n- Added Store project console APIs, persisted upload review and download settings, and download records grouped by project and user.\n- Added Store review submission after Studio uploads, reusing revisions for repeated notifications and preserving existing drafts and reviews on conflicts.\n\n### Fixed\n\n- Refresh model settings before serving the system AI credential catalogue so agents receive updated capabilities and add native search tools after web search is enabled in Admin. Disabling or resetting settings also takes effect on the next catalogue read.\n- Kept ordinary Studio source uploads available when Store settings cannot be read, without changing saved Store preferences.\n- Reused submission results for concurrent notifications of the same version, preserved completed reviews, and prevented duplicate revisions of approved versions.\n- Allowed unpublished projects to load Store settings before their first Studio upload, and checked the uploaded version before automatic submission to prevent concurrent draft edits from submitting another version.\n- Kept the last uploaded Store review result in sync with approval, rejection, withdrawal, and unlisting, including reviews completed before the upload callback returns.\n\n\n# SteamHarness deployment history\n\n## Studio Windows download and update infrastructure\n\n- Add private main/alpha release registration, native Windows user update feeds, five-minute tickets and a shared PostgreSQL daily allowance. Authenticate every Range, retry and cache-hit request, and deny on failure.\n- Link the website to its channel's Studio download entry, with English and Chinese pause/failure messages. Keep Store alpha on local and main on Aliyun; use the regional private OSS endpoint on ECS.\n- Add serialized Windows EXE builds, immutable upload verification, CAS pointer rollback and a dedicated windows CI entry. Record unsigned packages and actual A/B acceptance separately.\n- Make the existing bucket private and add global CDN configuration with independent DNS-01 certificate renewal. Keep existing product version numbers.\n\n## Custom OSS access domain\n\n- Enable `https://storage.steamharness.yuhe.space/` for the existing OSS Bucket with HTTPS, GET/HEAD CORS, and Range downloads.\n- Check certificate renewal twice daily on the build machine and update the OSS binding after renewal. Production issuance, actual object reads and writes, and a renewal dry run passed.\n- Private Store archives continue through authenticated Server downloads, and the SDK retains its regional endpoint. Alpha writes to local storage; main writes to Aliyun OSS.\n\n## Shared account display name fix\n\n- Update shared Server and Admin authentication in every environment. Profile name changes update both authentication and profile records and survive login and session renewal.\n- The bootstrap administrator name is used only when creating the account. Later name, email, and password changes are not overwritten by that default.\n- After deployment, rename the same administrator through dev, alpha, and main, then cross-read and sign in again to verify persistence. Keep `SteamHarness Admin` as the final display name.\n\n## Store storage by environment\n\n- Alpha writes Store archives and images to persistent server storage; main writes to Aliyun OSS. Manual releases and CI preserve each environment's selection.\n- Both environments keep the shared database and explicitly enable reads across both backends for archive and image review and downloads. Storage failures never switch the write backend.\n\n## Dual environment deployment · continuous update verification\n\n- Main and alpha CI reuse the manual release scripts to update the website, Server, Admin, Store, and documentation together.\n- Release comparison and live JavaScript/CSS verification check replaced, removed, and unchanged files across both rounds.\n- Documentation regenerates OpenAPI addresses for the current environment. Build and live checks decode the API Explorer's operation configuration.\n- Isolated acceptance and cleanup steps cover accounts, shared projects, attachments, avatars, OSS archives, and invitation origins across updates.\n- Certificate issuance and renewal support a protected proxy connection and connection retries. Ingress reload waits for the Nginx master process.\n- Installation waits for a healthy Server before starting Admin. File inventories use streamed checksums to reduce deployment memory peaks.\n- Builds, tests, and complete public verification run on the build machine. The target installs artifacts sequentially and rolls back if external verification fails or disconnects.\n- Admin's soft memory threshold follows observed sign-in usage while retaining the hard limit, preventing repeated reclaim from delaying login.\n- Complete artifacts include Chinese and English release notes with matching health metadata and published documentation. Existing product version numbers remain unchanged.\n\n## Dual environment deployment · first round\n\n- The website, Server, Admin, Store and documentation have main and alpha endpoints. Alpha hostnames use the `-alpha` suffix.\n- Admin reuses Server accounts. Both environments share project files and Store archives.\n- Each deployment records its complete file inventory, source commits and build identity, and supports coordinated rollback.","docsUrl":"https://docs.steamharness.yuhe.space/deployment-notes.en.md"},"deployment":{"server":{"unit":"server","tag":"server/v0.1.10","version":"0.1.10","versionLabel":"v0.1.10","publishedAt":"2026-10-26T15:32:34.673Z","commitSha":"9893af53d857fc7ec8eabb1675927883f9f402c4","components":{"core":"0.1.1"},"releaseNotes":{"format":"markdown","body":"# Unreleased\n\n- Fixed: Profile name changes update the authentication account and survive password login, bootstrap administrator login, and session renewal. Email and password changes preserve the saved name.\n\n- Improved: Store deployments can write to local disk or OSS per environment and explicitly enable reads across both backends when sharing a database, preserving archive and image review and downloads.\n\n- Fixed: Release-note links follow the dev, alpha and main environments so local and alpha services open the matching documentation.\n\n- Fixed: deployments include localized Server and Web notes with source identity; health links use the current environment.\n\n- Improved: configure PostgreSQL connection limits per pool and the Server listen address when hosting multiple environments on one machine.\n\n- Fixed developer personal configurations to default to published templates, preventing missing role-field errors and explaining when a role-controlled template must be published first.\n\n- Added authoritative profile role enforcement and filtered configurations and attachments, with immutable version 3 policy templates.\n\n- Fixed publication drafts, previews and distributed templates honoring source system-only restrictions. Drafts cannot relax policy, and excluded historical third-party values do not block publication.\n\n- Project configuration APIs honor source-declared system-only AI rules, atomically reject third-party saves and imports, and preserve source restrictions in published model fields.\n\n- Added static discovery of Core Agent model configuration fields with account isolation, import/export and publication permissions. Model secrets are excluded from publication by default.\n\n- Fixed invitation lists to expose only guest and developer invitations to maintainers, preventing project and group privilege escalation through higher-role tokens.\n- Fixed admin-key request approval to retain system administrator identity. Guest requests use a separate membership-request table without migrating retired source grants or depending on their constraints.\n- Fixed published personal configuration reads, saves and exports to work without a draft; draft publication checks are returned only for the selected draft.\n\n- Fixed startup initialization of administrator and group columns on existing account and project tables, preventing login and project-query failures while preserving data across repeated initialization.\n- Changed project authorization to fixed roles with nested groups and current memberships. Store project and listing settings require maintainer access; review remains system administrator-only. The new structure does not migrate old role data.\n\n- Fixed publication filtering to retain inherited editing and value inclusion rules beneath omitted JSON parents, preventing whole-object replacement or imports from changing locked values.\n\n- Added author publication drafts and immutable version templates with filtered fields, values, defaults and attachments; actual ownership, source hashes and draft revisions are checked, personal data stays account isolated, and denied edits/imports are atomic.\n\n- Fixed: project configuration file fields choose and upload files to Server storage, then save references. Type restrictions, replacement and clearing preserve the previous value when uploads fail.\n\n- [Fixed] Retain newer field values and shadowed custom definitions when reading or editing configurations for older source versions in file and PostgreSQL storage.\n\n- [Added] Generic project configuration APIs and new project/account-scoped storage replace the Kanban-only endpoints, with revision checks, atomic import/export, custom fields and shared static-preview values. Existing configuration data is not migrated.\n\n### Project Avatars\n\n- New projects save their type icon with random colors at a contrast ratio of at least 4.5:1.\n- Store source projects, revisions, public entries, and project summaries return consistent projectCard metadata, with legacy icon fields supported on read.\n\n### Added\n\n- Added Store project console APIs, persisted upload review and download settings, and download records grouped by project and user.\n- Added Store review submission after Studio uploads, reusing revisions for repeated notifications and preserving existing drafts and reviews on conflicts.\n\n### Fixed\n\n- Refresh model settings before serving the system AI credential catalogue so agents receive updated capabilities and add native search tools after web search is enabled in Admin. Disabling or resetting settings also takes effect on the next catalogue read.\n- Kept ordinary Studio source uploads available when Store settings cannot be read, without changing saved Store preferences.\n- Reused submission results for concurrent notifications of the same version, preserved completed reviews, and prevented duplicate revisions of approved versions.\n- Allowed unpublished projects to load Store settings before their first Studio upload, and checked the uploaded version before automatic submission to prevent concurrent draft edits from submitting another version.\n- Kept the last uploaded Store review result in sync with approval, rejection, withdrawal, and unlisting, including reviews completed before the upload callback returns.\n\n\n# SteamHarness deployment history\n\n## Studio Windows download and update infrastructure\n\n- Add private main/alpha release registration, native Windows user update feeds, five-minute tickets and a shared PostgreSQL daily allowance. Authenticate every Range, retry and cache-hit request, and deny on failure.\n- Link the website to its channel's Studio download entry, with English and Chinese pause/failure messages. Keep Store alpha on local and main on Aliyun; use the regional private OSS endpoint on ECS.\n- Add serialized Windows EXE builds, immutable upload verification, CAS pointer rollback and a dedicated windows CI entry. Record unsigned packages and actual A/B acceptance separately.\n- Make the existing bucket private and add global CDN configuration with independent DNS-01 certificate renewal. Keep existing product version numbers.\n\n## Custom OSS access domain\n\n- Enable `https://storage.steamharness.yuhe.space/` for the existing OSS Bucket with HTTPS, GET/HEAD CORS, and Range downloads.\n- Check certificate renewal twice daily on the build machine and update the OSS binding after renewal. Production issuance, actual object reads and writes, and a renewal dry run passed.\n- Private Store archives continue through authenticated Server downloads, and the SDK retains its regional endpoint. Alpha writes to local storage; main writes to Aliyun OSS.\n\n## Shared account display name fix\n\n- Update shared Server and Admin authentication in every environment. Profile name changes update both authentication and profile records and survive login and session renewal.\n- The bootstrap administrator name is used only when creating the account. Later name, email, and password changes are not overwritten by that default.\n- After deployment, rename the same administrator through dev, alpha, and main, then cross-read and sign in again to verify persistence. Keep `SteamHarness Admin` as the final display name.\n\n## Store storage by environment\n\n- Alpha writes Store archives and images to persistent server storage; main writes to Aliyun OSS. Manual releases and CI preserve each environment's selection.\n- Both environments keep the shared database and explicitly enable reads across both backends for archive and image review and downloads. Storage failures never switch the write backend.\n\n## Dual environment deployment · continuous update verification\n\n- Main and alpha CI reuse the manual release scripts to update the website, Server, Admin, Store, and documentation together.\n- Release comparison and live JavaScript/CSS verification check replaced, removed, and unchanged files across both rounds.\n- Documentation regenerates OpenAPI addresses for the current environment. Build and live checks decode the API Explorer's operation configuration.\n- Isolated acceptance and cleanup steps cover accounts, shared projects, attachments, avatars, OSS archives, and invitation origins across updates.\n- Certificate issuance and renewal support a protected proxy connection and connection retries. Ingress reload waits for the Nginx master process.\n- Installation waits for a healthy Server before starting Admin. File inventories use streamed checksums to reduce deployment memory peaks.\n- Builds, tests, and complete public verification run on the build machine. The target installs artifacts sequentially and rolls back if external verification fails or disconnects.\n- Admin's soft memory threshold follows observed sign-in usage while retaining the hard limit, preventing repeated reclaim from delaying login.\n- Complete artifacts include Chinese and English release notes with matching health metadata and published documentation. Existing product version numbers remain unchanged.\n\n## Dual environment deployment · first round\n\n- The website, Server, Admin, Store and documentation have main and alpha endpoints. Alpha hostnames use the `-alpha` suffix.\n- Admin reuses Server accounts. Both environments share project files and Store archives.\n- Each deployment records its complete file inventory, source commits and build identity, and supports coordinated rollback.\n"},"deploymentId":"main-studio-services-A-9893af5","docsPath":"/deployment-notes.en.md","source":"release-metadata"},"serverWeb":{"unit":"server-web","tag":"server-web/v0.1.10","version":"0.1.10","versionLabel":"v0.1.10","publishedAt":"2026-10-26T15:32:34.673Z","commitSha":"9893af53d857fc7ec8eabb1675927883f9f402c4","components":{"core":"0.1.1"},"releaseNotes":{"format":"markdown","body":"# Unreleased\n\n- Fixed: Standalone Web proxies follow the service channel and use localhost:7126 in dev instead of the PostgreSQL port. Store links also select the standalone site for the same channel.\n\n- Fixed: deployments include localized Server and Web notes with source identity; health links use the current environment.\n\n- Added role-filtered configuration lists, capability labels and guest-only value editing while preserving drafts across access changes.\n\n- [Improved] Highlight the configuration in use with a clear badge and provide Use this configuration buttons for other profiles. Keep list and detail usage in sync, preserve selection on failure, and retain drafts during external switches.\n\n- AI configuration honors source-declared allowThirdParty restrictions, hides source switching for system-only projects, and marks existing third-party entries unavailable for cleanup.\n\n- Improved model editing with a separate dialog and segmented source selection. System AI only needs Provider and model selections and generates names automatically. Fields and model lists have clearer borders, and the lone Configuration values tab is hidden without publication management.\n\n- Added system and third-party model management in configuration details, with exclusive source forms, on-demand subscription catalogues, model CRUD, default ordering, draft protection and read-only permissions.\n\n- Added group, subgroup, ownership and inherited membership management, removed global role editing and enabled guest requests from private share links.\n\n- Improved: project configurations open with a profile list and separate detail views for values and publication rules. Browsing preserves execution selection, and back navigation protects unsaved drafts.\n\n- Improved: project configurations use responsive columns and inline boolean controls without stretched checkboxes. Publication permissions use aligned table columns, a compact profile/action toolbar, and expandable JSON paths.\n\n- Added a publication and permissions tab with profile/default selection, recipient previews, JSON child editors and lock reasons; conflicts preserve edited drafts.\n\n- [Improved] Edit project configuration fields directly without a Set value checkbox. Reset icons restore defaults or clear overrides; boolean and multiple-choice controls retain their checkboxes.\n\n- Fixed: project configuration file fields choose and upload files to Server storage, then save references. Type restrictions, replacement and clearing preserve the previous value when uploads fail.\n\n- [Improved] Separate configuration management, fields and saving. Group secondary actions in icon menus, show export details with those actions, and use labeled icons for custom field editing and draft refresh.\n\n- [Fixed] Ignore save responses from a previous project visit to preserve current drafts, and allow repairing previous non-array values after a field changes to multiple options.\n\n- [Added] Add project configurations to all project detail pages, with field/value editing, profile management, import/export and recovery for conflicts, failed saves and empty states.\n\n### Project Avatars\n\n- Project and Store Content list avatars open their projects; standalone avatars support previews. User avatars open the displayed profile, and personal profile avatars select an upload, with keyboard focus restored on close.\n- Project lists, detail headers, overviews, settings, and Store content consistently display avatars using each project's icon and colors.\n\n### Added\n\n- Added Store Content with project review, listing, and download summaries linking to project details, plus project Store management, download users, and Store settings.\n- Added Sync from Sub2API to model dialogs in subscription settings and personal AI configuration, updating supported models manually.\n\n### Changed\n\n- AI configuration now displays subscription plans as responsive cards with prices, periods, subscription status, payment and start/expiry dates, and daily, weekly and monthly limits and usage. Plan limits are also visible before subscribing.\n- Changed Store settings and content editing to use the existing project settings card structure, with consistent spacing and toolbar layouts across Store pages and download users.\n- Moved private AI/Sub2API administration to `admin-internal`; user, role and audit management continue to use the open-source Server implementation alongside personal account and project features.\n\n- Changed Settings and Admin Center to expand submenus in the main sidebar, retaining Project Workbench and other entries while switching pages and filtering admin entries by permission; project details keep dedicated navigation.\n- Changed the console to shadcn Blocks and New York components, unifying navigation, tables, forms, dialogs and themes while removing private styling and notifications.\n- Removed the invitations block from the project members page; invitations are created, listed and revoked from the dedicated Invitations section.\n- Changed the console to remove execution statistics, logs, schedules, environment variables, Webhook and Runner pages while retaining project and data management.\n- Changed role descriptions to project and data permissions, removed obsolete execution types and copy, and added bilingual data write and KV descriptions.\n- Changed the project information card on the project overview and Settings pages to label the project creator instead of the uploader.\n- Removed the Back to project workbench entry from the top of the sidebar; the brand entry returns to the project list instead.\n\n### Fixed\n\n- Fixed Store Content filters stacking vertically on desktop; search, status and refresh controls now align horizontally and wrap on narrow screens.\n- Fixed Store lists incorrectly showing empty states after load failures and duplicate announcements of Store errors.\n- Fixed AI usage breadcrumbs showing Orders, project breadcrumbs missing the current section and ancestor breadcrumbs being marked as the current page.\n- Fixed Admin Center navigation for accounts limited to role or audit viewing permissions.\n- Fixed theme inheritance in knowledge dialogs and dark styles in Markdown previews.\n- Fixed sticky headers in AI usage and user subscription tables, and wrapping of long text and empty-state descriptions.\n- Fixed version, member, and KV summaries loading when opening project details or switching tabs, while ignoring stale responses after navigation.\n- Fixed model dialog footers keeping their padding and space while long model lists scroll, so sync and cancel buttons stay clear of the edges.\n\n\n# SteamHarness deployment history\n\n## Studio Windows download and update infrastructure\n\n- Add private main/alpha release registration, native Windows user update feeds, five-minute tickets and a shared PostgreSQL daily allowance. Authenticate every Range, retry and cache-hit request, and deny on failure.\n- Link the website to its channel's Studio download entry, with English and Chinese pause/failure messages. Keep Store alpha on local and main on Aliyun; use the regional private OSS endpoint on ECS.\n- Add serialized Windows EXE builds, immutable upload verification, CAS pointer rollback and a dedicated windows CI entry. Record unsigned packages and actual A/B acceptance separately.\n- Make the existing bucket private and add global CDN configuration with independent DNS-01 certificate renewal. Keep existing product version numbers.\n\n## Custom OSS access domain\n\n- Enable `https://storage.steamharness.yuhe.space/` for the existing OSS Bucket with HTTPS, GET/HEAD CORS, and Range downloads.\n- Check certificate renewal twice daily on the build machine and update the OSS binding after renewal. Production issuance, actual object reads and writes, and a renewal dry run passed.\n- Private Store archives continue through authenticated Server downloads, and the SDK retains its regional endpoint. Alpha writes to local storage; main writes to Aliyun OSS.\n\n## Shared account display name fix\n\n- Update shared Server and Admin authentication in every environment. Profile name changes update both authentication and profile records and survive login and session renewal.\n- The bootstrap administrator name is used only when creating the account. Later name, email, and password changes are not overwritten by that default.\n- After deployment, rename the same administrator through dev, alpha, and main, then cross-read and sign in again to verify persistence. Keep `SteamHarness Admin` as the final display name.\n\n## Store storage by environment\n\n- Alpha writes Store archives and images to persistent server storage; main writes to Aliyun OSS. Manual releases and CI preserve each environment's selection.\n- Both environments keep the shared database and explicitly enable reads across both backends for archive and image review and downloads. Storage failures never switch the write backend.\n\n## Dual environment deployment · continuous update verification\n\n- Main and alpha CI reuse the manual release scripts to update the website, Server, Admin, Store, and documentation together.\n- Release comparison and live JavaScript/CSS verification check replaced, removed, and unchanged files across both rounds.\n- Documentation regenerates OpenAPI addresses for the current environment. Build and live checks decode the API Explorer's operation configuration.\n- Isolated acceptance and cleanup steps cover accounts, shared projects, attachments, avatars, OSS archives, and invitation origins across updates.\n- Certificate issuance and renewal support a protected proxy connection and connection retries. Ingress reload waits for the Nginx master process.\n- Installation waits for a healthy Server before starting Admin. File inventories use streamed checksums to reduce deployment memory peaks.\n- Builds, tests, and complete public verification run on the build machine. The target installs artifacts sequentially and rolls back if external verification fails or disconnects.\n- Admin's soft memory threshold follows observed sign-in usage while retaining the hard limit, preventing repeated reclaim from delaying login.\n- Complete artifacts include Chinese and English release notes with matching health metadata and published documentation. Existing product version numbers remain unchanged.\n\n## Dual environment deployment · first round\n\n- The website, Server, Admin, Store and documentation have main and alpha endpoints. Alpha hostnames use the `-alpha` suffix.\n- Admin reuses Server accounts. Both environments share project files and Store archives.\n- Each deployment records its complete file inventory, source commits and build identity, and supports coordinated rollback.\n"},"deploymentId":"main-studio-services-A-9893af5","docsPath":"/deployment-notes.en.md","source":"release-metadata"}}}}