Skip to content

chore: drop migrations every active install has already run - #745

Merged
stefanhoelzl merged 1 commit into
mainfrom
legacy
Oct 13, 2026
Merged

stefanhoelzl merged 1 commit into
mainfrom
legacy

Conversation

@stefanhoelzl

Copy link
Copy Markdown
Owner

PostHog shows every install active in the last 30 days on 2026.9.27 or newer, so the one-shot conversions shipped up to that release have run everywhere they still matter.

  • Remove the auto-workspace.sources → plugin move (legacy-sources.ts); the automations tests now use plain item templates as fixtures
  • Remove the config.json move from the data root to ~/.codehydra (Config.moveLegacyConfig)
  • Remove the Windows %APPDATA% → %LOCALAPPDATA% data-root relocation (data-root-relocation.ts, PathProvider platformRoot) and its Documented Exceptions row
  • Remove the startup rewrite of legacy {path, remoteUrl} managed-project records and the matching "Prepare project records" step of a workspaces move; loadAllProjects now returns plain configs
  • Remove the startup sweeps of claude/configs, code-server/ and opencode.codehydra.json (the retire rule kind stays)
  • Remove the hooks.trusted fallback for repository plugin trust (an old project asks once)
  • Remove the .codehydra/hooks Migrate offer (legacy-hooks.ts, editor warning, e2e scenario, guide section); old hook files are now simply ignored
  • Remove the hooks.enabled, automations.poll-interval and auto-workspace.poll-interval aliases (no active install sets them)
  • legacyNames stays as the rename mechanism but is now one-way: Config.load() moves a value found under an old name to the new key in config.json and drops the old entry (no downgrade support), so an alias can go one release after a rename
  • USER_GUIDE, ARCHITECTURE and CLAUDE.md updated to match

Migrations added after 2026.9.27 (adoption conversion, metadata off git config, ref-keyed state, workspace name fallback, paths.workspaces-current takeover) stay until the last 2026.9.27 install updates.

🤖 Generated with Claude Code

@stefanhoelzl stefanhoelzl added the internal no user facing changes label Oct 13, 2026
@stefanhoelzl
stefanhoelzl enabled auto-merge (rebase) October 13, 2026 11:06
PostHog shows every install active in the last 30 days on 2026.9.27 or
newer, so the one-shot conversions that shipped up to that release have
run everywhere they still matter.

Removed:
- auto-workspace.sources moved into a plugin (legacy-sources.ts); the
  automations tests now use plain item templates as fixtures
- config.json moved from the data root to ~/.codehydra
- the Windows %APPDATA% -> %LOCALAPPDATA% data-root relocation
- legacy {path, remoteUrl} managed-project records rewritten at startup,
  and the matching "Prepare project records" step of a workspaces move
- the startup sweeps of claude/configs, code-server/ and
  opencode.codehydra.json
- the hooks.trusted fallback for repository plugin trust
- the .codehydra/hooks Migrate offer (old hook files are now ignored)
- the hooks.enabled, automations.poll-interval and
  auto-workspace.poll-interval aliases (no active install sets them)

legacyNames stays as the rename mechanism but now works one way:
Config.load() moves a value found under an old name to the new key in
config.json and drops the old entry, so an alias can go one release
after a rename. Downgrades are not supported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@stefanhoelzl
stefanhoelzl merged commit e8d24b1 into main Oct 13, 2026
16 checks passed
@stefanhoelzl
stefanhoelzl deleted the legacy branch October 13, 2026 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal no user facing changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant