User Tools

Site Tools


current

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
current [2019/01/14 22:10] James Sentmancurrent [2024/02/05 17:53] (current) James Sentman
Line 1: Line 1:
-=====XTension Version 9.4.15===== +=====Download XTension 9.5.4===== 
-Released: 1/14/2019\\ + 
-\\ +>2/5/2024 [[current:beta|XTension 9.5.5 Beta 1]] is available. 
-Download: [[http://www.machomeautomation.com/files/xtension/xtension_998.zip|XTension v9.4.15 (build 998) 1/14/2019]]\\ + 
-zipfile md5 = [[tech_notes:md5|c16415fd26bee0b0d165f08f6a59c578]]\\+Released 12/19/2023\\
 \\ \\
-\\ +Download Universal Binary for all Supported OS versions; [[https://www.machomeautomation.com/files/xtension/xtension_9_5_4.dmg|XTension. v 9.5.4 (build 1085)]]\\
-**NOTE** as of version 9.4.13 the minimum system version has increased to 10.10\\ +
-Before upgrading to OSX Mojave please read the [[tech_notes:mojave|Mojave Support Page]].\\ +
-\\ +
-If you have already upgraded to Mojave and have any scripts that reference applications other than XTension you must run them after the upgrade. The OS cancels your previous permissions to control other apps when the version info changes. If you don’t run those scripts and OK the dialog that will appear then ay scripts you have that try to do this will not run. \\ +
-\\ +
-====Change Log==== +
-  * New: Added the “frontmost” property to the application class. You can now make XTension the front most app by just setting this to true. It’s no longer necessary to tell XTension to activate or anything like that, just set frontmost to true. +
-  * New: in the Log page of the XTension Preferences window you can now ask it to delete logs older than a certain number of days, or you can leave it as it is and let them build up forever. The logs are scanned each night and anything older than the time you’ve selected is deleted. +
-  * New: The Idle script will now run on real minute intervals rather than just every 60 seconds from the time XTension was launched. This means that the first execution will be some amount of seconds less than 60 as it lines itself up with the system clock. This is useful if you’re using the idle timer to update a time display in a view or the web interface. It will now update it’s minutes when the system clock switches over as well. +
-  * New: Staged Startup. Each interface now has a popup menu for you to select the “startup stage” the selections are: First, Early, Normal, Late and Delayed. All interfaces in each group are started alphabetically as well so you can control the order within each stage by adding numbers or pre-sort lettering to the names. First is started immediately upon launch, then directly after that. Normal are launched up to a second later just before the startup script runs just like it always did originally, the Late interfaces will be started 10 seconds later and the Delayed interfaces will be started 20 seconds later than that. Interfaces which are enabled but not started yet due to the current startup stage will have “(waiting...)” added to the end of their name in the Interface list window. +
-  * New: Reworked the manage global scripts window. The execution time of the script now has it’s own column so you can sort by that and find more easily any scripts that might be taking a long time to run. I also added a column for “Last Edited” so you can more easily find the scripts you were most recently workin work. Beyond that is a column that will contain the date the script last threw an error and in the last column the text of the error description so you can more easily see if a script is malfunctioning without scanning the logs for it. +
-  * Fix: the Lifx plugin properly sets and clears the error flag when you try to command one that is not available, or when you try to control one that was offline and has come back in the meantime. +
-  * Fix: Vera polling settings now work from the interface in the edit unit window as well as from the setPolling( newValue) scripting command. +
-  * Fixed an error that would be logged from the web remote after using the advanced unit control popup window from a unit list whenever that unit was controlled again. +
-  * Fixed the logging of an error if you tried to access the last activity or time delta of a unit that doesn’t have one yet. +
-  * New: When searching Unit Property values are now also searched for matches of the search phrase. Previously only the keys were scanned. This only works for text value types. It will not search applescript lists, records, or any other objects that you can put into a unit property. +
-  * New: the Manage Handlers window now also works properly for Unit on or Off scripts. You can use that to make handlers in the script global to the scripting system so you don’t have to use the tell xUnit to doTheGlobalThing() format. The Submenu checkbox has no meaning just yet for a Unit as it does for a global script. +
-  * While XTension regularly gets the available disk space from the volume that contains it’s active database so that it can stop trying to write to it when the disk fills up so as to keep the database from being corrupted it now does a specific check before each save of the database in case things have changed radically since the last time it was scanned. +
-  * Changed the behavior of control clicking in a unit list window. Previously if you had one or more units selected and you control-clicked on one that was not selected, the contextual menu would apply only to the single unit you clicked on and preserve the rest of the selections. This was confusing and could lead to you accidentally deleting units other than what you meant to and so forth. While this was technically in line with the interface guidelines it isn’t necessary and just added comlexity. From now on if you control click on any of the selected units then the selection will not change and the contextual menu that results will apply to all the selected units. If you control click on a unit that is not selected then first the selection will change to just that one unit before the menu pops up showing you specifically what unit the contextual menu will apply to. +
-  * Fix: clicking in the background of the scrollbar in a Unit List window now scrolls the window by a full page rather than just by one line as it did previously. +
-  * Updated the dictionary entry for the [[dictionary:more:asyncshell|Do Async Shell]] verb to give you the format for the handler definition necessary to receive the information from the command when it’s completeJust makes it easier to set one up without having to go to 2 places to get all the info. +
-  * I moved the Device Type display from an option to display it inside the Address column to it’s own column so you can sort by it if you wish and it won’t confuse the sorting in the address column. It’s not turned on by default though, to insert the column control click in the headers of a unit list and select “Insert Column:Device Type" +
-  * XTension will now properly run from the Applications folder again if you are converting from a version prior to moving the database from the Application Support folder to the Documents folder. Previously this would have resulted in an error at startup and the creation of a new empty database and you would have had to move your database from that hidden folder manually. If for some reason old info has been left behind in the Application Support folder it will only consider it valid if it has been used recently and will ignore really old files that might still be there so it won’t suddenly wakeup and try to convert something that it has always ignored before because the conversion was not working properly. +
-  * Fix: Fixed a problem where some information would be lost if you changed a real unit to a pseudo and then back again. This now properly preserves everything about the unit from before you converted it to a pseudo so it can be converted back. +
-  * Fixed a problem where the motion reports on the web remote might be entirely white. If you’re suffering from this problem go into XTension’s preferences, edit the colors and save them again, This will overwrite the incorrect color values and update them in the web interfaces. +
-  * Fixed a problem where if you controlled a group of units and included the ramp rate option it wasn’t getting passed on to the units in the groupNow, if included, the ramp rate will be applied to the command as it’s sent to all the units in a group. +
-  * Fixed a potential problem that might have logged an error when an interface assigned to a multi-queue woke up but didn’t have any commands to send. +
-  * New Barix Plugin: Many fixes, additions and changes to the new Barix plugin... +
-    * Fixed a problem converting units from the old plugin +
-    * Fixed a problem where newly created units might not have had their interface reference set properly which could have lead to multiple new units being created at each restart. +
-    * New: Popup in the edit interface dialog where you must select the barix type, 50 or 100, before starting up the interface for the first time. This helps in converting the units from the old interface properly and for creating new units properly as the register ranges for the 2 devices are just different enough it could have some overlap. +
-    * Fixed an error that would have kept the barix 100 from creating it’s digital output units. +
-    * New device type, added the “Expander Temperature” device type to be specifically applied to 1-wire sensors attached to an X8 expander module.  +
-    * New: extended the temperature filtering to the analog input and register unit types. This way you can use the same time based and/or significant change based filtering that I originally added for temperature sensors to the analog and register inputs. +
-    * New: the edit interface dialog now contains entries for the defaults to apply to any new or converted temperature, analog and register units. If you set this up before you start the new interface for the first time, or before you start it for the first time after converting to the new plugin it will set the appropriate defaults for those units so you don’t have to go through and set each one manually. +
-    * Updated the wiki page to reflect all the new changes and new info [[supported_hardware:barix|]]+
  
 +**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 [[supported_hardware:hue|Phillips Hue]] plugin now properly supports non-dimmable plug in modules.
 +  * Fixed a problem with the [[supported_hardware:wiz|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 [[xtension_manual:ngrok|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 [[supported_hardware:cm19]], [[supported_hardware:cm15a]], [[supported_hardware:zwave]] or the various Smarthome X10 interfaces please download [[tech_notes:catalina|the legacy plugins package from here]] and install the ones you need via the “Install Plugin” menu item of the “Database” menu. 
 + 
 =====Previous Releases===== =====Previous Releases=====
 {{indexmenu>:current#2|js#doku}} {{indexmenu>:current#2|js#doku}}
  
-=== Older Versions === +
-[[beta|The Changelog and Download links for builds between 763 and version 9.1 can be found here]]+
current.1547503800.txt.gz · Last modified: 2023/02/13 14:51 (external edit)