Skip to content
This repository was archived by the owner on Oct 7, 2024. It is now read-only.

Releases: pywinrt/python-winsdk

v1.0.0b10

Choose a tag to compare

@dlech dlech released this 11 Aug 19:03

Added

  • Added more Windows SDK (10.0.22621) for Windows 11, version 22H2 APIs.
  • Added support for Python 3.12.

Changed

  • Updated CppWinRT to v2.0.230706.1.
  • Updated PyWinRT to v1.0.0-beta.10.

Removed

  • Dropped support for Python 3.7.

v1.0.0b9

Choose a tag to compare

@dlech dlech released this 15 Apr 22:43

Added

  • Added ARM64 binary wheels.

Changed

v1.0.0b8

Choose a tag to compare

@dlech dlech released this 02 Apr 23:22

Changed

  • Updated CppWinRT to v2.0.230225.1.
  • Update PyWinRT to v1.0.0-beta.8.

Migration Guide

Some breaking changes were made in this release for better consistency in the language projection and for performance.

Static properties

Static properties are now projected as class attributes instead of class methods. Any uses of ClassName.get_property_name() must be replaced with ClassName.property_name.

Arrays

A new winsdk.system.Array type was introduced for any APIs that involve arrays. The WinRT type system has 3 types of array parameters, PassArray, FillArray and ReceiveArray (docs). The changes affect each type differently.

For PassArray, you must now use an object that supports the buffer protocol with the appropriate type instead of a list. Lists in existing code can be converted using new_array = winrt.system.Array(ClassName, old_list). However, if you are using a basic type like bytes or integers, it is strongly recommended to pass a python bytes or array.array directly instead for better performance.

For FillArray the projection has changed to take the array as an argument instead of the size of the array. The array is now filled in place instead of returning a new array. So if you had code like old_list = instance.method(size), it needs to be replaced with new_array = winsdk.system.Array(ClassName, size) and instance.method(new_array). Also, the same advice for basic types like bytes and ints applies here. For example, you can pass a bytearray instance and it will be filled without needing to convert to/from WinRT types. It is even possible to use numpy arrays for structures of basic types, like points and rectangles.

For ReceiveArray, the return value is now a winsdk.system.Array instead of a list. You probably won't need to change any code here unless you were using list methods not also supported by the new array type.

v1.0.0b7

Choose a tag to compare

@dlech dlech released this 09 Sep 22:36

Added

  • Added build for Python 3.11.

Changed

v1.0.0b6

Choose a tag to compare

@dlech dlech released this 22 Jun 03:59

Changed

  • Update CppWinRT to 2.0.220608.4.
  • Update PyWinRT to v1.0.0-beta.6.

v1.0.0b5

Choose a tag to compare

@dlech dlech released this 08 Jun 03:47

Added

  • Added Windows Extension SDK APIs python-winsdk#9.
  • Added Windows SDK (10.0.22621) for Windows 11, version 22H2 APIs.

Changed

  • Update CppWinRT to 2.0.220607.4.
  • Update PyWinRT to v1.0.0-beta.5.

v1.0.0b4

Choose a tag to compare

@dlech dlech released this 23 Apr 17:58

Changed

v1.0.0b3

Choose a tag to compare

@dlech dlech released this 10 Apr 00:28

Changed

v1.0.0b2

v1.0.0b2 Pre-release
Pre-release

Choose a tag to compare

@dlech dlech released this 12 Feb 18:34

Changed

v1.0.0b1

v1.0.0b1 Pre-release
Pre-release

Choose a tag to compare

@dlech dlech released this 28 Jan 02:01

Initial release.