diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c6601a6..7dcbe82a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,26 @@ Possible sections in each release: * Security: in case of vulnerabilities. +## [v0.29.0] - 17-12-2025 + +Fixed: + +* Fix that using WGPUPY_WGPU_ADAPTER_NAME fails by @almarklein in https://github.com/pygfx/wgpu-py/pull/779 +* Support GPUBuffer as resource in BindGroupEntry by @Vipitis in https://github.com/pygfx/wgpu-py/pull/774 +* Fix cd to use new intel image by @almarklein in https://github.com/pygfx/wgpu-py/pull/784 +* Fix keyerror in querying capabilities (reported for AMD hardware) by @almarklein in https://github.com/pygfx/wgpu-py/pull/785 + +Changed: + +* Use a polling thread per device by @almarklein in https://github.com/pygfx/wgpu-py/pull/778 +* Detect loop from asyncgen_hooks by @almarklein in https://github.com/pygfx/wgpu-py/pull/780 + * The experimental `loop` parameter in `request_adapter_xx()` is removed; it is now detected automatically. + +Removed: + +* Remove (the already deprecated) gui subpackage by @almarklein in https://github.com/pygfx/wgpu-py/pull/773 + + ## [v0.28.1] - 14-11-2025 Fixed: diff --git a/wgpu/_version.py b/wgpu/_version.py index cc9849b7..ea926ab0 100644 --- a/wgpu/_version.py +++ b/wgpu/_version.py @@ -22,7 +22,7 @@ # This is the base version number, to be bumped before each release. # The build system detects this definition when building a distribution. -__version__ = "0.28.1" +__version__ = "0.29.0" # Set this to your library name project_name = "wgpu" @@ -50,28 +50,34 @@ def get_extended_version() -> str: # Sample first 3 parts of __version__ base_release = ".".join(__version__.split(".")[:3]) - # Check release - if not release: - release = base_release - elif release != base_release: - warning( - f"{project_name} version from git ({release})" - f" and __version__ ({base_release}) don't match." - ) - - # Build the total version - version = release + # Start version string (__version__ string is leading) + version = base_release + tag_prefix = "#" + + if release and release != base_release: + # Can happen between bumping and tagging. And also when merging a + # version bump into a working branch, because we use --first-parent. + release2, _post, _labels = get_version_info_from_git(first_parent=False) + if release2 != base_release: + warning( + f"{project_name} version from git ({release})" + f" and __version__ ({base_release}) don't match." + ) + version += "+from_tag_" + release.replace(".", "_") + tag_prefix = "." + + # Add git info if post and post != "0": version += f".post{post}" if labels: - version += "+" + ".".join(labels) + version += tag_prefix + ".".join(labels) elif labels and labels[-1] == "dirty": - version += "+" + ".".join(labels) + version += tag_prefix + ".".join(labels) return version -def get_version_info_from_git() -> str: +def get_version_info_from_git(*, first_parent: bool = True) -> str: """ Get (release, post, labels) from Git. @@ -80,15 +86,9 @@ def get_version_info_from_git() -> str: git-hash and optionally a dirty flag. """ # Call out to Git - command = [ - "git", - "describe", - "--long", - "--always", - "--tags", - "--dirty", - "--first-parent", - ] + command = ["git", "describe", "--long", "--always", "--tags", "--dirty"] + if first_parent: + command.append("--first-parent") try: p = subprocess.run(command, check=False, cwd=repo_dir, capture_output=True) except Exception as e: