- Added
winrt.Microsoft.Windows.ApplicationModel.DynamicDepedency.Bootstrap
interop package. - Added
_iids_
and_runtime_class_name_
properties tosystem.Object
.
- Fixed possible crash when checking if API is available at runtime.
- Fixed memory leak when converting Python object to
char16_t
orhstring
. - Fixed importing modules containing delegates with parameters that reference other modules.
- Fixed
TypeError
when trying to pass composed runtime object to API that requires subclass (#25). - Fixed
TypeError
when passingNone
to APIs that require asystem.Object
. - Fixed
ui.xaml.Application.start()
methods not releasing GIL.
v2.0.1 - 2024-04-28
- Fixed modules with protected methods/properties failing to compile.
v2.0.0 - 2024-04-27
- Added
py.typed
to each subpackage. - Added
winrt.windows.foundation.interop
module withbox
andunbox
methods.
- Regenerated files for Windows 11 SDK 10.0.22621.0 February 2024 update.
- Updated to Windows App SDK 1.5.240311000
- Updated to CppWinRT 2.0.240111.5
- Fixed implicitly converting
None
toSystem.Object
. - Fixed
KeyError
when accessing accessing values of mappings that returnNone
. - Fixed building from source package with non-MSVC compiler (#44).
- Fixed module load failing on systems without
msvcp140.dll
(#43). - Fixed installing from source in MSYS2 CLANG64 (#47).
- Fixed installing from source in MSYS2 MINGW64 (#46).
- Fixed crash when
winrt.system.Array()
called with no arguments.
v2.0.0-beta.2 - 2023-11-29
- Added
@final
decorator to runtime class type hints. - Added support for Windows App SDK (
Microsoft.Windows
namespace).
- Fixed missing
__iter__
type hint on sequences. - Fixed index type on sequences index operators.
- Fixed
py.typed
and_winrt.pyi
missing fromwinrt-runtime
package.
v2.0.0-beta.1 - 2023-09-01
- Added
-reference
option topywinrt.exe
. - Added
-header-path
option topywinrt.exe
. - Added
__all__
in generated Python modules.
- Changed code generator to generate module per namespace instead of monolith.
- Moved delegate type aliases from .pyi to .py files.
- Changed type hints for non-static properties to use
@property
. - Moved static methods to metaclass.
- Fixed mixin of
__eq__
for mappings. - Fixed parsing structs with guid field.
- Fixed single byte struct field arg format.
- Fixed importing
enum
when not needed. - Fixed compiler warning about converting
Py_ssize_t
inComArray
. - Fixed
NotImplementedError
for delegates witharray_view
. - Fixed possible crash due to not checking return value of
convert()
in some places. - Fixed memory leak in wrapped struct types.
- Fixed generating delegates with out parameters are return arrays.
- Fixed setters of static properties.
- Fixed subpackage names that are Python keywords.
- Removed generation of base/core files.
- Removed
-module
option frompywinrt.exe
. - Removed
winrt.system.Guid
type alias. - Removed
winrt.system.Boolean
type alias. - Removed support for Python 3.8.
v1.0.0-beta.10 - 2023-08-11
- Added positional-only parameters indication to type hints.
- Changed how
collections.abc
protocols are implemented. - Changed type hints for buffer protocol to align with PEP 688.
- Fixed structs should not inherit from
_winrt.Object
.
- Removed support for Python 3.7.
v1.0.0-beta.9 - 2023-04-15
- Fixed compiling generated code with clang and gcc.
v1.0.0-beta.8 - 2023-04-02
- Added new
Array
type for wrapping COM arrays. - Added support for conversion to/from
char16_t
/str
. - Added support for slicing
IVectorView
.
- Provide useful error message when
NotImplementedError
is raised. - Use
PyType_FromModuleAndSpec
in Python >= 3.9. datetime
conversion now uses Windows API instead Python APIs with float.- Array input arguments must now implement Python buffer protocol (no longer accepts list/sequence).
- Moved top-level package
__init__.py
tosystem
subpackage. - Moved fundamental type aliases to
system
package and made runtime types. - Array output parameters now return
system.Array
instead oflist
. - Fill arrays now take a buffer as the argument and fill that buffer instead of taking a size as the argument and returning a new array.
- Use
typing.ClassVar
annotation for static properties. - Static properties are now class attributes instead of static methods.
- Fixed checking wrong number of input parameters on methods with array parameters.
- Fixed use after free of array input arguments (winsdk#20).
- Fixed missing
__await__
on runtime types that inheritIAsyncOperation
(winsdk#21). - Fixed compile error in generated code for delegates that return non-void.
- Fixed
buffer_format<>
not generated for enum types.
v1.0.0-beta.7 - 2022-09-09
- Attempting to delete attributes now returns
AttributeError
instead ofTypeError
.
- Fixed crash when accessing new APIs on older versions of Windows (winsdk#13).
v1.0.0-beta.6 - 2022-06-21
Windows.Foundation.DateTime
is now converted to/fromdatetime.datetime
.Windows.Foundation.TimeSpan
is now converted to/fromdatetime.timedelta
.- Type hints now use
__new__
instead of__init__
.
- Fixed syntax error in type hints for map with generic value type.
- Fixed type hints for GUIDs.
- Fixed type hints for methods overloaded from required interfaces.
v1.0.0-beta.5 - 2022-06-07
- Don't
try/except
imports in.pyi
files. - Don't use
typing.Optional
in generic type parameters. - Fully implement sequence protocol for
IVector
/IVectorView
. - Fully implement mapping protocol for
IMap
/IMapView
.
- Fixed support for sub-interpreters.
- Fixed
__enter__
and__exit__
type hints for types that implementIClosable
. - Fixed duplicate
TypeVar
definitions (pywinrt#12). - Fixed type hints for iterators/iterables/sequences/mappings.
- Fixed leaks in object deallocation.
- Fixed including Windows SDK extensions.
- Removed implicit dict to struct conversion.
- Removed use of
typing.Protocol
. - Removed
interfaces
kwarg in type hints.
v1.0.0-beta.4 - 2022-04-23
- Added special case for
Windows.Graphics.Capture
to include additionalInterop
namespace (winsdk#5).
- Changed async operation interface types to never be
typing.Optional
(pywinrt#11). - Interface type hints are now
typing.Protocol
. - Improved exception raising.
v1.0.0-beta.3 - 2022-04-09
- Type hints for reference types are now all
typing.Optional
(pywinrt#7).
- Fixed identifiers conflicting with Python keywords (pywinrt#6).
- Fixed broken version comparison in
_winrt.pyi
. - Fixed
@typing.overload
used on methods that are not overloaded. - Fixed not throwing error if
initialize_with_window()
fails.
v1.0.0-beta.2 - 2022-02-12
- Added
__contains__
special method for map types.
- Improved type hints.
v1.0.0-beta.1 - 2022-01-27
- Added this changelog.
- Implemented Python buffer protocol for
IBuffer
andIMemoryBufferReference
. - Added support for canceling async operations.
- Added generation of type hint files.
- Added
_winrt.initialize_with_window()
function. - Added runtime support for PEP 585 generic types.
- Improved error handling.
- Allow any sequence, not just
list
forSystem.Array
arguments. - Allow buffer protocol for
System.Array
arguments of fundamental types. - Replaced use of deprecated
asyncio.get_event_loop()
. - Make use of
DefaultOverloadAttribute
when generating overloads. - Renamed
_winrt.winrt_base
type to_winrt.Object
.
- Fixed error handling in GUID code.
- Fixed
__enter__()
and__exit__()
methods onIClosable
. - Fixed memory leaks of WinRT objects.
- Fixed use after free of Python objects.
- Removed selecting apartment thread type during module init.