Re: Community notice: upcoming NVDA 2019.3 and community add-ons


Some use UTF-8, others use UTF-8 with BOM (byte order mark). You don't have to worry about it at this point.

-----Original Message-----
From: <> On Behalf Of zahra
Sent: Friday, July 26, 2019 8:01 AM
Subject: Re: [nvda] Community notice: upcoming NVDA 2019.3 and community add-ons

hi joseph.
you mentioned that addons for python3 should use utf8 without bom.
what encoding addons for python2 use now?

On 7/26/19, Joseph Lee <joseph.lee22590@...> wrote:
Hi NVDA community,

I'm Joseph Lee, a volunteer code contributor for NVDA screen reader
project and the chief investigator for Python 3 work. First, I would
like to thank my colleagues at NV Access and beyond for achieving a
milestone in Python 3
work: alpha snapshots (master branch in source code) being powered by
Python 3.

To the matter at hand: NVDA 2019.3 (Threshold, scheduled for later
year) will feature backwards incompatible changes, including speech
refactor and Python 3. Because of this, many community add-ons
(including add-ons hosted on will need to be
modified to take advantage of these changes, especially when it comes
to supporting Python 3.
Because Python 2 to 3 transition is a huge undertaking, I expect
add-ons community will take several weeks to months (or longer) to
transition vast majority of add-ons to Python 3, and collaboration is
a key to success in this endeavor.

The following is a set of steps members of the community should take:

For add-on authors:

1. Prepare your mindset for Python 3 by reading several porting guides.
The official one can be found at Another useful one
(titled Conservative Python 3 Porting Guide) can be found at
2. If you haven't done so, please install Python 3.7 so you can
experiment with differences between Python 2 and 3.
3. Once you are comfortable with Python 3, please test your add-on(s)
with latest NVDA alpha snapshots, preferably with build 18195 or
later. If you need to keep using current add-ons or need to compare
Python 2 versus 3, please use a portable copy of NVDA to test your
4. Make necessary changes. It is up to you in regards to supporting
older NVDA releases or not; if yes, you must write code compatible
with both Python 2 and 3, otherwise please use Python 3.
5. After testing your add-ons, please release a Python 3 version of
your add-on(s) for testing. You can either use development channel or
a separate package. As you do so, please send a notice to the NVDA
community regarding your add-ons and their compatibility with upcoming NVDA release.
6. Please listen to feedback and make changes based on what users are
7. I advise completing Python 3 transition work for add-ons by end of
this year, or by 2019.3 RC if possible. Although it won't be a while
before beta comes out, targeting release candidate ensures changes can
be made based on feedback from beta testers.
8. Keep listening to feedback after NvDA 2019.3 stable is released and
make necessary changes if any.

For users:

1. If you are adventurous, please test alpha snapshots as a portable
copy. I don't advise using an install copy for now until your favorite
add-ons are declared compatible.
2. Please send feedback to add-on authors if you find issues with
add-ons. An announcement has been posted on community add-ons website
detailing compatible add-ons, issues with incompatible add-ons, and
contact information for authors. The announcement can be found at
3. When authors announce add-on compatibility notices, please read
those notices and take note of issues.

Frequently asked questions:

Q. Can I make an add-on "compatible" by editing the manifest file?

No. Although it'll give you a sense of "assurance" that your add-on
will be considered "compatible" by NVDA, you will need to obtain a
version of an add-on compatible with Python 3, speech refactor, and other changes.

Q. I need to report issues with add-ons not found on community add-ons

For these (especially speech synthesizer add-ons), you must contact
the authors listed under Add-ons Manager.

Q. I am using an add-on that is declared compatible, yet NVDA won't
load due to an error about configobj.

This is caused by manifest file encoding. Add-ons must now use UTF-8
(without BOM). Vocalizer (add-on 2.x) is affected by this bug and
possibly others.

Q. When starting NVDA, I get a runtime error and it becomes silent.

The most likely cause is an add-on that uses a C extension (.pyd)
module that won't work properly on Python 3. Disabling the add-on will
allow NVDA to proceed with startup. For add-ons affected by this,
authors must now compile C extensions with Visual Studio 2017, the
compiler used to compile Python 3.7.

Q. What about add-ons noted as end of life?

Please contact add-on authors about their plans to support Python 3.
One such add-on is Control Usage Assistant, and I (Joseph Lee) will
make an announcement about it very soon.

Thank you. And with that, let Python 3 porting begin!



By God,
were I given all the seven heavens
with all they contain
in order that
I may disobey God
by depriving an ant
from the husk of a grain of barley,
I would not do it.
imam ali

Join to automatically receive all group messages.