Releases: xsiphr/StoneGate-plugin
StoneGate v2.0.4
🚀 v2.0.4 - Stability & Compliance Patch
This release finalizes the compliance requirements for the Obsidian Community Plugins store.
🛠️ Changes
- Fix: Resolved
no-static-styles-assignmenterror by replacing directelement.styleassignments withsetCssStyles. - Cleanup: Removed all hardcoded system paths, replaced with environment-based configuration for privacy.
- Compliance: Addressed all remaining Obsidian linter warnings, including deprecated
setWarningusage and unsafe promise handling. - Optimization: Minor internal cleanup of build scripts and build artifacts.
StoneGate v2.0.3
🚀 v2.0.3 - Privacy Clean-Up, Bulletproof Focus Redirection, and Complete Obsidian Linter Compliance
We are pleased to release v2.0.3, focusing on resolving user experience focus issues when locked, protecting developer system privacy, and fixing all linter issues flagged by the Obsidian Review tool.
🛠️ Key Improvements & Fixes
- Capture-Phase Focus Lock: Implemented a global window capture-phase listener for
focusevents. Any attempt by background views, panes, or active leaves (like setting tabs) to steal focus is intercepted and redirected back to the lock screen password input. - Modal Trap Mitigation: Active
.modal-containerelements are dynamically hidden (display: none;) while the lock screen is visible to disable their focus traps, and are restored seamlessly on successful unlock. - Recovery Bypass Modal Enter Fix: Resolved an issue where pressing Enter did not trigger the recovery code verification.
- Auto-Clear Password Input on Fail: Input values inside settings modals (
PasswordModalandConfirmPasswordModal) now reset to""instantly upon verification failure.
🔒 Privacy Updates
- Removed all hardcoded absolute system paths from
esbuild.config.mjs, replacing them with an environment variable (OBSIDIAN_VAULT_PATH) to prevent leaking OS usernames in build scripts.
🤖 Obsidian Bot & Linter Compliance
- Bumped minimum app version in
manifest.jsonto 1.6.6. - Renamed the "General" settings header to "Core".
- Replaced direct calls to the deprecated
setWarning()with typed dynamic fallback bracket access["setWarning"]viaDestructiveButtoninterface. - Resolved all floating and misused Promise warnings by wrapping async callbacks in
voidIIFEs. - Removed regex control character warnings (
\u0000).
StoneGate v2.0.2
🚀 What's New in 2.0.2 (Ultimate Compliance Update)
This patch is entirely dedicated to achieving 100% compliance with Obsidian's strictest automated review standards, ensuring maximum stability, security, and pristine code quality.
✨ UI & Compliance Polish
- Settings UI Guidelines: Renamed settings headings to strictly align with Obsidian's design guidelines, removing redundant plugin names and "settings" terminology for a cleaner, native feel.
🛠️ Codebase & TypeScript Strictness
- Async/Promise Safety: Resolved all strict TypeScript warnings regarding unawaited promises. Async calls are now properly handled and explicitly marked where necessary.
- Type Safety: Fixed unsafe assignments and strict typing warnings to ensure a robust and predictable runtime.
- RegEx & Cleanup: Fixed unexpected control characters in regular expressions and completely purged the codebase of unused variables and leftover assignments.
🎨 CSS Refactoring
- Zero
!importantFlags: Completely refactored the stylesheet to eliminate the use of!important. We achieved the desired UI locks by increasing CSS selector specificity, ensuring StoneGate plays nicely with all third-party Obsidian themes without forcefully overriding them.
StoneGate v2.0.1
🚀 What's New in 2.0.1
This patch release focuses heavily on security, performance, and strict compliance with the official Obsidian plugin guidelines to ensure a flawless and secure experience.
🔒 Security & Bug Fixes
- Crucial Security Fix: Blocked global keyboard shortcuts (e.g.,
Ctrl+P,Ctrl+O) from bypassing the lock screen. The vault now remains strictly locked and intercepts background hotkeys. - XSS Prevention: Eliminated all unsafe
innerHTMLDOM injections, replacing them with Obsidian's native and securesetIcon()API.
🛠 Under the Hood & UI Improvements
- Ghost Mode Optimization: Replaced dynamic
<style>tag injections with a highly optimizedMutationObserver, making folder hiding/revealing instant and lag-free. - Native Obsidian UI: Refactored over 150 inline styling assignments to use official Obsidian APIs (
setCssStyles,show/hide,setHeading()) for perfect theme compatibility and consistent Settings UI. - Popout Window Support: Improved compatibility with Obsidian's multi-window (popout) feature by correctly scoping elements to
activeDocument. - API Modernization: Bumped
minAppVersionto1.6.6to safely leverage modern and stable Obsidian APIs for path autocomplete.
StoneGate v2.0.0
StoneGate v2.0.0 - "Fortress Update" 🔒
This is a major milestone release for StoneGate, focusing on security hardening and seamless integration with your Obsidian vault.
🚀 Key Changes:
- Absolute Path Resolution: Improved support for vault-local images for lock screen backgrounds.
- Strict Lockdown: Global hotkey interception (blocks Command Palette/Hotkeys when locked).
- UX Improvements: Recovery Modal now supports 'Enter' to submit.
- Visual Control: Added background blur intensity slider.
- Ghost Mode Visibility: Now allows manual control over which paths appear in the Unlock Menu.
- Stability: Fixed startup initialization issues and background image flickering.
⚠️ Note
Please ensure you have updated your settings after the upgrade. If you encounter any issues with the background image loading, check your configuration path!
Thanks for using StoneGate!
StoneGate v1.0.1
Fixed
- Security Vulnerability: Removed the "Back" button from the lock screen overlay to prevent users from bypassing the password requirement.
- Navigation Logic: Disabled all navigation shortcuts and UI elements that allowed exiting the lock screen without authentication.
Improvements
- Ensured the vault remains strictly locked until the correct password is provided, regardless of the entry point or file history.
StoneGate v1.0.0
Initial release of StoneGate — vault lock screen plugin for Obsidian.