XTension Version 9.4.35
Download for all Supported OS versions; XTension. v 9.4.35 (build 1035)
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.
Minimum System Version for this release is OSX 10.10 but not all plugins may function properly prior to 10.13
Maximum supported version is Big Sur but some problems and cosmetic issues remain when running on Apple Silicon.
This version is built with the latest compilers and libraries available and should be able to run on Big Sur with minimal issues, though some remain. and you should report them to be if you are crazy enough to be running that on your server ;)
Known issues: The DMG file’s volume name claims that the version is 9.4.21. But the version that is actually included is 9.4.35. I’ll get that sorted out before the next release.
9.4.35 Change Log:
Lots of under the hood changes in this version continuing to modernize and prepare for the future. Some helpful bug fixes and new features as well.
- Now a single download for all supported OS versions.
- A significantly smaller executable overall for faster downloads and management over all.
- The oldest legacy plugins that will not be ported to Catalina and newer are no longer included as part of the package which is how we can do a single download for all supported OS versions. If you need one of the included ones you can get them from the Catalina tech note page and install them specifically into your database.
- NEW: A beta plugin for the Hubitat Zwave/Zigbee hub.
- The Control By Web plugin is now compatible with their newer devices. See the wiki page for proper setup based on the kind of device you have.
- NEW: Added an option of a transparent background to a view. Use the new Set Transparent/Set Opaque tool bar when editing a view. This may not be able to stick long term as I make future updates to the Views that are on the schedule now but for the moment they may be useful for people building kiosk type applications. The title bar and toolbar of the window does not hide and you cannot use it in full screen mode (as the background will just be black)
- I’ve reduced the severity of the check for the number of bits received in the original RFX receiver plugins. It will now attempt to parse the received data even if the command is slightly truncated. This may or may not improve reception of devices such as the THGRxxxx transmitters or it may just result in a lot more unhelpful errors to the log. If you are having the problem with Oregon devices not getting through except some of the time and error messages in the log please try changing their Channel switch to a different channel than any others you might have. This changes the timing of their transmission slightly so that they are less likely to overlap each other and confuse the messages.
- The Install/Uninstall USB Device Support menu items will now be hidden on OS versions starting at Catalina as it and newer won’t support them anyway and they are all very Legacy and no longer supported by anyone anyway.
- FIX: the thisInterface verb is set properly during a failure to startup of an interface making logging and log filtering more useful when debugging.
- All binary plugins are now compiled with the same more recent version of the compiler to better support Catalina and Big Sur. They also share a single copy of the necessary runtime libraries significantly reducing the size of the application.
- The Python3 libraries are now included in the application and going forward plugins will no longer require that you install a specific python version into the system itself. With a few notable exceptions like the Home Kit plugin which I have not yet succeeded to force to use the embedded version without errors. I have converted all existing plugins except for the Home Kit plugin that required a python 3 install to use the embedded version and will work to convert the older ones as time permits. All future plugins, such as the new control by web and Hubitat plugins will be written from scratch to use the embedded version so that no more installs of specific versions will ever be needed.
- FIX: The Home Kit plugin now loads the specific python version that it needs rather than relying on the currently active system version of python 3. Specifically it requires that python version 3.7.9 be installed on the system but it does not require that be the active version as it did previously. This should reduce the number of problems people have installing it. You have to install python 3,7 from the python,org site, but if you also need a more recent version of python3 they can better coexist with the newer version doing everything else for you except for the plugin which will load the version that it needs specifically.
- Added new keys to the plugin definition so that you can specify the paths to the above needed python libraries if needed.
- Improved the logging when you have restart with the “disable scheduled events” startup option so that it makes clear why new events are being created disabled. This was confusing previously. If you use any of the startup options by holding the option key down you should restart the app once you have solved any problem with the database so that things all go back to normal.
- FIX: A plugin that creates units that support color and color temperature they will now load more reliably with the correct current settings. Previously the fact that a plugin supported color or color temperature made it assume that they were already in that mode. Now the actual mode is honored properly. This only affects creating new units, once they are already in the system they will continue to work normally as always.
- Added debug logging to the speak and say verbs. If you pass unexpected value types to it in the past it was possible to get an error rather than anything spoken. That should no longer happen and if it does there will be helpful information in the log for me to continue to debug it as necessary.
- If an actual program error is logged and a stack trace is generated I have added logging of the values of (thisUnit), (thisScript) and (thisInterface) to make it easier to figure out what exactly was happening when the error occurred and in what script or unit it was happening.
- Many disk functions have increased speed as I have updated them all to more modern OS access methods. This includes loading the database without a valid cache file and also making a backup of the database upon installing a new version or doing an archive database via the Database menu. The increases are small, but important going forward.
- If the script cache is invalid during load, which happens after a script component rollover has happened which is a bug I’ll sort out in a future update, the errors upon the next reload as each script fails to load from the cache and reloads itself normally are no longer written by the hundreds to the log.
- FIX: Several places where scripting errors might have caused the (thisScript) value to stick with a previous and now incorrect value were tracked down and fixed. The values of that should be more reliable going forward for both logging in the error handling scripts as well as filtering the log by script names.