File: CHANGELOG.md

package info (click to toggle)
diffuse 0.10.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 3,168 kB
  • sloc: python: 7,689; xml: 5,993; sh: 63; makefile: 9
file content (622 lines) | stat: -rw-r--r-- 18,222 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

## [0.10.0] - 2025-05-24

## [0.10.0] - 2025-05-24

### Changed

- Translation: update French translation (@WedoneOfficiel)
- Translation: update Italian translation (@albanobattistella)
- Translation: update Portuguese translation (@hugok79)
- Translation: update Brazilian Portuguese translation (@johnpetersa19)
- Translation: add 'nl' in LINGUAS (@hugok79)
- Update pypi packages (@MightyCreak)
- Add pre-commit git hooks to run linters (@MightyCreak)
- Docs: improve devs setup structure (@MightyCreak)
- Update to flatpak's GNOME runtime 48 (@MightyCreak)

### Fixed

- Docs: fix incorrect flatpak command to install runtime SDK (@MightyCreak)
- Update GitHub actions: use Ubuntu 24.04, Python 3.9 and new Flatpak image (@MightyCreak)

## [0.9.0] - 2024-01-13

### Changed

- Update from GNOME 44 to 45 (@sabriunal)
- Flatpak manifest now runs the tests (@sabriunal)
- Use `appstreamcli` instead of the deprecated `appstream-util` to validate
  appdata (@sabriunal)
- Update appdata: add translation tag, vcs-browser and translate URLs (@sabriunal)
- Translation: mark the developer name and release descriptions as
  untranslatable (@sabriunal)
- Translation: update Turkish translation (@sabriunal)

### Removed

- Remove support for the SVK CVS (@MightyCreak)

### Fixed

- Fix compatibility with Python 3.12: remove use of `distutils` (@MightyCreak)
- Fix new errors raised by Flake8 (@MightyCreak)
- Fix the error with the CICD due to the use of `appstreamcli` (@MightyCreak)

## [0.8.2] - 2023-04-16

### Added

- Add link to the Matrix room in the README (@MightyCreak)
- Dutch translation (@Vistaus)

### Changed

- Replace `_` by `-` in the action names to be compatible with GTK action names (@MightyCreak)
- The About dialog is now transient for the main window (@oscfdezdz)
- Remove deprecated STOCK constants and use more modern, symbolic icons (@oscfdezdz)

### Fixed

- Some signals weren't properly renamed from the previous GTK3 migration (@MightyCreak)
- The syntax menu wasn't working anymore (@MightyCreak)
- Properly handles SIGINT (i.e. Ctrl+C) now (@MightyCreak)
- Add back `save_state()` to remember window's width and height (@MightyCreak)

## [0.8.1] - 2023-04-07

### Changed

- Remove log function calls from the stack trace when calling `logDebug` or
  `logError` (@MightyCreak)
- Log functions used to log only on stderr, now `logDebug` logs on stdout and
  `logError` logs on stderr (@MightyCreak)
- Change Git default branch from `master` to `main` (@MightyCreak)

### Fixed

