Releases: devlive-community/DockMaster-Pro
Releases · devlive-community/DockMaster-Pro
DockMaster Pro 1.3.0
🚀 New Features
- add process monitor plugin with settings sidebar integration
- add thermal detail plugin with SMC temperature and fan
- show real-time speed during network speed test
- add speed test to network detail plugin
- add network detail plugin with per-interface speed breakdown
- add GPU detail plugin with per-GPU utilization and memory usage
- add disk detail plugin with storage usage and read/write activity
- add memory detail plugin with breakdown and swap info
- add refresh interval config, i18n, and fix CPU popup collapsing
- add CPU detail plugin with per-core usage and hardware info
- add sparkle particle animation for running/selected icons
- add breathing light glow for running/selected icons
- support gradient configuration in custom theme editor
- add gradient support and Gradient Dusk/Ocean presets
- add Neon Night built-in preset
- add Frosted Glass built-in preset
- add Battery Health Plugin with detail window and config
- add feedback link to GitHub Issues in About page
- add drag-reorder for drawer sections in the Dock
- add replace/reset icon for active theme on right-click
- add custom app icon management in theme editor
- redesign menu bar mode with per-item rings and plugin support
- move screen recording permission to General permissions section
- add configurable card spacing for window preview panel
- make window preview dismiss delay configurable
- add configurable padding for window preview panel
- add hover highlight and click-to-activate for preview cards
- extract window preview into standalone settings section with delay config
- add window preview on icon hover and bump version to 1.3.0
🐛 Bug Fixes
- improve window targeting for JVM/single-PID apps
- remove SkyLight integration to restore window activation
- remove SkyLight call from post-activate async block
- use SkyLight to raise the correct window for single-PID apps
- open the correct window when clicking a preview card
- prevent pinned icon flicker on any screen click
- replace placeholder icon with real app icon in process monitor
- fix process monitor tab i18n and plugin type sync
- fix icon glow and sparkle not updating on theme change
- correct SMC kSMCGetKeyInfo command code from 4 to 9
- add missing label parameter in menuBarCPUPopup MiniChartView
- apply glow and sparkle to all icons regardless of run state
- fix invisible glow and non-animating sparkle particles
- apply gradient fill in ThemeMiniPreview
- align toggle and settings button on the same row
- use system MaximumCapacityPercent for health percentage
- fix empty ring and stale data in menu bar battery popup
- auto-focus search field when panel opens via Option+Space
- use localized app name in search panel instead of file name
- raise NSOpenPanel above dock overlay and activate app on icon replace
- respect item position in section display and drag-reorder
- hide window preview during drag-reorder
- use runningBundleIDs for pinned item isRunning state
- order out only settings windows, keep dock overlay visible
- hide DockMaster windows before activating target app
- apply vPad to gap between title and cards as well
- apply padding config to cards only, not the app name header
- use _AXUIElementGetWindow for precise CG-to-AX mapping
- remove SkyLight private API to fix app launch failure
- rewrite window activation using DockDoor approach
- use _AXWindowID to precisely match window for activation
- dismiss preview panel when a window card is tapped
- improve window activation to target the correct window
- increase window preview card spacing from 6 to 12pt
- add 200ms dismiss delay so mouse can reach preview panel
- fix preview panel staying open after mouse leaves
- keep window preview visible when mouse moves onto panel
- prevent icon jitter by guarding animation and offloading capture to background
- reduce window preview panel padding and spacing
- remove auto screen-recording permission prompt on hover
- use theme label color in preview panel and reduce hover delay to 0.3s
- suppress hover label immediately for running apps when preview enabled
- hide hover label during window preview and show app name in panel
🌍 Internationalization
- localize Close button in CPU/Memory/Disk/GPU detail views
- add window preview localization strings for en, zh-Hans, zh-Hant and ja
🔧 Refactoring
- replace inline Picker with RefreshIntervalPicker in all plugins
- extract RefreshIntervalPicker and align network config UI
- extract RefreshIntervalRow and replace Picker in config views
- integrate CPU detail into system CPU row like battery pattern
- split DockOverlayView.swift into focused extension files
📝 Other Changes
- Revert "refactor(plugin): extract RefreshIntervalRow and replace Picker in config views"
- ux(plugin): remove chevron from expanded rows, add hover highlight for clickable rows
Full Changelog: devlive-community/DockMasterPro@v1.2.0...v1.3.0
DockMaster Pro 1.2.0
🚀 New Features
- arrange sections as icon grid following rows/columns layout
- add PluginLocalizable protocol for plugin self-contained i18n
- add i18n support for plugins with localized name and description
- weather plugin supports configurable display items (temp, humidity, wind, feels like, UV)
- add enable/disable toggle for plugins
- add weather plugin
- implement plugin/extension system with plugin center
- add drag reorder for pinned items
- apply grid layout to pinned items
- support dropping files onto dock icons to open them
- support drag-reorder of icons within a section
- add hover highlight effect to search result rows
- implement global search with real macOS APIs and floating panel
- add dock-level pinning for sections with context menu
- add dock-level and in-section pinning for apps
- add animation preview grids for launch and quit animations
- add 3-step onboarding flow with accessibility and login setup
- implement launch at login via SMAppService
- add embedded dock widget mode
- add battery/GPU monitors, fix width and menu popup
- show bubble on drawer trigger when app is in drawer section
- add usage alert feature card and bubble preview to theme
- replace inline app list with full app picker sheet
- add app usage time monitoring with bubble notifications
🐛 Bug Fixes
- restore flat section inline rendering in rows/columns grid
- normalize system language code for plugin i18n
- refresh plugin widget when language changes
- only show empty placeholder when dragging files
- include pinnedItems in hasContent check, hide placeholder while loading
- position update toast above Dock, centered horizontally
- move update toast to top-right corner to avoid Dock overlap
- update sections and pinnedItems simultaneously to avoid UI flicker
- add pinned items to hoveredLabelInfo for floating label
- move .help() modifier to outermost layer for tooltip
- add tooltip for pinned items and dock items
- use i18n for plugin category and sort filter labels
- zh-Hant Localizable.strings file format
- use lowercase lproj names to match SPM build output
- load l10n strings with case-insensitive directory matching
- use correct lproj directory names (zh-Hant, zh-Hans)
- use fixed language names instead of localized strings for language picker
- clear l10n cache on language switch, fix traditional Chinese
- add i18n for plugin settings title in all languages
- use i18n for plugins tab title
- add Equatable conformance to WeatherPluginSettings
- refresh plugin widget immediately on startup and after plugin load
- show weather icon immediately even without data
- weather plugin shows cached data immediately, fetch in background
- use theme colors for plugin widget instead of hardcoded cyan
- restore theme background settings (opacity, blur, shadow, appearance)
- real-time plugin toggle and use theme background
- show builtin weather plugin in store list
- use i18n and fix layout for settings window
- restore pinned items hover and context menu
- fix missing blue frame by adding isFileDragging flag
- fix file drag highlight jumping on pinned and edge icons
- detect file drag via global event monitor
- fix context menu position and file drop routing
- fix file drop by making DropOverlayView a sibling view
- rewrite file drop using AppKit NSDraggingDestination
- fix file drop failing to open app with dragged files
- fix keyboard navigation in default and search states
- intercept navigation keys in sendEvent to avoid actor-hop
- fix keyboard navigation by eliminating notification indirection
- remove duplicate .dmtheme extension on export
- remove gap between bubble body and arrow in previews
- render release notes markdown instead of showing raw syntax
- allow about description to wrap instead of truncating
- unify version source and fix incorrect fallback values
- fix white background by restoring NSHostingView as contentView
- eliminate black corners by moving blur and rounding to NSView layer
- fix black corners and fluctuating panel height
- fix callback never firing due to nil event in handleHotkey
- fix section pin context menu position and layout
- improve pinned item lifecycle and context menu behavior
- remove black background from embedded dock icon
- add directional arrows for side docks and fix arrow position
- use dynamic bubble size to prevent covering dock icons
- expand popup upward for trailing position on side docks
- fix embedded dock widget expand direction and scroll behavior
- fix embedded dock widget popup position
- render menu bar popup inside transparent overlay window
- restore NSPopover for correct menu bar popup position
- prevent removing last metric item in settings
- show app names instead of bundle IDs in rule row scope label
- fix slider label wrapping with fixedSize and compact L10n format
- make entire row tappable by using Button instead of onTapGesture
- improve bubble display, rule matching, and UX
- add User-Agent header to GitHub API requests
🌍 Internationalization
- localize full disk access strings in general settings
- localize duration display and fix slider label overflow
- localize duration units and defer rule save until confirm
🔧 Refactoring
- use plugin widget system instead of hardcoded weather
- remove fake plugin data
- replace text pickers with preview grids for all animations
📝 Other Changes
- debug: add more logging to find why Localizable.strings loading fails
- debug: add l10n debug logging to find language switching issue
Full Changelog: devlive-community/DockMasterPro@v1.1.0...v1.2.0
DockMaster Pro 1.1.0
🚀 New Features
- render magnified icons above pill via full-screen overlay
- add three-channel badge reading with lsappinfo
- add magnification as hover style
- add hover magnification effect
- add dock icon badge support
- apply theme label color to all widget text
- apply active dock theme to status widget background
- add uninstall action to move app to trash
- add quit app action for running apps
- show section name as hover label on drawer trigger
- enable right-click context menu on drawer section items
- split section management into config/apps sheets with icon picker
- add configurable drawer open animation with five styles
- polish drawer UX — distance, dismiss, indicator, padding
- render drawer sections in overlay with animated panel
- add per-section display mode with flat and drawer options
- disable drag reorder when list has only one item
- add per-row hover highlight to DraggableList
- add DraggableList reusable component, workspace and dock section drag-to-reorder with full-row highlight
- add drag-and-drop sorting for dock sections
- add drag-and-drop app sorting in section detail view
- defer section item removal to done button, batch apply changes
- allow toggle app selection in picker, apply changes on done
- add disk read/write speed monitoring
- add menu bar and in-dock display modes with auto-hide linkage
- make status widget configurable with per-metric selection
- disable widget hover toggle when status widget is off
- extract auto-hide into dedicated section with widget hover option
- replace drag reorder with up/down buttons for sections
- show empty state when dock section list has no sections
- show empty placeholder when dock has no items
- add floating toast + pill badge for new version notification
- allow adding multiple apps without closing picker
- implement StatusWidget with real system metrics
🐛 Bug Fixes
- anchor bottom-dock menu above icon using item positioning
- remove reorder handle icon from section app list
- remove from dock immediately on uninstall click
- immediately remove uninstalled app from dock by bundle ID
- align drawer trigger icon size with DockItemView hover background
- adjust drawer folder icon symbol size to 0.4x
- include drawer trigger padding in dock width/height calculation
- remove background from drawer folder icon to match app icon size
- remove inline name text from drawer folder icon
- always fill available width/height regardless of drawer sections
- render hovered label above drawer panel
- close drawer when tapping an item inside it
- fix right-click hit test missing drawer items
- prevent drawer overlay from blocking dock events after close
- prioritize custom sectionIcon over representIcon in drawer trigger
- clamp drawer panel to screen edges for all dock positions
- restore dock-bounds Y clamping for side-dock drawer panel
- use screen edges as drawer panel boundary, remove dock-bounds clamp
- clamp bottom-dock drawer panel within dock horizontal bounds
- clamp side-dock drawer panel within dock vertical bounds
- replace switch button with clickable circle icon in workspace row
- notify menu bar after workspace creation
- auto-focus text field in workspace create and rename sheets
- fix drag reorder notification and broadcast change on name/icon update
- use onDrag+onDrop for section reordering, consistent with app list drag behavior
- close app picker sheet after applying changes
- only show floating widget when display mode is floatingNearDock
- use scrollIndicators(.never) to permanently hide scroll indicators
- fix inDock mode expanding dock to full screen
- restore dock sizing when inDock mode is off
- stack network up/down labels vertically to prevent line wrap
- fix CPU delta calculation and network byte counting
- constrain width to 180pt to prevent expansion to full screen
- keep dock visible when mouse hovers over status widget
- use fixed 26pt bottom margin for side-dock widget
- use fixed 16pt bottom margin for side-dock widget
- use dockMargin as bottom padding for side-dock widget
- pin side-dock widget to screen bottom corner instead of pill center
- align status widget bottom to pill bottom on side docks
- restore auto-hide by computing pill rect from prefs
- make overlay window full-screen to allow dynamic content sizing
- prevent status widget clipping by using full-screen overlay
- position status widget outside dock pill to avoid overlap
- align status widget to dock position
- fix section order not reflected in dock after reorder
- fix section row tap conflict and restore delete button
- enable drag reorder for dock section list
- notify menu bar after workspace deletion
- allow deleting the last workspace
- show recent apps when active workspace has no sections
- remap CGEvent coordinates for correct SwiftUI hit-testing
- use global event monitor to capture scroll in non-key window
- forward scroll events to enable section scrolling in non-key window
- remove duplicate guard let self in monitor loop
🌍 Internationalization
- add localization for magnification hover style
- add drawer display mode keys across all four languages
🔧 Refactoring
- remove representIcon from DrawerConfig
- decouple app picker save from dock update, only section detail done triggers dock refresh
- group icon animation toggle with animation effects section, add child indentation
- remove in-dock display mode
- restore section list to original state with onMove support
📝 Other Changes
- style(settings): remove chevron.right from section row
Full Changelog: devlive-community/DockMasterPro@v1.0.0...v1.1.0
DockMaster Pro 1.0.0
🚀 New Features
- add release automation script with version checks
- add .dmtheme export for all themes
- add custom theme creator and editor
- implement full theme engine with built-in themes and .dmtheme import
- redesign AboutView with feature highlights grid
- implement workspace persistence and dock section switching
- implement full section item management
- implement GitHub Releases update check with state-driven UI
- implement menu bar show/hide and icon switching
- add app icon
- add language configuration in General settings
- add launch and quit animation effects with configurable styles
- add 6 more hover effects: swing, sway, pop, buzz, flipX, glitch
- add 6 more hover effects: wobble, tada, heartbeat, spin, float, nod
- add 6 hover animation styles configurable in Settings
- enhance hover animation with bounce, glow and brightness
- render sections as visual groups with dividers
- add configurable margin from screen edge
- add spring animations for icon hover, tap, and running indicator
- modern card-based UI with sidebar navigation
- sidebar tab layout for settings window
- show all running apps and add running indicator
- dock-like layout, animate icons, show recent apps, rows support
- hide native Dock on launch and restore on quit
- add SpacesIntegration for macOS Spaces binding
- add AppDelegate with menu bar icon and settings window
- add DockOverlayView with multi-section layout and hover animations
- add WorkspaceSwitcherViewModel with published state and intent methods
- add AccessibilityService with permission gating and Dock process detection
- implement multi-row layout calculation with configurable columns
- define protocol interfaces for all core engine modules
🐛 Bug Fixes
- remove premature same-version check
- allow tagging current version without updating Info.plist
- point update check to public release repo
- fix hover label background for blur-based themes
- use sidebar material for Default Light to fix opacity
- position bottom-dock menu above icon using height estimation
- add receive(on: main) to prevent background thread publishing
- force dark/light NSAppearance on built-in themes for correct blur
- guarantee context menu flips above icon on bottom dock
- further reduce built-in theme background opacity
- lower built-in theme background opacity for more translucency
- remove label strip below icons in ThemeMiniPreview
- fix preview lines, built-in theme opacity, and edit init
- rewrite ThemeMiniPreview to reflect all theme properties
- use activeIndicatorColor for running-not-selected dot
- wire all remaining theme properties to the dock overlay
- apply theme colors fully to dock overlay
- use Locale.preferredLanguages for system language detection
- resolve Bundle.module crash on manually assembled .app bundles
- position context menu relative to icon edge per dock side
- fix context menu position by temporarily making window key
- remove bottom blank space and bordered button in list
- localize section swipe-to-delete label
- remove duplicate workspaceDidChange reload causing 4 sections
- deduplicate sections by UUID on load
- keep workspace sections in sync with live dock-sections.json
- reload dock sections in DockSettingsViewModel on workspace switch
- always sync engine from persistence on load
- replace onDelete with explicit delete button per item row
- replace unicode escapes with literal chars in strings files
- fix language switching and missing translations
- always resolve concrete lproj bundle, fix keys showing as plain text
- resolve zh-Hans/zh-Hant falling back to English on language switch
- use lowercase lproj directory names for SPM bundle
- use runtime language preference for localization
- fix language_restart_hint key mismatch in L10n.swift
- restrict auto-hide trigger zone to actual dock pill area
- hide running indicator for recent (open) app items
- side dock indicator dot on left/right edge, not bottom
- show hover label above icon for side dock, avoid separator overlap
- proper group separator, fix settings row/col per position
- row-major fill for side dock, remove effectiveCols hack
- remove empty grid slots, use effective col/row count
- bottom uses maxRows, side uses maxColumns
- prevent duplicate items and improve filtering logic
- use system tooltip instead of custom label for better scroll support
- unified grid layout for rows and columns on all positions
- use NSWorkspace.notificationCenter for app events
- real-time app launch/terminate detection; style(settings): sidebar rounded corners
- restore Form layout and fix sidebar tab click area
- ignore mouse events on transparent window area
- increase pill padding for better spacing
- side label position matches bottom 28pt offset
- center side label like bottom to avoid overlap
- side label uses frame edge like bottom dock
- strictly follow bottom dock label pattern for side docks
- add boundary clamping for side dock label
- label follows hovered icon on side dock
- position side label outside pill with proper offset
- use consistent 16pt label gap for all dock positions
- widen side dock window to show label
- restore label spacing and fix side dock label position
- adjust label position and padding based on dock location
- reduce pill padding ratio and add minimum
- scale pill padding proportionally with icon size
- scale icon padding proportionally with icon size
- make hover background match icon size exactly
- reduce icon background padding to 1pt
- reduce icon background padding to 2pt
- reduce icon background padding from 8pt to 4pt
- keep dock visible when mouse is over it
- add 6pt edge margin for side dock like bottom
- trigger auto-hide only at screen edge like system dock
- use fixed icon padding instead of proportional scaling
- add scale breathing room, hide scroll indicators
- move label to overlay to stop dock from shifting on hover
- explicit scroll frame, prevent hover re-render cascade
- auto-size pill with scroll on overflow, fix label position
- show label above icon without resizing dock
- icons, system dock apps, layout sync, visual appearance
- icon size, auto-hide, liquid glass material, remove section label
- control overlay instead of system dock, wire position changes
- fix dead code, data loss on save, and subprocess dock API calls
- use UserDefaults API for dock hide, wire up setting toggle
- fix zero frame, empty sections, and incorrect window position
- use orderFront and disable canBecomeKey for overlay window
- allow DockOverlayWindow to become key window
- initialize DockOverlayWindow and add Space change observer
- resolve Settings window activation, i18n, and SIGABRT issues
⚡ Performance
- cache com.apple.dock UserDefaults instance to reduce XPC calls
🌍 Internationalization
- add about feature highlight strings for all P0 languages
- add rows + hover effect and all 18 style translations
- localize all 18 hover animation style names
- replace hardcoded strings with dot-notation LocalizedStringKey
- add Localizable.strings for all v0.1 modules
🔧 Refactoring
- split animation effects into separate card in dock settings
📝 Other Changes
- ci: disable parallel test execution to prevent shared state conflicts
- test: fix failing tests for CI pipeline
- build: add universal build support and notarization workflow
- docs: add bilingual README (English and Chinese)
- chore: update bundle identifier to org.devlive.tools.dockmaster
- ci: add CI build/test and release workflows
- revert(workspace): remove syncActiveWorkspaceSections causing section merging
- chore: add build script and expand gitignore
- revert(dock-overlay): restore side dock label position to right/left of icon
- style(settings): modern button grid for row/column selection
- test(dock-engine): add unit tests for layout calculation and section management
Full Changelog: devlive-community/DockMasterPro@5ad7e03...v1.0.0