Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
0b18089
Update to Python 3.11
seanbudd Sep 28, 2023
d69c98f
update changes
seanbudd Sep 28, 2023
ce59979
fix py2exe
seanbudd Sep 28, 2023
465ed71
fix compile
seanbudd Sep 28, 2023
5bd87a6
update linker subsystem
seanbudd Sep 28, 2023
573a09f
fixup isSupportedOS
seanbudd Oct 2, 2023
0acdbe9
drop nose as dependency
seanbudd Oct 3, 2023
cf5f960
fix server 2012 r2 ref
seanbudd Oct 3, 2023
c6fcafa
use xmlrunner for xml unit test output
seanbudd Oct 3, 2023
5e99bc6
fix unit test report name
seanbudd Oct 3, 2023
6145669
fix abstract method unit test regex changes
seanbudd Oct 3, 2023
0b1a9b7
fix lint
seanbudd Oct 3, 2023
35af804
remove unused keyword
seanbudd Oct 3, 2023
0d6970b
upgrade optimization level to 2
seanbudd Oct 3, 2023
d9aa2cd
fix uiaccess parsing
seanbudd Oct 3, 2023
4c2ac86
use round not int
seanbudd Oct 3, 2023
ef044ae
fixup configobj changes ref
seanbudd Oct 3, 2023
7e4bf82
Merge remote-tracking branch 'origin/master' into py311-min
seanbudd Oct 3, 2023
f3c3d14
fix up changes syntax
seanbudd Oct 4, 2023
f619ccc
fix up changes syntax
seanbudd Oct 4, 2023
c2e9fff
update manifest template to drop win7/8 support
seanbudd Oct 4, 2023
e4bc2f6
remove eoaProxy
seanbudd Oct 5, 2023
55d6ca5
lower optimization level to 0
seanbudd Oct 5, 2023
563048c
update changes
seanbudd Oct 5, 2023
0d7dd06
fix lint
seanbudd Oct 5, 2023
0cb887b
fix typing
seanbudd Oct 9, 2023
a5315ba
Merge remote-tracking branch 'origin/master' into py311-min
seanbudd Oct 9, 2023
b8124fb
update py2exe
seanbudd Oct 9, 2023
2385662
disable BRL api
seanbudd Oct 9, 2023
e4824be
fixup uiaccess for nvda_dmp
seanbudd Oct 9, 2023
d025aaf
fix up CLI for setup py2exe
seanbudd Oct 9, 2023
afa0d92
Add @codeofdusk attributions for Python 3.11 upgrade (#15609)
codeofdusk Oct 12, 2023
5cf56cd
Merge branch 'master' into py311-min
seanbudd Oct 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ init:
"INIT, $(Get-Date -Format 'o')"| Out-File ../timing.csv -Append

environment:
PY_PYTHON: 3.7-32
PY_PYTHON: 3.11-32
secure_authenticode_pass:
secure: Way+hJyhbiLG/cmCo4+dHHzS5DiSvk/45o6frnIQ27GBX6nVDsh7jwQ7fSnqxBRP
secure_ssh_pass:
Expand Down
4 changes: 2 additions & 2 deletions nvdaHelper/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ You should still build on the command line to verify errors.
- Press next
- Specify Debug Configuration Settings
- Build command line: `scons source`
- Preprocessor definitions (/D): `WIN32;_WINDOWS;_USRDLL;NVDAHELPER_EXPORTS;UNICODE;_CRT_SECURE_NO_DEPRECATE;LOGLEVEL=15;_WIN32_WINNT=_WIN32_WINNT_WIN7;NOMINMAX`
- Preprocessor definitions (/D): `WIN32;_WINDOWS;_USRDLL;NVDAHELPER_EXPORTS;UNICODE;_CRT_SECURE_NO_DEPRECATE;LOGLEVEL=15;_WIN32_WINNT=_WIN32_WINNT_WINBLUE;NOMINMAX`
Comment thread
seanbudd marked this conversation as resolved.
Resolved
- Include search paths (/I): `../include;../miscDeps/include;./;../build\x86_64;../include/minhook/include`
- Forced Included files (/FI): `winuser.h`
- Press next
Expand All @@ -90,7 +90,7 @@ You should still build on the command line to verify errors.
```
cl /Fobuild\x86\vbufBackends\gecko_ia2\gecko_ia2.obj /c build\x86\vbufBackends\gecko_ia2\gecko_ia2.cpp
/TP /EHsc /nologo /std:c++20 /permissive- /Od /MT /W3 /WX
/DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WIN7 /DNOMINMAX /DNDEBUG
/DUNICODE /D_CRT_SECURE_NO_DEPRECATE /DLOGLEVEL=15 /D_WIN32_WINNT=_WIN32_WINNT_WINBLUE /DNOMINMAX /DNDEBUG
/Iinclude /Imiscdeps\include /Ibuild\x86
/Z7
```
Expand Down
2 changes: 1 addition & 1 deletion projectDocs/dev/createDevEnvironment.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The NVDA source depends on several other packages to run correctly.
### Installed Dependencies
The following dependencies need to be installed on your system:

* [Python](https://www.python.org/), version 3.7, 32 bit
* [Python](https://www.python.org/), version 3.11, 32 bit
* Use latest minor version if possible.
* Microsoft Visual Studio 2019 or 2022:
* To replicate the production build environment, use the [version of Visual Studio 2019 that AppVeyor is using](https://www.appveyor.com/docs/windows-images-software/#visual-studio-2019).
Expand Down
27 changes: 10 additions & 17 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,21 @@ SCons==4.5.2
# NVDA's runtime dependencies
comtypes==1.2.0
pyserial==3.5
wxPython==4.1.1
git+https://github.com/DiffSK/configobj@3e2f4cc#egg=configobj
wxPython==4.2.1
configobj==5.0.8
Comment thread
seanbudd marked this conversation as resolved.
Resolved
requests==2.31.0
# Required to use a pinned old version for requests.
# py2exe fails to compile properly without this.
# This can be removed when upgrading py2exe to 0.13+ and python to 3.8+.
# https://github.com/Ousret/charset_normalizer/issues/253
charset-normalizer==2.1.1
# Pillow is an implicit dependency and requires zlib and jpeg by default, but we don't need it
Pillow==10.0.1 -C "zlib=disable" -C "jpeg=disable"

#NVDA_DMP requires diff-match-patch
fast_diff_match_patch==2.0.1

# Packaging NVDA
py2exe==0.11.1.0
py2exe==0.13.0.0

# For building developer documentation
sphinx==5.1.1
sphinx_rtd_theme==1.0.0

# Requirements for type checking.
# typing_extensions is incorporated in py3.8+, also available via mypy
typing_extensions==4.3.0
Comment thread
seanbudd marked this conversation as resolved.
Resolved
sphinx==7.2.6
sphinx_rtd_theme==1.3.0

# Requirements for automated linting
flake8 ~= 3.7.7
Expand All @@ -35,6 +28,6 @@ flake8-tabs == 2.1.0
nose==1.3.7
Comment thread
seanbudd marked this conversation as resolved.
Resolved

# Requirements for system tests
robotframework==3.2.2
robotremoteserver==1.1
robotframework-screencaplibrary==1.5.0
robotframework==6.1.1
robotremoteserver==1.1.1
robotframework-screencaplibrary==1.6.0
4 changes: 2 additions & 2 deletions sconstruct
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ if nvdaVenv != virtualEnv:
print("Warning: SCons launched within a custom Python virtual environment.")

# Variables for storing required version of Python, and the version which is used to run this script.
requiredPythonMajor ="3"
requiredPythonMinor = "7"
requiredPythonMajor = "3"
requiredPythonMinor = "11"
requiredPythonArchitecture = "32bit"
installedPythonMajor = str(sys.version_info.major)
installedPythonMinor = str(sys.version_info.minor)
Expand Down
2 changes: 0 additions & 2 deletions source/UIAHandler/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@

from typing import (
List,
)
from typing_extensions import (
Protocol,
)

Expand Down
4 changes: 1 addition & 3 deletions source/_addonStore/models/addon.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@
Generator,
List,
Optional,
Union,
)
from typing_extensions import (
Protocol,
Union,
)

from requests.structures import CaseInsensitiveDict
Expand Down
4 changes: 1 addition & 3 deletions source/_addonStore/models/status.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,10 @@
Dict,
Optional,
OrderedDict,
Protocol,
Set,
TYPE_CHECKING,
)
from typing_extensions import (
Protocol,
)

import globalVars
from logHandler import log
Expand Down
2 changes: 1 addition & 1 deletion source/_addonStore/models/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
from typing import (
NamedTuple,
Optional,
Protocol,
)
from typing_extensions import Protocol # Python 3.8 adds native support
import addonAPIVersion


Expand Down
2 changes: 1 addition & 1 deletion source/config/aggregatedSection.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

from typing import (
Dict,
Protocol,
Union,
)
from typing_extensions import Protocol


class _SupportsStrT(Protocol):
Expand Down
5 changes: 1 addition & 4 deletions source/config/featureFlagEnums.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,13 @@
"""
import enum
import typing
from typing import Protocol

from utils.displayString import (
DisplayStringEnum,
_DisplayStringEnumMixin,
)

from typing_extensions import (
Protocol, # Python 3.8 adds native support
)


class FeatureFlagEnumProtocol(Protocol):
""" All feature flags are expected to have a "DEFAULT" value.
Expand Down
2 changes: 1 addition & 1 deletion source/globalVars.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@
from typing import (
TYPE_CHECKING,
List,
Literal,
Optional,
)
from typing_extensions import Literal

if TYPE_CHECKING:
import documentBase # noqa: F401 used for type checking only
Expand Down
12 changes: 8 additions & 4 deletions source/louisHelper.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
# louisHelper.py
# A part of NonVisual Desktop Access (NVDA)
# This file is covered by the GNU General Public License.
# See the file COPYING for more details.
# Copyright (C) 2018 NV Access Limited, Babbage B.V.
# Copyright (C) 2018-2023 NV Access Limited, Babbage B.V.

"""Helper module to ease communication to and from liblouis."""

import louis
from logHandler import log
import config
from logHandler import log
import globalVars
import os

with os.add_dll_directory(globalVars.appDir):
import louis


LOUIS_TO_NVDA_LOG_LEVELS = {
louis.LOG_ALL: log.DEBUG,
Expand Down
14 changes: 11 additions & 3 deletions user_docs/en/changes.t2t
Comment thread
seanbudd marked this conversation as resolved.
Resolved
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,17 @@ Please refer to [the developer guide https://www.nvaccess.org/files/nvda/documen

- Note: this is an Add-on API compatibility breaking release.
Add-ons will need to be re-tested and have their manifest updated.
- Updated Comtypes to version 1.2.0. (#15513)
- Updated fast_diff_match_patch to version 2.0.1. (#15514)
- Updated SCons to version 4.5.2. (#15529)
- NVDA is now built with Python 3.11 (#12064)
Comment thread
seanbudd marked this conversation as resolved.
Resolved
Comment thread
seanbudd marked this conversation as resolved.
Resolved
- Updated pip dependencies:
- configobj to 5.0.8. (#15544)
Comment thread
seanbudd marked this conversation as resolved.
Resolved
- Comtypes to 1.2.0. (#15513)
- fast_diff_match_patch to 2.0.1. (#15514)
- py2exe to 0.13.0.0. (#15544)
- robotframework to 6.1.1. (#15544)
- SCons to 4.5.2. (#15529)
- sphinx to 7.2.6. (#15544)
- wxPython to 4.2.1 (#12551)
-
- Added extension point: ``treeInterceptorHandler.post_browseModeStateChange``. (#14969)
-

Expand Down
6 changes: 2 additions & 4 deletions user_docs/en/userGuide.t2t
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,7 @@ Major highlights include:
-

++ System Requirements ++[SystemRequirements]
- Operating Systems: all 32-bit and 64-bit editions of Windows 7, Windows 8, Windows 8.1, Windows 10, Windows 11, and all Server Operating Systems starting from Windows Server 2008 R2.
- For Windows 7, NVDA requires Service Pack 1 or higher.
- For Windows Server 2008 R2, NVDA requires Service Pack 1 or higher.
- Operating Systems: all 32-bit and 64-bit editions of Windows 8.1, Windows 10, Windows 11, and all Server Operating Systems starting from Windows Server 2012.
Comment thread
seanbudd marked this conversation as resolved.
Resolved
- both AMD64 and ARM64 variants of Windows are supported.
-
- at least 150 MB of storage space.
Expand Down Expand Up @@ -2935,7 +2933,7 @@ For an even more extensive list of free and commercial synthesizers that you ca

++ eSpeak NG ++[eSpeakNG]
The [eSpeak NG https://github.com/espeak-ng/espeak-ng] synthesizer is built directly into NVDA and does not require any other special drivers or components to be installed.
On Windows 7, 8 and 8.1, NVDA uses eSpeak NG by default ([Windows OneCore #OneCore] is used in Windows 10 and later by default).
On Windows 8.1 NVDA uses eSpeak NG by default ([Windows OneCore #OneCore] is used in Windows 10 and later by default).
As this synthesizer is built into NVDA, this is a great choice for when running NVDA off a USB thumb drive on other systems.

Each voice that comes with eSpeak NG speaks a different language.
Expand Down
2 changes: 1 addition & 1 deletion venvUtils/ensureAndActivate.bat
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ set scriptsDir=%here%
set venvLocation=%here%\..\.venv

rem Ensure the environment is created and up to date
py -3.7-32 "%scriptsDir%\ensureVenv.py"
py -3.11-32 "%scriptsDir%\ensureVenv.py"
if ERRORLEVEL 1 goto :EOF

rem Set the necessary environment variables to have Python use this virtual environment.
Expand Down
11 changes: 0 additions & 11 deletions venvUtils/ensureVenv.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,15 +173,4 @@ def ensureVenvAndRequirements():
"Please deactivate the current Python virtual environment and try again."
)
sys.exit(1)
if (
sys.version_info.minor == 7
and sys.version_info.micro == 6
):
# #10696: Building with Python 3.7.6 fails. Inform user and exit.
Py376FailMsg = (
"Error: Building with Python 3.7.6 is not possible.\n"
"Please use a more recent version of Python 3."
)
print(Py376FailMsg)
sys.exit(1)
ensureVenvAndRequirements()