* Fix SetBackgroundColour on Windows
Update Chromium window color on calls to SetBackgroundColour.
* update changelog
* v3.0.0-alpha.23
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feat: Add Content Protection for Windows and macOS
- Prevents window contents from being captured by screen recording/sharing software
- Windows: Uses WDA_EXCLUDEFROMCAPTURE on Windows 10 2004+, falls back to WDA_MONITOR
- macOS: Uses NSWindowSharingType to set window as read-only for screen sharing
- Added ContentProtectionEnabled option to WebviewWindowOptions
- Added SetContentProtection() method for runtime control
- Added comprehensive documentation and example usage
* fix changelog.mdx
* Misc fixes
* Misc fixes
* Update v3/pkg/w32/user32.go
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Remove debug line
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* (docs) installation.mdx: update required Go version to 1.24
* (docs) update for Manager API Refactoring https://github.com/wailsapp/wails/pull/4359
* add entry in UNRELEASED_CHANGELOG.md to satisfy github actions
* thx coderabbitai
* thx coderabbitai
* new events
* macOS dnd improvements
* wailsio adds for dropzone
* update example
* sorta working
the top 300px of the window are not dropabble for some reason i suspect it has to do with the drag enter/drag leave xy as the performOperation needed to use the ContentView for appropriate X/Y
* implement attribute detection for data-wails-dropzone
* docs
* pass x/y dnd linux
* cleanup exmample
* changelog
* pass all attributes to golang on dragdrop
* filetree example
* fix dnd build windows
* Fix windows dnd
* update docs
* remove debug log
* appease the security bot
* Fix changelog
* Fix changelog
* Revert "Fix event generation issues."
This reverts commit ae4ed4fe
* Fix events
* Fix merge conflicts. Fix events generation formatting
* Update docs
* Fix duplicate bundledassets import causing build failures
Remove duplicate import of bundledassets package that was causing
compilation errors in PR #4318. The import was declared twice in
the same import block, causing "bundledassets redeclared" errors.
Fixes build issues in GitHub Actions for drag-and-drop zones feature.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Replace fmt.Printf debug statements with globalApplication.debug
Replace all fmt.Printf debug logging statements in drag-and-drop
functionality with proper globalApplication.debug calls. This provides:
- Consistent logging with the rest of the application
- Proper key-value structured logging
- Better integration with the application's logging system
- Cleaner debug output format
Changes:
- application_darwin.go: Replace 2 fmt.Printf calls
- webview_window.go: Replace 6 fmt.Printf calls
- webview_window_windows.go: Replace 13 fmt.Printf calls
- Remove unused fmt import from application_darwin.go
All debug messages maintain the same information but now use
structured logging with key-value pairs instead of printf formatting.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add nil checks to WindowEventContext methods
Ensure all WindowEventContext methods properly handle nil c.data
by initializing the map when it's nil. This prevents panics when
methods are called on contexts that haven't been properly initialized.
Changes:
- DroppedFiles(): Add nil check and map initialization
- setCoordinates(): Add nil check and map initialization
- setDropZoneDetails(): Add nil check and map initialization
- DropZoneDetails(): Add nil check and map initialization
All methods now follow the same pattern as setDroppedFiles()
where a nil data map is automatically initialized to prevent
runtime panics during drag-and-drop operations.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update v3/pkg/application/webview_window_darwin.m
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* reinstate events docs.
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Add goModTidy function to clean up Go module dependencies during installation (#4283)
* Add goModTidy function and update changelog for automatic execution after wails init (#4283)
* Update CLI documentation to clarify bypassing 'go mod tidy' during project initialization (#4283)
* Add -skipgomodtidy flag to CLI and update installation logic to conditionally run go mod tidy
* Update CLI documentation to reflect default value of -skipgomodtidy flag and clean up code (#4283)
* Update docs/src/content/docs/guides/cli.mdx
* fix changelog
---------
Co-authored-by: Triadmoko Denny Fatrosa <triadmoko.fatrosa@codemi.co.id>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
* fix: enhance doctor command to verify Windows SDK dependencies ([#4390](https://github.com/wailsapp/wails/issues/4390))
- Updated the doctor command to check for the presence of Windows SDK dependencies, improving the setup process for Windows users.
- Added relevant entry to the changelog for better documentation of this fix.
* Update changelog
---------
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Remove all test files, extra workflows, and artifacts.
Keep only:
- changelog-validation-v3.yml (main workflow)
- v3/scripts/validate-changelog.go (validation script)
Tested and working with act.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove problematic large workflow files
- Add final clean 'Changelog Validation (v3)' workflow
- Tested and working with act
- Uses external Go script for maintainability
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: Add distribution-specific dependencies using nfpm overrides
Implements feature #4339 by enhancing the nfpm.yaml.tmpl to use nfpm's built-in
overrides feature for different Linux distributions and package formats.
## Changes Made:
### Enhanced nfpm configuration with overrides:
- **Default**: Debian 12/Ubuntu 22.04+ with WebKit 4.1 dependencies
- Uses libgtk-3-dev, libwebkit2gtk-4.1-dev, build-essential, pkg-config
- **RPM override**: RHEL/CentOS/AlmaLinux/Rocky Linux with WebKit 4.0 dependencies
- Uses gtk3-devel, webkit2gtk3-devel, gcc-c++, pkg-config
- **Arch override**: Arch Linux with WebKit 4.1 dependencies
- Uses gtk3, webkit2gtk-4.1, base-devel, pkgconf
This approach uses nfpm's native override system to automatically select
the correct dependencies based on the target package format, ensuring
that each distribution gets the appropriate WebKit version and package names.
### How it works:
- DEB packages get WebKit 4.1 dependencies (default)
- RPM packages get WebKit 4.0 dependencies (RHEL/CentOS compatibility)
- Arch packages get WebKit 4.1 dependencies with Arch-specific package names
Fixes#4339🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: Enhance wails doctor with WebKit fallback support
Improves the doctor command to better detect WebKit dependencies across
different Linux distributions by adding fallback package support.
## Changes Made:
### Enhanced Package Manager Detection:
- **APT (Debian/Ubuntu)**: Added WebKit 4.1 → 4.0 fallback support
- **DNF (Fedora/RHEL)**: Added webkit2gtk4.0-devel fallback for older systems
- **Zypper (SUSE)**: Added webkit2gtk4_1-devel for modern SUSE distributions
- **Emerge (Gentoo)**: Added support for both webkit-gtk:6 and webkit-gtk:4 slots
- **Pacman (Arch)**: Added fallback from webkit2gtk-4.1 to webkit2gtk
### Improved Developer Experience:
- Doctor command now tries newer WebKit versions first, falls back gracefully
- Provides more accurate dependency detection across distributions
- Better guidance for developers on different Linux systems
### How It Works:
- Each package manager lists multiple WebKit package options in order of preference
- The dependency system tries packages in order until it finds one that's available
- Developers get appropriate installation commands for their specific distribution
This complements the nfpm overrides by ensuring developers can properly
set up their development environment regardless of distribution.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* update changelog
---------
Co-authored-by: Claude <noreply@anthropic.com>