Power Manager: Release Notes

Welcome to Power Manager

Thank you for using DssW Power Manager for macOS. These release notes cover what is new and improved in this version.

Power Manager is a complete solution for energy saving and managing your Mac.

Use Power Manager to save energy; create an energy saving schedule for your Mac. You can schedule your Mac to power on and off, perform scripts on demand, and trigger time saving actions.

Full guides and reference documentation are available through Power Manager's Help menu.

Change Notes

Version 4 introduces significant improvements to Power Manager. Appended below is a technical overview of the various new features and improvements introduced since version 3:

What's New in Version 4.6.0?

  • New: Added Schedule Assistant to execute a command line tool on-demand.
  • New: Added Schedule Assistant to execute a command line tool once.
  • New: Added Schedule Assistant to execute a command line tool daily.
  • New: Added Schedule Assistant to execute a command line tool after inactivity.
  • New: Added Schedule Assistant to execute a command line tool before sleep.
  • New: Added Schedule Assistant to execute a command line tool after power on or wake.
  • New: Added Schedule Assistant to run a script after power on or wake up.
  • New: Added dark mode support to status menu bar.
  • New: Added delay by 60 minutes to status menu bar.
  • New: Added advance counterparts for delays to status menu bar; press Control key to reveal.
  • New: Added sun trigger artwork.
  • New: Added executable action artwork.
  • New: Added argument suggestions for absolute path, UUID, and volume UUIDs.
  • New: Added handler for applying licence via URL.
  • Change: Disabled fading of status menu bar icon for distant triggers.
  • Change: Modernised how artwork is determined for an event.
  • Change: Modernised notifier code.
  • Change: Updated AstronomicalAlgorithms library.
  • Change: Updated CodeMirror library.
  • Change: Updated LetsMove library.
  • Change: Updated Sparkle framework.
  • Change: Updated documentation to refer to macOS instead of Mac OS X.
  • Bug: Fixed bugs and potential memory leaks to improve stability.

What's New in Version 4.5.4?

  • Change: Updated AstronomicalAlgorithms framework.
  • Change: Updated CodeMirror library.
  • Change: Updated LetsMove library.
  • Change: Updated Sparkle framework; fixes bug affecting macOS 10.7.
  • Bug: Fixed bug affecting macOS 10.12 betas.

