Releases: hoaiphongdev/keyly
Releases · hoaiphongdev/keyly
Release list
Keyly 1.7.3
Changed
- Shortcuts as-is: Shortcut text shows exactly as in template (no normalization/uppercasing).
- UI reskin: Dark gray window background; group 14pt bold vs category 11pt muted; group containers transparent with border only.
Keyly 1.7.2
Fixed
- Group reset:
# Group: None/Emptyexits current group, renders plain without border - File order: Chunks now render in exact template file order instead of dictionary-sorted
- Category bleed: New
# Group:resetscurrentCategoryto prevent description leaking - Shortcut casing: Commands like
mole,git showno longer uppercased — only modifier-based shortcuts normalize - Window width: Calculated from widest group span + ungrouped count, no extra blank columns
Keyly 1.7.1
Changed
- Smart group layout: Groups with >10 items auto-split into multi-column (max 4), grid-snapped for alignment
- Bordered cards: Default categories now wrapped in bordered containers for visual consistency
- Shortest-column-first: All items placed into shortest column instead of round-robin
Keyly 1.7.0
Changed
- Template syntax: New pipe format
key/command | description, invalid lines ignored - Dynamic column width: Scales with content, capped by
screen_width_ratio - Text wrapping: Long descriptions wrap to new lines via
NSTextView - Description color: Slightly dimmed for visual hierarchy
Removed
- Group sizes: Removed
groupSizesfrom model, parser, extractor, and UI - Multi-column spanning: Groups now render as single-column containers
Keyly 1.6.0
Added
- Runtime Settings Management: Load configuration from
~/.config/keyly/setting.conf - Customizable Super Key Combinations: Support for any key combination (e.g.,
cmd+a,ctrl+shift+x,fn) - Multiple Trigger Types:
hold(duration-based) andpress(count-based) - Search Functionality: Real-time search with debouncing and minimum UI dimensions
- Group System: Organize shortcuts with descriptions and custom sizes (1-N columns)
- Global Shortcuts: System-wide shortcuts from
global.keylytemplate - Click-Outside-to-Close: Modal closes when clicking outside or pressing ESC
- Settings Auto-Reload: Configuration changes detected and applied automatically
Changed
- Dynamic Window Sizing: Width scales with content, respects screen ratio limits
- Group Display Order: Default shortcuts first, then file order (not alphabetical)
- UI Color System: Clean black background with white text variants
- Search UI: Minimum 500x300px to prevent ugly small windows
- Group Containers: Support multi-column spanning with proper content scaling
Fixed
- Super Key Detection: Corrected guard logic preventing panel display
- Window Positioning: Content properly centered with dynamic grid offset
- Group Descriptions: Multi-line text wrapping with proper width constraints
- Search Performance: Debounced filtering with async UI updates
- Color Contrast: High contrast text on solid backgrounds
Technical
- New Architecture: Separated
AppConstants,WindowConstants,SettingsConstants - Enhanced Models: Added
groupSizes,groupDescriptionstoShortcutSheet - Performance: Optimized search filtering and UI rebuilding
- Code Quality: 1700+ lines added, comprehensive error handling
Keyly 1.5.0
Changed
- Improved shortcuts window visibility on both light and dark app backgrounds
- Added subtle diagonal gradient overlay for consistent contrast
- Updated text colors: white headers, cyan key labels, improved opacity hierarchy
Fixed
- Shortcuts window was too transparent/hard to read on light-themed apps
Keyly 1.4.1
Fixed
- Removed "Check for Updates..." from settings menu (was still visible after disabling auto-update)
Keyly 1.4.0
Added
- Category descriptions in templates (use
> descriptionafter[Category]) - Sub-description displayed below category title in shortcuts window
-fflag for force replace in template installer script
Templates
- Updated cursor.keyly with contextual hints for each category
- Example:
> Focus on chat panel first.under[Chat]
Keyly 1.3.0
Changed
- Hold duration increased from 1.7s to 2s for more intentional activation
- Temporarily disabled auto-update feature
Added
- Template installer script (
scripts/install-templates.sh) - Cursor IDE keyboard shortcuts template
- Support for fetching community templates from GitHub
Templates
- New
-tflag to specify template name (required) - New
-nflag to customize local filename (optional) - Backup/replace prompt when template already exists
- Validation for template existence before download
Keyly 1.2.0
Auto-Update
- Automatic update checking via GitHub Releases API (no Sparkle dependency)
- Background update check on app launch (every 2 days)
- "Check for Updates..." option in menu bar and settings menu
- Update notification banner in shortcuts window
- Blue banner when update available
- Spinner animation during download
- Green banner when ready to install
- One-click update: download → install → relaunch automatically
- Update persists across app restarts (stored in UserDefaults)
Scripts
check-update.sh: Fetches latest version from GitHub Releasesperform-update.sh: Downloads DMG, installs update, relaunches app- Embedded script fallback for production builds