# QuickPort

## [v1.0.0](https://github.com/mikkelon/quickport/tree/v1.0.0) (2026-04-07)
[Full Changelog](https://github.com/mikkelon/quickport/commits/v1.0.0) [Previous Releases](https://github.com/mikkelon/quickport/releases)

- chore: add CurseForge project ID 1507577  
- chore: remove icon from readme  
- docs: shrink icon in README to 64px  
- docs: add icon and screenshot to README  
- chore: create media directory and add screenshot  
- chore: update readme  
- fix: map SHIFT-ENTER to RightButton click for portal cast  
- feat: add Midnight Silvermoon City teleport/portal spells  
- feat: prepare for CurseForge release  
    - Migrate spell lookups to spell IDs for locale-independence  
    - Add BINDING\_HEADER\_QUICKPORT for proper key bindings UI  
    - Remove forced SetBinding/SaveBindings on first load  
    - Replace inCombat flag with InCombatLockdown(); add init guard for SPELLS\_CHANGED  
    - Fix UI\_Open double-search (SetText before Show)  
    - Add .pkgmeta, LICENSE (GPL v3), GitHub release workflow, README  
- feat: add addon icon  
- refactor: remove dead code after secure cast fix  
    - Remove spellIsKnown helper (inlined into DiscoverSpells)  
    - Remove unused teleportID/portalID fields (casting uses spell names)  
    - Remove unused COLOR\_UNAVAILABLE constant  
- feat: implement secure spell casting via override bindings  
    Use SecureActionButtonTemplate with RegisterForClicks(AnyDown, AnyUp),  
    *type1=macro, and macrotext1/shift-macrotext1 attributes. Override bindings  
    map ENTER/SHIFT-ENTER to the cast button while the palette is open.  
- fix: correct interface version to 120001 (12.0.1)  
- fix: add LoadOutOfDate to bypass interface version check  
- feat: add secure cast, UI, and core module  
- feat: add spell data registry and fuzzy matcher  
- feat: add addon manifest and keybinding registration  
