v1.3 Change Log
New Features
- New Default Behavior: Clicking the Dialog notification will initiate the restart window
- Renew will now look for a configuration plist file located at
/Library/Preferences/com.secondsonconsulting.renew.plist
- An MDM profile takes precedence over a plist configuration file.
- Language support for Dutch (nl)
- Thank you, @DevliegereM! #90
- Renew can now be used with a plist file OR a mobileconfig
- If a mobile configuration file is not found, Renew will check for a configuration file in this location:
/Library/Preferences/com.secondsonconsulting.renew.plist
- You can still use iMazing Profile Editor to make this plist, just choose "Payload > Export as Plist"
- Huge thanks to @drtaru for adding this feature.
- If a mobile configuration file is not found, Renew will check for a configuration file in this location:
- Admins can now choose additional applications to ignore assertions.
- Huge thanks to @drtaru for adding this feature.
- If you don't want to respect a display sleep assertion for an application, you can add that application to an
OptionalArguments:IgnoreAssertions
array in your configuration file. - The default assertions to ignore will still be used as well (
obs caffeinate Amphetamine
) - Use
pmset -g
to see what applications are using assertions as well as how to ignore them.
Improvements
- Argument Processing rewritten
- Use
--help
to see a list of all arguments and exit codes. Also documented here: https://github.com/SecondSonConsulting/Renew/wiki/Command-Line-Arguments --version
now prints only the script version and exits with no logs and no other output- Multiple arguments are now supported. It is up to the operator to ensure conflicting arguments are not passed
--verbose --force-normal --dryrun
is valid--verbose --force-normal --force-notification
is invalid, and will result in undefined behavior
--verbose
or-v
enablesset -x
for verbose troubleshooting output--dryrun
argument now does not process a deferral as well as disabling Restart prompt--deadline
argument now sets the deadline to the provided value for testing- Example:
./Renew.sh --deadline 66
will set the deadline to 66 days uptime
- Example:
--print-configuration
option will print the configuration file and exit--configuration /path/to/renew.plist
allows you to specify a plist file you wish to use as the configuration for that run.- This is intended for use in testing, though, there's nothing stopping you from using this option with a LaunchAgent or from your management tool
- This argument overrides any MDM profile or configuration file for that run
--language
followed by a language code will allow you to test Renew behavior for different languages (i.e.--language nl
would use Dutch)--help
is now more reliable. Thanks @aschwanb
- Use
- We've added language support for Dutch (nl) thanks to DevliegereM and improved the German translation thanks to @ConstantinLorenz
- Renew no longer processes deferrals/events if the system has been idle from human input for over 60 minutes
- If the same program has multiple display sleep assertions (like caffeinate running twice or more), Renew will now properly ignore them if they're on the
IgnoreAssertions
list.- Thanks again to @drtaru for this improvement.
Housekeeping
- Renew is now published under the MIT open-source license
- All log messages are now also written to standard output
- Log messages are more useful in determinig what logic is being applied and why
- Debug messages now only visible in verbose mode, and not tied to
--dryrun
option - Fixed issues with
--deadline
argument: