Releases: WinMerge/winmerge
v2.16.56.2 (2026.05)
WinMerge 2.16.56.2 Release Notes
- About This Release
- What Is New in 2.16.56.2
- What Is New in 2.16.56
- What Is New in 2.16.55 beta?
- Known issues
May 2026
About This Release
This is a WinMerge 2.16.56.2 stable release.
This release replaces earlier WinMerge stable releases as a recommended release.
Please submit bug reports to our bug-tracker.
What Is New in 2.16.56.2
File compare
-
BugFix: Fix incorrect copy when selection ends inside a word diff (PR #3358)
-
BugFix: Skip invisible lines in search/replace
-
BugFix: Fix text misalignment and repaint artifacts when toggling line numbers in word wrap mode
-
BugFix: Fix crash in 3-pane diff when move block detection is enabled
Folder compare
-
BugFix: Preserve tree expansion and UI state after refresh (#3366,PR #3369)
-
BugFix: Do not convert drive-relative paths like
C:toC:\(PR #3373) -
BugFix: "Right only files" missing when showing left/right only (#3378)
Image compare
-
BugFix: Image compare does not remember the state of the "Blink" toggle between sessions (#3368)
-
BugFix: [FEATURE] override option for unrestricted Image Compare (#3382)
Plugins
- BugFix: Fix missing "Unpacked file extension" value in Edit Plugin dialog
Archive support
- Update 7-Zip to 26.01
Installer
- Fixed missing Vietnamese WinMerge translation in installer
Translations
What Is New in 2.16.56
General
-
Show error message when entering invalid path in header bar (PR #3322)
-
Add recent items and clipboard history to header bar menu (PR #3330)
Folder compare
-
Add Folder comparison mode with archive extraction support (PR #3320)
-
Refactor: unify open parameters and move recurse to OpenFolderParams (PR #3326)
-
Add codepage filter UI and hasbom field support (PR #3318)
Archive support
-
Use 7-Zip IsArc API for archive detection and refactor format guessing logic (PR #3323)
-
Prioritize explicitly selected plugins over archive detection (PR #3324)
Translations
- Translation updates:
Documentation
What Is New in 2.16.55 Beta
General
-
Fix incorrect GetAsyncKeyState usage for modifier key detection (PR #3257)
-
Update POCO C++ Libraries to 1.15.1 (PR #3292)
File compare
-
BugFix: Fix keyboard input issue after Alt+mouse operations (PR #3254)
-
BugFix: Register self-compare in MRU and refactor command line parameter
buil… (PR #3266) -
Refactor save confirmation logic using SaveClosingDlg::ShowAndSave
(PR #3256) -
Enable IME text reconversion in editor view (PR #3214)
Image compare
-
BugFix: Fix crash caused by OnClose being called twice in image compare
window (PR #3255) -
Speedup image comparision slider during WipeEffect (PR winimerge/#33)
Folder compare
-
BugFix: Fix an issue where skipped items were not properly filtered during
folder/file comparison. (PR #3267) -
BugFix: Fix potential hang in DiffWorker shutdown (PR #3300)
-
Extend “Merge renamed items” option to support moved items (PR #3181)
-
Refactor compare engines to use DiffContext (PR #3197)
-
Refactor compare engines to write results into DIFFITEM and add
FullQuickCompare (PR #3201) -
Add e:/e!: filter prefixes for files and directories (PR #3205)
-
Add replaceWithList and regexReplaceWithList filter functions (PR #3213)
-
Add Replace Lists menu for Rename/Move detection keys (PR #3215)
-
Make replace and replaceWithList case-insensitive (PR #3222)
-
Add directives (@cs, @ci, @name) to filter expressions (PR #3253)
-
Add "Filter by This Column" to folder view header context menu (PR #3268)
-
Add display filter attributes and UI for filtering by comparison results
(PR #3284) -
Add ability to hide empty folders in tree mode (PR #3293)
-
Add Unpacker and Prediffer fields to file filter expressions (PR #3295)
-
Enable dynamic increase/decrease of compare threads (PR #3304)
Plugins
-
Add PrettifyPO and ValidatePO plugins for .po/.pot files (PR #3190)
-
Feature request: In CompareMSExcelFiles do not append a sheet order number
to individual tsv, txt or html files (#3212) -
Add CFR Java decompiler plugin for .class file comparison (PR #3242,#3243)
Translations
- Translation updates:
- Brazilian (PR #3185,#3194,#3219,#3231,#3245,#3275,#3287,#3303)
- Chinese Simplified (PR #3183,#3191,#3220,#3228,#3244)
- Corsican (PR #3259,#3299)
- French (PR #3239)
- German (PR #3187,#3196,#3217,#3232,#3237,#3251,#3274,#3288,#3297)
- Hungarian (PR #3186,#3238,#3252)
- Italian (PR #3199,#3218,#3229,#3235,#3236,#3246,#3249,#3269,#3272,#3285,#3302)
- Japanese (PR #3258)
- Korean (PR #3247,#3279,#3301)
- Lithuanian (PR #3184,#3192,#3230,#3276,#3290)
- Polish (PR #3233,#3273)
- Russian (PR #3226,#3281)
- Turkish (PR #3204,#3221,#3227,#3250,#3271,#3286,#3298)
Documentation
-
Added: Community standard files (like issue templates, pr template).
(PR #3225) -
Add context IDs to PO files & strip comments for releases (PR #3296)
Known issues
- Pressing OK in the Options window while the INI file specified by /inifile is open for comparison in WinMerge may corrupt the file. (#2685)
- Suggestion to make the result of image comparison more reliable (#1391)
- Crashes when comparing large files (#325)
- Very slow to compare significantly different directories (#322)
- Vertical scrollbar breaks after pasting text (#296)
Full Changelog: v2.16.56...v2.16.56.2
v2.16.56 (2026.04)
WinMerge 2.16.56 Release Notes
April 2026
About This Release
This is a WinMerge 2.16.56 stable release.
This release replaces earlier WinMerge stable releases as a recommended release.
Please submit bug reports to our bug-tracker.
What Is New in 2.16.56
General
-
Show error message when entering invalid path in header bar (PR #3322)
-
Add recent items and clipboard history to header bar menu (PR #3330)
Folder compare
-
Add Folder comparison mode with archive extraction support (PR #3320)
-
Refactor: unify open parameters and move recurse to OpenFolderParams (PR #3326)
-
Add codepage filter UI and hasbom field support (PR #3318)
Archive support
-
Use 7-Zip IsArc API for archive detection and refactor format guessing logic (PR #3323)
-
Prioritize explicitly selected plugins over archive detection (PR #3324)
Translations
- Translation updates:
Documentation
What Is New in 2.16.55 Beta
General
-
Fix incorrect GetAsyncKeyState usage for modifier key detection (PR #3257)
-
Update POCO C++ Libraries to 1.15.1 (PR #3292)
File compare
-
BugFix: Fix keyboard input issue after Alt+mouse operations (PR #3254)
-
BugFix: Register self-compare in MRU and refactor command line parameter
buil… (PR #3266) -
Refactor save confirmation logic using SaveClosingDlg::ShowAndSave
(PR #3256) -
Enable IME text reconversion in editor view (PR #3214)
Image compare
-
BugFix: Fix crash caused by OnClose being called twice in image compare
window (PR #3255) -
Speedup image comparision slider during WipeEffect (PR winimerge/#33)
Folder compare
-
BugFix: Fix an issue where skipped items were not properly filtered during
folder/file comparison. (PR #3267) -
BugFix: Fix potential hang in DiffWorker shutdown (PR #3300)
-
Extend “Merge renamed items” option to support moved items (PR #3181)
-
Refactor compare engines to use DiffContext (PR #3197)
-
Refactor compare engines to write results into DIFFITEM and add
FullQuickCompare (PR #3201) -
Add e:/e!: filter prefixes for files and directories (PR #3205)
-
Add replaceWithList and regexReplaceWithList filter functions (PR #3213)
-
Add Replace Lists menu for Rename/Move detection keys (PR #3215)
-
Make replace and replaceWithList case-insensitive (PR #3222)
-
Add directives (
@cs,@ci,@name) to filter expressions (PR #3253) -
Add "Filter by This Column" to folder view header context menu (PR #3268)
-
Add display filter attributes and UI for filtering by comparison results
(PR #3284) -
Add ability to hide empty folders in tree mode (PR #3293)
-
Add Unpacker and Prediffer fields to file filter expressions (PR #3295)
-
Enable dynamic increase/decrease of compare threads (PR #3304)
Plugins
-
Add PrettifyPO and ValidatePO plugins for .po/.pot files (PR #3190)
-
Feature request: In CompareMSExcelFiles do not append a sheet order number
to individual tsv, txt or html files (#3212) -
Add CFR Java decompiler plugin for .class file comparison (PR #3242,#3243)
Translations
- Translation updates:
- Brazilian (PR #3185,#3194,#3219,#3231,#3245,#3275,#3287,#3303)
- Chinese Simplified (PR #3183,#3191,#3220,#3228,#3244)
- Corsican (PR #3259,#3299)
- French (PR #3239)
- German (PR #3187,#3196,#3217,#3232,#3237,#3251,#3274,#3288,#3297)
- Hungarian (PR #3186,#3238,#3252)
- Italian (PR #3199,#3218,#3229,#3235,#3236,#3246,#3249,#3269,#3272,#3285,#3302)
- Japanese (PR #3258)
- Korean (PR #3247,#3279,#3301)
- Lithuanian (PR #3184,#3192,#3230,#3276,#3290)
- Polish (PR #3233,#3273)
- Russian (PR #3226,#3281)
- Turkish (PR #3204,#3221,#3227,#3250,#3271,#3286,#3298)
Documentation
-
Added: Community standard files (like issue templates, pr template).
(PR #3225) -
Add context IDs to PO files & strip comments for releases (PR #3296)
Known issues
- Pressing OK in the Options window while the INI file specified by /inifile is open for comparison in WinMerge may corrupt the file. (#2685)
- Suggestion to make the result of image comparison more reliable (#1391)
- Crashes when comparing large files (#325)
- Very slow to compare significantly different directories (#322)
- Vertical scrollbar breaks after pasting text (#296)
What's Changed
- update zh-cn translations by @yingang in #3307
- Update of Lithuanian translation by @Tichij in #3308
- Update Russian.po by @Timon34 in #3309
- Update French translations in WinMerge PO file by @slolo2000 in #3312
- Refactor file save logic: extract backup and read-only handling into FileSaveHelper by @sdottaka in #3313
- Add codepage filter UI and hasbom field support by @sdottaka in #3318
- Doc - Italian language - Updated by @bovirus in #3319
- Show error message when entering path in header bar by @sdottaka in #3322
- Prioritize explicitly selected plugins over archive detection by @sdottaka in #3324
- Use 7-Zip IsArc API for archive detection and refactor format guessing logic by @sdottaka in #3323
- Update for the French manual by @t3chnob0y in #3325
- Refactor: unify open parameters and move recurse to OpenFolderParams by @sdottaka in #3326
- Add Folder comparison mode with archive extraction support by @sdottaka in #3320
- Update Brazilian.po by @Marcellomco in #3328
- Update German.po by @Havoc7891 in #3329
- update zh-cn translation by @yingang in #3331
- Update Turkish.po by @bilimiyorum in #3333
- Update Korean by @VenusGirl in #3334
- Italian language by @bovirus in #3335
- Add recent items and clipboard history to header bar menu by @sdottaka in #3330
- Update Turkish.po by @bilimiyorum in #3339
- Update German.po by @Havoc7891 in #3340
- Update Brazilian.po by @Marcellomco in #3341
- Italian language update by @bovirus in #3342
- update zh-cn translations by @yingang in #3344
Full Changelog: v2.16.54.2...v2.16.56
Merge7z
v2.16.55 (2026.04)
WinMerge 2.16.55 Beta Release Notes
April 2026
About This Release
This is a WinMerge beta release which is meant for preview the current state of
WinMerge development. This release is not recommended for production environments.
Please submit bug reports to our bug-tracker.
What Is New in 2.16.55 Beta
General
-
Fix incorrect GetAsyncKeyState usage for modifier key detection (PR #3257)
-
Update POCO C++ Libraries to 1.15.1 (PR #3292)
File compare
-
BugFix: Fix keyboard input issue after Alt+mouse operations (PR #3254)
-
BugFix: Register self-compare in MRU and refactor command line parameter
buil… (PR #3266) -
Refactor save confirmation logic using SaveClosingDlg::ShowAndSave
(PR #3256) -
Enable IME text reconversion in editor view (PR #3214)
Image compare
-
BugFix: Fix crash caused by OnClose being called twice in image compare
window (PR #3255) -
Speedup image comparision slider during WipeEffect (PR winimerge/#33)
Folder compare
-
BugFix: Fix an issue where skipped items were not properly filtered during
folder/file comparison. (PR #3267) -
BugFix: Fix potential hang in DiffWorker shutdown (PR #3300)
-
Extend “Merge renamed items” option to support moved items (PR #3181)
-
Refactor compare engines to use DiffContext (PR #3197)
-
Refactor compare engines to write results into DIFFITEM and add
FullQuickCompare (PR #3201) -
Add e:/e!: filter prefixes for files and directories (PR #3205)
-
Add replaceWithList and regexReplaceWithList filter functions (PR #3213)
-
Add Replace Lists menu for Rename/Move detection keys (PR #3215)
-
Make replace and replaceWithList case-insensitive (PR #3222)
-
Add directives (
@cs,@ci,@name) to filter expressions (PR #3253) -
Add "Filter by This Column" to folder view header context menu (PR #3268)
-
Add display filter attributes and UI for filtering by comparison results
(PR #3284) -
Add ability to hide empty folders in tree mode (PR #3293)
-
Add Unpacker and Prediffer fields to file filter expressions (PR #3295)
-
Enable dynamic increase/decrease of compare threads (PR #3304)
Plugins
-
Add PrettifyPO and ValidatePO plugins for .po/.pot files (PR #3190)
-
Feature request: In CompareMSExcelFiles do not append a sheet order number
to individual tsv, txt or html files (#3212) -
Add CFR Java decompiler plugin for .class file comparison (PR #3242,#3243)
Translations
- Translation updates:
- Brazilian (PR #3185,#3194,#3219,#3231,#3245,#3275,#3287,#3303)
- Chinese Simplified (PR #3183,#3191,#3220,#3228,#3244)
- Corsican (PR #3259,#3299)
- French (PR #3239)
- German (PR #3187,#3196,#3217,#3232,#3237,#3251,#3274,#3288,#3297)
- Hungarian (PR #3186,#3238,#3252)
- Italian (PR #3199,#3218,#3229,#3235,#3236,#3246,#3249,#3269,#3272,#3285,#3302)
- Japanese (PR #3258)
- Korean (PR #3247,#3279,#3301)
- Lithuanian (PR #3184,#3192,#3230,#3276,#3290)
- Polish (PR #3233,#3273)
- Russian (PR #3226,#3281)
- Turkish (PR #3204,#3221,#3227,#3250,#3271,#3286,#3298)
- Ukrainian (PR #)
Documentation
-
Added: Community standard files (like issue templates, pr template).
(PR #3225) -
Add context IDs to PO files & strip comments for releases (PR #3296)
Known issues
- Pressing OK in the Options window while the INI file specified by /inifile is open for comparison in WinMerge may corrupt the file. (#2685)
- Suggestion to make the result of image comparison more reliable (#1391)
- Crashes when comparing large files (#325)
- Very slow to compare significantly different directories (#322)
- Vertical scrollbar breaks after pasting text (#296)
What's Changed
- Update Korean by @VenusGirl in #3157
- Update Polish.po by @miroslaw-zylewicz in #3158
- Update Russian.po by @Timon34 in #3159
- Update Russian.islu by @Timon34 in #3160
- update zh-TW translations by @love80312 in #3161
- Fix French.po by @gbabin in #3165
- Add automatic crash detection and reporting by @sdottaka in #3167
- update zh-cn translation by @yingang in #3169
- Italian language update by @bovirus in #3170
- Update Brazilian.po by @Marcellomco in #3171
- Update Hungarian.po by @efi99 in #3173
- Update German.po by @Havoc7891 in #3175
- Update Polish.po by @miroslaw-zylewicz in #3176
- Update of Lithuanian translation by @Tichij in #3177
- Update Turkish.po by @bilimiyorum in #3178
- Update Portuguese.po by @hugok79 in #3179
- Fixes and completion of French translation including complete Manual by @t3chnob0y in #3182
- Extend “Merge renamed items” option to support moved items by @sdottaka in #3181
- update zh-cn translations by @yingang in #3183
- Update of Lithuanian translation by @Tichij in #3184
- Update Brazilian.po by @Marcellomco in #3185
- Update Hungarian.po by @efi99 in #3186
- Update German.po by @Havoc7891 in #3187
- Add PrettifyPO and ValidatePO plugins for .po/.pot files by @sdottaka in #3190
- update zh-cn translations by @yingang in #3191
- Update of Lithuanian translation by @Tichij in #3192
- Update Brazilian.po by @Marcellomco in #3194
- Update German.po by @Havoc7891 in #3196
- Italian language update by @bovirus in #3199
- Refactor compare engines to use DiffContext by @sdottaka in #3197
- Refactor compare engines to write results into DIFFITEM and add FullQuickCompare by @sdottaka in #3201
- Update Turkish.po by @bilimiyorum in #3204
- Add e:/e!: filter prefixes for files and directories by @sdottaka in #3205
- Add replaceWithList and regexReplaceWithList filter functions by @sdottaka in #3213
- Enable IME text reconversion in editor view by @sdottaka in #3214
- Add Replace Lists menu for Rename/Move detection keys by @sdottaka in #3215
- Update German.po by @Havoc7891 in #3217
- Italian language update by @bovirus in #3218
- Update Brazilian.po by @Marcellomco in #3219
- update zh-cn translations by @yingang in #3220
- Update Turkish.po by @bilimiyorum in #3221
- Make replace and replaceWithList case-insensitive by @sdottaka in #3222
- Added: Community standard files (like issue templates, pr template). by @mlipok in #3225
- Update Russian.po by @Timon34 in #3226
- Update Turkish.po by @bilimiyorum in #3227
- update zh-cn translations by @yingang in #3228
- Italian language update by @bovirus in #3229
- Update of Lithuanian translation by @Tichij in #3230
- Update Brazilian.po by @Marcellomco in #3231
- Update German.po by @Havoc7891 in #3232
- Update Polish.po by @miroslaw-zylewicz in #3233
- Update Italian strings for the installer by @bovirus in #3236
- Update German.islu by @Havoc7891 in #3237
- Update Hungarian.po by @efi99 in #3238
- Update French translations by @t3chnob0y in #3239
- Add CFR Java decompiler plugin for .class file comparison by @Gaurav-pasi in #3242
- Add SHA256 checksum verification for CFR JAR download by @Gaurav-pasi in #3243
- update zh-cn translations by @yingang in #3244
- Update Brazilian.po by @Marcellomco in #3245
- Italian language update by @bovirus in #3246
- Update Korean by @VenusGirl in #3247
- Update...
v2.16.54.2 (2026.02)
WinMerge 2.16.54.2 Release Notes
- About This Release
- What Is New in 2.16.54.2
- What Is New in 2.16.54
- What Is New in 2.16.53 beta?
- Known issues
February 2026
About This Release
This is a WinMerge 2.16.54.2 stable release.
This release replaces earlier WinMerge stable releases as a recommended release.
Please submit bug reports to our bug-tracker.
What Is New in 2.16.54.2
General
- Add automatic crash detection and reporting (PR #3167)
Appearance
- BugFix: white flash after opening WinMerge with Dark Mode (#3210)
Folder compare
- BugFix: Fixed “Expand all subfolders” not working when rename/move detection
is enabled - BugFix: Fixed incorrect results or crashes during recompare (F5) when
"Merge renamed items into a single item" is enabled - BugFix: Fixed an issue where the Comparison Result showed 0 items after
selecting “Refresh Selected” from the folder comparison context menu when
rename/move detection is enabled - BugFix: Fixed the folder comparison window not updating after saving renamed
files in file comparison - BugFix: Fixed incorrect file comparison being opened for rename/move items
in 3-way folder comparison - BugFix: Prevent sorting while directory comparison is in progress
- BugFix: Delayed file opening on double-click to prevent leftover clicks from
affecting other windows - BugFix: Display each file extension when merged renamed items have different
extensions - BugFix: Optimized column reloading and fixed a ReflectGetdispinfo-related
crash
Options dialog
- BugFix: Request to resize text boxes (#3163)
Plugins
- BugFix: Fixed handling of empty replacement arguments in the Replace plugin
- BugFix: Fixed incorrect substitution of plugin arguments (${1}, ${2}, …) by
properly parsing the argument string
Archive support
- Update 7-zip to 26.00
Manual
- Fixes and completion of French translation including complete Manual
(PR #3182)
Translations
- Translation updates:
What Is New in 2.16.54
General
- BugFix: Cyrilic shortcuts do not work for main menukeyboard shortcuts
- BugFix: 2 recent-entries per project (#2990)
- Updated expat to version 2.7.3
Folder compare
- Add logInfo, logWarn, logError functions to filter expressions (PR #3131)
- Add new filter expression functions
(if, ifEach, choose, chooseEach, andEach, orEach, notEach) (PR #3132) - Add BaseName/IsFolder and new string transformation functions to filters
(PR #3146) - Add experimental customizable rename/move detection for folder comparison
(PR #3126)
Options window
- Adjusted the height of the Options dialog and the position of the Defaults
button
Shell extension
- BugFix: Add-AppxPackage fails if path ends with backslash (PR #3145)
Installer
- Removed build-time tools (lemon.exe, re2c.exe) from the installer package.
Translations
- New translation: Vietnamese (PR #3142)
- Translation updates:
What Is New in 2.16.53 Beta
General
- Allow comparing files by editing header path (Ctrl+L / Alt+D) (PR #3093)
File compare
- Async binary comparison for “Selected files are identical” dialog
(PR #3060)
Binary compare
- BugFix: Fixed crash when an error occurs while opening files in the binary
comparison window.
Image compare
-
[ImageCompare] Problems with unsupported formats (#3044)
-
Update freeimage to 3.19.10
Webpage compare
- BugFix: Fixed garbled filenames displayed in Web comparison tabs and header
bar
Folder compare
-
BugFix: This line cannot be displayed correctly after translation.
msgid "Failed to extract archive.\nCompare as text file?" (#3073) -
BugFix: Unexpected file closure when moving files from a comparison (#3088)
-
Add Display Filter to Folder Compare (PR #3106)
-
Add folder statistics filter attributes and helper menu (PR #3111)
-
Introduce isWithin() and inRange() for explicit inclusive/exclusive range
checks (PR #3124)
Options dialog
- Add option to select user data location (AppData or Documents) (PR #3078)
Plugins
-
CompareMSExcelFiles: Replace line breaks with space in MSExcel formulas
(PR #3028) -
Updated jq to 1.8.1
Translations
-
Translation updates:
- Brazilian (PR #3034,#3064,#3085,#3101,#3107,#3121)
- Chinese Simplified (PR #3035,#3077,#3086,#3097,#3123)
- Chinese Traditional (PR #3052,#3073,WinMerge/frhed#26)
- Corsican (PR #3119)
- French (PR #3072,#3105,#3106)
- German (PR #3037,#3068,#3081,#3098,#3108,#3115)
- Hungarian (PR #3036,#3061,#3080,#3100,#3116)
- Italian (PR #3033,#3062,#3099,#3113,#3118)
- Japanese
- Korean (PR #3062,#3082)
- Lithuanian (PR #3032,#3065,#3087,#3104,#3114)
- Polish (PR #3050,#3089,#3103,#3112,#3122)
- Turkish (PR #3043,#3063,#3083,#3102,#3111,#3117)
Manual
Known issues
- Pressing OK in the Options window while the INI file specified by /inifile is open for comparison in WinMerge may corrupt the file. (#2685)
- Suggestion to make the result of image comparison more reliable (#1391)
- Crashes when comparing large files (#325)
- Very slow to compare significantly different directories (#322)
- Vertical scrollbar breaks after pasting text (#296)
What's Changed
- Update Korean by @VenusGirl in #3157
- Update Polish.po by @miroslaw-zylewicz in #3158
- Update Russian.po by @Timon34 in #3159
- Update Russian.islu by @Timon34 in #3160
- update zh-TW translations by @love80312 in #3161
- Fix French.po by @gbabin in #3165
- Add automatic crash detection and reporting by @sdottaka in #3167
- update zh-cn translation by @yingang in #3169
- Italian language update by @bovirus in #3170
- Update Brazilian.po by @Marcellomco in #3171
- Update Hungarian.po by @efi99 in #3173
- Update German.po by @Havoc7891 in #3175
- Update Polish.po by @miroslaw-zylewicz in #3176
- Update of Lithuanian translation by @Tichij in #3177
- Update Turkish.po by @bilimiyorum in #3178
- Update Portuguese.po by @hugok79 in #3179
- Fixes and completion of French translation including complete Manual by @t3chnob0y in #3182
New Contributors
- @gbabin made their first contribution in #3165
- @t3chnob0y made their first contribution in #3182
Full Changelog: v2.16.54...v2.16.54.2
Merge7z2600.0
Update 7-zip to 26.00
v2.16.54
WinMerge 2.16.54 Release Notes
January 2026
About This Release
This is a WinMerge 2.16.54 stable release.
This release replaces earlier WinMerge stable releases as a recommended release.
Please submit bug reports to our bug-tracker.
What Is New in 2.16.54
General
- BugFix: Cyrilic shortcuts do not work for main menukeyboard shortcuts
- BugFix: 2 recent-entries per project (#2990)
- Updated expat to version 2.7.3 (#3151)
Folder compare
- Add logInfo, logWarn, logError functions to filter expressions (PR #3131)
- Add new filter expression functions
(if, ifEach, choose, chooseEach, andEach, orEach, notEach) (PR #3132) - Add BaseName/IsFolder and new string transformation functions to filters
(PR #3146) - Add experimental customizable rename/move detection for folder comparison
(PR #3126)
Options window
- Adjusted the height of the Options dialog and the position of the Defaults
button
Shell extension
- BugFix: Add-AppxPackage fails if path ends with backslash (PR #3145)
Installer
- Removed build-time tools (lemon.exe, re2c.exe) from the installer package.
Translations
- New translation: Vietnamese (PR #3142)
- Translation updates:
What Is New in 2.16.53 Beta
General
- Allow comparing files by editing header path (Ctrl+L / Alt+D) (PR #3093)
File compare
- Async binary comparison for “Selected files are identical” dialog
(PR #3060)
Binary compare
- BugFix: Fixed crash when an error occurs while opening files in the binary
comparison window.
Image compare
-
[ImageCompare] Problems with unsupported formats (#3044)
-
Update freeimage to 3.19.10
Webpage compare
- BugFix: Fixed garbled filenames displayed in Web comparison tabs and header
bar
Folder compare
-
BugFix: This line cannot be displayed correctly after translation.
msgid "Failed to extract archive.\nCompare as text file?" (#3073) -
BugFix: Unexpected file closure when moving files from a comparison (#3088)
-
Add Display Filter to Folder Compare (PR #3106)
-
Add folder statistics filter attributes and helper menu (PR #3111)
-
Introduce isWithin() and inRange() for explicit inclusive/exclusive range
checks (PR #3124)
Options dialog
- Add option to select user data location (AppData or Documents) (PR #3078)
Plugins
-
CompareMSExcelFiles: Replace line breaks with space in MSExcel formulas
(PR #3028) -
Updated jq to 1.8.1
Translations
-
Translation updates:
- Brazilian (PR #3034,#3064,#3085,#3101,#3107,#3121)
- Chinese Simplified (PR #3035,#3077,#3086,#3097,#3123)
- Chinese Traditional (PR #3052,#3073,WinMerge/frhed#26)
- Corsican (PR #3119)
- French (PR #3072,#3105,#3106)
- German (PR #3037,#3068,#3081,#3098,#3108,#3115)
- Hungarian (PR #3036,#3061,#3080,#3100,#3116)
- Italian (PR #3033,#3062,#3099,#3113,#3118)
- Japanese
- Korean (PR #3062,#3082)
- Lithuanian (PR #3032,#3065,#3087,#3104,#3114)
- Polish (PR #3050,#3089,#3103,#3112,#3122)
- Turkish (PR #3043,#3063,#3083,#3102,#3111,#3117)
Manual
Known issues
- Pressing OK in the Options window while the INI file specified by /inifile is open for comparison in WinMerge may corrupt the file. (#2685)
- Suggestion to make the result of image comparison more reliable (#1391)
- Crashes when comparing large files (#325)
- Very slow to compare significantly different directories (#322)
- Vertical scrollbar breaks after pasting text (#296)
What's Changed
- Update Traditional Chinese (zh_TW) translation by @love80312 in #3052
- Async binary comparison for “Selected files are identical” dialog by @sdottaka in #3060
- Update Hungarian.po by @efi99 in #3061
- Italian language update by @bovirus in #3062
- Turkish language support by @bilimiyorum in #3063
- Update Brazilian.po by @Marcellomco in #3064
- Update of Lithuanian translation by @Tichij in #3065
- Update Korean by @VenusGirl in #3066
- Update Polish.po by @miroslaw-zylewicz in #3067
- Update German.po by @Havoc7891 in #3068
- Update French.po by @slolo2000 in #3072
- Update ChineseTraditional translation: translate missing strings by @love80312 in #3073
- Update Brazilian translation. Submitted by RicardoPC1967 by @sdottaka in #3075
- update zh-cn translations by @yingang in #3077
- Add option to select user data location (AppData or Documents) by @sdottaka in #3078
- Italian language update by @bovirus in #3079
- Update Hungarian.po by @efi99 in #3080
- Update German.po by @Havoc7891 in #3081
- Update Korean by @VenusGirl in #3082
- Turkish language support by @bilimiyorum in #3083
- Update Brazilian.po by @Marcellomco in #3085
- update zh-cn translations by @yingang in #3086
- Update of Lithuanian translation by @Tichij in #3087
- Update Polish.po by @miroslaw-zylewicz in #3089
- Allow comparing files by editing header path (Ctrl+L / Alt+D) by @sdottaka in #3093
- update zh-cn translation by @yingang in #3097
- Update German.po by @Havoc7891 in #3098
- Italian language update by @bovirus in #3099
- Update Hungarian.po by @efi99 in #3100
- Update Brazilian.po by @Marcellomco in #3101
- Turkish language support by @bilimiyorum in #3102
- Update Polish.po by @miroslaw-zylewicz in #3103
- Update of Lithuanian translation by @Tichij in #3104
- Update French.po by @slolo2000 in #3105
- Add Display Filter to Folder Compare by @sdottaka in #3106
- Update Brazilian.po by @Marcellomco in #3107
- Update German.po by @Havoc7891 in #3108
- Update Hungarian.po by @efi99 in #3109
- Turkish language support by @bilimiyorum in #3110
- Update Polish.po by @miroslaw-zylewicz in #3112
- Italian language update by @bovirus in #3113
- Add folder statistics filter attributes and helper menu by @sdottaka in #3111
- Update of Lithuanian translation by @Tichij in #3114
- Update German.po by @Havoc7891 in #3115
- Update Hungarian.po by @efi99 in #3116
- Turkish translation support by @bilimiyorum in #3117
- Italian language update by @bovirus in #3118
- Update Corsican translation for 2.16.53 by @Patriccollu in #3119
- Update Brazilian.po by @Marcellomco in #3121
- Update Polish.po by @miroslaw-zylewicz in #3122
- update zh-cn translations by @yingang in #3123
- Introduce isWithin() and inRange() for explicit inclusive/exclusive range checks by @sdottaka in #3124
- Update Korean by @VenusGirl in #3125
- Update Korean by @VenusGirl in #3127
- Fixed Ukrainian translation. Changed several buttons to fit translated 'defaults' text. by @YevgenBorodkin in #3130
- Add logInfo, logWarn, logError functions to filter expressions by @sdottaka in #3131
- Add new filter expression functions(if, ifEach, choose, chooseEach, andEach, orEach, notEach) by @sdottaka in #3132
- Update French translatio...
v2.16.53
WinMerge 2.16.53 Beta Release Notes
January 2026
About This Release
This is a WinMerge beta release which is meant for preview the current state of
WinMerge development. This release is not recommended for the production.
Please submit bug reports to our bug-tracker.
What Is New in 2.16.53 Beta
General
- Allow comparing files by editing header path (Ctrl+L / Alt+D) (PR #3093)
File compare
- Async binary comparison for “Selected files are identical” dialog
(PR #3060)
Binary compare
- BugFix: Fixed crash when an error occurs while opening files in the binary
comparison window.
Image compare
-
[ImageCompare] Problems with unsupported formats (#3044)
-
Update freeimage to 3.19.10
Webpage compare
- BugFix: Fixed garbled filenames displayed in Web comparison tabs and header
bar
Folder compare
-
BugFix: This line cannot be displayed correctly after translation.
msgid "Failed to extract archive.\nCompare as text file?" (#3073) -
BugFix: Unexpected file closure when moving files from a comparison (#3088)
-
Add Display Filter to Folder Compare (PR #3106)
-
Add folder statistics filter attributes and helper menu (PR #3111)
-
Introduce isWithin() and inRange() for explicit inclusive/exclusive range
checks (PR #3124)
Options dialog
- Add option to select user data location (AppData or Documents) (PR #3078)
Plugins
-
CompareMSExcelFiles: Replace line breaks with space in MSExcel formulas
(PR #3028) -
Updated jq to 1.8.1
Translations
-
Translation updates:
- Brazilian (PR #3034,#3064,#3085,#3101,#3107,#3121)
- Chinese Simplified (PR #3035,#3077,#3086,#3097,#3123)
- Chinese Traditional (PR #3052,#3073,WinMerge/frhed#26)
- Corsican (PR #3119)
- French (PR #3072,#3105,#3106)
- German (PR #3037,#3068,#3081,#3098,#3108,#3115)
- Hungarian (PR #3036,#3061,#3080,#3100,#3116)
- Italian (PR #3033,#3062,#3099,#3113,#3118)
- Japanese
- Korean (PR #3062,#3082)
- Lithuanian (PR #3032,#3065,#3087,#3104,#3114)
- Polish (PR #3050,#3089,#3103,#3112,#3122)
- Turkish (PR #3043,#3063,#3083,#3102,#3111,#3117)
Manual
Known issues
- Pressing OK in the Options window while the INI file specified by /inifile is open for comparison in WinMerge may corrupt the file. (#2685)
- Suggestion to make the result of image comparison more reliable (#1391)
- Crashes when comparing large files (#325)
- Very slow to compare significantly different directories (#322)
- Vertical scrollbar breaks after pasting text (#296)
What's Changed
- Update Traditional Chinese (zh_TW) translation by @love80312 in #3052
- Async binary comparison for “Selected files are identical” dialog by @sdottaka in #3060
- Update Hungarian.po by @efi99 in #3061
- Italian language update by @bovirus in #3062
- Turkish language support by @bilimiyorum in #3063
- Update Brazilian.po by @Marcellomco in #3064
- Update of Lithuanian translation by @Tichij in #3065
- Update Korean by @VenusGirl in #3066
- Update Polish.po by @miroslaw-zylewicz in #3067
- Update German.po by @Havoc7891 in #3068
- Update French.po by @slolo2000 in #3072
- Update ChineseTraditional translation: translate missing strings by @love80312 in #3073
- Update Brazilian translation. Submitted by RicardoPC1967 by @sdottaka in #3075
- update zh-cn translations by @yingang in #3077
- Add option to select user data location (AppData or Documents) by @sdottaka in #3078
- Italian language update by @bovirus in #3079
- Update Hungarian.po by @efi99 in #3080
- Update German.po by @Havoc7891 in #3081
- Update Korean by @VenusGirl in #3082
- Turkish language support by @bilimiyorum in #3083
- Update Brazilian.po by @Marcellomco in #3085
- update zh-cn translations by @yingang in #3086
- Update of Lithuanian translation by @Tichij in #3087
- Update Polish.po by @miroslaw-zylewicz in #3089
- Allow comparing files by editing header path (Ctrl+L / Alt+D) by @sdottaka in #3093
- update zh-cn translation by @yingang in #3097
- Update German.po by @Havoc7891 in #3098
- Italian language update by @bovirus in #3099
- Update Hungarian.po by @efi99 in #3100
- Update Brazilian.po by @Marcellomco in #3101
- Turkish language support by @bilimiyorum in #3102
- Update Polish.po by @miroslaw-zylewicz in #3103
- Update of Lithuanian translation by @Tichij in #3104
- Update French.po by @slolo2000 in #3105
- Add Display Filter to Folder Compare by @sdottaka in #3106
- Update Brazilian.po by @Marcellomco in #3107
- Update German.po by @Havoc7891 in #3108
- Update Hungarian.po by @efi99 in #3109
- Turkish language support by @bilimiyorum in #3110
- Update Polish.po by @miroslaw-zylewicz in #3112
- Italian language update by @bovirus in #3113
- Add folder statistics filter attributes and helper menu by @sdottaka in #3111
- Update of Lithuanian translation by @Tichij in #3114
- Update German.po by @Havoc7891 in #3115
- Update Hungarian.po by @efi99 in #3116
- Turkish translation support by @bilimiyorum in #3117
- Italian language update by @bovirus in #3118
- Update Corsican translation for 2.16.53 by @Patriccollu in #3119
- Update Brazilian.po by @Marcellomco in #3121
- Update Polish.po by @miroslaw-zylewicz in #3122
- update zh-cn translations by @yingang in #3123
- Introduce isWithin() and inRange() for explicit inclusive/exclusive range checks by @sdottaka in #3124
Full Changelog: v2.16.52.2...v2.16.53
v2.16.52.2
WinMerge 2.16.52.2 Release Notes
- About This Release
- What Is New in 2.16.52.2
- What Is New in 2.16.52
- What Is New in 2.16.51 beta?
- Known issues
November 2025
About This Release
This is a WinMerge 2.16.52.2 stable release.
This release replaces earlier WinMerge stable releases as a recommended release.
Please submit bug reports to our bug-tracker.
What Is New in 2.16.52.2
Appearance
- Match title bar text color to Windows using a 190 luminance threshold.
File compare
- BugFix: [Bug] The configuration of tabulations is not working correctly
(#3015) - BugFix: Tab size set to '1' and 'insert spaces' causes redraw failures in
'File Compare' window. (#3047) - Update request: List of MATLAB specific keywords (#3040)
Folder compare
- Set the default thread count for folder comparison to 4.
Filters dialog
- BugFix: Newly added or installed filters were incorrectly flagged as missing
after selection.
Options dialog
- Request to resize text boxes and button (#3017)
Manual
Translations
- Translation updates:
What Is New in 2.16.52
General
- BugFix: Fixed an issue where leftover WinMerge temporary folders were not
properly deleted on the next application exit (since version 2.16.51). - [Feature request] Alternate hotkeys for tab navigation (#2942)
- Disabled darkmodelib in the ARM64 build due to an unresolved crash issue.
Binary compare
- BugFix: Ctrl-W in Hex View : Close window? (#2294)
Folder compare
- BugFix: Round timestamps before comparing to ensure consistent 1-second precision (#2973)
- Add toDateStr filter function.
- Add option for specifying additional comparison conditions (PR #2963)
- Add support for prop, leftprop, middleprop, and rightprop functions in
filter expressions (PR #2974) - Add "Existence" folder comparison method (PR #2980)
Translations
- Translation updates:
What Is New in 2.16.51 Beta
General
- BugFix: The document does not scroll with the mouse if the documents are identical.
Or the text input cursor jumps to unequal lines. (#2939)
Appearance
File compare
Folder compare
- Fixed an issue where adding exclusions via [Add Exclude File] ->
[Editor Backup Files] incorrectly excluded most files.
Filters dialog
Options dialog
Translations
-
Translation updates:
- Brazilian (#2886,#2910,#2951)
- Chinese Simplified (PR #2889,#2916,#2952)
- Corsican (PR #2915)
- French (PR #2887,#2938,#2969)
- Hungarian (PR #2909,#2948)
- Italian (PR #2892,#2911,#2956)
- Japanese
- Korean (PR #2913,#2934,#2950)
- Lithuanian (PR #2912,#2936,#2953)
- Portuguese (PR #2928)
- Polish (PR #2929,#2930,#2931)
- Russian (PR #2890,#2919,#2920,#2933,#2944,#2949)
- Spanish (PR #2961)
- Swedish
- Turkish (PR #2906,#2914,#2957)
- Ukrainian (PR #2932,#2937,#2954)
Internals
- Refactor/use bindoption (PR #2955)
Known issues
- Pressing OK in the Options window while the INI file specified by /inifile is open for comparison in WinMerge may corrupt the file. (#2685)
- Suggestion to make the result of image comparison more reliable (#1391)
- Crashes when comparing large files (#325)
- Very slow to compare significantly different directories (#322)
- Vertical scrollbar breaks after pasting text (#296)
What's Changed
- Update Bulgarian translation by @StoyanDimitrov in #3006
- Update Korean by @VenusGirl in #3007
- Fix zh tw translation by @love80312 in #3008
- i18n: Improve Traditional Chinese Terminology by @love80312 in #3011
- Update Polish.islu by @miroslaw-zylewicz in #3014
- Update German.po and Contributors.txt by @Havoc7891 in #3018
- Update of Lithuanian translation by @Tichij in #3019
- Turkish language file updated by @bilimiyorum in #3020
- Update Hungarian.po by @efi99 in #3022
- Docs: Add comprehensive translation contribution guide by @Aditya4ever in #3023
- Update French.po by @slolo2000 in #3024
- Replace line breaks with space in MSExcel formulas by @JoHoGH in #3028
- Update of Lithuanian translation by @Tichij in #3032
- Italian language update by @bovirus in #3033
- Update Brazilian.po by @Marcellomco in #3034
- update zh-cn translation by @yingang in #3035
- Update Hungarian.po by @efi99 in #3036
- Update German.po by @Havoc7891 in #3037
- Update Korean by @VenusGirl in #3038
- Turkish.po by @bilimiyorum in #3043
- Update Russian.po by @Timon34 in #3045
- Update Portuguese.po by @hugok79 in #3046
- Update Polish.po by @miroslaw-zylewicz in #3050
New Contributors
- @love80312 made their first contribution in #3008
- @Havoc7891 made their first contribution in #3018
- @Aditya4ever made their first contribution in #3023
- @JoHoGH made their first contribution in #3028
Full Changelog: v2.16.52...v2.16.52.2
v2.16.52
WinMerge 2.16.52 Release Notes
October 2025
About This Release
This is a WinMerge 2.16.52 stable release.
This release replaces earlier WinMerge stable releases as a recommended release.
Please submit bug reports to our bug-tracker.
What Is New in 2.16.52
General
- BugFix: Fixed an issue where leftover WinMerge temporary folders were not
properly deleted on the next application exit (since version 2.16.51). - [Feature request] Alternate hotkeys for tab navigation (#2942)
- Disabled darkmodelib in the ARM64 build due to an unresolved crash issue.
Binary compare
- BugFix: Ctrl-W in Hex View : Close window? (#2294)
Folder compare
- BugFix: Round timestamps before comparing to ensure consistent 1-second precision (#2973)
- Add toDateStr filter function.
- Add option for specifying additional comparison conditions (PR #2963)
- Add support for prop, leftprop, middleprop, and rightprop functions in
filter expressions (PR #2974) - Add "Existence" folder comparison method (PR #2980)
Translations
- Translation updates:
What Is New in 2.16.51 Beta
General
- BugFix: The document does not scroll with the mouse if the documents are identical.
Or the text input cursor jumps to unequal lines. (#2939)
Appearance
File compare
Folder compare
- Fixed an issue where adding exclusions via [Add Exclude File] ->
[Editor Backup Files] incorrectly excluded most files.
Filters dialog
Options dialog
Translations
-
Translation updates:
- Brazilian (#2886,#2910,#2951)
- Chinese Simplified (PR #2889,#2916,#2952)
- Corsican (PR #2915)
- French (PR #2887,#2938,#2969)
- Hungarian (PR #2909,#2948)
- Italian (PR #2892,#2911,#2956)
- Japanese
- Korean (PR #2913,#2934,#2950)
- Lithuanian (PR #2912,#2936,#2953)
- Portuguese (PR #2928)
- Polish (PR #2929,#2930,#2931)
- Russian (PR #2890,#2919,#2920,#2933,#2944,#2949)
- Spanish (PR #2961)
- Swedish
- Turkish (PR #2906,#2914,#2957)
- Ukrainian (PR #2932,#2937,#2954)
Internals
- Refactor/use bindoption (PR #2955)
Known issues
- Pressing OK in the Options window while the INI file specified by /inifile is open for comparison in WinMerge may corrupt the file. (#2685)
- Suggestion to make the result of image comparison more reliable (#1391)
- Crashes when comparing large files (#325)
- Very slow to compare significantly different directories (#322)
- Vertical scrollbar breaks after pasting text (#296)
What's Changed
- Initial dark mode support via darkmodelib by @ozone10 in #2834
- Update of Lithuanian translation by @Tichij in #2864
- Update zh-cn translation by @yingang in #2865
- Update Russian.po by @Timon34 in #2867
- Update Korean.po by @VenusGirl in #2870
- Readme Inno Setup script improvements by @bovirus in #2869
- Update French.po by @slolo2000 in #2873
- Update Portuguese.po by @hugok79 in #2882
- Update Brazilian.po by @Marcellomco in #2883
- Dark Mode Enhancements Following PR #2834 by @sdottaka in #2885
- Update Brazilian.po by @Marcellomco in #2886
- Update French.po by @slolo2000 in #2887
- update zh-cn translations by @yingang in #2889
- Update Russian.po by @Timon34 in #2890
- Italian language update by @bovirus in #2892
- Potential fix for code scanning alert no. 1116: Local variable address stored in non-local memory by @sdottaka in #2894
- Potential fix for code scanning alert no. 1466: Cast between HRESULT and a Boolean type by @sdottaka in #2895
- Potential fix for code scanning alert no. 6: Cast between HRESULT and a Boolean type by @sdottaka in #2896
- Potential fix for code scanning alert no. 1056: Multiplication result converted to larger type by @sdottaka in #2897
- Potential fix for code scanning alert no. 697: Missing enum case in switch by @sdottaka in #2898
- Potential fix for code scanning alert no. 70: Inconsistent definition of copy constructor and assignment ('Rule of Two') by @sdottaka in #2899
- Potential fix for code scanning alert no. 67: Inconsistent definition of copy constructor and assignment ('Rule of Two') by @sdottaka in #2900
- Potential fix for code scanning alert no. 1682: Empty branch of conditional by @sdottaka in #2901
- Potential fix for code scanning alert no. 147: Unused static function by @sdottaka in #2902
- Potential fix for code scanning alert no. 150: Unused static function by @sdottaka in #2903
- Potential fix for code scanning alert no. 151: Unused static function by @sdottaka in #2904
- Turkish translation support by @bilimiyorum in #2906
- Allow resizing of filters window using MFC Dynamic Layout (#509) by @sdottaka in #2907
- Allow saving modified colors as new scheme (#1180) by @sdottaka in #2908
- Update Hungarian.po by @efi99 in #2909
- Update Brazilian.po by @Marcellomco in #2910
- Italian language update by @bovirus in #2911
- Update of Lithuanian translation by @Tichij in #2912
- Update Korean.po by @VenusGirl in #2913
- Turkish translation support by @bilimiyorum in #2914
- Update Corsican translation for 2.16.50.2 by @Patriccollu in #2915
- update zh-cn translation by @yingang in #2916
- Update Russian.po by @Timon34 in #2919
- Update Russian.po by @Timon34 in #2920
- Update Portuguese.po by @hugok79 in #2928
- Update Polish.po by @miroslaw-zylewicz in #2929
- Update Polish.po by @miroslaw-zylewicz in #2930
- Update Polish.po by @miroslaw-zylewicz in #2931
- Update Ukrainian localization by @sggua in #2932
- Update Russian.islu by @Timon34 in #2933
- Update Korean.islu by @VenusGirl in #2934
- Update of Lithuanian translation by @Tichij in #2936
- Update Ukrainian.po by @sggua in #2937
- Update French.po by @slolo2000 in #2938
- Update Russian.po by @Timon34 in #2944
- Add option to ignore line breaks (treat as spaces) (refs #373) by @sdottaka in #2945
- Update Hungarian.po by @efi99 in #2948
- Update Russian.po by @Timon34 in #2949
- Update Korean.po by @VenusGirl in #2950
- Update Brazilian.po by @Marcellomco in #2951
- update zh-cn translations by @yingang in #2952
- Update of Lithuanian translation by @Tichij in #2953
- Ukrainian PO translation was synced with English (autogenerated changes) by @YevgenBorodkin in #2954
- Italian language update by @bovirus in #2956
- Update Turkish.po by @bilimiyorum in #2957
- Refactor/use bindoption by @sdottaka in #2955
- Update Spanish.po by @P0rsche-911 in https://github.com/WinMerge/winmerge/...