Skip to content

chore(deps): update dependency win32 to v6 - #1703

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/win32-6.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/win32-6.x

Conversation

@renovate

@renovate renovate Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
win32 (source) dependencies major ^5.15.0 → ^6.0.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

halildurmus/win32 (win32)

v6.4.0: package:win32 v6.4.0

Compare Source

6.4.0 - 2026-08-05

🚀 Features
  • Add ResumeThread and SuspendThread APIs (#​1117)
  • Add DNS Service Registration functions (#​1118)

v6.3.0: package:win32 v6.3.0

Compare Source

6.3.0 - 2026-05-22

🧹 Refactor
  • Remove the build hook that either downloaded prebuilt binaries or compiled
    native C wrappers for Win32 APIs that report errors via GetLastError().
    These bindings now pre-resolve GetLastError() before each call, ensuring the
    error code is captured reliably without any native code.

v6.2.0: package:win32 v6.2.0

Compare Source

6.2.0 - 2026-05-07

🚀 Features
  • Add OsVersion class for reliable Windows version detection and OS baseline
    checks. Use OsVersion.current to retrieve the running version and the
    relational operators (<, <=, >=, >) to range-check it against
    well-known baselines (OsVersion.win10, OsVersion.win11, etc.).

  • Add extension methods on GUID for comparison and ordering: compareTo(),
    isEqualTo(), and the relational operators (<, <=, >=, >). Useful for
    using GUID as a key in sorted collections such as SplayTreeMap.

  • Add GET_X_LPARAM() and GET_Y_LPARAM() macros for correctly extracting
    signed x/y cursor coordinates from Windows message parameters. Unlike
    LOWORD()/HIWORD(), these macros handle negative coordinates that occur
    when a secondary display is positioned to the left of or above the primary
    display.

🐛 Bug Fixes
  • Fix IsWindowsServer() using the wrong constant.

v6.1.0: package:win32 v6.1.0

Compare Source

6.1.0 - 2026-04-22

🚀 Features
  • The build hook now downloads prebuilt binaries from GitHub release artifacts
    instead of compiling from C source, eliminating the MSVC requirement for
    users who don't have the necessary tools installed.

    Users who prefer or require local compilation can opt out by setting the
    local_build user-define to true in their pubspec.yaml:

    hooks:
      user_defines:
        win32:
          local_build: true

v6.0.1: package:win32 v6.0.1

Compare Source

6.0.1 - 2026-04-11

📦 Dependencies
  • Lower minimum Dart SDK to 3.10

v6.0.0: package:win32 v6.0.0

Compare Source

6.0.0 - 2026-02-22

🔄 Breaking Changes

This release introduces a major redesign of the Win32 Dart API with a strong
focus on type safety, deterministic resource management, and
idiomatic Dart usage. Most changes are mechanical but widespread.

Key breaking changes include:

  • Exception-based error handling

    • APIs returning HRESULT now throw WindowsException on failure
    • Logical return values are returned directly instead of via out-parameters
  • New error model for APIs that call SetLastError()

    • Such APIs now return Win32Result<T> which captures both the logical return
      value and the associated last-error code atomically on the native side,
      ensuring the error state is preserved
  • Strongly typed Win32 handles

    • Opaque handles (e.g., HKEY, HWND, HICON) are now extension types
      instead of plain int or Pointer values
  • Win32 BOOL mapped to Dart bool

    • Applies uniformly to return values, parameters, and struct fields
  • Enums are now extension types

    • Replaces raw int constants with strongly typed extension types
  • Explicit COM lifetime management

    • Automatic cleanup via Finalizer has been removed
    • COM objects must be released explicitly or managed with Arena
  • COM and HRESULT API simplifications

    • QueryInterface-style methods now return interfaces directly
    • Manual HRESULT checks and pointer plumbing are eliminated
  • Major string API cleanup

    • Renamed and simplified string conversion helpers
    • Removed TEXT(), BSTR class, and legacy helpers
  • GUID API redesign

    • Removed Guid class and string-based helpers
    • GUID struct is now the single, explicit representation
  • winsock2 library removed

    • All Winsock APIs are now exported directly from win32.dart
  • Dispatcher API redesign

    • Strongly typed results
    • No manual VARIANT or DISPPARAMS construction
    • Explicit ownership and cleanup

See the Migration Guide
with examples and mechanical migration steps.

🚀 Features
  • Scope-based lifetime management

    • New extensions for Arena to manage native memory and COM lifetimes
  • Much stronger type safety across the API surface

    • Typed handles, enums, booleans, GUIDs, and COM interfaces
  • More idiomatic Dart APIs

    • Fewer pointers, fewer out-parameters, clearer ownership rules
  • Reliable error handling

    • Atomic capture of GetLastError() values on native side, exposed via
      Win32Result<T>
  • Cleaner, more consistent conversion APIs

    • Unified naming and semantics for strings, binary data, and FILETIME values
  • Native memory leak detection via package:ffi_leak_tracker

    • Tracks allocations with call stacks and timestamps; see the
      Leak Tracking guide for
      details

Configuration

📅 Schedule: (UTC)

  • 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 is behind base branch, 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 was generated by Mend Renovate. View the repository job log.

@renovate

renovate Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: pubspec.lock
Because package_info_plus 8.3.1 depends on win32 ^5.5.3 and no versions of package_info_plus match >8.3.1 <9.0.0, package_info_plus ^8.3.1 requires win32 ^5.5.3.
So, because musicpod depends on both package_info_plus ^8.3.1 and win32 ^6.0.0, version solving failed.


You can try the following suggestion to make the pubspec resolve:
* Consider downgrading your constraint on win32: flutter pub add win32:^5.15.0
Failed to update packages.

@renovate
renovate Bot force-pushed the renovate/win32-6.x branch 2 times, most recently from bcd8cb2 to a00e293 Compare September 28, 2026 18:42
@renovate
renovate Bot force-pushed the renovate/win32-6.x branch from a00e293 to 65b5845 Compare October 2, 2026 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants