Re: Adding more add-ons to the core
A yearly disruption being what is expected, I submit that some systematic means be undertaken to determine what the most important and widely used add-ons are and that those functions be built into the core. I’m not saying that the add-on can be directly added, but the functionality can.
I don’t use many add-ons but I expect that there is swome very important functionality that relies on ad-ons.
actually, backward compatibility breaks will be an annual thing, according to NV Access. The reason being to modernize NVDA, to keep up with technology and market conditions, and in case we move to newer Python and dependencies, to take advantage of features offered in newer releases.
For now modifying the manifest will suffice. But as I hinted in this thread, the next big thing for add-ons community is already in the works, and when that happens, add-on code itself must be modified. Specifically, a crucial part of many add-ons will receive a syntax update due to internal changes to how specific constants are represented, and as a result, the old way of doing things is going away next year. This change partly stems from a desire for NVDA to conform more closely with certain programming practices, namely using a more elegant way of displaying a collection of constants or flags called an enumeration (enum for short). Old NvDA releases could not take advantage of it as enumerations were not introduced until Python 3.4, so in a way, NVDA source code is still in the midst of a Python 3.7 transition ,although focused on modernizing things.
Making things a bit complicated is that Python developers decided that the programming language will receive annual updates. Ideally NVDA should be on Python 3.9 by now, but during the course of a brief experiment with Python 3.8 earlier this year, critical issues with speech synthesizer support (specifically, SAPI4 support) and Windows 7 and 8.x support were found that prevented us (NVDA contributors) from moving to newer Python releases (for now). At some point I expect NVDA to move onto newer Python releases to take advantage of speed and code improvements, which will once again break add-ons, and since it is very risky to break compatibility in every release, NV Access decided that the best thing was limit compatibility breaks like this to once a year.
As for Golden Cursor (mentioned in another message): the closest equivalent is mouse Keys with mouse tracking from NVDA turned on. This works best if you've enabled beeps to indicate mouse position.
To answer Ella's question about Add-on Updater becoming part of NVDA Core: when I created this add-on three years ago, I intended that it will be part of NVDA Core eventually. Although it is too early to say, a variation is being planned by NV Access (more on that later).