Download XTension 9.5.4
2/5/2024 XTension 9.5.5 Beta 1 is available.
Download Universal Binary for all Supported OS versions; XTension. v 9.5.4 (build 1085)
This is an important update for NGROK users. This updates the ngrok client to support the system changes they are making live. The older version will no longer be supported very soon. Anyone using ngrok tunnels should definitely perform this upgrade as soon as possible.
Minimum System Version for this release is OSX 10.10 but not all plugins will function properly prior to 10.13. Please start the necessary work to upgrade to at least 10.13 or recommended 10.15 or newer. At some point in the near future it will no longer be possible for me to support anything prior to 10.13 and the video plugins will never work prior to Catalina.
Rosetta Note: While the entirety of the main app and all more recent plugins are Universal and run natively on Intel or Apple Silicon there are a few older plugins including the W800 and CM11 that are still Intel only. They run fine under Rosetta and you’ll never notice the difference. The only issue is that Rosetta is not included by default on the new Apple Silicon Macs. You’ll need to first run any Intel app, or do a get info on any app at all and select “open using Rosetta” then the OS will tell you that you need Rosetta and would you like to install it now. Once you complete that those plugins will run normally.
9.5.4 Change Log:
- The Phillips Hue plugin now properly supports non-dimmable plug in modules.
- Fixed a problem with the Wiz plugin that would log errors as the libraries now return the name of the scene rather than it’s ID as they did previously.
- Fixed the error that was logged while trying to create a symlink to the internal python version if you did not have a /usr/local/bin folder on your machine.
- The python symlink is now created inside the XTension Support folder “pythonxt” and you can use that to run python scripts inside XTension or from elsewhere but using the XTension settings. It is especially useful if you are running python scripts from an async shell script in XTension as they will inherit all the path info to run properly where running the built in python may cause errors.
- NEW: Added an option to delay quitting. This will popup a window asking if you really meant to quit, stopping accidental shutdown of the entire program due to misplaced fingers. The window will count down for 30 seconds and then quit the app. This window does not come up if the system tells XTension to quit as if before a restart or something similar. Find the checkbox to turn it on in the Preferences.
- NEW: Added the option to send a value of 0 for a dimmable Unit to the On script if there is no Off script. Normally a value of 0 for any dimmable unit will be sent to the Off script rather than the On script. Unless there is no off script. This meant that previously you potentially had to duplicate some of your logic for handling values in the On and Off script. When this is turned on in the Preference, and a Unit has no Off script. The On script will be run instead with the future value set to 0. This is on by default, but if it causes you issues with some of your scripting you can turn it off in the preferences window.
- Fixed the incorrect link to the mailing list signup page in the purchase dialog.
- Removed some debug logging I failed to remove before the last release. This was in the conversion of potentially confused strings into floats and so did not affect every plugin, but might have logged confusing information occationally.
- There was a change in AppleScript support in OS versions from Ventura on that would actually enforce some, but not all, of the scripting dictionary flags that have never, in the entire history of the Mac, mattered. So us developers got sloppy and failed to add things like the “optional” flag to all the verbs reliably. The first I’ve found and fixed was with the Speak verb where it would tell you that the “in” parameter was required. It is no longer required. So far I have not found any other such issues and a visual search through the dictionary did not reveal any more such issues, but it’s entirely possible there are more parameters that are not properly marked as optional. If you find any such errors please let me know.
- The Interface list window can now be sorted by CPU Usage, Memory Usage and Process ID. This only works if you have the “show more information” option turned on in the gear menu on the window. This can be a great aide in finding the plugin process that is eating up all your CPU or memory and linking a python process shown in the Activity Monitor to the plugin it’s actually running. They all just say “python” in the monitor. But now it’s easier to find the PID number in the list if you sort by it.
- Updated the ngrok client version to 3.5. This is an important update if you are using this service as the old version will no longer be supported sometime in January. There were many changes to the usage of the client, and many more to the layout of the configuration file. I believe I have them all sorted out, but if you have issues let me know. All output from the client is logged during startup so you can check immediately if it thinks it started the tunnels or if it logged errors instead.
- I had previously hidden some of the lower level debugging aids in the contextual menus by having people hold the option key while right clicking. There is really no need for this extra step so I removed it. The Contextual menus for Units and Interfaces will have their “log debug data” and “Reveal in Finder” options at the bottom of all the contextual menus for them. This will make it easier to collect info for me if things start behaving oddly.
- I added the same debug logging info to the contextual menus of global scripts should it ever be necessary to get a look at that.
- To that debug output I added another line of info comparing the length of the Unit Address in both bytes and glyphs. This might be helpful to more easily discover if a plugin or a bug somewhere has inserted invisible characters into the Address field of a Unit causing things to get disconnected in the database and potentially making more and more units being created when there really should be only the one.
- There were some significant updates and improvements in the main program libraries that will make many things run faster and smoother. So far my testing of all of them work just fine. They aren’t a thing I can turn off though, they are just part of the latest compiler update. It will depend on what you’re doing, how busy your machine is and how fast it is in general whether you’ll see any difference at all. Usually the things they improved aren’t an issue until you’re doing something many times in a row. So I expect that the main improvements will be in window redrawing and things like that, but if you have a machine that is very busy it may improve that somewhat throughout.
NOTE: This disk image no longer includes the older legacy plugins that will not be updated for newer OS versions. If you still need to run the CM19, CM15, ZTroller or the various Smarthome X10 interfaces please download the legacy plugins package from here and install the ones you need via the “Install Plugin” menu item of the “Database” menu.