| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(cli): correct docker exec, port/slug validation, update pull, and restore behavior - dockerComposeExec: pass -T so non-interactive (CI) exec doesn't hang on a TTY - validatePort: reject non-numeric input before parseInt - organization slug: use canonical validateSlug (rejects leading/trailing/double hyphens) - update: pull images before recreating containers; tidy content-volume migration - restore: idempotency + clearer external-DB / no-deployment guards - add a --version guard and export a few helpers (parseMemLimit, formatBytes) for testing | 3 个月前 | |
feat(cli): add new commands for status, health, env, and restore; update error messages for installation checks | 6 个月前 | |
feat: multiple improvements to the CLI | 6 个月前 | |
feat(api): add development override for EE mode and improve symlink handling in dev command | 4 个月前 | |
feat(cli): add Enterprise Edition commands + safer community update Add `setup-ee` and `update-ee` commands plus EE compose/env templates, and supporting utilities (network, validators, env-quote, docker and health helpers). Rework the community `update` flow to back up the database before migrating and to stamp an Alembic baseline for installs originally created via create_all. | 3 个月前 | |
feat(branding): retire the Unsplash picker and use duotone icons Drop the Unsplash image picker from every upload surface (course, podcast, community, board and playground thumbnails, the editor image block, the sign-in background) and from the CLI setup flow, along with the unsplash-js dependency and its access key. Existing content and sign-in backgrounds that were picked from Unsplash keep rendering with their attribution; the picker is simply no longer offered. AI-generated backgrounds now upload as a custom photo instead of being stored as a remote URL. Switch the branding page's phosphor icons to the duotone weight, and cover the square logo upload wrapper. Also refresh apps/api/uv.lock, which the release bump left one version behind. | 26 天前 | |
feat: multiple improvements to the CLI | 6 个月前 | |
feat: improvements to the cli | 7 个月前 | |
fix(cli): correct docker exec, port/slug validation, update pull, and restore behavior - dockerComposeExec: pass -T so non-interactive (CI) exec doesn't hang on a TTY - validatePort: reject non-numeric input before parseInt - organization slug: use canonical validateSlug (rejects leading/trailing/double hyphens) - update: pull images before recreating containers; tidy content-volume migration - restore: idempotency + clearer external-DB / no-deployment guards - add a --version guard and export a few helpers (parseMemLimit, formatBytes) for testing | 3 个月前 | |
fix(cli): correct docker exec, port/slug validation, update pull, and restore behavior - dockerComposeExec: pass -T so non-interactive (CI) exec doesn't hang on a TTY - validatePort: reject non-numeric input before parseInt - organization slug: use canonical validateSlug (rejects leading/trailing/double hyphens) - update: pull images before recreating containers; tidy content-volume migration - restore: idempotency + clearer external-DB / no-deployment guards - add a --version guard and export a few helpers (parseMemLimit, formatBytes) for testing | 3 个月前 | |
feat(branding): retire the Unsplash picker and use duotone icons Drop the Unsplash image picker from every upload surface (course, podcast, community, board and playground thumbnails, the editor image block, the sign-in background) and from the CLI setup flow, along with the unsplash-js dependency and its access key. Existing content and sign-in backgrounds that were picked from Unsplash keep rendering with their attribution; the picker is simply no longer offered. AI-generated backgrounds now upload as a custom photo instead of being stored as a remote URL. Switch the branding page's phosphor icons to the duotone weight, and cover the square logo upload wrapper. Also refresh apps/api/uv.lock, which the release bump left one version behind. | 26 天前 | |
feat(branding): retire the Unsplash picker and use duotone icons Drop the Unsplash image picker from every upload surface (course, podcast, community, board and playground thumbnails, the editor image block, the sign-in background) and from the CLI setup flow, along with the unsplash-js dependency and its access key. Existing content and sign-in backgrounds that were picked from Unsplash keep rendering with their attribution; the picker is simply no longer offered. AI-generated backgrounds now upload as a custom photo instead of being stored as a remote URL. Switch the branding page's phosphor icons to the duotone weight, and cover the square logo upload wrapper. Also refresh apps/api/uv.lock, which the release bump left one version behind. | 26 天前 | |
feat: multiple improvements to the CLI | 6 个月前 | |
feat(cli): add content volume migration for persistent storage during start and update commands #783 | 4 个月前 | |
feat(cli): add new commands for status, health, env, and restore; update error messages for installation checks | 6 个月前 | |
feat(cli): add new commands for status, health, env, and restore; update error messages for installation checks | 6 个月前 | |
fix(cli): migrate database before booting new image on update `update` restarted onto the new image first and ran migrations after, so startup probes hit columns a migration hadn't added yet and the new container crash-looped until the health wait gave up. Old images can't stamp or inspect migration state directly (their alembic env.py ignores the configured connection string), so update now reads alembic heads from the still-running old image, then runs stamp/upgrade in a one-off container of the new image before compose down. A failed migration re-pins the previous image and exits without restarting anything. --no-migrate still skips this. | 28 天前 | |
fix(cli): migrate database before booting new image on update `update` restarted onto the new image first and ran migrations after, so startup probes hit columns a migration hadn't added yet and the new container crash-looped until the health wait gave up. Old images can't stamp or inspect migration state directly (their alembic env.py ignores the configured connection string), so update now reads alembic heads from the still-running old image, then runs stamp/upgrade in a one-off container of the new image before compose down. A failed migration re-pins the previous image and exits without restarting anything. --no-migrate still skips this. | 28 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 3 个月前 | ||
| 26 天前 | ||
| 6 个月前 | ||
| 7 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 26 天前 | ||
| 26 天前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 28 天前 | ||
| 28 天前 |