- Added
@final
decorator to runtime class type hints.
- 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.