mhammond/pywin32 (pywin32)
### [`v307`](https://redirect.github.com/mhammond/pywin32/blob/HEAD/CHANGES.txt#Build-307-released-2024-10-04)
##### Release process changes
pywin32 is now released from artifacts created by Github actions, whereas previously they were
created from an environment where certain tools and libraries were located and installed
by hand.
This means some capabilities are no longer provided - this includes some documentation artifacts, such
as the .chm file, certain MAPI libraries etc, and .exe installers.
##### pywin32
- Remove obsolete and unused `pywin.is_platform_unicode` ([#2343](https://redirect.github.com/mhammond/pywin32/issues/2343), [@Avasam](https://redirect.github.com/Avasam))
- Fix `isapi.ThreadPoolExtension`'s printing of exception traceback broken on Python 3.8+ ([#2312](https://redirect.github.com/mhammond/pywin32/issues/2312), [@Avasam](https://redirect.github.com/Avasam))
- Add RealGetWindowClass ([#2299](https://redirect.github.com/mhammond/pywin32/issues/2299), [@CristiFati](https://redirect.github.com/CristiFati))
- Make it compile on Python 3.13 ([#2260](https://redirect.github.com/mhammond/pywin32/issues/2260), [@clin1234](https://redirect.github.com/clin1234))
- Fixed accidentally trying to raise a `str` instead of an `Exception` in ([#2270](https://redirect.github.com/mhammond/pywin32/issues/2270), [@Avasam](https://redirect.github.com/Avasam))
- `Pythonwin/pywin/debugger/debugger.py`
- `Pythonwin/pywin/framework/dlgappcore.py`
- `com/win32com/server/policy.py`
- `win32/Lib/regutil.py`
- `win32/scripts/VersionStamp/vssutil.py`
- Removed the following unused symbols. They were meant to be used as Exceptions, but were accidentally strings ([#2270](https://redirect.github.com/mhammond/pywin32/issues/2270), [#2269](https://redirect.github.com/mhammond/pywin32/issues/2269), [@Avasam](https://redirect.github.com/Avasam))
- `pywin.debugger.debugger.error`
- `pywin.framework.dlgappcore.error`
- `win32com.server.policy.error`
- `regutil.error`
- `win32.scripts.VersionStamp.vssutil.error`
- `win32com.universal.com_error`
- `win32com.client.build.error`
- `win32com.client.genpy.error`
- Add EnumDesktopWindows ([#2219](https://redirect.github.com/mhammond/pywin32/issues/2219), [@CristiFati](https://redirect.github.com/CristiFati))
- Marked `exc_type` and `exc_traceback` in `win32comext.axscript.client.error.AXScriptException.__init__` as deprecated. ([#2236](https://redirect.github.com/mhammond/pywin32/issues/2236) , [@Avasam](https://redirect.github.com/Avasam))
They are now unused and all information is taken from the `exc_value` parameter.
- Fixed non-overriden `pywin.scintilla.formatter.Formatter.ColorizeString` raising `TypeError` instead of `RuntimeError` due to too many parameters ([#2216](https://redirect.github.com/mhammond/pywin32/issues/2216), [@Avasam](https://redirect.github.com/Avasam))
- Fixed broken since Python 3 tokenization in `win32comext.axdebug.codecontainer.pySourceCodeContainer.GetSyntaxColorAttributes` ([#2216](https://redirect.github.com/mhammond/pywin32/issues/2216), [@Avasam](https://redirect.github.com/Avasam))
- Fixed a `TypeError` due to incorrect kwargs in `win32comext.axscript.client.pydumper.Register` ([#2216](https://redirect.github.com/mhammond/pywin32/issues/2216), [@Avasam](https://redirect.github.com/Avasam))
- Fixed error reporting of file copy failure for for installing debug dlls ([#2216](https://redirect.github.com/mhammond/pywin32/issues/2216), [@Avasam](https://redirect.github.com/Avasam))
- Fixed `py.exe -m win32verstamp` command and other quote typos caused by Implied String Concatenation ([#2225](https://redirect.github.com/mhammond/pywin32/issues/2225), [@Avasam](https://redirect.github.com/Avasam))
- Fixed tons of quote-related typos in strings, docs and comments ([#2271](https://redirect.github.com/mhammond/pywin32/issues/2271) , [@Avasam](https://redirect.github.com/Avasam))
- Fixed VT_SAFEARRAY(VT_RECORD) which were missing the last element ([#2247](https://redirect.github.com/mhammond/pywin32/issues/2247))
- Fixed `MFC redist DLLs not found` by preferring corresponding version but accepting different version ([#2248](https://redirect.github.com/mhammond/pywin32/issues/2248), [@andreabravetti](https://redirect.github.com/andreabravetti))
- Fixed `pywintypes.error: (5, 'RegOpenKeyEx', 'Access is denied.')` when running service with debug parameter and no elevation ([#2238](https://redirect.github.com/mhammond/pywin32/issues/2238), [@jmartens](https://redirect.github.com/jmartens))
- Fixed handling of `SyntaxError` exception from a Windows Scripting Host Python Script on Python 3.10+ ([#2235](https://redirect.github.com/mhammond/pywin32/issues/2235), [@nbbeatty](https://redirect.github.com/nbbeatty))
- Add `CredGetSessionTypes` support ([#2232](https://redirect.github.com/mhammond/pywin32/issues/2232), [@CristiFati](https://redirect.github.com/CristiFati))
- Fixed `win32clipboard` increasing size of data when `SetClipboardData` used with `CF_DIB` ([#2184](https://redirect.github.com/mhammond/pywin32/issues/2184), [@CristiFati](https://redirect.github.com/CristiFati))
- Add `StoreLogoff` to `PyIMsgStore` to prevent possible hang when MAPI uninitializes or during session logoff ([#2196](https://redirect.github.com/mhammond/pywin32/issues/2196), [@avivbrg](https://redirect.github.com/avivbrg))
- Enhance CredDelete to work with dictionaries ([#2198](https://redirect.github.com/mhammond/pywin32/issues/2198), [@CristiFati](https://redirect.github.com/CristiFati))
- Add UnregisterHotKey support ([#2185](https://redirect.github.com/mhammond/pywin32/issues/2185), [@CristiFati](https://redirect.github.com/CristiFati))
- IFolderView COM client support ([#2180](https://redirect.github.com/mhammond/pywin32/issues/2180), [#2181](https://redirect.github.com/mhammond/pywin32/issues/2181), [#2182](https://redirect.github.com/mhammond/pywin32/issues/2182), [@CristiFati](https://redirect.github.com/CristiFati))
- Release GIL when calling CreateService or StartService ([#2062](https://redirect.github.com/mhammond/pywin32/issues/2062), [@adamkbmc](https://redirect.github.com/adamkbmc))
- Drop support for Internet Explorer 10 ([#2229](https://redirect.github.com/mhammond/pywin32/issues/2229), [@Avasam](https://redirect.github.com/Avasam))
- Removed considerations for never-built Windows CE ([#2218](https://redirect.github.com/mhammond/pywin32/issues/2218), [@Avasam](https://redirect.github.com/Avasam))
- Stopped building `winxpgui` ([#2217](https://redirect.github.com/mhammond/pywin32/issues/2217), [@Avasam](https://redirect.github.com/Avasam))
- Raise `DeprecationWarning` when importing `winxpgui`
- Added `GetWindowRgnBox` to `win32gui`
- `winxpgui.GetConsoleWindow` now aliases `win32console.GetConsoleWindow`
- Everything else is re-exported from `win32gui`
- Fixed the `win32com.demos.ietoolbar` demo ([#2217](https://redirect.github.com/mhammond/pywin32/issues/2217), [@Avasam](https://redirect.github.com/Avasam))
- Fixed undefined names reported by Flake8/Ruff ([#2101](https://redirect.github.com/mhammond/pywin32/issues/2101), [@Avasam](https://redirect.github.com/Avasam), [@kxrob](https://redirect.github.com/kxrob))
Fixed the following public API:
- Fixed `NameError` in `pywin.Demos`'s `fontdemo.FontView.SetFont`
- The `Pythonwin/pywin/Demos/ocx/msoffice` demo now uses the docName argument
- Fixed `NameError` in `WordFrame.Create`, even though it wasn't used
- Fixed a handful of `NameError` in `pywin.dialogs.ideoptions.OptionsPropPage` with format
- Fixed `AttributeError` in `pywin.framework.dlgappcore.AppDialog.OnPaint`
- Fixed trying to write banner to `sdterr` in `pywin.framework.interact.InteractiveCore.Init`
- Fixed a `NameError` in `pywin.framework.mdi_pychecker.TheDocument.doSearch`
- Removes unusable `HandleToUlong`, `UlongToHandle`, `UlongToPtr` and `UintToPtr` from `pywin.scintilla.scintillacon`
- Fixed a `NameError` in `win32comext.axscript.client.pydumper.Register`
- Fixed a `NameError` in `win32comext.shell.demos.servers.context_menu.ShellExtension.QueryContextMenu`
- Fixed a `NameError` in `win32comext.shell.demos.servers.shell_view.ScintillaShellView.CreateViewWindow`
The following methods no longer throw errors (although their implementation is still unvalidated):
- `mmsystem.MEVT_EVENTTYPE`
- `mmsystem.MEVT_EVENTPARM`
- `mmsystem.MCI_MSF_MINUTE`
- `mmsystem.MCI_MSF_SECOND`
- `mmsystem.MCI_TMSF_TRACK`
- `mmsystem.MCI_TMSF_MINUTE`
- `mmsystem.MCI_TMSF_SECOND`
- `mmsystem.MCI_TMSF_FRAME`
- `mmsystem.MCI_HMS_HOUR`
- `mmsystem.MCI_HMS_MINUTE`
- `mmsystem.MCI_HMS_SECOND`
- `mmsystem.DIBINDEX`
- `winnt.IMAGE_SNAP_BY_ORDINAL`
- `winnt.IMAGE_ORDINAL`
- Removed `Unicode` and `UnicodeType` from `pywintypes` and `win32api` ([#2200](https://redirect.github.com/mhammond/pywin32/issues/2200), [@Avasam](https://redirect.github.com/Avasam))
- Deprecate `afxres` in favor of `pywin.mfc.afxres`. The modules were identical ([#2177](https://redirect.github.com/mhammond/pywin32/issues/2177), [@Avasam](https://redirect.github.com/Avasam))
- Improved `DispatcherWin32dbg`'s deprecation warning and raise an error when used ([#2145](https://redirect.github.com/mhammond/pywin32/issues/2145), [@Avasam](https://redirect.github.com/Avasam))
- Removed obsolete/legacy way of registering a Pythonwin app and its Idle handlers from `pywin.framework.app` ([#2144](https://redirect.github.com/mhammond/pywin32/issues/2144), [@Avasam](https://redirect.github.com/Avasam))
- Removed unused `win32comext.axscript.server.error` ([#2202](https://redirect.github.com/mhammond/pywin32/issues/2202), [@Avasam](https://redirect.github.com/Avasam))
- Removed deprecated `win32com.server.exception.Exception` ([#2142](https://redirect.github.com/mhammond/pywin32/issues/2142), [@Avasam](https://redirect.github.com/Avasam))
- Removed long-deprecated `UnicodeToString` param from multiple methods ([#2143](https://redirect.github.com/mhammond/pywin32/issues/2143), [@Avasam](https://redirect.github.com/Avasam))
- Fixed `win32api.SetClassWord` being overwritten by `win32api.SetWindowWord` ([#2199](https://redirect.github.com/mhammond/pywin32/issues/2199), [@Avasam](https://redirect.github.com/Avasam))
- If you were using `win32api.SetClassWord` for its current behaviour, use `win32api.SetWindowWord` instead.
- This also adds missing support for `win32api.SetWindowWord`
- Annotated module-level variables with ambiguous typing ([#2175](https://redirect.github.com/mhammond/pywin32/issues/2175), [@Avasam](https://redirect.github.com/Avasam))
- `win32com.client.build.NoTranslateMap` is now a `set` ([#2176](https://redirect.github.com/mhammond/pywin32/issues/2176), [@Avasam](https://redirect.github.com/Avasam))
- Fixed `ModuleNotFoundError: No module named 'dialog'` in `pywin.tools.regpy` ([#2187](https://redirect.github.com/mhammond/pywin32/issues/2187), [@Avasam](https://redirect.github.com/Avasam))
- Fixed passing a `float` to `range` in `win32pdhquery.Query.collectdatafor` ([#2170](https://redirect.github.com/mhammond/pywin32/issues/2170), [@Avasam](https://redirect.github.com/Avasam))
- Check that the filename w/o extension ends with `_d` rather than checking for `_d` anywhere in the file path ([#2169](https://redirect.github.com/mhammond/pywin32/issues/2169), [@Avasam](https://redirect.github.com/Avasam))
- Cleaned up and fixed Axdebug ([#2126](https://redirect.github.com/mhammond/pywin32/issues/2126), [@Avasam](https://redirect.github.com/Avasam))
- `win32comext.axdebug.codecontainer.SourceCodeContainer` now uses the `debugDocument` parameter
- `win32comext.axdebug.codecontainer` script can now be run independent of location
- Fixed Method Resolution Order issue in `win32comext.axdebug.documents` (also [#2071](https://redirect.github.com/mhammond/pywin32/issues/2071), [@wxinix-2022](https://redirect.github.com/wxinix-2022))
- Fixed undefined names (`NameError`) in `win32comext.axdebug.expressions.DebugProperty.GetPropertyInfo`
- Removed unused `win32comext.axdebug.util.all_wrapped`
- Fixed multiple `ModuleNotFoundError` in `win32comext.axdebug` ([#1983](https://redirect.github.com/mhammond/pywin32/issues/1983), [@Avasam](https://redirect.github.com/Avasam))
- Change `mbcs` encoding to `utf-8` in `com.win32com.client` ([#2097](https://redirect.github.com/mhammond/pywin32/issues/2097), [@Avasam](https://redirect.github.com/Avasam))
- Avoid using `importlib` directly ([#2123](https://redirect.github.com/mhammond/pywin32/issues/2123), [@Avasam](https://redirect.github.com/Avasam))
- Replace most usages of deprecated `distutils`:
- Replace distutils.dep_util with setuptools.modified ([#2148](https://redirect.github.com/mhammond/pywin32/issues/2148), [@Avasam](https://redirect.github.com/Avasam))
- Replaced `distutils.FileList` usage with `pathlib` ([#2138](https://redirect.github.com/mhammond/pywin32/issues/2138), [@Avasam](https://redirect.github.com/Avasam))
- Replace `distutils.log` with `logging` ([#2134](https://redirect.github.com/mhammond/pywin32/issues/2134), [@Avasam](https://redirect.github.com/Avasam))
- Replace `distutils` with direct `setuptools` equivalents where possible ([#2134](https://redirect.github.com/mhammond/pywin32/issues/2134), [@Avasam](https://redirect.github.com/Avasam))
- Replaced usages of the removed (in Python 3.12) `imp` module ([#2113](https://redirect.github.com/mhammond/pywin32/issues/2113), [@Avasam](https://redirect.github.com/Avasam))
- Fixed registering Python as a scripting language for `axscript`
- Fixed `isapi` install
- Use collection literals and comprehensions where applicable (slight performance improvement) ([#2108](https://redirect.github.com/mhammond/pywin32/issues/2108), [@Avasam](https://redirect.github.com/Avasam))
- Cleanup obsolete code for unsupported Python versions ([#1990](https://redirect.github.com/mhammond/pywin32/issues/1990), [#2127](https://redirect.github.com/mhammond/pywin32/issues/2127), [#2205](https://redirect.github.com/mhammond/pywin32/issues/2205), [#2214](https://redirect.github.com/mhammond/pywin32/issues/2214), [@Avasam](https://redirect.github.com/Avasam))
The following public names have been removed:
- `pywin.framework.app.Win32RawInput`
- `win32com.client.makepy.error`
- Long obsoleted `dbi` module, use the `odbc` module instead
- `win32com.client.dynamic.MakeMethod`
Added support for the following Python 3 methods:
- `pywin.mfc.dialog.Dialog.__contains__`
- `win32com.client.CoClassBaseClass.__bool__`
- `win32com.client.combrowse.HLIRoot.__lt__`
- `win32com.client.genpy.WritableItem.__lt__`
- `__bool__` in classes generated by `win32com.client.genpy.WritableItem.WriteClassBody`
- `win32/Demos`'s `win32clipboardDemo.Foo.__lt__`
- `win32timezone._SimpleStruct.__le__` (subclassed by `SYSTEMTIME`, `TIME_ZONE_INFORMATION`, `DYNAMIC_TIME_ZONE_INFORMATION`, `TimeZoneDefinition`)
The following methods no longer throw errors (although their implementation is still unvalidated):
- `winnt.PRIMARYLANGID`
- `winnt.SUBLANGID`
- `winnt.LANGIDFROMLCID`
- `winnt.SORTIDFROMLCID`
- Removed obsolete compatibility aliases ([#2087](https://redirect.github.com/mhammond/pywin32/issues/2087), [@Avasam](https://redirect.github.com/Avasam))
The following public names have been removed:
- `win32comext.mapi.mapiutil.TupleType`
- `win32comext.mapi.mapiutil.ListType`
- `win32comext.mapi.mapiutil.IntType`
- `netbios.byte_to_int`
- Resolved invalid string escapes warnings ([#2045](https://redirect.github.com/mhammond/pywin32/issues/2045), [#2124](https://redirect.github.com/mhammond/pywin32/issues/2124), [@Avasam](https://redirect.github.com/Avasam))
- Idiomatic type comparisons. Better handling of subclasses. ([#1991](https://redirect.github.com/mhammond/pywin32/issues/1991), [@Avasam](https://redirect.github.com/Avasam))
- Cleaned up obsolete and redundant code (this should not directly affect the end-user):
- Update and standardise obsolete `OSError` aliases ([#2107](https://redirect.github.com/mhammond/pywin32/issues/2107), [@Avasam](https://redirect.github.com/Avasam))
- Removed redundant and obsolete references to older python unicode compatibility ([#2085](https://redirect.github.com/mhammond/pywin32/issues/2085), [@Avasam](https://redirect.github.com/Avasam))
- Use byte-string (`b""`) for constant bytes values instead of superfluous `.encode` calls ([#2046](https://redirect.github.com/mhammond/pywin32/issues/2046), [@Avasam](https://redirect.github.com/Avasam))
- Cleaned up unused imports ([#1986](https://redirect.github.com/mhammond/pywin32/issues/1986), [#2051](https://redirect.github.com/mhammond/pywin32/issues/2051), [#1990](https://redirect.github.com/mhammond/pywin32/issues/1990), [#2124](https://redirect.github.com/mhammond/pywin32/issues/2124), [#2126](https://redirect.github.com/mhammond/pywin32/issues/2126), [@Avasam](https://redirect.github.com/Avasam))
- Removed duplicated declarations, constants and definitions ([#2050](https://redirect.github.com/mhammond/pywin32/issues/2050) , [#1950](https://redirect.github.com/mhammond/pywin32/issues/1950), [#1990](https://redirect.github.com/mhammond/pywin32/issues/1990), [@Avasam](https://redirect.github.com/Avasam))
- Small generalized optimization by using augmented assignements (in-place operators) where possible ([#2274](https://redirect.github.com/mhammond/pywin32/issues/2274), [@Avasam](https://redirect.github.com/Avasam))
- General speed and size improvements due to all the removed code. ([#2046](https://redirect.github.com/mhammond/pywin32/issues/2046), [#1986](https://redirect.github.com/mhammond/pywin32/issues/1986), [#2050](https://redirect.github.com/mhammond/pywin32/issues/2050), [#1950](https://redirect.github.com/mhammond/pywin32/issues/1950), [#2085](https://redirect.github.com/mhammond/pywin32/issues/2085), [#2087](https://redirect.github.com/mhammond/pywin32/issues/2087), [#2051](https://redirect.github.com/mhammond/pywin32/issues/2051), [#1990](https://redirect.github.com/mhammond/pywin32/issues/1990), [#2106](https://redirect.github.com/mhammond/pywin32/issues/2106), [#2127](https://redirect.github.com/mhammond/pywin32/issues/2127), [#2124](https://redirect.github.com/mhammond/pywin32/issues/2124), [#2126](https://redirect.github.com/mhammond/pywin32/issues/2126), [#2177](https://redirect.github.com/mhammond/pywin32/issues/2177), [#2218](https://redirect.github.com/mhammond/pywin32/issues/2218), [#2202](https://redirect.github.com/mhammond/pywin32/issues/2202), [#2205](https://redirect.github.com/mhammond/pywin32/issues/2205), [#2217](https://redirect.github.com/mhammond/pywin32/issues/2217))
##### adodbapi
- Remove references to outdated IronPython ([#2049](https://redirect.github.com/mhammond/pywin32/issues/2049), [@Avasam](https://redirect.github.com/Avasam))
This removes the following public names:
- `adodbapi.adodbapi.onWin32`
- `adodbapi.apibase.onIronPython`
- `adodbapi.apibase.NullTypes`
- `adodbapi.apibase.DateTime`
- Remove references to outdated `mxDateTime` ([#2048](https://redirect.github.com/mhammond/pywin32/issues/2048), [@Avasam](https://redirect.github.com/Avasam))
This removes the following public names:
- `adodbapi.apibase.mxDateTime`
- `adodbapi.apibase.mxDateTimeConverter`
- Removed obsolete Python 2 aliases ([#2088](https://redirect.github.com/mhammond/pywin32/issues/2088), [@Avasam](https://redirect.github.com/Avasam))
This removes the following public names:
- `adodbapi.adodbapi.unicodeType`
- `adodbapi.adodbapi.longType`
- `adodbapi.adodbapi.StringTypes`
- `adodbapi.adodbapi.maxint`
- `adodbapi.apibase.unicodeType`
- `adodbapi.apibase.longType`
- `adodbapi.apibase.StringTypes`
- `adodbapi.apibase.makeByteBuffer`
- `adodbapi.apibase.memoryViewType`
- Remove outdated and unused remote feature ([#2098](https://redirect.github.com/mhammond/pywin32/issues/2098), [@Avasam](https://redirect.github.com/Avasam))
- Migrated from `distutils` to `setuptools` ([#2133](https://redirect.github.com/mhammond/pywin32/issues/2133), [@Avasam](https://redirect.github.com/Avasam))
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
==306
->==307
Release Notes
mhammond/pywin32 (pywin32)
### [`v307`](https://redirect.github.com/mhammond/pywin32/blob/HEAD/CHANGES.txt#Build-307-released-2024-10-04) ##### Release process changes pywin32 is now released from artifacts created by Github actions, whereas previously they were created from an environment where certain tools and libraries were located and installed by hand. This means some capabilities are no longer provided - this includes some documentation artifacts, such as the .chm file, certain MAPI libraries etc, and .exe installers. ##### pywin32 - Remove obsolete and unused `pywin.is_platform_unicode` ([#2343](https://redirect.github.com/mhammond/pywin32/issues/2343), [@Avasam](https://redirect.github.com/Avasam)) - Fix `isapi.ThreadPoolExtension`'s printing of exception traceback broken on Python 3.8+ ([#2312](https://redirect.github.com/mhammond/pywin32/issues/2312), [@Avasam](https://redirect.github.com/Avasam)) - Add RealGetWindowClass ([#2299](https://redirect.github.com/mhammond/pywin32/issues/2299), [@CristiFati](https://redirect.github.com/CristiFati)) - Make it compile on Python 3.13 ([#2260](https://redirect.github.com/mhammond/pywin32/issues/2260), [@clin1234](https://redirect.github.com/clin1234)) - Fixed accidentally trying to raise a `str` instead of an `Exception` in ([#2270](https://redirect.github.com/mhammond/pywin32/issues/2270), [@Avasam](https://redirect.github.com/Avasam)) - `Pythonwin/pywin/debugger/debugger.py` - `Pythonwin/pywin/framework/dlgappcore.py` - `com/win32com/server/policy.py` - `win32/Lib/regutil.py` - `win32/scripts/VersionStamp/vssutil.py` - Removed the following unused symbols. They were meant to be used as Exceptions, but were accidentally strings ([#2270](https://redirect.github.com/mhammond/pywin32/issues/2270), [#2269](https://redirect.github.com/mhammond/pywin32/issues/2269), [@Avasam](https://redirect.github.com/Avasam)) - `pywin.debugger.debugger.error` - `pywin.framework.dlgappcore.error` - `win32com.server.policy.error` - `regutil.error` - `win32.scripts.VersionStamp.vssutil.error` - `win32com.universal.com_error` - `win32com.client.build.error` - `win32com.client.genpy.error` - Add EnumDesktopWindows ([#2219](https://redirect.github.com/mhammond/pywin32/issues/2219), [@CristiFati](https://redirect.github.com/CristiFati)) - Marked `exc_type` and `exc_traceback` in `win32comext.axscript.client.error.AXScriptException.__init__` as deprecated. ([#2236](https://redirect.github.com/mhammond/pywin32/issues/2236) , [@Avasam](https://redirect.github.com/Avasam)) They are now unused and all information is taken from the `exc_value` parameter. - Fixed non-overriden `pywin.scintilla.formatter.Formatter.ColorizeString` raising `TypeError` instead of `RuntimeError` due to too many parameters ([#2216](https://redirect.github.com/mhammond/pywin32/issues/2216), [@Avasam](https://redirect.github.com/Avasam)) - Fixed broken since Python 3 tokenization in `win32comext.axdebug.codecontainer.pySourceCodeContainer.GetSyntaxColorAttributes` ([#2216](https://redirect.github.com/mhammond/pywin32/issues/2216), [@Avasam](https://redirect.github.com/Avasam)) - Fixed a `TypeError` due to incorrect kwargs in `win32comext.axscript.client.pydumper.Register` ([#2216](https://redirect.github.com/mhammond/pywin32/issues/2216), [@Avasam](https://redirect.github.com/Avasam)) - Fixed error reporting of file copy failure for for installing debug dlls ([#2216](https://redirect.github.com/mhammond/pywin32/issues/2216), [@Avasam](https://redirect.github.com/Avasam)) - Fixed `py.exe -m win32verstamp` command and other quote typos caused by Implied String Concatenation ([#2225](https://redirect.github.com/mhammond/pywin32/issues/2225), [@Avasam](https://redirect.github.com/Avasam)) - Fixed tons of quote-related typos in strings, docs and comments ([#2271](https://redirect.github.com/mhammond/pywin32/issues/2271) , [@Avasam](https://redirect.github.com/Avasam)) - Fixed VT_SAFEARRAY(VT_RECORD) which were missing the last element ([#2247](https://redirect.github.com/mhammond/pywin32/issues/2247)) - Fixed `MFC redist DLLs not found` by preferring corresponding version but accepting different version ([#2248](https://redirect.github.com/mhammond/pywin32/issues/2248), [@andreabravetti](https://redirect.github.com/andreabravetti)) - Fixed `pywintypes.error: (5, 'RegOpenKeyEx', 'Access is denied.')` when running service with debug parameter and no elevation ([#2238](https://redirect.github.com/mhammond/pywin32/issues/2238), [@jmartens](https://redirect.github.com/jmartens)) - Fixed handling of `SyntaxError` exception from a Windows Scripting Host Python Script on Python 3.10+ ([#2235](https://redirect.github.com/mhammond/pywin32/issues/2235), [@nbbeatty](https://redirect.github.com/nbbeatty)) - Add `CredGetSessionTypes` support ([#2232](https://redirect.github.com/mhammond/pywin32/issues/2232), [@CristiFati](https://redirect.github.com/CristiFati)) - Fixed `win32clipboard` increasing size of data when `SetClipboardData` used with `CF_DIB` ([#2184](https://redirect.github.com/mhammond/pywin32/issues/2184), [@CristiFati](https://redirect.github.com/CristiFati)) - Add `StoreLogoff` to `PyIMsgStore` to prevent possible hang when MAPI uninitializes or during session logoff ([#2196](https://redirect.github.com/mhammond/pywin32/issues/2196), [@avivbrg](https://redirect.github.com/avivbrg)) - Enhance CredDelete to work with dictionaries ([#2198](https://redirect.github.com/mhammond/pywin32/issues/2198), [@CristiFati](https://redirect.github.com/CristiFati)) - Add UnregisterHotKey support ([#2185](https://redirect.github.com/mhammond/pywin32/issues/2185), [@CristiFati](https://redirect.github.com/CristiFati)) - IFolderView COM client support ([#2180](https://redirect.github.com/mhammond/pywin32/issues/2180), [#2181](https://redirect.github.com/mhammond/pywin32/issues/2181), [#2182](https://redirect.github.com/mhammond/pywin32/issues/2182), [@CristiFati](https://redirect.github.com/CristiFati)) - Release GIL when calling CreateService or StartService ([#2062](https://redirect.github.com/mhammond/pywin32/issues/2062), [@adamkbmc](https://redirect.github.com/adamkbmc)) - Drop support for Internet Explorer 10 ([#2229](https://redirect.github.com/mhammond/pywin32/issues/2229), [@Avasam](https://redirect.github.com/Avasam)) - Removed considerations for never-built Windows CE ([#2218](https://redirect.github.com/mhammond/pywin32/issues/2218), [@Avasam](https://redirect.github.com/Avasam)) - Stopped building `winxpgui` ([#2217](https://redirect.github.com/mhammond/pywin32/issues/2217), [@Avasam](https://redirect.github.com/Avasam)) - Raise `DeprecationWarning` when importing `winxpgui` - Added `GetWindowRgnBox` to `win32gui` - `winxpgui.GetConsoleWindow` now aliases `win32console.GetConsoleWindow` - Everything else is re-exported from `win32gui` - Fixed the `win32com.demos.ietoolbar` demo ([#2217](https://redirect.github.com/mhammond/pywin32/issues/2217), [@Avasam](https://redirect.github.com/Avasam)) - Fixed undefined names reported by Flake8/Ruff ([#2101](https://redirect.github.com/mhammond/pywin32/issues/2101), [@Avasam](https://redirect.github.com/Avasam), [@kxrob](https://redirect.github.com/kxrob)) Fixed the following public API: - Fixed `NameError` in `pywin.Demos`'s `fontdemo.FontView.SetFont` - The `Pythonwin/pywin/Demos/ocx/msoffice` demo now uses the docName argument - Fixed `NameError` in `WordFrame.Create`, even though it wasn't used - Fixed a handful of `NameError` in `pywin.dialogs.ideoptions.OptionsPropPage` with format - Fixed `AttributeError` in `pywin.framework.dlgappcore.AppDialog.OnPaint` - Fixed trying to write banner to `sdterr` in `pywin.framework.interact.InteractiveCore.Init` - Fixed a `NameError` in `pywin.framework.mdi_pychecker.TheDocument.doSearch` - Removes unusable `HandleToUlong`, `UlongToHandle`, `UlongToPtr` and `UintToPtr` from `pywin.scintilla.scintillacon` - Fixed a `NameError` in `win32comext.axscript.client.pydumper.Register` - Fixed a `NameError` in `win32comext.shell.demos.servers.context_menu.ShellExtension.QueryContextMenu` - Fixed a `NameError` in `win32comext.shell.demos.servers.shell_view.ScintillaShellView.CreateViewWindow` The following methods no longer throw errors (although their implementation is still unvalidated): - `mmsystem.MEVT_EVENTTYPE` - `mmsystem.MEVT_EVENTPARM` - `mmsystem.MCI_MSF_MINUTE` - `mmsystem.MCI_MSF_SECOND` - `mmsystem.MCI_TMSF_TRACK` - `mmsystem.MCI_TMSF_MINUTE` - `mmsystem.MCI_TMSF_SECOND` - `mmsystem.MCI_TMSF_FRAME` - `mmsystem.MCI_HMS_HOUR` - `mmsystem.MCI_HMS_MINUTE` - `mmsystem.MCI_HMS_SECOND` - `mmsystem.DIBINDEX` - `winnt.IMAGE_SNAP_BY_ORDINAL` - `winnt.IMAGE_ORDINAL` - Removed `Unicode` and `UnicodeType` from `pywintypes` and `win32api` ([#2200](https://redirect.github.com/mhammond/pywin32/issues/2200), [@Avasam](https://redirect.github.com/Avasam)) - Deprecate `afxres` in favor of `pywin.mfc.afxres`. The modules were identical ([#2177](https://redirect.github.com/mhammond/pywin32/issues/2177), [@Avasam](https://redirect.github.com/Avasam)) - Improved `DispatcherWin32dbg`'s deprecation warning and raise an error when used ([#2145](https://redirect.github.com/mhammond/pywin32/issues/2145), [@Avasam](https://redirect.github.com/Avasam)) - Removed obsolete/legacy way of registering a Pythonwin app and its Idle handlers from `pywin.framework.app` ([#2144](https://redirect.github.com/mhammond/pywin32/issues/2144), [@Avasam](https://redirect.github.com/Avasam)) - Removed unused `win32comext.axscript.server.error` ([#2202](https://redirect.github.com/mhammond/pywin32/issues/2202), [@Avasam](https://redirect.github.com/Avasam)) - Removed deprecated `win32com.server.exception.Exception` ([#2142](https://redirect.github.com/mhammond/pywin32/issues/2142), [@Avasam](https://redirect.github.com/Avasam)) - Removed long-deprecated `UnicodeToString` param from multiple methods ([#2143](https://redirect.github.com/mhammond/pywin32/issues/2143), [@Avasam](https://redirect.github.com/Avasam)) - Fixed `win32api.SetClassWord` being overwritten by `win32api.SetWindowWord` ([#2199](https://redirect.github.com/mhammond/pywin32/issues/2199), [@Avasam](https://redirect.github.com/Avasam)) - If you were using `win32api.SetClassWord` for its current behaviour, use `win32api.SetWindowWord` instead. - This also adds missing support for `win32api.SetWindowWord` - Annotated module-level variables with ambiguous typing ([#2175](https://redirect.github.com/mhammond/pywin32/issues/2175), [@Avasam](https://redirect.github.com/Avasam)) - `win32com.client.build.NoTranslateMap` is now a `set` ([#2176](https://redirect.github.com/mhammond/pywin32/issues/2176), [@Avasam](https://redirect.github.com/Avasam)) - Fixed `ModuleNotFoundError: No module named 'dialog'` in `pywin.tools.regpy` ([#2187](https://redirect.github.com/mhammond/pywin32/issues/2187), [@Avasam](https://redirect.github.com/Avasam)) - Fixed passing a `float` to `range` in `win32pdhquery.Query.collectdatafor` ([#2170](https://redirect.github.com/mhammond/pywin32/issues/2170), [@Avasam](https://redirect.github.com/Avasam)) - Check that the filename w/o extension ends with `_d` rather than checking for `_d` anywhere in the file path ([#2169](https://redirect.github.com/mhammond/pywin32/issues/2169), [@Avasam](https://redirect.github.com/Avasam)) - Cleaned up and fixed Axdebug ([#2126](https://redirect.github.com/mhammond/pywin32/issues/2126), [@Avasam](https://redirect.github.com/Avasam)) - `win32comext.axdebug.codecontainer.SourceCodeContainer` now uses the `debugDocument` parameter - `win32comext.axdebug.codecontainer` script can now be run independent of location - Fixed Method Resolution Order issue in `win32comext.axdebug.documents` (also [#2071](https://redirect.github.com/mhammond/pywin32/issues/2071), [@wxinix-2022](https://redirect.github.com/wxinix-2022)) - Fixed undefined names (`NameError`) in `win32comext.axdebug.expressions.DebugProperty.GetPropertyInfo` - Removed unused `win32comext.axdebug.util.all_wrapped` - Fixed multiple `ModuleNotFoundError` in `win32comext.axdebug` ([#1983](https://redirect.github.com/mhammond/pywin32/issues/1983), [@Avasam](https://redirect.github.com/Avasam)) - Change `mbcs` encoding to `utf-8` in `com.win32com.client` ([#2097](https://redirect.github.com/mhammond/pywin32/issues/2097), [@Avasam](https://redirect.github.com/Avasam)) - Avoid using `importlib` directly ([#2123](https://redirect.github.com/mhammond/pywin32/issues/2123), [@Avasam](https://redirect.github.com/Avasam)) - Replace most usages of deprecated `distutils`: - Replace distutils.dep_util with setuptools.modified ([#2148](https://redirect.github.com/mhammond/pywin32/issues/2148), [@Avasam](https://redirect.github.com/Avasam)) - Replaced `distutils.FileList` usage with `pathlib` ([#2138](https://redirect.github.com/mhammond/pywin32/issues/2138), [@Avasam](https://redirect.github.com/Avasam)) - Replace `distutils.log` with `logging` ([#2134](https://redirect.github.com/mhammond/pywin32/issues/2134), [@Avasam](https://redirect.github.com/Avasam)) - Replace `distutils` with direct `setuptools` equivalents where possible ([#2134](https://redirect.github.com/mhammond/pywin32/issues/2134), [@Avasam](https://redirect.github.com/Avasam)) - Replaced usages of the removed (in Python 3.12) `imp` module ([#2113](https://redirect.github.com/mhammond/pywin32/issues/2113), [@Avasam](https://redirect.github.com/Avasam)) - Fixed registering Python as a scripting language for `axscript` - Fixed `isapi` install - Use collection literals and comprehensions where applicable (slight performance improvement) ([#2108](https://redirect.github.com/mhammond/pywin32/issues/2108), [@Avasam](https://redirect.github.com/Avasam)) - Cleanup obsolete code for unsupported Python versions ([#1990](https://redirect.github.com/mhammond/pywin32/issues/1990), [#2127](https://redirect.github.com/mhammond/pywin32/issues/2127), [#2205](https://redirect.github.com/mhammond/pywin32/issues/2205), [#2214](https://redirect.github.com/mhammond/pywin32/issues/2214), [@Avasam](https://redirect.github.com/Avasam)) The following public names have been removed: - `pywin.framework.app.Win32RawInput` - `win32com.client.makepy.error` - Long obsoleted `dbi` module, use the `odbc` module instead - `win32com.client.dynamic.MakeMethod` Added support for the following Python 3 methods: - `pywin.mfc.dialog.Dialog.__contains__` - `win32com.client.CoClassBaseClass.__bool__` - `win32com.client.combrowse.HLIRoot.__lt__` - `win32com.client.genpy.WritableItem.__lt__` - `__bool__` in classes generated by `win32com.client.genpy.WritableItem.WriteClassBody` - `win32/Demos`'s `win32clipboardDemo.Foo.__lt__` - `win32timezone._SimpleStruct.__le__` (subclassed by `SYSTEMTIME`, `TIME_ZONE_INFORMATION`, `DYNAMIC_TIME_ZONE_INFORMATION`, `TimeZoneDefinition`) The following methods no longer throw errors (although their implementation is still unvalidated): - `winnt.PRIMARYLANGID` - `winnt.SUBLANGID` - `winnt.LANGIDFROMLCID` - `winnt.SORTIDFROMLCID` - Removed obsolete compatibility aliases ([#2087](https://redirect.github.com/mhammond/pywin32/issues/2087), [@Avasam](https://redirect.github.com/Avasam)) The following public names have been removed: - `win32comext.mapi.mapiutil.TupleType` - `win32comext.mapi.mapiutil.ListType` - `win32comext.mapi.mapiutil.IntType` - `netbios.byte_to_int` - Resolved invalid string escapes warnings ([#2045](https://redirect.github.com/mhammond/pywin32/issues/2045), [#2124](https://redirect.github.com/mhammond/pywin32/issues/2124), [@Avasam](https://redirect.github.com/Avasam)) - Idiomatic type comparisons. Better handling of subclasses. ([#1991](https://redirect.github.com/mhammond/pywin32/issues/1991), [@Avasam](https://redirect.github.com/Avasam)) - Cleaned up obsolete and redundant code (this should not directly affect the end-user): - Update and standardise obsolete `OSError` aliases ([#2107](https://redirect.github.com/mhammond/pywin32/issues/2107), [@Avasam](https://redirect.github.com/Avasam)) - Removed redundant and obsolete references to older python unicode compatibility ([#2085](https://redirect.github.com/mhammond/pywin32/issues/2085), [@Avasam](https://redirect.github.com/Avasam)) - Use byte-string (`b""`) for constant bytes values instead of superfluous `.encode` calls ([#2046](https://redirect.github.com/mhammond/pywin32/issues/2046), [@Avasam](https://redirect.github.com/Avasam)) - Cleaned up unused imports ([#1986](https://redirect.github.com/mhammond/pywin32/issues/1986), [#2051](https://redirect.github.com/mhammond/pywin32/issues/2051), [#1990](https://redirect.github.com/mhammond/pywin32/issues/1990), [#2124](https://redirect.github.com/mhammond/pywin32/issues/2124), [#2126](https://redirect.github.com/mhammond/pywin32/issues/2126), [@Avasam](https://redirect.github.com/Avasam)) - Removed duplicated declarations, constants and definitions ([#2050](https://redirect.github.com/mhammond/pywin32/issues/2050) , [#1950](https://redirect.github.com/mhammond/pywin32/issues/1950), [#1990](https://redirect.github.com/mhammond/pywin32/issues/1990), [@Avasam](https://redirect.github.com/Avasam)) - Small generalized optimization by using augmented assignements (in-place operators) where possible ([#2274](https://redirect.github.com/mhammond/pywin32/issues/2274), [@Avasam](https://redirect.github.com/Avasam)) - General speed and size improvements due to all the removed code. ([#2046](https://redirect.github.com/mhammond/pywin32/issues/2046), [#1986](https://redirect.github.com/mhammond/pywin32/issues/1986), [#2050](https://redirect.github.com/mhammond/pywin32/issues/2050), [#1950](https://redirect.github.com/mhammond/pywin32/issues/1950), [#2085](https://redirect.github.com/mhammond/pywin32/issues/2085), [#2087](https://redirect.github.com/mhammond/pywin32/issues/2087), [#2051](https://redirect.github.com/mhammond/pywin32/issues/2051), [#1990](https://redirect.github.com/mhammond/pywin32/issues/1990), [#2106](https://redirect.github.com/mhammond/pywin32/issues/2106), [#2127](https://redirect.github.com/mhammond/pywin32/issues/2127), [#2124](https://redirect.github.com/mhammond/pywin32/issues/2124), [#2126](https://redirect.github.com/mhammond/pywin32/issues/2126), [#2177](https://redirect.github.com/mhammond/pywin32/issues/2177), [#2218](https://redirect.github.com/mhammond/pywin32/issues/2218), [#2202](https://redirect.github.com/mhammond/pywin32/issues/2202), [#2205](https://redirect.github.com/mhammond/pywin32/issues/2205), [#2217](https://redirect.github.com/mhammond/pywin32/issues/2217)) ##### adodbapi - Remove references to outdated IronPython ([#2049](https://redirect.github.com/mhammond/pywin32/issues/2049), [@Avasam](https://redirect.github.com/Avasam)) This removes the following public names: - `adodbapi.adodbapi.onWin32` - `adodbapi.apibase.onIronPython` - `adodbapi.apibase.NullTypes` - `adodbapi.apibase.DateTime` - Remove references to outdated `mxDateTime` ([#2048](https://redirect.github.com/mhammond/pywin32/issues/2048), [@Avasam](https://redirect.github.com/Avasam)) This removes the following public names: - `adodbapi.apibase.mxDateTime` - `adodbapi.apibase.mxDateTimeConverter` - Removed obsolete Python 2 aliases ([#2088](https://redirect.github.com/mhammond/pywin32/issues/2088), [@Avasam](https://redirect.github.com/Avasam)) This removes the following public names: - `adodbapi.adodbapi.unicodeType` - `adodbapi.adodbapi.longType` - `adodbapi.adodbapi.StringTypes` - `adodbapi.adodbapi.maxint` - `adodbapi.apibase.unicodeType` - `adodbapi.apibase.longType` - `adodbapi.apibase.StringTypes` - `adodbapi.apibase.makeByteBuffer` - `adodbapi.apibase.memoryViewType` - Remove outdated and unused remote feature ([#2098](https://redirect.github.com/mhammond/pywin32/issues/2098), [@Avasam](https://redirect.github.com/Avasam)) - Migrated from `distutils` to `setuptools` ([#2133](https://redirect.github.com/mhammond/pywin32/issues/2133), [@Avasam](https://redirect.github.com/Avasam))Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.