# OMP Switch v0.9.0 This release adds a local prompt library for organizing existing Markdown materials without taking ownership of the source files. It also connects that library to a guarded, one-time adoption flow for OMP Profile prompts. ## Downloads | Artifact | Platform | Notes | | --- | --- | --- | | OMP-Switch-Setup-0.9.0.exe | Windows x64 | NSIS installer, per-user | | OMP-Switch-0.9.0-win.zip | Windows x64 | Portable build | | OMP-Switch-0.9.0-linux.AppImage | Linux x64 | Portable AppImage | | OMP-Switch-0.9.0-linux.deb | Linux x64 (amd64) | Debian/Ubuntu package | | OMP-Switch-0.9.0-linux.rpm | Linux x64 (x86_64) | Fedora/RHEL/openSUSE package | | SHA256SUMS.txt | - | SHA256 checksums for all release assets | ## Added - **Local prompt library.** Add dedicated Markdown directories explicitly; scan a bounded tree without following symbolic links; preserve relative paths and same-named entries from different sources; support Chinese filenames and UTF-8 text. - **Local organization.** Search filenames and body text, filter favorites and tags, copy content, and record recent use. Search content is held in memory only and is not written to the metadata store. - **Prompt adoption.** Preview a source entry, select a valid Profile prompt name, inspect the destination and overwrite state, then confirm a one-time copy. The source file remains untouched and is never synchronized. - **Guarded recovery.** Adoption snapshots preserve the previous destination when present. Restore checks the hash written by the adoption and refuses to overwrite a later external edit. - **Bilingual Prompts UI.** The existing Profile prompt editor remains available alongside the local library. ## Changed - Added service, preload, IPC, browser mock, and SQLite/JSON metadata support for the local library. - Updated README, feature, security, installation, and changelog documentation. ## Security - Chosen source roots and every read are validated against canonical paths; hidden directories, common build/dependency directories, symlinks, binary/invalid UTF-8 content, and resource-limit violations are not silently treated as prompt text. - Adoption writes only to the active Profile through guarded paths. Project-local `.omp` overlays remain read-only. - No new network call, cloud storage, or runtime dependency was added. ## Known Limitations - The library scans Markdown files only; it does not edit external files, install Skills, sync sources, perform semantic search, or call a model. - Search is bounded and the body cache is transient. Adoption snapshots contain the previous target prompt text and are sensitive local data. - Gateway, OAuth integration, session indexing, and update checking retain their existing status: gateway and OAuth remain user-triggered integrations, session indexing is local-only, and signed update manifests require `OMP_UPDATE_ED25519`. - Installers remain unsigned. Check `SHA256SUMS.txt` and build provenance before installing. - WinGet submission is open as [#446675](https://github.com/microsoft/winget-pkgs/pull/446675); Chocolatey metadata is rendered locally but publishing still requires a Chocolatey API key and upstream moderation. ## Verify what you downloaded ```powershell (Get-FileHash -Algorithm SHA256 ".\OMP-Switch-Setup-0.9.0.exe").Hash.ToLower() ``` ```bash sha256sum OMP-Switch-0.9.0-linux.AppImage ```