- Shortcuts were not working since the move to Gtk.Application
  (issue [#188](https://github.com/MightyCreak/diffuse/issues/188)) (@MightyCreak)

## [0.8.0] - 2023-04-03

### Added

- Language: initial support for Rust language (@alopatindev)
- Translation: added Turkish translation (@libreajans)
- Translation: added Georgian translation (@NorwayFun)

### Changed

- Translation: updated Swedish translation (@eson57)
- Dialog: prompt only once if several files needs to be reloaded (@yuriiz)
- Use GTK3's Gtk.Application/Gtk.ApplicationWindow (@yuriiz)
- Split `DiffuseApplication` and `DiffuseWindow` classes in their own files (@MightyCreak)
- Use new Meson (from 0.50 to 0.55) and fixed deprecation warnings (@MightyCreak)
- Update from GNOME 42 to GNOME 44 (@MightyCreak)
- Use GitHub Pages to generate the new website (@MightyCreak)
- Mac: fix the shortcut for first/previous/next/last differences, now uses ⌘
  instead of Ctrl (@krlmlr)

### Fixed

- "Go to line..." dialog didn't show up (@MightyCreak)
- Tech debt: use `transient_for` instead of the deprecated `parent` when creating
  a `Gtk.Widget` (@MightyCreak)
- Documentation: prefer `pip3` over `pip` to ensure it works everywhere (@krlmlr)
- Flatpak: add missing `--filesystem=xdg-run/gvfsd` privilege (@MightyCreak)

## [0.7.7] - 2022-10-23

### Changed

- Translation: updated Spanish translation (@oscfdezdz)
- Translation: updated POT file
- Translation: fixed issue with commented string that still needs translation

## [0.7.6] - 2022-10-23

### Added

- Port to Mac OS (@hugoholgersson)

### Changed

- Documentation: added dev setup for MacOS
- Documentation: updated the dependencies
- CI/CD: GitHub actions warnings

### Fixed

- Fixed MyPy errors

## [0.7.5] - 2022-04-15

### Added

- Documentation: added release process instructions
- Translation: added French translation

### Fixed

- Fixed #156: Preferences cannot be saved in latest release
- Cleanups: use constructors instead of `new()` whenever possible in GTK
  classes

## [0.7.4] - 2022-04-03

### Added

- Added a `--remove-obsolete` option for the update-translation.py script
- Added links to VCSs in README.md
- New keyword in config file: "option"
- Added instructions to install and run from a custom directory

### Changed

- Updated the translation files
- Renamed POTFILES.in to POTFILES
- Renamed io.github.mightycreak.Diffuse.metadata.xml.in to
  io.github.mightycreak.Diffuse.appdata.xml.in
- Leaner README.md
- Moved the documentation to docs/
- Renamed application name from "Diffuse Merge Tool" to "Diffuse"
- Linters can be run sooner (before installation)
- Better messages when an error occurs while parsing the config file
- Start converting the code to static types
- Add more information about the dependencies in the documentation
- Upgrade Flatpak GNOME's runtime to 42

### Fixed

- Removed the lasting lint errors (i.e. in main.py)
- Fix Flatpak runtime version in documentation

## [0.7.3] - 2021-11-22

### Added

- Added linters (flake8 and mypy) and fixed some errors
- Added lint jobs for both in the CI
- Added a flatpak job in the CI
- Created a requirements.dev.txt just for the developers

### Changed

- main.py slimmed down by about 5000 lines
- The new widgets.py is a bit fat though (~4000 lines)

### Fixed

- The intense code cleaning seems to have fixed a bug with the `-c` argument
  (#120)

## [0.7.2] - 2021-11-18

### Added

- New options: log_print_output and log_print_stack, to print the log messages
  on the output and code stack
- New log function: utils.logErrorAndDialog, to both log and show a dialog
  message

### Changed

- Modularized the VCSs (reducing main.py by around 1300 lines)
- Bump GNOME runtime version from 3.38 to 41

### Fixed

- Fixed 'APP_NAME' error when opening non existing file
- Fixed the Portuguese Brazilian (pt_BR) translation

## [0.7.1] - 2021-11-17

### Fixed

- Fixed #103: the flatpak app can now call binaries on the host, such as `git`,
  `svn`, etc. (PR #105)

## [0.7.0] - 2021-11-16

### Added

- Added MetaInfo file
- New SVG icon (thanks @creepertron95, @jimmac and @freddii)
- Started modularizing the code

### Changed

- Changed AppID to io.github.mightycreak.Diffuse (as explained in
  [Flatpak documentation](https://docs.flatpak.org/en/latest/conventions.html#application-ids))
- Renamed `translations/` to `po/`
- Now uses POTFILES.in to list the files to translate
- Translation strings are no longer sorted alphabetically, this will help when
  there will be several files in POTFILES.in
- Updated the documentation and script in the `po/` directory
- Add .desktop translations in .po files

### Fixed

- Fixed some GTK deprecation warnings

## [0.6.0] - 2020-11-29

### Added

- New Flatpak package, published on Flathub: com.github.mightycreak.Diffuse

### Changed

- Replace old install.py with the more standard Meson
- Remove `u` string prefixes since Python 3 is in UTF-8 by default
- Replaced some interpolation operators (`%`) for the `f` string prefix
- Use the window scale factor for the icons generation

## [0.5.0] - 2020-07-18

### Added

- added Pedro Albuquerque's Portuguese translation
- added Åke Engelbrektson's Swedish translation
- added Guillaume Hoffmann's Darcs support improvements
- added support for Git submodules
- added Akom Chotiphantawanon's Thai translation
- added a preference and command line option to specify the version control
  system search order
- added .editorconfig file
- added .gitignore file
- added message when removing files during uninstallation
- added Python script to update all the translation files at once

### Changed

- convert to Python 3
- convert to GTK 3
- updated Python highlighting for Python 3 grammar
- updated copyrights years and authors
- improve Spanish translation
- convert translation README to MarkDown
- updated all the translation files

### Fixed

- fixed wrong icons directory for gtk-update-icon-cache
- fixed missing directories when uninstalling
- fixed bug introduced by r420 with RCS VCS
- fixed broken drag'n'drop since migration to Python3/GTK3
- fixed error when using '-m' in an SVN repo

## 0.4.8 - 2014-07-18

### Added

- updated use of gtk.SpinButton and gtk.Entry to avoid quirks seen on some platforms
- updated C/C++ syntax highlighting to recognise C11/C++11 keywords
- improved image quality of icons
- added Chi Ming and Wei-Lun Chao's Traditional Chinese translation

### Fixed

- fixed a bug that prevented Diffuse from reviewing large git merge conflicts
- fixed a bug that prevented drag-and-drop of file paths with non-ASCII characters

## 0.4.7 - 2013-05-13

### Added

- added Jindřich Šesták's Czech translation
- improved character editing to allow easy indenting and moving the cursor by
  whole words
- added Miś Uszatek's Polish translation
- improved auto-detection of utf_16 and utf_32
- added "New N-Way File Merge..." menu item
- added syntax highlighting for Erlang and OpenCL files

## 0.4.6 - 2011-11-02

### Added

- added support for Subversion 1.7
- added "Open Commit..." menu item
- "-c" option now works for all supported version control systems
- Git support distinguishes between staged and unstaged files
- added syntax highlighting for R files

### Fixed

- fixed a bug that caused the wrong revision to be shown when working on a
  branch in Mercurial

## 0.4.5 - 2011-07-13

### Added

- added syntax highlighting for JSON files
- added menu items and keyboard shortcuts for "First Tab" and "Last Tab"
- added "--line" command line option
- Diffuse now uses a patience diff-based algorithm to align lines
- added command line option to specify a label to display instead of the file name
- added preference to display the right margin
- added Cristian Marchi's Italian translation

### Changed

- state information is now stored in ~/.local/share/diffuse

### Fixed

- fixed a bug in CVS and Subversion support that prevented Diffuse from
  displaying some removed files
- fixed a bug that caused deleted files to be ignored when using the '-m' option
- fixed a bug that incorrectly encoded pasted text if utf_8 was not specified in
  the Region Settings preferences
- fixed a bug that could cause "Save As..." to fail with some user specified encodings

## 0.4.4 - 2010-10-21

### Added

- Git support now recognises conflicts when re-applying the stash
- search dialog is now automatically populated with the currently selected text
- added Oleg Pakhtusov's Russian translation
- added Kang Bundo's Korean translation
- pane headers tooltips
- Shift-ScrollWheel can now be used to scroll horizontally

### Fixed

- double clicking on text can now select full words with non-English characters
- fixed a bug that prevented opening files with non-ASCII characters in their path

## 0.4.3 - 2010-04-15

### Fixed

- fixed a bug that prevented the "-m" option from opening a 3-way merge for
  Subversion and Bazaar conflicts

## 0.4.2 - 2010-04-13

### Added

- support for detached Git repositories
- better removal of unnecessary spacer lines
- added support for horizontal mouse scrolling
- renamed some resources to more user friendly names
- RCS support
- added Henri Menke's Spanish translation
- "#!" interpreter lines are now used to select proper highlighting rules

### Changed

- syntax highlighting is now indicated by radio menu items

## 0.4.1 - 2009-10-12

### Added

- added Japanese translation
- added Liu Hao's simplified Chinese translation
- added a 'Dismiss All Edits' menu item
- localised manuals are now supported on Windows
- new command line option for specifying blank file comparison panes
- new preference to enable/disable line numbers
- added "Undo Close Tab" menu item
- added new menu items and buttons for copying lines between panes

### Changed

- personal configuration files are now stored in ~/.config/diffuse/ (the README
  file describes how to migrate old settings)
- Diffuse now quits if no viewers were created with the -m option
- replaced "Closing last tab quits Diffuse" preference with a "Warn me when
  closing a tab will quit Diffuse" preference
- MMB on a notebook tab now closes the tab
- RMB on a notebook tab creates a popup menu to set the current page
- changed the default hotkeys for merging to reflect the direction text "moves"

## 0.4.0 - 2009-08-17

### Added

- added format menu with new items for changing case, sorting, and manipulating
  white space
- optimised redraws when only the cursor position has changed
- input methods that use pre-editing can now be used when editing text
- dead keys can now be used when editing text
- updated Monotone support to use 'mtn automate inventory'
- Git support now handles files flagged as 'unmerged'
- added version control section to the manual

### Changed

- replaced 'Hide end of line characters' preference with 'Show white space characters'
- errors are now reported in a dialogue instead of printing to stderr

### Fixed

- graceful handling of non-zero exit codes from 'git status'
- minor bug fixes

## 0.3.4 - 2009-07-03

### Added

- syntax highlighting for .plist, GLSL, SConscript, and SConstruct files
- status bar now explains how to navigate between modes
- added labels to indicate syntax highlighting rules, encoding, and format
- Subversion 1.6 support
- added Henri Menke's German translation
- added '--examplesdir=' and '--mandir=' options to install.py
- renamed the '--python-interpreter=' installer option to '--pythonbin='

### Fixed

- minor bug fixes

## 0.3.3 - 2009-04-13

### Fixed

- fixed a bug handling the backspace key with the cursor in the first column

## 0.3.2 - 2009-04-13

### Added

- POSIX installer with `--destdir=` and `--files-only` options for packagers
- vi-like keybindings for line mode
- `-m` option to open modified files in separate tabs
- 'Merge From Left Then Right' and 'Merge From Right Then Left' menu items
- drag-n-drop support
- preferences for behaviour of tabs
- files with edits now tagged with '*'
- auto indent
- 'Open File In New Tab...' and 'Open Modified Files...' menu items
- 'Save All' menu item
- mac-style line ending support

### Changed

- new end of line display behaviour
- improved organisation of menu items
- errors are now reported on stderr

### Fixed

- button bar no longer grabs keyboard focus
- minor bug fixes

### Removed

- removed dependence on urllib module
- removed TODO list

## 0.3.1 - 2009-03-05

### Fixed

- fixed a typo that broke the 'Find...' dialogue

## 0.3.0 - 2009-03-03

### Added

- new Windows installer
- notification on focus change when files change on disk
- menu items for adjusting indentation
- syntax highlighting for Objective-C++
- `-c` option now works with CVS-style revision numbers
- window title now describes current tab
- search settings now persist across sessions

### Fixed

- minor bug fixes

## 0.2.15 - 2008-12-03

### Added

- smoother scrolling
- panes and tabs can now be manually re-organised
- preferences for tab key behaviour
- 'go to line' menu item
- '-c' option for viewing the changes of a particular commit
- home/end keys can now be used in line mode
- confirmation requested before overriding changed files
- position of window now saved
- syntax files for more file types
- reading /etc/diffuserc now optional when using a personal configuration file

### Fixed

- minor bug fixes

## 0.2.14 - 2008-10-20

### Added

- svk support
- syntax files for more file types
- DOS / Unix line endings now respected in edit operations
- improved difference map
- more robust launching of help browsers
- man page
- command line display options
- file revisions can now be specified in the open file dialogue

### Changed

- moved some resources to the preferences dialogue

### Fixed

- minor bug fixes

## 0.2.13 - 2008-05-16

### Added

- bazaar, darcs, and monotone support
- configurable key bindings
- persistent preference settings
- optimisations

### Fixed

- minor bug fixes

## 0.2.12 - 2008-05-06

### Added

- alternate codecs for reading and writing files
- more search options
- editor support for primary selection

### Fixed

- minor bug fixes

## 0.2.11 - 2008-04-27

### Added

- cvs, subversion, git, mercurial support
- python re-write
- syntax highlighting
- search and replace
- customisable through configuration files
- tabbed viewer panes

## 0.1.14 - 2006-01-28

### Added

- initial public release

[0.10.0]: https://github.com/MightyCreak/diffuse/compare/v0.9.0...v0.10.0
[0.9.0]: https://github.com/MightyCreak/diffuse/compare/v0.8.2...v0.9.0
[0.8.2]: https://github.com/MightyCreak/diffuse/compare/v0.8.1...v0.8.2
[0.8.1]: https://github.com/MightyCreak/diffuse/compare/v0.8.0...v0.8.1
[0.8.0]: https://github.com/MightyCreak/diffuse/compare/v0.7.7...v0.8.0
[0.7.7]: https://github.com/MightyCreak/diffuse/compare/v0.7.6...v0.7.7
[0.7.6]: https://github.com/MightyCreak/diffuse/compare/v0.7.5...v0.7.6
[0.7.5]: https://github.com/MightyCreak/diffuse/compare/v0.7.4...v0.7.5
[0.7.4]: https://github.com/MightyCreak/diffuse/compare/v0.7.3...v0.7.4
[0.7.3]: https://github.com/MightyCreak/diffuse/compare/v0.7.2...v0.7.3
[0.7.2]: https://github.com/MightyCreak/diffuse/compare/v0.7.1...v0.7.2
[0.7.1]: https://github.com/MightyCreak/diffuse/compare/v0.7.0...v0.7.1
[0.7.0]: https://github.com/MightyCreak/diffuse/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/MightyCreak/diffuse/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/MightyCreak/diffuse/compare/v0.4.8...v0.5.0