What's New in Version 4.5.3?

  • Bug: Worked around `codesign` bug affecting macOS 10.10 and earlier (rdar://26297046).

What's New in Version 4.5.2?

  • Change: Updated Sparkle framework.
  • Bug: Fixed bug delaying `authorisation.rights` being immediately saved.

What's New in Version 4.5.1?

  • New: Added experimental application trigger.
  • New: Added time zone change support to Power Manager.app.
  • New: Added Spotlight support for `.pm-schedule` files; `.pm-event` already supported.
  • New: Added option to show full file path within Schedule Assistant.
  • New: Added option to use enhanced or plain script editor; default boolean `colourScriptEditorSyntax`.
  • Change: Removed /Library/Frameworks/PowerManager.framework; now embedded as needed.
  • Change: Updated time zone change support within the status menu bar.
  • Change: Supporting tool `pmctl` no longer requires PowerManager.framework.
  • Change: Supporting daemon `pmuser` no longer requires PowerManager.framework.
  • Change: Linked `pmuser` against AppKit for workspace notifications.
  • Change: Improved event summary descriptions.
  • Change: Reduced authorization requests needed for installation and removal of the scheduler.
  • Change: Updated more external links and documentation to `https://`.
  • Change: Updated AstronomicalAlgorithms framework.
  • Change: Updated LetsMove library.
  • Change: Updated Sparkle framework.
  • Change: Updated CodeMirror library.
  • Bug: Fixed a file path editor bug affecting multiple choice operations.
  • Bug: Fixed clicking an update notification in banner alert style.
  • Bug: Fixed tracking of time zone changes.

What's New in Version 4.5.0?

  • New: Added trigger sleep.
  • New: Added action await sleep.
  • New: Added Schedule Assistant for launching an application on log in.
  • New: Added Schedule Assistant for running a script on log in.
  • New: Added Schedule Assistant for running a script before sleep.
  • New: Added Schedule Assistant for running an Automator workflow on log in.
  • New: Added Schedule Assistant for mirroring files on log in.
  • New: Added Schedule Assistant for running a script on log out.
  • New: Added Schedule Assistant for mirroring files on log out.
  • New: Added `offset` to sun trigger to allow times relative to astronomical events.
  • New: Added host wide preference `notifier.login.position-vertical` to adjust Login Window notification.
  • Change: Core install better stops and restarts existing launchd jobs during update.
  • Change: Renamed pmnotify.app to Power Manager Notifications.app for clarity of purpose.
  • Change: Updated appearance of the Login Window notification.
  • Change: Modernised and started refactoring Power Manager Notifications.app.
  • Change: Quietened Power Manager Notifications.app log messages.
  • Change: Updated power assertions used by other processes not to idle dim or sleep.
  • Change: Refactored code previously required for pre-macOS 10.7.
  • Change: Removed legacy code previously required for pre-macOS 10.5.
  • Change: Updated external links in software and documentation to `https://`.
  • Change: Fixed warning in PAM authentication.
  • Change: Updated application scripting definition to dynamically include CocoaStandard.
  • Change: Updated Sparkle framework.
  • Change: Updated AstronomicalAlgorithms library.
  • Bug: Fixed warnings by modernising code for macOS 10.11.
  • Bug: Fixed buy now button on licence sheet.
  • Bug: Fixed event editor group styling.

What's New in Version 4.4.1?

  • Change: Default Notification Center behaviour changed from Alert to Banner style.

What's New in Version 4.4.0?

  • New: Added trigger external assistant.
  • New: Added condition console user.
  • New: Added condition user inactivity.
  • New: Added condition start up.
  • New: Added action await battery health.
  • New: Added action await external assistant.
  • New: Added action await once.
  • New: Added action await power remaining.
  • New: Added action await power state.
  • New: Added action await start up.
  • New: Added action await sun observation.
  • New: Added action await user inactivity.
  • Change: Update notifications appear in the Notification Center.
  • Change: Display core update alert on connection to old schedulers.
  • Bug: Fixed an editor bug affecting removal of optional values.

What's New in Version 4.3.4?

  • New: Added await log in action for chaining actions.
  • New: Added await log out action for chaining actions.
  • Change: Updated Sparkle framework.
  • Bug: Fixed an AppleScript bug affecting sun observation calculations.

What's New in Version 4.3.3?

  • New: Added sun trigger for scheduling events by sun events.
  • New: Added sun condition for limiting events by sun events.
  • New: Added Astronomic API for calculating sun observation dates and times.
  • Change: Simplified code that supported legacy operating systems.
  • Change: Self-signed SSL/TSL certificates now signed with `sha256`; replaces `sha1`.
  • Change: New internal broadcast module replacing CFNotificationCenter.
  • API: Deprecated some SSL/TLS allowances in `ssl.allow`.
  • Bug: Fixed potential crash when managing remote clients.
  • Bug: Fixed warnings through modernising older code.

What's New in Version 4.3.2?

  • Change: Added filter to ease finding specific Schedule Assistant tasks.
  • Change: Added syntax highlighting to Schedule Assistant script steps.
  • Change: Exposed optional command line arguments in editor for embedded scripts.
  • Change: Action summary now includes hash bang executable in editor for embedded scripts.
  • Bug: Fixed auto-playing of presentations for Apple Keynote 6.2.2.
  • Bug: Fixed dragging of pm-schedule files directly onto event view.

What's New in Version 4.3.1?

  • Change: Restored support for Mac macOS 10.7.
  • Change: Improved installed scheduler version evaluation.
  • Change: Improved undo handling to reduce save prompts (macOS 10.10).

What's New in Version 4.3.0?

  • New: Added ability to connect to and manage Power Manager clients remotely.
  • New: Added support for connecting to Bonjour services with `pmctl`.
  • New: Added an empty event template for easy custom event creation.
  • Change: Reworked core networking to relieve name resolution from caller.
  • Change: Schedule Assistant changed to open executable but suffixed files; previously executed.
  • Change: Added sound to Notifications Center messages; adjust through System Preferences as needed.
  • Change: Updated notification panel style to better compliment Yosemite.
  • Change: Updated client and schedule document icons for Yosemite.
  • API: Added `CFNetServiceRef` and `NSNetService` support to connection APIs.
  • Bug: Fixed a bug in remote management that could block legitimate access (macOS 10.10).
  • Bug: Fixed `pmuser` to ensure it never appears in the Dock (macOS 10.10).

What's New in Version 4.2.1?

  • Change: Restored support for Mac macOS 10.7.
  • Bug: Fixed window state restoration bug.
  • Bug: Fixed bug blocking event deletion (Mac macOS 10.8).

What's New in Version 4.2.0?

  • New: Installation and removal of scheduling engine no longer require a restart.
  • New: Added engine view to application; previously restricted to status menu and iOS app.
  • New: Added alert before stopping scheduler to confirm decision.
  • New: Added Scheduler menu to group related actions.
  • New: Added Action and Adjust per-event menus to manipulate events within the engine.
  • New: Revised application look and feel.
  • Change: Removed support for Mac macOS 10.6.
  • Change: Removed support for garbage collection in PowerManager.framework.
  • Change: Removed software update options; defaults remain for customisation.
  • Change: Moved administrator access lock to menu item.
  • Change: Moved allow remote management to menu item.
  • Change: Moved pmctl tool into Power Manager.app bundle.
  • Change: Added AppleScript support to Power Manager.app; removed stand alone AppleScript application.
  • Change: pmctl updated to include Power Manager.app/Contents/Tools/interfaces by default for interfaces
  • Change: Remove item revealed in status menu, if main application is missing.
  • Change: Check for Updates… menus disabled if default prohibits checking.
  • Change: Updated Sparkle framework.
  • Change: Added support for automatic graphics card switching.
  • Change: Improved drag and drop to stack events and show item count.
  • API: Authorisation rights are now observable.
  • Bug: Fixed a bug in AppleScript that could cause a crash.
  • Bug: Fixed a bug in simplified notification limiting preflight checking of rights.

What's New in Version 4.1.8?

  • New: Added tasks triggered when battery drops to a specified percentage capacity.
  • New: Added `any battery charging` or `any battery discharging` filter options to the event editor.
  • Bug: Restored authentication dialog for non-administrator users.
  • Bug: Disabled Smart Substitutions in script editor (Mac macOS 10.9).

What's New in Version 4.1.7?

  • New: Added Check for Updates… menu to application menu.
  • New: Added License… menu to application menu.
  • Change: Added authorisation rights repair option to pmd.
  • Change: Reduced external authorisation rights to avoid macOS 10.9 limits (rdar://15381545).
  • Change: Expanded pmd documentation.
  • API: Added authorisation object to manage request rights.

What's New in Version 4.1.6?

  • Bug: Worked around authorization rights bug (Mac macOS 10.9; rdar://15381545).
  • Bug: Fixed authorization rights listing bug (Mac macOS 10.9).
  • Bug: Fixed bug in adjustment/modifications storage that could cause the pmd daemon to crash.
  • Change: Removed coupling to System Preferences authorization right, no longer required.

What's New in Version 4.1.5?

  • New: Added Automator tasks for working with workflows.
  • New: Added Keynote tasks for playing and stopping presentations.
  • New: Added PowerPoint tasks for playing and stopping presentations.
  • New: Added QuickTime tasks for playing and stopping movies.
  • New: Extended Quick Schedule to allow sleep, restart, and shut down after short delay.
  • New: Notification Center support for pending and warning events (Mac macOS 10.8).
  • New: Added in-application feedback and crash reporting.
  • Bug: Fixed a bug that could delay external processes being cleaned up.

What's New in Version 4.1.4?

  • New: Added shell script on-demand, launch on-demand, and mirror files on-demand tasks.
  • New: Added support for subscription and transfer licences.
  • New: Added assisted move of application to Applications folder.
  • New: Added simplified notification option for schools.
  • Change: Added software update check option to removal application.
  • Change: Updated Sparkle framework.
  • API: Fixed activeevent.activity documentation.
  • API: Block support for Objective-C connection requests.
  • Bug: Fixed pmd rights set/remove command line option.
  • Bug: Fixed bugs and potential memory leaks to improve stability.

What's New in Version 4.1.3?

  • New: Added support for Mac macOS 10.8.
  • New: Added support for Gatekeeper; signed installer and applications with Apple Developer ID.
  • New: Replaced System Preference with stand-alone application.
  • Change: Added QuickLook support to stand-alone application.
  • Change: Added Spotlight support to stand-alone application.
  • Change: Embedded Automator actions within stand-alone application.
  • Change: Removed support for PowerPC (PPC) Macs.
  • Change: Removed support for Mac macOS 10.4 and 10.5.
  • Change: Removal tool no longer suggests name and e-mail.
  • Change: Reduced size of and simplified self-signed certificate.
  • Change: Sped up AppleScript support and reduced memory use.
  • Change: Improved packaging; less packages and smaller file size.
  • Change: Added expiry date and revoke to licensing interface.
  • API: `listen.applysocket` default changed to `TLSv1`; previously `negotiated`.
  • Bug: Fixed bugs and potential memory leaks to improve stability.

What's New in Version 4.1.2?

  • Bug: Fixed timer drift after sleep (Mac macOS 10.7; rdar://9855350).
  • Bug: Fixed incorrectly configured local socket warning (Mac macOS 10.7).
  • Bug: Fixed minor memory leak in new editor.

What's New in Version 4.1.1?

  • Bug: Fixed bug that could cause idle sleep to fail.
  • Change: Improved network connection keep alive behaviour.
  • Change: Scaled back calls to Mac macOS's authorisation service.

What's New in Version 4.1.0?

  • New: Added new event editor.
  • New: Added new event templates triggered by switching to battery or mains power.
  • Bug: Fixed Quick Schedule's wake event.
  • Bug: Fixed bugs for Mac macOS 10.7 Developer Preview.
  • Bug: Fixed "Unavailable" bug caused by orphaned certificates.
  • Bug: Fixed event view icon inversion when not window is not key.
  • Bug: Fixed AppleScript properties for inherited structures, such as power sources.
  • Bug: Removed incorrect continue field from the launch application action.
  • Bug: Fixed potential pmd crash when changing time zones (Mac macOS 10.5).
  • Bug: Fixed pmuli login items set up bug (Mac macOS 10.4).
  • Bug: Fixed inline scripts failing when not executed as root.
  • API: Added build.revision to return developer version information.
  • Change: Improved self-signed certificate creation and management.
  • Change: Any executable file can now be added to conditional running processes list.
  • Change: Added certtool example to the Administrator Guide.
  • Change: Added version information to Power Manager helpbook.
  • Change: Improved licence entry sheet (Pro).
  • Change: Status menu differentiates a stopped scheduler and no pending events.
  • Change: Removed extraneous menu item in status menu when only on-demand events are scheduled.
  • Change: Removed pmrights tool. Added functionality to pmd.
  • Change: Added ability to repair required authorization rights on pmd launch.
  • Change: Added ability to install to non-booted System volumes.
  • Change: Improved remaining non-essential installer scripts.
  • Change: Added ability to opening multiple events from an event view.

What's New in Version 4.0.4?

  • Bug: Fixed launch application action bug that could cause the pmd daemon to crash.
  • Change: Improved localisation of recent triggers and conditions (Pro).

What's New in Version 4.0.3?

  • Bug: Fixed inactivity trigger bug that could cause triggers to be delayed or not fire.
  • API: Added throughput methods for tallying bytes sent and received over a network connection.
  • API: Added Power object for observing and working with power sources.
  • API: Added trigger power state for triggering when a power source switches between mains and battery.
  • API: Added trigger power remaining for triggering when a power source capacity or remaining seconds changes.
  • API: Added trigger battery health for triggering when the health of a power source changes.
  • API: Added condition power state to test for a specific power state.
  • API: Added condition power remaining to test for power source current capacity or remaining seconds.
  • API: Added condition battery health to test for power source health.
  • Change: Improved recovery behaviour if a self-signed certificate can not be created.
  • Change: Improved inactivity trigger to better synchronise overlapping triggers.

What's New in Version 4.0.2?

  • Bug: Fixed bug where some event editor fields did not support undo (Pro).
  • Bug: Fixed AppleScript property names that overlapped reserved phrases.
  • Bug: Fixed AppleScript `sample criterion` to reveal inherited structures.
  • Bug: Fixed errors in Administrator documentation regarding cron and launchd integration.
  • Bug: Fixed bug in days of the week condition.
  • API: Changed `continue when` field in action launch application, to `continue`.
  • Change: Added fallback for handling malformed application bundles in Interactive Constraints.
  • Change: Removed extraneous tool field from Schedule Assistant created events (Pro).
  • Change: Removing empty note fields from Schedule Assistant created events.
  • Change: Added a replace existing option to System Preference panel's Import Schedule panel.
  • Change: Added ability to sort events by column (Pro).
  • Change: Fixed spelling mistakes in developer documentation.
  • Change: Added embedded documentation within AppleScript dictionary.

What's New in Version 4.0.1?

  • Bug: Fixed bug in framework where invalidating a connection within a callback could crash the application.
  • Bug: Fixed bug that could cause sleep to be delayed by up to thirty seconds.
  • Bug: Fixed bug that could cause running application constraint open dialog to fail.
  • Bug: Fixed bug that could stop licensing Apply button being enabled (Mac macOS 10.4).
  • Bug: Fixed bug that could cause external processes not to be cleaned up.
  • API: Unanswered requests called with NULL response if connection becomes invalid.
  • API: Added Time Zone object to provide client time zone name and current offset in seconds from UTC.
  • API: Added length limit of 1024 characters to notifications.
  • Change: Reworded licensing dialogs and removed requirement for organisation value.
  • Change: Removed edge case where Professional's auto-saving library could present a save dialog (Pro).
  • Change: Updated removal tool's confirmation dialog.
  • Change: Added editors for choosing directories, executables, and files (Pro).
  • Change: Disk image presentation.

What's New in Version 4.0.0?

Core: New Features and Improvements
  • New event format:
    • Multiple triggers per event;
    • Multiple conditions per event;
    • Multiple actions per event.
  • Event domains;
  • Concurrent and serial event performance support;
  • On demand triggering of events;
  • Arbitrary trigger date and time adjustment;
  • Reset trigger support;
  • Automatic scattering of date and time triggers;
  • Variable notification period support;
  • Variable warning period support;
  • Networking support:
    • IPv4;
    • IPv6;
    • SSL;
    • Bonjour;
    • Authentication via Pluggable Authentication Modules (PAM), including:
      • Open Directory/Directory Services;
      • Kerberos.
  • Configure on launch with flat file support;
  • Open and documented event format;
  • Software Development Kit (SDK):
    • C interface;
    • Objective-C interface;
    • Interface Builder plug-in;
    • Networked Key Value Observation (KVO) support;
    • Extensive documentation;
    • Numerous examples.
  • pmctl tool for easy local and remote command line management;
  • pmrights tool to manage and test authentication rights;
  • Logging:
    • Apple System Logger (ASL) support;
    • Full audit log of triggers, conditions, and actions;
    • Watch logs over remote connections.
  • Standardised installation into /Library/Application Support/.
System Preference: New Features and Improvements
  • New Schedule Assistant:
    • New tasks and workflows;
    • Edit existing events.
  • Event history and statistics view;
  • Single click remote management set up;
  • Automatic software update support;
  • Improved look and feel.
Status Menu: New Features and Improvements
  • Adjust pending triggers forwards and backwards;
  • Reset pending triggers;
  • New Quick Schedule options:
    • Easy one-off event creation;
    • Postpone all pending events;
    • Reset all pending events.
  • Improved look and feel.
Notifier: New Features and Improvements
  • Added Spaces support;
  • Added support for adjusting triggers forwards and backwards;
  • Added Growl support;
  • Improved look and feel.