All notable changes to this project will be documented in this file. Octory adheres to Semantic Versioning.
WaitForTerminationScriptExecutionto wait for app termination script execution and include output in app logs (cf. wiki).
IncompleteInstallationScriptPathnot always run before application exited.
- Added new app icon following new UI guidelines.
- Added some logging so that it is easier for you to debug your configuration files.
- Added new packaging providing notarized installer for Octory, Helper (& weak) and Notifier.
- Fixed the
ActionSetsthat were not properly run before app being stopped.
- Fixed first action ran twice when using
- Added the
MandatoryFilesMissingQuitTextproperty for mandatory files monitoring.
- Fixed the
IsMandatoryproperty not working for
- Fixed the
SendRequestaction that wasn't properly read from configuration file in some cases.
- Fixed the
Variablekey registering in the configuration.
- NextButtonClick trigger was targeting PreviousButtonClick trigger.
Actions and Triggers
- Action: open a slide in another window. See OpenWindow. PRO
- Action: navigate to a specific slide. See NavigateToSlide. PRO
- Action: display a local notification to the user. See DisplayNotification. PRO
- Action: update a variable. See UpdateVariable. PRO
- Trigger: trigger an action set when another app is launched. See Triggers. PRO
- Trigger: trigger an action set programmatically with: Triggers. PRO
- Sidebar a container on the right. See SideContainer. PRO
- Specify width ratios to arrange containers. See Containers.
- New monitors count placeholders (useful to indicate the remaining monitors to install). See Placeholders.
Installerpossible value: "Managed" to specify that a monitor installation state will be updated by octo-notifier only. See App Monitor.
- Optionally display a vertical scroller for the
AppMonitorComponent. See AppMonitorComponent.
- Mark an
AppMonitoras "Not mandatory" to allow the app termination if the monitor is not installed. See application monitoring.
- The icons to indicate the installation state of a monitor have been updated with SF Symbols (require macOS 11+). A spinner will be displayed when the monitor state is "Installing" (available on all supported macOS versions).
- Disable the application relaunch at login behavior when the system was turned off or restarted and the app was running. See App termination.
- The command-line tool config has been improved to be more precise in the error messages and to better evaluate the configuration files.
- A new command-line tool octo-notifier is available to send monitors installation updates to Octory or to send custom trigger events.
- The "Previous" button was reappearing on the last slide after an incomplete installation alert was displayed although it was specified to hide it.
- The monitors specifying a condition in the Conditions section were not updated when a variable involved in the specified conditions was updated.
- PDF component. See Interface composition.
- Video component. See Interface composition.
- Copy to clipboard action. See Actions. PRO
- Terminate app action. See Actions. PRO
- The application will check that a configuration file has the correct permissions before using it. See Security.
- The Helper has received a security update and its current version is now
1.1.0. This version is required to work with Octory 2.0.6. Also, the Helper is now a Universal Binary. See Security.
- The application now uses a new internal library to decode a configuration file. The config checker is built on top of it to validate a configuartion file similarly as the logs of th app in /tmp.
Logaction have been marked as PRO features to improve coherence. Now all Actions are PRO features.
- The device placeholders have been fixed for Silicon Macs.
- 12/16/2020 update: Universal build for ARM and Intel
- Big Sur compatibility and graphics
- Slide valid state was not updated on a variable update
- The CURRENT_SLIDE_INDEX variable was not set at 0 before evaluating conditions
- The monitors conditions were not properly updated
- The Jamf policy execution now works properly by using sudo
- Action sets were triggered by an unwanted event
- Multi-threads crashes fixed
- The key Window→
IsMovablenow only affects the window title bar. Thus, the window is no more draggable using its background.
- Shortcut to force the app termination unconditionally. See AppTermination.
- App termination scripts with
ExecuteAsRootto choose how the run the scripts. See AppTermination.
- AppTermination →
QuitShortcutIsEnablednot required anymore with default
truevalue. See AppTermination.
- Scout updated to
1.3.0to get a dictionary or array count. See API requests (
- Bad thread access when updating Jamf monitors while parsing the Jamf log that caused random crashes.
- Bad thread access when dealing with the variables updates that caused random crashes.
- Window shadow was not set with the "Simple" value for the
- App termination script now uses the Helper
- Checkboxes text now populated
- Monitors text now populated
- Flag to save the configuration passed as argument:
- Model (font, color, request) single parent log error improved
- Default config name now also searched in Managed Preferences
- The window title can be populated
- Octory log is now named username-octory.log
- AppMonitor generated variables were not writting their first state
- The device placeholders now work for macOS < 10.15
DisplayAlertactions were populated
- Display a popover view from a button. See Button component. PRO
- Conditionally execute actions. See Actions. PRO
- Reload the interface by keeping variables values and controls states. See Admin menu
- New application and device placeholders. See Variables
- Possibility to choose the application configuration file with the command line. See Home
- Possibility to choose the application window OnScreen option with the command line. See Window configuration
- Possibility to hide navigation buttons for each slide. See Slides
- Window OnScreen new value MenuBar and bunch of new customizations. See Window configuration
- Possibility to use a parent style (font, color) with a single string when no overrides are needed. See Appearance
- Helper to execute a command with root privileges. See Helper. PRO
- Conditionally insert or remove components and monitors. See Conditions, Components and Monitors. PRO
- Specify an Input component percent width. See Input Components
- File monitoring with generated variables and optionally generate a variable for each app monitor. See Monitoring
- Reload the interface takes the monitors and navigation view into account. Thus, the monitors states are reset.
Justifiedtext alignment value for a font has changed to
- Button component required
Stylekey added. See Button component
- Button component
TextColorkey has been changed to
- Termination sound has been moved to the Monitoring section, with new customizations.
- Window Minimum/Maximum height and width have changed for sizes. See Window configuration
- Some keys previously required are not required anymore and have a default value instead
- The placeholder
FULL_USER_NAMEhas been changed for
- Checkboxes input variable format has changed from
[variable]-[checkbox index]. See Checkbox Input component
- Octory now waits for Workspace ONE (Airwatch) or Munki log files, then starts monitoring.
- Input variable now written in Octory’s variables and in the input file, without the need of a validation key
- Possibility to test empty strings with validation regular expression for a Text Input component
- Possibility to tab between Text Input component, unless the interface has been reloaded
- Image view infinite loop at image loading
- AppTermination scripts paths not populated
- The StyleConfigurableTextView and StyleConfigurableTextField would not listen to input variables updates
- It was not possible to quit even if no monitors were configured, or if all were already installed
- The Previous button was appearing on sole slides when the “Finish” button was clicked, but the application was not terminated
- The Admin mode was not deactivated when specified so in the configuration
- Menu bar not always active at app launch
- Regular expression to find a match in the Jamf log changed to add more flexibility
- Monitoring of the file /var/log/install.log to trigger the monitoring installing state for apps which are not downloaded directly into the /Applications folder with the .appdownload extension (like Microsoft’s apps)