v3.3.0 — Rename Conflicted Imported Profiles
v3.3.0
This is an app-code release.
Summary
v3.3.0 implements Rename support for conflicted imported model profiles.
This release adds the safer first conflict-resolution step after v3.0.0 introduced Import Selected Profiles and v3.2.0 documented the Import Conflict Handling Design.
Users can now rename imported profiles that conflict by profile name before importing them.
Replace is not implemented in this release.
Added
- Added row-level
Skip / Import / Renameactions to Import Profiles Preview - Added Rename support for imported profiles with profile-name conflicts
- Added validation for renamed imported profile names
- Added duplicate checking across selected imported profiles
- Added protection against collisions with existing local profile names
- Added UI copy clarifying that Rename imports a new profile
- Updated README, known limitations, product direction, onboarding, and task notes
Rename Behavior
Rename is available only for profile-name conflicts.
Rename behavior:
- is opt-in
- applies only to the imported profile
- changes only the imported profile display name
- does not modify the existing local profile
- does not replace an existing profile
- does not overwrite local profile metadata
- does not change
modelID - does not change
host - does not change
port - does not change Advanced Launch Options
- does not change runtime metadata
Rename Validation
Renamed profile names are validated before import.
The following names are blocked:
- empty names
- whitespace-only names
- names matching existing local profiles
- names duplicated within the selected import set
- names that still collide after Rename
Profiles with invalid renamed names remain disabled / not importable.
Current Import Behavior
Current behavior remains:
- valid non-conflicting profiles can be imported
- invalid profiles are blocked
- profile-name conflicts can be resolved by Rename
- runtime identity conflicts remain blocked
- Replace is not implemented
- selected profile does not change automatically
- no server lifecycle changes
- no network calls
- no
/v1/modelscalls - no external process ownership changes
Conflict Types
This release implements Rename only for:
- same profile name as an existing local profile
This release does not resolve:
- same
modelID + host + portas an existing profile - duplicate
modelID + host + portinside an imported file - ambiguous replacement targets
- document-level blocking errors
Those cases remain blocked or disabled according to existing import validation behavior.
Replace Status
Replace is not implemented in v3.3.0.
Replace remains planned for a future release.
Future Replace behavior should require explicit confirmation and must remain metadata-only.
Safety Boundary
Import Rename remains metadata-only.
It must not:
- import secrets
- import API keys
- import tokens
- import executable paths
- import model weights
- import caches
- start servers
- stop servers
- restart servers
- call
/v1/models - make external HTTP requests
- change process ownership
- overwrite existing profiles without explicit Replace behavior
Direct Mode Boundary
Direct Mode remains unchanged:
OpenAI-compatible client -> mlx_lm.server or adopted external server -> MLX model
MLX Server Manager does not proxy inference requests, act as a chat UI, perform multi-backend routing, or rewrite requests.
Verification
Verified before release:
git diff --check: OK- Release build:
BUILD SUCCEEDED - No forbidden generated artifacts were added to Git
- No
.app,.dSYM,settings.json,models.json, model files,.env, or token files were tracked - No XCTest target was found, so automated tests were not added in this release
Current Binary Asset
This release includes a new unsigned app build:
MLXServerManager-v3.3.0-unsigned.zip
SHA-256:
0587f72827d69a11d2a7af70f4fe462ce9af1133424c4130109ed35ed2ad4e9b
Size:
496K