Re: SystrayList add-on: version 3.x, Python 3, end of support for unsupported Windows releases


 

Hi,

For the foreseeable future, yes.

Cheers,

Joseph

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Gene
Sent: Wednesday, October 3, 2018 12:05 PM
To: nvda@nvda.groups.io
Subject: Re: [nvda] SystrayList add-on: version 3.x, Python 3, end of support for unsupported Windows releases

 

After the current transition, is it likely that compatible add-ons will continue to be compatible for future versions of Python 3?

 

Gene

----- Original Message -----

From: Joseph Lee

Sent: Wednesday, October 03, 2018 1:37 PM

Subject: Re: [nvda] SystrayList add-on: version 3.x, Python 3, end of support for unsupported Windows releases

 

Hi,

Current release process for Python 3.x notes that each 3.x release receives support for five years. We’ll move along Python 3.x releases.

As for what Python 4.0.0 will be like, as of 2018, the crystal ball isn’t even showing that version yet.

As for what add-on authors will do, it is up to them to decide. What we the community can do is provide guidelines and recommendations, as well as coordinate our efforts.

Cheers,

Joseph

 

From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Gene
Sent: Wednesday, October 3, 2018 11:13 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] SystrayList add-on: version 3.x, Python 3, end of support for unsupported Windows releases

 

What will happen when Python 3 reaches end of life?  Is all this going to be gone through again when Python 4 becomes the supported version?  How many add-on developers are going to be willing to go through this every ten years?  Doesn't each version of Python have a life cycle of ten years? 

 

This needs further clarification.

 

Gene

----- Original Message -----

From: Joseph Lee

Sent: Wednesday, October 03, 2018 11:58 AM

Subject: [nvda] SystrayList add-on: version 3.x, Python 3, end of support for unsupported Windows releases

 

Dear NVDA community,

 

A few days ago the add-ons community were told the following:

 

SystrayList add-on 3.0 will make the code compatible with Python 3 and make it work with old Windows releases.

 

Subsequent comments indicate that, although we still need to support old Windows releases if given a chance, we should eventually move onto newer releases. Thus, the following will happen in November 2018 and beyond:

 

  • November 2018: SystrayList add-on 3.0 will be released, migrating source code to Python 3. The code will still be compatible with Python 2, thus it can be used by people still using Windows XP and Vista.
  • Once Python 3 transition is declared by NV Access: one final SystrayList add-on will be released for old Windows releases.
  • Once Python 3 version of NVDA ships: whichever version of SystrayList add-on 3.x will be out by then, that version will absolutely require Python 3, thus completely dropping support for Windows XP and Vista.

 

You don’t really have to use this add-on to access Taskbar and notification area – you can press Windows+T to move to Taskbar and Windows+B to move focus to notification area. The add-on is there for convenience.

 

As for the question of Python 3 and old Windows releases: the version of Python 3 NV Access and some developers are looking at does not support Windows releases earlier than 7. There is a version of Python 3 (version 3.4) that does support old Windows releases, but by the time NVDA moves to Python 3, that Python version will reach end of life (released in 2014, Python 3.4’s scheduled end of life is 2019). Coupled with the fact that recent NVDA requires Windows 7, it was decided to end support for old Windows releases from SystrayList add-on once we move to Python 3.

 

This naturally raises the question: if Python 3 drops support for Windows XP and Vista, and if one add-on drops support for these, how about other add-ons? Yes, other add-ons that exclusively rely on Python 2 will not work in Python 3 version of NVDA. There are some add-ons the community has come to rely on that assumes Python 2 from the outset, and for some, it is difficult to port the source code to Python 3 without extensive testing and modifications. This is especially true for speech synthesizer and braille display driver add-ons, as the way Python interprets texts has changed fundamentally in Python 3. This also means once we do use Python 3 in NVDA Core itself, we must say goodbye to Windows XP and Vista.

 

So what should the add-ons community do, and in extension, what can the global NVDA community do? Although the details of the transition is still being worked out (with some developers researching possible showstoppers), I recommend the following to be done for now until NV Access announces transition to Python 3:

 

  1. Contact add-on authors and talk to them about their feelings about Python 3 transition.
  2. If we can’t contact authors of add-ons, do let the community know immediately so we can come up with a contingency plan (likely taking ownership of the add-on project by the community).
  3. If you are an add-on author, think about how Python 3 can affect your add-ons and plan accordingly. You don’t have to port your add-ons to Python 3 just yet.

 

For users of add-ons I created or am maintaining (SystrayList add-on included), I’ll make sure my add-ons are compatible with Python 3 the first day Python 3 edition of NVDA is released. Speaking of that progress, version 18.10 of Object Location Tones and ObjPad are Python 3 compatible, and in November, SystrayList 3.0.

 

Thanks.

Cheers,

Joseph

Join nvda@nvda.groups.io to automatically receive all group messages.