{ "version": "V1R1C4", "tag": "V1R1C4", "type": "auth-portal-hardening-release", "name": "GitOps portal auth hardening and Gitea owner sync", "previous_version": "V1R1C3", "update_mode": "git_patch_only", "zip_update_mode": "deprecated", "entry": "https://cnnetmkt.top/", "git_web": "https://g.cnnetmkt.top/git/aios/aios-v23", "api_base": "https://cnnetmkt.top/api", "changes": [ "Human shortlinks /base /ver /diff /patch /model /run now redirect to the login-protected portal GitOps section.", "Machine API remains under /api for ChatGPT Actions and Codex automation.", "Gitea requires sign-in for repository browsing and registration UI is hidden.", "Gitea owner password sync service/timer copies the user-control owner password without logging secrets.", "Default local Gitea account password is cleared and login is prohibited.", "User portal includes a GitOps dashboard section for admin/owner users.", "Patched user-control-center files are preserved under overlays/user-control-center for replayable releases.", "Portal GitOps dashboard reads /app/runtime/gitops/current.json before HTTP fallback so the version is visible inside Docker.", "Gitea owner sync uses runuser instead of sudo command logging and strips CRLF from sourced owner fields." ], "artifacts": [ "deploy/nginx/aios-gitops-locations.conf", "deploy/gitea-binary/app.ini.template", "deploy/systemd/aios-gitea-owner-sync.service", "deploy/systemd/aios-gitea-owner-sync.timer", "ops/gitops-migration/sync_gitea_owner_password.sh", "ops/gitops-migration/apply_user_portal_gitops_overlay.sh", "overlays/user-control-center/control/portal_views.py", "overlays/user-control-center/templates/portal/me.html" ], "updated_at": "2026-07-06T11:16:23Z" }