Skip to main content

Changelog

note

Overwolf is now maintaining only 6 months in the current changelog. All older posts have been moved to the Changelog archive.

Version 42.7.1

Platform

New Features

  • Added app.overwolf.setExternalPaymentUserId({ providerName, userId, paymentId }), which associates the user's identifier at an external payment provider with the current machine. providerName defaults to Tebex. The full options object is forwarded as sent, so you can pass additional fields without waiting for an ow-electron release that knows about them. For more information, see setExternalPaymentUserId().
  • Added runtime updates for the customTracking attribute on <owadview>. Setting the attribute or the property after the ad view has attached now reaches the running ad page, so you can retag a slot when the user changes screen without recreating the element and losing the loaded ad. The value is a JSON string, each update replaces the whole object, and invalid JSON clears the value without throwing. The last value you set survives a reload or a crash recovery. For more information, see Updating custom tracking at runtime.

Improvements

  • Improved log timestamps, which now use the local YYYY-MM-DD HH:MM:SS.mmm format. They previously showed a UTC time of day with no date.
  • Reduced the memory footprint of the package manager.

Bug Fixes

  • Fixed an issue where the package manager failed to start in an app that calls app.enableSandbox().
  • Fixed an issue where mouse hover and click events never reached an <owadview> guest embedded in an in-game overlay window.
  • Fixed an issue where --owepm-package-channel persisted across runs, pinning a package to that channel on every later launch. The switch now applies to a single run only and is never stored. A channel set through setChannel() stays persistent, as before. One-time cleanup is needed on a machine that launched with --owepm-package-channel before this version, since the stored channel is not cleared automatically: clear it once with await app.overwolf.packages.setChannel('overlay', 'public'), or by deleting the owepm.package-channels key from the package manager's stored data. To load the staged-rollout version within the chosen channel, combine the switch with --force-phased-package. For more information, see Package Channels and Forcing a staged rollout build.

Breaking Changes

Version 39.8.13

New Features

  • Added the --force-phased-package switch to load a staged-rollout build on demand, bypassing the normal rollout-percentage bucket check. Useful for testing an in-progress phased release on a specific machine. Use --force-phased-package with no value to force every package, or --force-phased-package=overlay,gep to force only specific packages.

Bug Fixes

  • Fixed an issue where ow electron packages failed to load due to third-party hooks.
Version 39.8.12

New Features

  • Added the --owepm-package-channel CLI flag to set a package's channel at launch (per package), replacing --owepm-packages-url. Added the Package Channels API on app.overwolf.packages to do the same thing from your app's code, at runtime: setChannel(), getChannel(), and getAvailableChannels(). For more information, see Package Channels.

Bug Fixes

  • Fixed an error (package manager service destroyed) that could occur on app shutdown or when the renderer process was unavailable, and added additional info to the error message for easier troubleshooting.
  • Fixed an issue where a pending package update could fail to fully extract to disk.
Version 39.8.10

New Features

  • Gaming-package security. Code-signing your .exe is now required for the gaming packages (GEP, Overlay, Recorder) to load in a distributed build. The two items below cover the production path and the local-development path.
  • App Signing (production). When Overwolf Console signing credentials are configured, the build signs the app and embeds a verification binary. A build with no configured credentials still completes and prints a warning. Set the signing key (OW_BUILD_KEY) as described in App Signing. The key is in the Overwolf Console under Release management > App Keys.
  • Dev Mode (local development). Run and test the gaming packages locally before your app is signed or packaged. Dev mode runs through the package manager (owepm) and skips most production integrity checks. It cannot activate on a distributed or packaged build. You still authenticate with Overwolf: set OW_CLI_EMAIL and OW_CLI_API_KEY, or OW_DEV_KEY. If none are set, the gaming packages do not load (the app itself still runs). See Dev Mode.
  • Exposed overwolf.muid, overwolf.uid, and overwolf.phasePercent on the public Overwolf API. overwolf.muid returns the machine UID, overwolf.uid returns the app UID, and overwolf.phasePercent returns the app's current phase percentage.
  • <owadview> accepts a customTracking attribute. Pass a JSON string to forward structured context (for example, placement or analytics metadata) into the ad guest renderer. See Overwolf owadview.
<div style="width:400px; height:300px;">
<owadview customTracking='{"placement":"main-menu","screen":"home"}'>
</owadview>
</div>

Improvements

  • sendInputEvent accepts optional code and key fields for OSR keyboard events. Passing the W3C code (the physical key, for example KeyA) and key (the produced character, for example a) fixes key dispatch on non-US keyboard layouts. This pairs with the OSR renderer change earlier in the 39 train, where KeyboardEvent.code and KeyboardEvent.key report the user's active layout. For the full event object, see Electron's webContents.sendInputEvent.

Breaking Changes

  • Removed the GEP package interfaces from ow-electron.d.ts. Read muid, uid, and phasePercent from the OverwolfApi object instead.
  • Requires @overwolf/ow-electron-packages-types version 1.1.5-2 or later. Run npm i @overwolf/ow-electron-packages-types to update. See the package on npm.
ChangeImpactMigration
GEP package interfaces removed from ow-electron.d.tsCode that imported those type definitions fails to type-check after upgradingRead muid, uid, and phasePercent from OverwolfApi (see New Features). Remove imports that referenced the deleted interfaces.
Gaming-package type definitions updatedAn older @overwolf/ow-electron-packages-types version type-checks against stale gaming-package interfacesRun npm i @overwolf/ow-electron-packages-types to install 1.1.5-2 or later.
Version 39.6.0

Improvements

  • AdView element improvements:
    • Added validation checks for AdView element creation.
    • Improved AdView's viewability validations.
  • Improved GEP game detected event so now its supports async callback.

Bug Fixes

  • Fixed an issue with memory leaks with AdView element management.
  • Fixed issues with several deprecation node warnings.
  • Fixed an issue with in-game window resizing.

Breaking Changes

Version 37.10.3

Platform

Improvements

  • Improved in-game window dragging behavior for smoother, more reliable interaction.

Breaking Changes

Version 37.7.0

Platform

  • Updated the underlying Electron version to 37.7.0.
  • Ensure Electron crashReporter doesn't collect report crashes of the AdView process.

Breaking Changes

Version 37.2.6

Platform

Breaking Changes

Version 34.5.5

Platform

Bug Fixes

  • Fixed an AdView visibility issue when calling window.hide().

Breaking Changes

Version 34.4.1

Platform

  • Updated the underlying Electron version to 34.4.1.
  • Added support for name param in the BrowserWindow options. This is used for setting a custom name for the BrowserWindow.
    • The name param is normalized and will remove any whitespaces and special characters.

Breaking changes

Version 34.3.3

Platform

Breaking Changes