I’ve posted an experimental build of Panorama X that, at least in initial limited testing, seems to resolve all of the reported problems with macOS 15 Sequoia. You have to manually download this experimental build using this URL:
https://www.provue.com/downloads/sparkle/PanoramaX/4502/PanoramaX.zip
In addition to my limited testing, a handful of Panorama X users have been using this for a few hours today. So far, all reports are . That said, I am definitely planning a follow up release in the very near future. And I would still recommend that if you haven’t already upgraded your computer to Sequoia, you probably still want to wait.
In addition to the Sequoia fix (all of the reported problems were caused by ONE new bug in a low level Apple API, see the detailed notes at the bottom of this post if you are interested), this new release also includes just over a dozen other improvements:
- Panorama no longer allows the user to click to change window order while a procedure is running.
- When opening a shared database Panorama prevents window switching or running other procedures until synchronization is finished.
- Implemented the webshare statement (brought over from Panorama 6.0).
- New nanzero( and nanerror( functions provide additional flexibility in dealing with invalid floating point values.
- The View and Action menus now work correctly with form and procedure names that contain the } character.
- Double chevron notation now works in the formulavalue function and statement, and formulacalc. (This means that it now works correctly in the Formula Workshop, and dialogs like Morph > Formula Fill.)
- The BinaryDataBuild( function now works correctly with double chevron notation.
- Fixed pattern( function for scientific/engineering notation with small numbers and negative numbers.
- Creating a new database with an imported text file with field names now strips off any blank lines from the beginning and end of imported data.
- The PrintToPDF statement COPIES option now works correctly if default printer specified.
- Updated Zip Code information with July 2024 data from US post office.
- Oops. Misspelled “dictionary” in seven error messages!! Now fixed.
- Documentation of info(“guid”) function now mentions UUID as well as GUID.
- Documentation corrections from David Thompson, Peter Newble, James Cook, Robert Ameeti, David Scott
For those that are interested, here is some background on what caused the problems with Sequoia. All of the problems resulted from a single new edge case bug in a low level macOS API. This is an API that goes all the way back to the 1990s, probably all the way back to NeXT OS. Apple has announced that for there own internal reasons, they are rewriting some of these old APIs in Swift. So my guess is that this old API was rewritten, and when writing the new code the programmer made a mistake in handling a particular unusual edge case. Unfortunately this unusual edge case was used by Panorama in dozens of places in the code (possibly hundreds). (Note that the API didn’t just change, the new behavior is definitely wrong - i.e. a bug. But only for an unusual edge case that possibly no one else ever uses.)
Once I understood the new bug, I was able to recode Panorama to avoid this edge case. This recode seems to work properly, but I’m going to do further research to make sure that a) I didn’t miss any spots where the edge case is a problem, and b) the new recode technique doesn’t cause any subtle new problems (I obviously don’t think so, but I want to take some time to make sure). So that’s why I’m planning a further minor release in the near future.
I don’t know if Apple has finished this rewrite of some old APIs, or if this is an ongoing project. If the latter (likely), then further problems of this sort may crop up in the future. Something for us all to look forward to, especially myself. In the near future I’ll speak to some Apple engineers I know to see if I can get any insight into this.