Merge pull request #3898 from techee/session_fix2
[geany-mirror.git] / NEWS
blob370256ed84a339209c2fbcc81b6d4ee42b317722
1 Geany 2.1 (unreleased)
4 Geany 2.0 (October 19, 2023)
6     General
7     * Split "session data" into session.conf, preferences are written to
8       and read from geany.conf (PR#2776, PR#2779, PR#3014, PR#3125 and more).
9     * Add new build system Meson (experimental) (PR#2761).
10     * Require GTK 3.24 (#3580).
12     Bug fixes
13     * (Re-)Add ability to scroll over document tabs (Luke Horwell, PR#3134).
14     * Fix keyword colorization on filetype change (PR#3553).
15     * Fix startup files order when placing tabs next to the current one
16       (PR#3611).
18     Interface
19     * The document list in the sidebar has a new tree view. This mode is the
20       new default and existing installations automatically use it (PR#1813).
21     * Use dark-theme friendly colors for compiler messages (PR#3013).
22     * Add a confirmation dialog on search & replace for the whole session
23       (PR#3033).
24     * Filter entry for symbol tree (PR#3055).
25     * Simplify project creation from existing directories with sources
26       (PR#3042).
27     * Add option to show symbols in symbol tree without category groups
28       (PR#3172).
29     * Add option to only show line endings if they differ from file default
30       (PR#3287).
31     * Make tab label length and window title length configurable
32       (Abdul Rafey, #3365).
33     * Make Go to Symbol commands show signature list (PR#3475).
35     Editor
36     * Update Scintilla to 5.3.7 and Lexilla to 5.2.7 (PR#2867, PR#3551).
37     * Add "Change history" feature (disabled by default) (PR#3551).
39     Filetypes
40     * Sync many parsers from the Universal Ctags project, this leads to
41       updated symbol parsers (PR#2990, PR#2991, PR#3032).
42     * Improved support for the ctags file format, which is now the
43       recommended format for tags files (PR#3049).
44     * Update Kotlin filetype config (PR#3456).
45     * Apply Markdown header style to the complete header
46       (Robert Di Pardo, PR#3602).
47     * Update Nim filetype config (Zoom, PR#2988).
48     * Update PHP filetype config (PR#3488).
49     * Update Python filetype config (PR#3039).
50     * Add AutoIt filetype (Skif-off, PR#1752).
51     * Add GDScript filetype (David Yang, PR#3012).
52     * Remove Ferite filetype (PR#3075).
53     * Enable local variables and improve autocompletion for C/C++ and
54       some other languages (PR#3185, PR#3275).
56     Windows
57     * Remove native file and color dialogs on Windows, GTK dialogs will
58       be used instead (#3219).
59     * Use "Prof-Gnome" GTK theme by default (same theme as used on macOS)
60       for a better experience, the "Adwaita" theme can still be activated
61       (PR#3129).
63     Internationalization
64     * Updated translations: cz, da, de, fr, es, kk, lv, it, nl, pt, sk, ru, ua
65     * Added translations: si
68 Geany 1.38 (October 09, 2021)
70     General
71     * Increase speed when opening documents, especially on startup
72       (Justin Blanchard, Issue#2883, Issue#2649, Issue#2791, PR#2884, PR#2747).
73     * Synchronize Geany's Ctags implementation with Universal Ctags, this
74       leads to updated symbol parsers (Jiří Techet, PR#2666).
75     * Remove GTK+2 Support (PR#2602).
76     * Geany needs a C++17 compiler to build (PR#2862).
78     Bug fixes
79     * Workaround crashes when pasting into VTE without having focus
80       (Issue#2813, PR#2843).
82     Interface
83     * Add keybinding to reload all open documents (David Yang, PR#2859).
85     Filetypes
86     * Add Julia filetype (getzze, Issue#434, PR#2584).
87     * Add Meson filetype (Andy Alt, PR#2850).
89     Plugins
90     * SaveActions: add configurable target directory for instantly saved files
91       (Issue#640, PR#2769).
93     Windows
94     * Fix message window height after restart (Issue#2591, PR#2892).
95     * Switch Windows builds to GTK3 and x86_64 (PR#2590).
97     Internationalization
98     * Updated translations: da, de, el, es, et, fr, it, ja, nl pt, pt BR,
99       sk, tr, uk, zh_CN
102 Geany 1.37.1 (November 08, 2020)
104     Windows
105     * Fix crash on first startup (Issue#2639, PR#2645).
108 Geany 1.37 (October 25, 2020)
110     General
111     * Build with GTK3 by default.
112     * Add an option (enabled by default) to save main and project configuration
113       whenever documents are opened/closed to reduce accidental loss of current
114       session in the event of a crash.
115     * List Geany in the category TextEditor (Dominic Hopf, Issue#2460).
117     Bug Fixes
118     * Fix main window name as seen by accessibility tools (Issue#2421).
119     * Add missing include (Pino Toscano, PR#2402).
120     * Fix a possible crash when quitting (Hodong & Guido Falsi, Issue#2457,
121       PR#2634).
123     Interface
124     * Allow to cancel Open Project and New Project dialogs without closing the
125       current project.
126     * Don't ask whether to close current project when opening a recent project.
127     * Disable some items when they are not available.
128     * Provide a CSS name for most widgets (PR#2469).
129     * Adapt margins width to font size and zoom (Issue#1733, PR#1738).
130     * Show OS info in debug messages.
131     * Persist color picker palette (Issue#2595).
132     * Fix color of selected text in search entries with no match (foresto,
133       Issue#2332, PR#2333)
135     Editor
136     * Update Scintilla to version 3.21.1 (PR#2506).
138     Filetypes
139     * Add BibTeX filetype (Mirco Schoenfeld, PR#2212).
140     * Update JavaScript keywords (dmitryunruh, PR#2486).
141     * Update Lua block comment end (Filip Szymański, PR#2566).
142     * Update FreeBasic keywords (Issue#2583).
143     * Add Smalltalk filetype (Snowflake the Pony, PR#2399).
144     * Add a configuration option to select the default Python command.
146     Documentation
147     * Improve Build-related settings documentation.
148     * Added documentation for the Color Chooser (LarsGit223).
150     Windows
151     * Bundle the GLib GSpawn helper binaries with the installer for plugin that
152       use the related GLib API.
153     * Make IPC port number configurable, and move the default outside the
154       dynamic range used by Hyper-V (Issue#2101, PR#2585).
155     * Use the `py` launcher for Python filetype (Issue#2211).
156     * Support programming ligatures (like Fira Code font) (Issue#2535).
158     Internationalization
159     * New translations: ie
160     * Updated translations: da, de, el, es, fr, id, it, ja, lv, nl, pl, pt,
161                             ru, sk, sv, zh_CN
163 Geany 1.36 (September 28, 2019)
165     General
166     * Give precedence to user-defined filetype extension mappings over default
167       ones (PR#2166).
168     * Give precedence to the longest matching filetype pattern (Issue#1499,
169       Issue#1921, PR#2167).
170     * Place the socket file in `$XDG_RUNTIME_DIR` when available
171       (Thomas Martitz, PR#2222).
173     Bug fixes
174     * Improve path ellipsising in Go To Tag filetype popup
175       (Thomas Martitz, PR#2262).
177     Interface
178     * Show group prefix for the Various preferences (PR#2176).
179     * Show the GTK/GLib versions in about dialog (PR#2163).
181     Editor
182     * Update Scintilla to version 3.10.4 (PR#2138).
183     * Add support for fractional font sizes (Pedro Henrique Antunes de Oliveira,
184       Issue#703, PR#2250).
186     Filetypes
187     * Add Apple Swift filetype (Ankit Pati, PR#1323).
188     * Add Nim filetype (Simon Krauter, Issue#1772, PR#2085).
189     * Update NSIS keywords (PR#2181).
190     * Update error matching for the CUDA filetype (Rajesh Pandian M,
191       Issue#2213, PR#2218).
192     * Add Kotlin custom filetype (Issue#1581, PR#2186).
193     * Add Groovy custom filetype (PR#2188).
194     * Add TypeScript custom filetype (Issue#1449, PR#2187).
195     * Small update of Django keywords (PR#2315).
196     * Don't suggest to override all settings through *Tools->Configuration
197       Files* (Issue#1552, PR#2168).
199     Windows
200     * Migrate the installer to NSIS 3 (Issue#1302, PR#2181).
201     * Fix build on recent MSYS2 (Issue#2261, PR#2263).
203     Internationalization
204     * New translations: ku
205     * Updated translations: da, de, es, fr, it, ja, lv, pt, sk, sv, zh_CN
208 Geany 1.35 (April 28, 2019)
210     General
211     * Start synchronization with Universal-CTags (Jiří Techet, PR#1263,
212       PR#2018).
214     Bug fixes
215     * Improve IPC socket handling (Issue#641, PR#2111).
216     * Fix loading the default open encoding option (PR#1326).
217     * Fix VTE path following after reset (Issue#352, PR#2116).
219     Interface
220     * Show variable type in a tooltip in symbol tree (Jiří Techet, PR#2036).
222     Editor
223     * Update Scintilla to version 3.10.2 (Issue#971, Issue#1947, Issue#2076,
224       PR#2045).
225     * Drastically speed up huge bulk replacements (Issue#2092, PR#2097).
226     * Fix accessibility information reported upon deletion.
227     * Fix garbage data insertion when moving lines up or down (Issue#2066).
228     * Don't perform line breaking in rectangular selection mode (Issue#2051,
229       PR#2135).
231     Filetypes
232     * Allow stripping trailing spaces from custom filetypes based on the Diff
233       lexer (Cristian Ciocaltea, Issue#2041, PR#2043).
234     * Improve JavaScript symbols parsing (Issue#1329, Issue#1891, Issue#1933,
235       part of PR#2018).
236     * Improve HTML symbols parsing (part of PR#2018).
237     * Improve COBOL symbols parsing (PR#2128).
238     * Improve ActionScript symbols parsing (PR#2134).
240     Windows
241     * Installer: only install GTK translations if selected (Issue#2090).
243     Internationalization
244     * Updated translations: da, de, es, fr, ja, lv, pt, ru, sk, zh_CN
247 Geany 1.34.1 (January 4, 2019)
249     Bug fixes
250     * Fix line breaking on existing lines (PR#2027).
251     * Fix displaying filenames containing XML control characters inside
252       infobars (Issue#2033).
254     Windows
255     * Fix rectangular selection modifier (PR#2032).
257     Internationalization
258     * Updated translations: uk
261 Geany 1.34 (December 16, 2018)
263     General
264     * Auto-select GTK2 or GTK3 at build time depending on availability
265       (PR#1182).
266     * Process files in the order they appear on the command line when
267       generating tags files (Issue#1989, PR#1991).
269     Bug fixes
270     * Fix high CPU usage with the Scope plugin (Dimitar Zhekov, Issue#1461).
271     * Fix loading some tags files with format specifier (Issue#1814, PR#1817).
272     * Fix Plugin Manager buttons sometimes getting out of sync, possibly
273       leading to a crash (Issue#1781, PR#1799).
274     * Fix horizontal and page scrolling under GTK3 (PR#1843).
276     Interface
277     * Show part of the file path to show unique elements in the go to symbol
278       popup (Thomas Martitz, PR#1445, Issue#1069).
279     * Always show icons in the go to symbol popup (PR#1997).
280     * Add a keybinding for "Strip Trailing Spaces" (LarsGit223, Issue#395,
281       PR#1806).
282     * Add some missing label relations.
284     Editor
285     * Update Scintilla to version 3.10.0 (Issue#1421, PR#1914).
286     * Fix line breaking with multi-byte characters (Issue#1958, PR#1960).
287     * Don't beep when trying to go to the next cursor location in a snippet and
288       there is none (see Issue#1554).
290     Filetypes
291     * Markdown: Display bold and italics as such (FMuro, PR#1837).
292     * Python: Update keywords to Python 3.7 (Miro Hrončok, Issue#1351, PR#1894).
293     * PHP: Update tags for PHP 7.2 (Dominic Hopf, PR#1970).
294     * Batch: Use REM as single-line comment marker (Issue#1912, PR#1932).
295     * VHDL: Classify string styles as such (PR#1402).
297     Windows
298     * Fix display issues on HiDPI displays (Issue#692, PR#1992).
300     API
301     * Add `msgwin_compiler_add_string()`, `msgwin_msg_add_string()`,
302       `msgwin_status_add_string()` (Thomas Martitz, PR#1748).
303     * Add `GeanyObject::key-press` signal allowing plugins to intercept key
304       presses before Geany (Jiří Techet, PR#1829).
305     * Add `utils_strv_shorten_file_list()` (Thomas Martitz, PR#1445).
306     * Fix value of GeanyDocument::changed when quitting (Jason Cumbie, PR#1857).
308     Internationalization
309     * Add translation: da
310     * Updated translations: de, es, fr, hu, it, ja, pt, sv, sk, uk, ru,
311                             zh_CN, zh_TW
314 Geany 1.33 (February 25, 2018)
316     Bug fixes
317     * Fix the symbols tree hierarchy when several tags have the same name
318       (PR#1598).
320     Interface
321     * Add a tooltip showing the full path on menu items representing documents
322       (PR#1706).
323     * Add a note for applying the indent settings in the project preferences
324       (PR#1650).
325     * Enable popup menu on sidebar and message window notebooks (PR#1726).
326     * Show status message on attempt to execute empty context action
327       (Lars Paulsen, PR#1642).
328     * GTK3 theming improvements and documentation (PR#1382).
330     Filetypes
331     * CSS: Update Grid properties (Issue#1705).
333     Internationalization
334     * Updated translations: de, el, es, fr, it, lv, pl, pt, tr, ru, zh_CN
337 Geany 1.32 (November 19, 2017)
339     General
340     * Improve CLI argument help (PR#1644).
341     * Keep the current tab when closing documents to the right of another tab.
342     * Re-enable SIGTERM handling (PR#1255).
343     * Create correct path for filetype config files (Jiří Techet, PR#1482).
344     * Add an option to enable IME's candidate window display inline
345       (Sinpo Wei, PR#1514).
346     * Add an option to automatically reload files changed on disk
347       (Mark O'Donovan, PR#1246).
349     Bug fixes
350     * Fix backward compatibility of the geometry saving setting.
351     * Close "Deleted from Disk" Infobar on Reload (Lars Paulsen, PR#1628).
352     * Make sure GDK_MOD2_MASK is cleared when getting modifiers
353       (Jiří Techet, PR#1636).
354     * Use non-symlinked VTE libraries on MacOS X (Jiří Techet, PR#1625).
355     * Fix crash if plugin manager is opened more than once (PR#1564).
356     * Fix incorrect variable reference (Thomas Martitz, PR#1561).
358     Interface
359     * Add "Close Documents to the Right" feature (PR#1362).
360     * Add an option to save/reload either window position or size,
361       but optionally not both (delt01, PR#1456).
363     Editor
364     * Update Scintilla to version 3.7.5 (PR#1503).
365     * Improve snippet support (visual indicators and more)
366       (Thomas Martitz, PR#1470).
367     * Push current position to navqueue before navigating back
368       (Vasiliy Faronov, PR#1537).
370     Filetypes
371     * Add GNU assembler filetype extensions (Issue#904).
372     * Make Python comment hash space (PR#1682).
373     * Add missing string and comment styles for various lexers (PR#1502).
374     * Add missing PHP keywords, especially for PHP 7.x (1547, PR#1547).
375     * Python: Don't highlight sub-identifiers as keywords (PR#1544).
377     Plugins
378     * FileBrowser: don't change directory on project save
379       (Jiří Techet, PR#1400).
381     Windows
382     * Fix Execute button on Windows when using HTML files and
383       "builtin" command (Issue#1018, PR#1667).
385     API
386     * Add `utils_get_real_path()` and deprecate `tm_get_real_path()` (PR#1224).
387     * Add `geany_plugin_get_data()` (PR#1234).
388     * Add `keybindings_load_keyfile()` (Jiří Techet, PR#1430).
389     * Add `tm_tag_get_type()` (Thomas Martitz, PR#1465).
391     HACKING
392     * Add note about data types and update for best practices (PR#1282).
394     Internationalization
395     * Updated translations: ca, de, el, es, fr, it, lt, lv, nl, pt, ru,
396                             sk, sv, zh_CN
399 Geany 1.31 (July 16, 2017)
401     Bug fixes
402     * Update statusbar after applying indentation detection.
403     * Fix converting color to hex for insertion in the Color Chooser
404       dialog (Vasiliy Faronov, PR#1536).
406     Filetypes
407     * Add `parfor` to the Matlab keyword list (A. Tombs, PR#1021).
408     * C: fix line continuation handling (PR#1370).
409     * Add `require_relative` to the Ruby keyword list (Jacob H. Pratt,
410       PR#1472).
411     * Update Haxe keywords (PR#1216).
412     * Fix Arduino comment toggling (Giorgioggì, PR#1510).
413     * Update CMake keywords (Yan Pashkovsky, PR#1315).
414     * Update C# keywords (Yan Pashkovsky, PR#1315).
415     * Update HTML keywords (Vasiliy Faronov, PR#1530).
417     Internationalization
418     * Updated translations: ca, id, ja, kk, lt, ru
420     API
421     * Fix crash when calling plugin_set_key_group() more than once
422       (Jiří Techet, PR#1426).
425 Geany 1.30.1 (March 19, 2017)
427     Editor
428     * Fix auto-completion and calltip popup position on multi-monitor
429       setups (Issue#1422).
431     Internationalization
432     * Updated translations: ca, de, el, es, sk
435 Geany 1.30 (March 05, 2017)
437     General
438     * Initial accessibility support in the editor (SF#328).
439     * Fix scrolling on Wayland (Issue#1320).
441     Bug fixes
442     * Fix Ctrl+X and Ctrl+C in non-Latin keyboard layouts
443       (Forkest, PR#1386).
444     * Fix search history filling on GTK >= 3.20 (PR#1404).
445     * Simplify setting build menu items labels, fixing a Commander plugin
446       issue (Vasiliy Faronov, PR#1396).
448     Interface
449     * Fix the current scope shown in the statusbar (Issue#1279).
451     Editor
452     * Update Scintilla to version 3.7.3.
453     * Fix triggering default keybindings together with snippets keybindings
454       (Issue#1354, PR#1356).
456     Filetypes
457     * Update JavaScript keywords (Abel 'Akronix' Serrano Juste, PR#1361).
458     * Partial highlighting of JavaScript ES6 template strings (Issue#934).
459     * Add Arduino custom filetype (Issue#1339).
461     Internationalization
462     * Updated translations: de, es, fr, it, lt, pt
464     API
465     * Remove unprefixed Scintilla structure aliases. Plugins must use
466       the `Sci_`-prefixed version from now on.
467     * Add `geany_api_version()` to detect the API version of Geany at
468       runtime (Thomas Martitz, PR#1406).
470     OSX
471     * Fix slow startup (Jiří Techet, Issue#1277, PR#1399).
474 Geany 1.29 (November 13, 2016)
476     General
477     * Fix search entries color with the default GNOME 3.20 GTK2 theme
478       (PR#1137, Issue#1101, Issue#1135, Issue#1267).
479     * Improve support for GTK 3.22.
480     * Add support for VTE 0.38 and newer (Issue#336, PR#1181).
482     Bug fixes
483     * Fix build when the CXX variable contains flags (PR#1155, Issue#829).
484     * Fix focusing the message window when the Terminal tab is active
485       (PR#1200, Issue#1198).
487     Editor
488     * Update Scintilla to version 3.7.0 (Issue#1143).
489     * Add support for keeping the cursor a number of lines from the edges to
490       always show some context (PR#1154, Issue#1152).
491     * Allow to configure keybinding for "Delete to beginning of line"
492       (Abel Serrano Juste, PR#1134).
493     * Performance improvements with many duplicate symbols (Jiří Techet,
494       PR#797, Issue#577).
495     * Allow to configure the error indicator color (PR#1185).
497     Filetypes
498     * Fix highlighting of Haxe preprocessor (Issue#936).
499     * Add `.exp` extension to TCL (Simon Marchi, PR#979).
501     Internationalization
502     * Updated translations: ca, de, el, es, fr, id, it, kk, nl pt, pt_BR,
503       sv, zh_CN,
505     API
506     * Update `GeanyProxyProbeResults` API (PR#1213).
507     * Warn if a dot is used at the start of a proxy extension (PR#1212,
508       PR#1233).
509     * Add support for custom data attached to documents through
510       `plugin_set_document_data()`, `plugin_get_document_data()` and
511       `plugin_set_document_data_full()` (PR#1203).
512     * Add "project-before-close" signal (PR#1223).
514     Plugins
515     * Split Window: Work around a GTK bug present from 3.15.9 to 3.21.4
516       that breaks the document selection popup (Issue#1149, PR#1272).
518     Windows
519     * Include 'grep.exe' from MSYS2 which works better than the previously
520       self-compiled version
521       (Issue#783, Issue#784, Issue#1229, Issue#1260, PR#1301).
522     * Fix executing external commands (mainly Build and Run commands)
523       where paths and filenames with non-ASCII characters are involved
524       (Issue#1076, Issue#1259, Issue#1278, PR#1095).
525     * Do not create a batch file on Run commands any longer, instead use
526       a re-usable script and so eliminate the need to delete the script
527       from itself (Issue#1276, PR#1095).
530 Geany 1.28 (July 10, 2016)
532     General
533     * Improve support for GTK 3.20.
534     * System filetype files and system tags files are now in sub-directories
535       *filedefs/* and *tags/* respectively (Jiří Techet, PR#485).
537     Bug fixes
538     * Fix canceling keybinding overriding by discarding the dialog (Issue#714).
539     * Fix type name coloring when types change (Jiří Techet, PR#1039,
540       Issue#1020, Issue#1022).
541     * Fix undo of line end type change (Jiří Techet, PR#527, Issue#409).
543     Editor
544     * Update Scintilla to version 3.6.6.
545     * Improve Goto Symbol popup contents (Jiří Techet, PR#958).
547     Filetypes
548     * Treat `.h` headers as C++ by default (Jiří Techet, PR#857).
549     * Various improvements to the Ruby parser (Issue#587).
550     * Fix Haskell single line comments (Alexander, PR#1029).
551     * Update Java keywords (Yan Pashkovsky, PR#1024).
552     * Fix handling of curly brackets in Make (Masatake Yamato).
553     * Add ECMAScript 6 keywords (Chris Mayo, PR#980).
554     * Slight improvement to the Java file template (Philipp Wiesemann, PR#1073).
555     * Add missing `last-child` CSS pseudo-class (Issue#1102).
557     Internationalization
558     * Updated translations: ca, de, el, es, fr, it, ja, lt, pt, ru, sk,
559                             tr, zh_CN
561     API
562     * Don't require static strings for key group name and label (PR#1126).
563     * Formally add TMTag to the API (Thomas Martitz, PR#1093).
565     Plugins
566     * Class builder: use `.hpp` extension for C++ headers by default
567       (Yan Pashkovsky, PR#999).
569     Windows
570     * Show an error if an URI cannot be opened (PR#1079).
572     OSX
573     * Fix refreshing the keybindings displayed in the menus (Jiří Techet,
574       PR#973).
577 Geany 1.27 (March 13, 2016)
579     General
580     * Remove Waf build system (PR#769).
582     Bug fixes
583     * Fix build with GLib < 2.32 (Issue#764).
584     * Fix missing progress bar during build runs (Issue#765).
585     * Fix infinite loop when performing reflow on some input with many
586       consecutive spaces (Issue#848, PR#852).
587     * Fix some locale encoding conversion issues (Jiří Techet, PR#547).
589     Interface
590     * Allow to set a keybinding for File->Properties (Issue#622, PR#952).
591     * Make it possible to define default symbol_list_sort_mode (Jiří Techet,
592       Issue#313, PR#581).
593     * Add keybindings for custom commands 4 through 9 (Thomas Sahlin, PR#858).
594     * Use "Symbol" in place of "Tag" everywhere it does not refer to markup
595       tags (Jiří Techet, Issue#579, PR#582).
597     Editor
598     * Update Scintilla to version 3.6.3 (including improved support for Lua
599       5.3 and Perl 5.22).
600     * Greatly improve scope completion (Jiří Techet, PR#488, PR#505, PR#862,
601       PR#906).
602     * Performance improvement highlighting types (Jiří Techet, PR#575).
603     * Show calltips after a C++ explicit specialization (PR#496).
604     * Show a popup to select the symbol when going to a symbol has several
605       options (Jiří Techet, PR#406, PR#923).
607     Filetypes
608     * Added some extra Markdown extensions (Andrea Stacchiotti, PR#820).
609     * Add `.asm51` and `.a51` extensions for 8051 assembly (Devyn Collier
610       Johnson, PR#739).
611     * Fix C++ namespaces scope (Issue#871).
612     * Fix parsing of C++ global scope qualifiers in base class lists.
613     * Use the C++ parser for CUDA filetype (Issue#830, PR#831).
614     * Add Clojure file extensions (Daniel Șuteu, PR#842).
615     * Improve return type and var type recognition in C, C++, C# and D
616       (Issue#845, PR#889).
617     * Fix parsing of C++11 raw string literals (PR#879).
618     * Update built-in PHP symbols (Issue#584, PR#603).
619     * Fix parsing some Objective-C properties (PR#940, PR#941).
621     Internationalization
622     * Updated translations: de, es, fr, it, ja, kk, lt, nl, pt, ru, sk,
623                             zh_CN
625     API
626     * Add `editor_set_indent_width()` (Thomas Martitz, PR#903).
627     * Add `GeanyFiletypeID` and deprecate `filetype_id` (PR#932).
628     * Remove non-API type `langType` (Jiří Techet, part of PR#906).
629     * Mark deprecated API so GCC-like compilers can warn about it, and add
630       `GEANY_DISABLE_DEPRECATION_WARNINGS` to silence those (PR#911).
631     * Add `scintilla_object_send_message()`, `scintilla_object_get_type()`
632       and `scintilla_object_new()` alias to the API as synonyms for their
633       legacy counterparts `scintilla_send_message()`, `scintilla_get_type()`
634       and `scintilla_new()` (Thomas Martitz, PR#874).
636     Windows
637     * Project->Open now respects the native dialog setting (PR#961).
640 Geany 1.26 (November 15, 2015)
642     General
643     * New plugin API (Thomas Martitz, PR#469).
644     * Add support for "proxy" plugins (Thomas Martitz, PR#629).
646     Bug fixes
647     * Fix "Open in New Window" command (Issue#590).
648     * Fix spurious "source file has been modified" (Jiří Techet, Issue#605,
649       PR#621).
650     * Don't open more than one document for non-existing paths from the CLI
651       (https://bugs.launchpad.net/linuxmint/+bug/1482558, PR#646).
652     * Fix configuration directory encoding on non-UTF-8 non-Windows systems
653       (Dimitar Zhekov, PR#658).
655     Interface
656     * Use monospace font for the message window by default (Jiří Techet,
657       Issue#435, PR#580).
658     * Fix mnemonic conflict in "Use multi-line matching" (Ross Konsolebox,
659       Issue#589, PR#647).
661     Editor
662     * Update Scintilla to version 3.6.1.
663     * Fix completion popup height when view is zoomed (Issue#702).
664     * Fix Go To End Of Display Line when wrapping is on and EOL are visible
665       (Issue#712).
666     * Keeping undo history when reloading files is now enabled by default
667       (Thomas Martitz, Issue#562, PR#672).
668     * "Strip trailing spaces", "Replace tabs" and "Replace spaces" now
669       follow the current selection (Pavel Sountsov, PR#394).
670     * Respect Smart Home Key setting in Go To Start of Display Line.
671     * Check whether the document is newer on disk when the window gets
672       focused (Jiří Techet, PR#533).
674     Filetypes
675     * Add Cargo build commands for Rust (Wayne Nilsen, PR#557).
676     * Add recent Perl keywords (Olivier Duclos, PR#599).
677     * Add missing Python 3 keywords and builtins (PR#755).
678     * Improvements to the Rust filetype (Pavel Sountsov, PR#613).
679     * Add multiline comment to Haskell (Abel Serrano Juste, PR#638).
680     * Recognize `.adoc` is as Asciidoc (PR#708, PR#711).
681     * Recognize `.mml` and `.mathml` as XML (Devyn Collier Johnson, PR#731).
683     Internationalization
684     * Updated translations: de, el, es, fr, hu, id, kk, pt, sk, sv, ru
685     * Fix internationalization of "Open in New Window" items.
687     API
688     * New plugin API, `geany_load_module()`, `geany_plugin_register()`,
689       `GEANY_PLUGIN_REGISTER()`, `geany_plugin_register_full()`,
690       `GEANY_PLUGIN_REGISTER_FULL()` (Thomas Martitz, PR#469).
691     * Add support for "proxy" plugins, `geany_plugin_register_proxy()`
692       (Thomas Martitz, PR#629).
693     * Allow `user_data` parameter and `destroy_notify` callback to
694       keybindings with new `keybindings_set_item_full()` and
695       `plugin_set_key_group_full()` (Thomas Martitz, PR#376).
697     Windows
698     * Restore modern design of native file dialogs (Issue#578).
701 Geany 1.25 (July 12, 2015)
703     General
704     * GTK3 support, while not enabled by default, is now considered stable.
705     * Improve MacOS X support (PR#396, PR#419, PR#420, Jiří Techet).
706     * Improve subprocess spawning (especially on Windows) (PR#441,
707       Dimitar Zhekov).
708     * Huge tag management performance improvement (auto-completion,
709       calltips, etc.) (PR#356, Jiří Techet).
710     * Remove broken "Show macro list" keybinding and feature (PR#378).
711     * Add %l substitution to build commands (PR#289, Martin Spacek).
712     * Depend on GTK 2.24 and GLib 2.28.
713     * Add per-project line wrapping, line breaking and comment
714       continuation settings.
715     * The plugin API is now split out of the main executable into libgeany,
716       a shared library plugins have to link against.
718     Bug fixes
719     * Fix applying filetype-specific indentation settings for newly
720       opened files.
721     * Fix relative project base path when creating a new project
722       (#1062).
723     * Fix next/previous keybindings when no files are open.
724     * Fix markup injection in some tooltips (#1091).
725     * Use absolute project path for projects opened from the command
726       line (PR#431, Jiří Techet).
727     * Fix goto tag in some cases when the same symbol name appears in
728       different languages (PR#487, Jiří Techet).
729     * Fix UI updating after loading a project.
730     * Fix the currently selected document after Save All.
731     * Fix leftovers in the Project dialog in some cases (PR#363, Jiří
732       Techet).
733     * Fix function return type in symbol list tooltips in some cases
734       (PR#475, Jiří Techet).
735     * Fix VTE path following on startup.
737     Interface
738     * Show document-related dialogs embedded in the main window ("info
739       bars") (PR#277, Matthew Brush and Thomas Martitz).
740     * Plugin manager dialog cleanup and overhaul (PR#251, PR#414).
741     * Filetypes can now define the MIME type used to select their icon
742       (PR#179).
743     * Close documents in the sidebar with middle mouse button (PR#172,
744       Pavel Roschin).
745     * Ask whether to replace project files when creating a project.
746     * Ask whether to adopt the open documents when creating a new
747       project (PR#315).
748     * Allow to disable the list of recent files.
749     * Fix many shadow inconsistencies (PR#411, Jiří Techet).
750     * Add virtual column and selected chars to the statusbar (Patch #10,
751       Dimitar Zhekov).
752     * Add "dirty" terminal indication (PR#476, Jiří Techet).
753     * Allow to select the None filetype in the Open File dialog
754       (Issue#483).
755     * Add configuration menu entries for all filetypes (PR#491, Jiří Techet).
757     Editor
758     * Update Scintilla to version 3.5.6 (#1041).
759     * Do not comment out blank lines when toggling comments (PR#79, Igor
760       Shaula).
761     * Improve handling of Verilog strings and comments.
762     * Support for keeping undo history when reloading files (PR#188, Arthur
763       Rosenstein).  This is not enabled by default in this release.
764     * Respect filetype.common's wordchars if a filetype doesn't have its own
765       (Issue#492, PR#501).
767     Search
768     * Add support for single-line regular expressions (PR#310).
769     * Default action is now "Replace & Find" in the replace dialog but
770       can be configured (Roland Pallai).
771     * Activate default action from all fields in the Find in Files
772       dialog (#959).
774     Filetypes
775     * Add JSON filetype.
776     * Add Zephir filetype.
777     * Add CoffeScript filetype (PR#230, Mark Dresselhaus).
778     * Add Go tags parser (PR#373, PR#481, Issue#238, Jiří Techet).
779     * Add Erlang tags parser (PR#445, Beng Tan).
780     * Add PowerShell tags parser (PR#477).
781     * Many JavaScript parsing fixes and improvements.
782     * Many CSS parser fixes and improvements.
783     * Many Txt2tags parsing fixes and improvements (feature #690).
784     * Make parser fixes and improvements.
785     * Parse D enum base type (PR#404).
786     * Various small Rust fixes (PR#306, SiegeLord).
787     * Highlight C types in C++.
788     * Add some missing C11 keywords.
789     * Add some missing SQL keywords.
790     * Fix and add some CSS keywords (PR#333, Hannes Heute).
791     * Fix some FreeBasic keywords (#691).
792     * Add some missing D keywords (PR#293, Danyal Zia).
793     * Fix R keywords and wordchars (PR#273, landroni).
794     * Fix styling of some CSS elements.
795     * Fix styling of Lua preprocessor.
796     * Fix style of PHP variables interpolation.
797     * Recognize `.vbs` files as FreeBasic (PR#171, Nicolas Karolak).
798     * Recognize `.tpl` files as HTML.
799     * Recognize `.xtpl` files as XML.
800     * Recognize `.xpm` files as C.
801     * Recognize more Bash files (PR#291, Peter Bittner).
802     * Update templates for Python and Vala.
803     * Add template for HTML5.
804     * Fix parsing of some Python triple-quoted strings.
805     * Add some linting tools to some filetype's default Build menu.
806     * Fix scope of some Python symbols.
807     * Fix support of trigraphs in C-like languages.
808     * Add support of digraphs in C-like languages.
809     * Add support of `final`, `override` and `noexcept` C++11 keywords
810       (PR#544).
812     Internationalization
813     * Update translations: be, ca, cs, de, el, es, fr, id, it, ja, nl, pl,
814                            pt_BR, pt, ru, sl, sr, sv, zh_CN.
816     Plugins
817     * File Browser: use "explorer" as the default open command on
818                     Windows.
819     * File Browser: use icons based on the detected file's MIME type (PR#455,
820                     Jiří Techet).
821     * Save Actions: use mode 0600 for backup copies (#833, PR#413).
822     * Split Window: Fix a few keybindings (cut, copy, paste, delete,
823                     select all) (PR#467, Alex).
825     API
826     * Hide private API (PR#351, Jiří Techet, and PR#429, Matthew Brush and
827       Thomas Martitz).
828     * Cleaner and safer TagManager API (Part of PR#356, Jiří Techet).
829     * Entry point prototypes are now checked by the compiler (PR#359).
830     * Add pseudo-unique document IDs through GeanyDocument::id and
831       document_find_by_id(). This is a safer API for keeping a reference
832       to a document for a long time (PR#256).
833     * Add convenient and portable spawning API: spawn_sync(), spawn_async(),
834       spawn_with_callbacks(), spawn_kill_process(), spawn_check_command(),
835       spawn_write_data() (PR#441, Dimitar Zhekov).
836     * plugin_signal_connect() is now safe to use also with objects
837       destroyed before unloading the plugin.
838     * Add document_reload_force() to replace document_reload_file().
839     * Add project_write_config() (PR#361, Jiří Techet).
840     * Add keybindings_get_modifiers() and GEANY_PRIMARY_MOD_MASK (Jiří
841       Techet).
842     * Fix emission of the 'document-activate' signal in some cases.
843     * Add ui_tree_view_set_tooltip_text_column().
844     * Add scintilla_get_type().
846     Windows
847     * Use native Windows quoting rules for commands (on Windows, part of
848       subprocess spawning improvements).
849     * Prompt before overwriting existing files when using native Save As
850       dialog (PR#113, Adam Coyne).
851     * View -> Change Font now respects the native dialog setting.
852     * Fix main window freeze when displaying native dialogs.
853     * Use the same plugin directory as other platforms (PR#540, Thomas
854       Martitz).
857 Geany 1.24.1 (April 16, 2014)
859     General
860     * Fix distribution of custom GTK style files (#1037).
863 Geany 1.24 (April 13, 2014)
865     General
866     * Add experimental support for GTK3.
867     * Add support for loading CTags and Vi tags files.
868     * Save configuration when plugin manager dialog is closed.
870     Bug fixes
871     * Fix many small memory leaks (many of them found by Pavel Roschin).
872     * Fix stopping of some spawned commands.
873     * Fix cursor position and selection after comment toggling (#3576431).
874     * Fix truncated output of ``--list-documents`` command-line option.
875     * Fix launching a new instance when ``--list-documents`` is passed
876       and no other instance is running.
877     * Fix crash if a Custom Command returns after its related document
878       has been closed.
879     * Fix typo in "deque" C++ include name (#1027).
880     * Fix replacing a selection starting with "0x" by a color if the
881       selection is not 8 bytes long.
882     * Fix a possible crash on quit.
884     Interface
885     * Fix custom GTK styles under KDE (#3607935).
886     * Add Find entries in the Symbol List popup menu (#3608278).
887     * Flatten-out the View menu.
888     * Add a button to directly configure a plugin's keybindings in the
889       plugin manager (Pavel Roschin).
890     * Add an Apply button to the color chooser dialog (FR#686,
891       Steven Valsesia).
892     * Use a non-cropped 16x16 application icon (#1010).
893     * Fix "leaks" of geany_run_script (#975).
895     Editor
896     * Update Scintilla to version 3.3.6 (#962, #995).
897     * Fix Reflow to follow Line breaking behavior (#382, #412, #464,
898       Eugene Arshinov).
899     * Fix unfolding the very last line in a level (#1007).
900     * Fix commenting the very last line in some situations.
902     Search
903     * Fix bulk Search & Replace not to match replacements.
904     * Fix finding start of word when performing whole word matching.
905     * Search when activating the Replace dialog find entry.
907     Filetypes
908     * Add CUDA filetype (PR#147, Benjamin Chrétien).
909     * Add Rust filetype (PR#181, SiegeLord).
910     * Add Batch filetype (canou).
911     * Add Graphviz filetype (PR#125, Miro Hrončok).
912     * Add PowerShell filetype (Igor Shaula).
913     * Add Clojure filetype (PR#92, Hoàng Minh Thắng).
914     * Many improvements to the PHP tag parser.
915     * Update PHP global tags file (PR#137, John Long).
916     * Improve shebang detection for mksh and tcsh shells
917       (PR#126 , Ypnose).
918     * Fix Asciidoc parser recognition of open block as underline.
919     * Fix symbol list entry for Asciidoc headers containing a dot.
920     * Fix Asciidoc title parsing.
921     * SQL parsing improvements.
922     * Extend list of recognized keywords for SQL.
923     * Fix SQL single-line comment marker (#997).
924     * Fix parsing of some JavaScript constructors (#966).
925     * Fix parsing a JavaScript regular expression in a return statement.
926     * Fix parsing JavaScript files with a shebang.
927     * Parse Java annotations with parameters (#924, Braden Walters).
928     * Display Java enums in the symbol list.
929     * Add "strictfp" Java keyword and fix annotation parsing (#936, #924).
930     * Fix parsing of C++ static_assert.
931     * Fix parsing of typed enums in C# and C++.
932     * Mitigate parsing errors on C++ generics containing an expression.
933     * Add C++ member pointer operator to scope autocomplete operators
934       (#907).
935     * Fix parsing of Fortran "forall" blocks and procedure pointers
936       (Alexander Eberspächer).
937     * Fix parsing of complex Cython types.
938     * Fix re-parsing Objective-C code.
939     * Fix parsing of Verilog initializers.
940     * Fix displaying of quoted Bash HereDoc delimiters (#952).
941     * Add some HTML5 keywords (Duncan de Wet).
942     * Add Erlang snippets and a template (PR#157, Fabio Ticconi).
943     * Haskell highlighting improvements (kudah).
944     * Add Matlab class keywords (PR#136, Felix Totir).
945     * Fix argument list on some Python constructors.
946     * Fix R indenting to use braces.
947     * Display R sources and libraries in the symbol list.
948     * Many improvements to the Fortran tag parser (#1023, #1030, with
949       help from Adam Hirst).
950     * Put Makefile comments at start of line.
951     * Add some missing Pascal keywords (#1033, PR#144).
952     * Add default build command for Bibtex in the Latex filetype
953       (PR#227, Francisco Iacobelli).
954     * Ignore Python imports when going to a tag's definition.
955     * Add some more Ruby extensions (Igor Shaula).
957     Internationalization
958     * Make date templates translatable (Christian Dywan).
959     * Update translations: ca, cs, de, es, eu, fr, gl, he, hu, it, kk,
960                            lt, nl, pt, ru, sk, sl, sv, tr, zh_CN, zh_TW
962     Plugins
963     * Save Actions: add autosave when the editor lose focus (FR#683,
964       Steven Valsesia).
965     * Export: fix exporting a document not ending with a newline.
966     * Export: fix including random, unused styles in the output.
967     * Export: fix HTML title if the file name contains control characters.
968     * Export: fix LaTeX export with many consecutive '-', '<' or '>'.
970     API
971     * Add plugin_builder_connect_signals().
973     Windows
974     * Fix infinite pagination when printing (#961).
975     * Fix spawning commands with spaces (#943).
976     * Allow to use the GTK color chooser dialog (PR#218, Steven Valsesia).
977     * Add default extension to native save dialogs (#1021).
978     * Add colorschemes from the Geany-Themes project to the
979       Windows  installer.
980     * Add option to install Geany header files and pkgconfig file to the
981       Windows installer.
982     * Fix broken opening files from command line on Windows
983       (again, #3613096).
986 Geany 1.23.1 (May 19, 2013)
988     Bug fixes
989     * Fix custom styles under KDE and for people using gtk-chtheme
990       (corrects tab coloring, #3607935).
991     * Fix broken opening files from command line on Windows (#3613096).
994 Geany 1.23 (March 10, 2013)
996     General
997     * Various fixes to language theming (#3573213).
998     * Various Windows makefile fixes.
999     * Rewrite printing code (#2629121, #2804000, #3475444, #3580268,
1000       #3580269).
1001     * Use the Geany icon from the theme (#3576695).
1002     * Make Geany-specific icons themeable.
1004     Bug fixes
1005     * Fix too aggressive scope caching (#2142789, #2667917, #2868850).
1006     * Fix showing project name in the Documents sidebar.
1007     * Fix opening filenames with leading or trailing spaces from the
1008       command line into a running instance.
1009     * Fix re-opening files with unknown but detected encoding
1010       (#3509407, #3605293).
1011     * Fix crash when loading a broken or incompatible VTE library.
1012     * Report scope including classes, namespaces and alike (#1996778).
1013     * Fix cancelling Project Close when showing the unsaved changes
1014       dialog.
1015     * Only use "allow_always_save" setting for direct user interaction
1016       (Quentin Glidic).
1017     * Fix some keybinding not getting properly displayed in the menus
1018       after being updated (#1912683, #3599251).
1019     * Make Terminal tool setting more flexible to support any terminal.
1020     * Fix replacing file name in files header upon save.
1021     * Fix UAC Virtualization issue on newer Windows versions when trying
1022       to save files to read-only locations (#3566329, #3515490).
1024     Interface
1025     * Control-click on the symbols sidebar don't focus the editor.
1026     * Add an option to place the message window on the right.
1027     * Fix display of non-ASCII tags in the symbols tree for non-UTF-8
1028       files.
1029     * Replace 'Open file in a new tab' save dialog option with new
1030       'Document->Clone' menu item.
1031     * Fix clashing button mnemonic in detect/reload dialog (#3587465).
1032     * Grab focus in the embedded terminal upon middle click (#3574724).
1033     * Add support for embedded terminal background image (Mislav
1034       Blažević).
1036     Editor
1037     * Update Scintilla to version 3.2.3 (#2808638, #2909124, #3094431,
1038       #3233160, #3540469).
1039     * Properly indent even if the indenting character isn't the last
1040       one.
1041     * Always display text in LTR direction.
1042     * Improve collapsing fold behavior when start point is offscreen.
1043     * Faster squiggle underlining.
1044     * Fix multiline comments at end of file (#3026691).
1045     * Keep caret and anchor position upon indent and unindent
1046       (#3167355).
1047     * Complete on dash (-) too in CSS documents.
1048     * Make wordchars have precedence over whitespacechars (#3429368).
1049     * Fix cursor position after comment toggling with no selection
1050       (#3576431).
1051     * Fix reshowing calltip after autocompletion list closed.
1052     * Fix uncommenting multiline comments when cursor is on a delimiter.
1053     * Clear search markers on Mark All keybinding when already set.
1054     * Never strip trailing spaces from Diff documents.
1055     * Reduce unnecessary redraws when typing (Evandro Borracini).
1056     * Fix comment toggling inside PHP and HTML with bottom-up selection.
1058     Search
1059     * 'Mark All' now also uses the fully-featured PCRE engine
1060       (#3564132).
1061     * Only set Find in Files directory once per-document.
1062     * Fix a crash when matching the very last character of the document.
1063     * Fix search and replacement of empty matches.
1064     * Fix a possible crash when searching on a range.
1066     Keybindings
1067     * Add keybinding for 'Go to Start of Display Line' (#3182425).
1068     * Allow to change the keybinding for 'Quit'.
1070     Filetypes
1071     * Parse '!' char in D parameter lists.
1072     * Fix parsing of Haskell comments inside a type (#3552129).
1073     * Fix Cython auto indentation.
1074     * Add more keywords to Forth (Oco).
1075     * Add some missing Haxe keywords (#3448664).
1076     * Add some missing CSS3 keywords (Trong Thanh Tran).
1077     * Add some missing D keywords (#3595187) (Felix Totir).
1078     * Fix a crash parsing some C macros (#3556536).
1079     * Update some Python keywords.
1080     * Update Python global tags file.
1081     * Show VHDL blocks in the symbol list.
1082     * Fix ruby scope after "do" (#3046418).
1083     * Fix parsing of ruby keywords when followed by a semicolon
1084       (#2130612).
1085     * Lots of JavaScript symbols parsing improvements (#2992393,
1086       #3034303, #3034339, #3036476, #3398636, #3470609, #3568542,
1087       #3570192, #3571233).
1088     * Use "scala" extension for Scala (#3574723).
1089     * Fix parsing of reStructuredText titles containing UTF-8
1090       characters (#3578050).
1091     * Parse C++11 final classes (#3577559).
1092     * Parse C++11 enums with type specifier and classed enums
1093       (#3578557).
1094     * Fix highlighting of C++11 raw strings (#3578557).
1095     * Fix parsing of colons in D (#3577788).
1096     * Fix parsing of D 'static assert' (#3582833).
1097     * Parse scope for D nested template blocks (#3582833).
1098     * Ignore D angle brackets.
1099     * Fix reStructuredText comment marker (#3585377).
1100     * Add Asciidoc filetype.
1101     * Fix parsing of Python keywords followed by a tab (\t).
1102     * Add more HTML5 self-closing tags (Duncan de Wet).
1103     * Update default D template to use a more standard prototype for
1104       main().
1105     * Fix improperly translated string in Pascal template (#3602314).
1106     * Add Go language filetype (tomboy64).
1108     Plugins
1109     * Export: Fix missing linking on libm (Chow Loong Jin)
1110     * File Browser: Backspace now moves to parent directory.
1112     API:
1113     * Fix plugin_add_toolbar_item() insertion order (#3522755)
1114       (Dimitar Zhekov).
1116     Windows
1117     * Fix spawning synchronous commands on Windows.
1118     * Show Find in Files status summary.
1119     * Add icon to the Explorer context menu item.
1121     Internationalization
1122     * Add translations: et, eu, he, hi, sr
1123     * Update translations: ca, cs, de, es, fi, gl, it, kk, lt, nl,
1124                            pt_BR, ru, sv, sl, tr
1125     * Fix a crash when using the Turkish translation (#3560181).
1128 Geany 1.22 (June 18, 2012)
1130     General
1131     * Bump dependencies to GTK >= 2.16 and GLib >= 2.20.
1132     * Switch to Glade 3 and dynamically loaded XML UI description.
1133     * Rewrite theming support for better flexibility.
1134     * Add support for opening files read-only from the command line.
1135     * Always load the default session if configured to do so.
1136     * Make all filetypes use named styles to simplify color scheme
1137       authoring.
1138     * Make 'Replace Spaces by Tabs' only match leading spaces to
1139       preserve alignment.
1141     Possibly incompatible changes
1142     * Theming and filetype style changes mean old filetypes and color
1143       schemes are not compatible with this version of Geany.
1144     * There are some default keybinding changes but these will only
1145       apply to newly created configurations.
1146     * Changes to the "project-dialog*" signals may affect plugins.
1148     Bug fixes
1149     * Fix escaping of session file paths (#3425969).
1150     * Fix closing when minimized under Windows (#3421282).
1151     * Properly handle remote URIs received through drag 'n drop
1152       (#2966770, #3479567).
1153     * Fix build with bleeding-edge GLib (#3483388).
1154     * Fix color scheme selection in Ubuntu Unity (#3479674).
1155     * Fix very slow regex tag parsing on Windows (e.g. for HTML).
1156     * Fix detecting a changed file on disk when opening from
1157       the command-line (Windows).
1158     * Fix quick search entry behavior on Windows.
1159     * Fix keybindings conflicts check when swapping a binding.
1160     * Fix comments insertion in some cases (#3449635, #3534320).
1161     * Add missing Windows mio makefile.
1163     Prefs
1164     * Split "always wrap search and hide find dialog" pref into
1165       "always wrap search" and "hide find dialog" (Dimitar Zhekov).
1166     * Add Project Properties overrides for 'Saving files' prefs.
1167     * Add hidden VTE preference "send_cmd_prefix" to prefix commands sent
1168       to the VTE. (See the manual for details).
1170     Interface
1171     * Add support for switching to the last used document after closing
1172       a tab (Jiří Techet).
1173     * Improve the tab switching dialog for better usability (Jiří Techet).
1174     * Add support for user-defined labels for 'Send Selection to'
1175       custom commands.
1176     * Fix sidebar width when on the right (#3514436).
1177     * Use case-insensitive document list path comparison on Windows.
1178     * Replace Color Schemes menu with custom dialog.
1179     * Show selected line count on status bar when whole lines are
1180       selected.
1182     Editor
1183     * Update Scintilla to version 2.29.
1184     * Add a "join lines" command (Eugene Arshinov).
1185     * Hide autocompletion when the only entry has been typed (#3516212).
1187     Search
1188     * Add full PCRE regular expressions support.
1189     * Extra options passed to grep through Find in Files now follows a
1190       real shell-style syntax (#3516263).
1191     * Search pattern length is no longer limited to 248 characters.
1192     * Fix showing Find/Replace regex compile errors on the status bar.
1194     Keybindings
1195     * Add Project New/Open/Properties/Close keybindings.
1196     * Show overridden keybindings in bold for prefs dialog tree.
1198     Tags
1199     * Speed up loading of multiple global tags files.
1200     * Show global tags file preprocessing errors on stderr & add
1201       current directory to include path.
1202     * Add C/C++ ignore.tags wildcard format 'PREFIX*'.
1204     Filetypes
1205     * Add support for regex-based filetype detection.
1206     * C snippets no longer apply to all filetypes.
1207     * Improve support for HTML embedded filetypes (#2863829, #3127598).
1208     * Add filetype Objective-C (Elias Pschernig, P#3325139).
1209     * Fix highlighting of ``...R"`` inside C and C++ (#3425107).
1210     * Fix TCL keyword highlighting in some situations (#3432877).
1211     * Parse PHP functions with multiline argument list (#3037797).
1212     * Handle ``/bin/dash`` shebang (#3470986).
1213     * Update JavaScript parser from CTags.
1214     * Parse D class/struct/interface template bodies and template
1215       blocks; ignore 'static if' expressions; parse function
1216       @attributes, pure/nothrow and immutable/inout/shared return types.
1217     * Fix broken tag/word autocompletion in HTML/PHP documents.
1218     * Enable &entity; completion for all XML-based filetypes.
1220     Plugins
1221     * Split Window: show marker margin.
1222     * Split Window: enable basic context menu.
1224     API:
1225     * document_save_file() now shows the Save As dialog when necessary.
1226     * Rename signal "project-dialog-create" to "project-dialog-open" and
1227       add new "project-dialog-close" signal.
1228     * setptr is deprecated in favour of SETPTR.
1229     * Add ui_hookup_object() and ui_lookup_object().
1230     * Add ui_lookup_stock_label().
1231     * Add build_{activate,get_current,remove,set}_menu_item(),
1232       build_get_group_count().
1233     * Add stash_group_free_settings().
1234     * Add support for plugins written in C++.
1236     Internationalization:
1237     * Add translations: ar, id, lt, mn, nn, sk
1238     * Update translations: de, es, fr, hu, it, ja, kk, lt, nl, pl, pt,
1239       pt_BR, sk, sl, sv, tr, zh_CN, zh_TW
1242 Geany 0.21 (October 2, 2011)
1244     General
1245     * Bump dependencies to GTK >= 2.12, GLib >= 2.16 and GIO.
1246     * Add support for real-time symbol parsing.
1247     * Remove old filetype templates support - use custom file
1248       templates instead.
1249     * Add support for detecting the indentation width from the file
1250       content.
1252     Bug fixes
1253     * Fix generating tag files (-g) and --ft-names segfault.
1254     * Replace dates on template insertion, not when loading templates.
1255     * Fix segfault when inserting e.g. fileheader template when the
1256       template file is empty (#3070913, lphilpot).
1257     * Use the same indentation for all templates (Matthew Brush,
1258       #3193527).
1259     * Fix loading of non-UTF-8 templates.
1260     * Fix completion and word completion with non-ASCII characters
1261       (#3313351).
1262     * Fix HTML content-type detection (#3300703).
1263     * Fix pattern filtering when using Find in Files not to search in
1264       sub-directories.
1265     * Add a workaround to prevent Geany from crashing during loading of
1266       a LaTeX-file containing linebreaks inside headings.
1268     Interface
1269     * Add 'Save As' toolbar button option (Matthew Brush, #3153490).
1270     * Add 'Open in New Window' command in the notebook tab menu
1271       (Matthew Brush, #3118059).
1272     * Color schemes: use name and description for menu item and
1273       tooltip (Matthew Brush).
1274     * Shift-Enter in search dialog and toolbar search entries now
1275       searches backwards.
1276     * Improve `Set Custom Commands` dialog.
1277     * Always destroy open and save dialogs after use (#3311258,
1278       #3304273, #3201050, #3163742, #3153120, #2985896).
1279     * Add UI to edit formerly hidden preferences (Dimitar Zhekov,
1280       #3313315).
1282     Editor
1283     * Update Scintilla to version 2.25.
1284     * Fix snippets bug: {ob}pc{cb} replaced by '%' instead of {pc}.
1285     * Fix multiple snippet cursor positions for Tabs + Spaces mode.
1286     * Avoid triggering autocompletion on PHP open tags (#3199442).
1287     * Fix indentation brace matching (#3309606).
1289     Configuration files
1290     * Support copying filetype definition file group keys from a system
1291       keyfile with e.g. [styling=C].
1292     * Make filetype group membership configurable using [Groups] in
1293       filetype_extensions.conf.
1295     Search
1296     * Don't auto-enable case-sensitive option when enabling regex in
1297       Find/Replace dialogs.
1298     * Remember Find and Replace options across restarts (Dimitar Zhekov).
1300     Keybindings
1301     * Add fixed shortcuts for VTE copy (Ctrl-Shift-C) and paste
1302       (Ctrl-Shift-V).
1303     * Add new keybinding 'Remove Markers and Error Indicators'.
1305     Projects
1306     * Store VTE path with the project session (Nicolas Sierro).
1308     Filetypes
1309     * Add Scala custom filetype (werg).
1310     * Add Cython custom filetype (Matthew Brush).
1311     * Add support for separate single and multiline comments.
1312     * Add support for filetype-specific indentation settings (#3339420,
1313       #3390435)
1314     * Fix detecting Matlab and Txt2Tags extensions by default (#3167315,
1315       #3154637).
1316     * Fix detecting non-lowercase self-closing tags e.g. <BR> (#2226117).
1317     * Highlight C# and Vala raw and verbatim strings.
1318     * Improve JavaScript keyword handling and keyword lists (Jason Oster).
1319     * Add filetype Cobol (Seth Keiper).
1320     * Add file template for Vala (Mark Trompell).
1322     Plugins
1323     * File Browser: Make 'Hide object files' preference configurable with
1324       file extensions.
1325     * Split Window: Fix a crash when changing filetype (Matthew Brush,
1326       #3255968).
1327     * Split Window: Update styles when the filetype changes (Matthew
1328       Brush).
1329     * Split Window: Enable code folding (Matthew Brush, #3097780).
1330     * Split Window: Fix issues on Windows (Matthew Brush, #2725342).
1331     * Class Builder: Improve dialog UI using a table (Matthew Brush).
1332     * Export: Add option to insert line numbers (#3197150).
1334     Documentation
1335     * Add 'Reading styles from another filetype' subsection (Matthew
1336       Brush).
1337     * Add 'Filenames' subsection for filetype definition files explaining
1338       the filename extensions and special cases.
1339     * Add section 'Filetype group membership'.
1341     Plugin API
1342     * Add filetypes_get_sorted_by_name(), utils_find_open_xml_tag_pos()
1343       (Eugene Arshinov).
1344     * Add plugin_idle_add(), plugin_timeout_add(), plugin_timeout_add_seconds(),
1345       ui_menu_add_document_items_sorted(), document_compare_by_display_name(),
1346       document_compare_by_tab_order(), document_compare_by_tab_order_reverse().
1347     * Deprecate ui_widget_set_tooltip_text().
1348     * Fix public inclusion of config.h (#3384026).
1349     * Add new signal "document-reload".
1351     Internationalisation:
1352     * Add translations: fa
1353     * Update translations: ca, cs, de, en_GB, es, fi, fr, gl, it, ja, nl, pt,
1354       pt_BR, sl, sv, tr, vi, zh_CN, zh_TW
1357 Geany 0.20 (January 5, 2011)
1359     Fixes:
1360     * Improve compatibility with GVFS using GIO to save documents (Alexey
1361       Antipov).
1362     * Fix crash when closing a modified document (usually without a
1363       trailing newline) and choosing Save (fixes #3111058).
1364     * Fix crash when using 'Send Selection to Terminal' and the VTE
1365       is not loaded, and when using Ctrl-A after enabling the 'Load VTE'
1366       pref (Dimitar Zhekov).
1367     * Fix a slightly wrong encoding detection on Windows (#3019573).
1368     * Fix issue with single-line commenting/uncommenting blocks when using
1369       Windows line endings.
1370     * Fix saving project indent prefs straight after using project
1371       properties.
1372     * Fix wrongly changing edited keybindings when cancelling the
1373       Preferences dialog.
1374     * Fix auto-displaying of sidebar, tab bar, symbols and documents tabs
1375       when only plugin tabs are visible (fixes #3101867).
1376     * Save build commands for filetype None (Lex Trotman).
1377     * Waf: Check for libsocket on OpenSolaris to fix build.
1379     Interface:
1380     * Color build command fields light grey unless overridden (Lex
1381       Trotman).
1382     * Replace /home/user with ~ in the documents list (Jon
1383       Strait).
1384     * Display 'new instance' on title bar for 2nd instances (Eugene
1385       Arshinov).
1386     * Don't add duplicates to combo box histories.
1387     * Reorganise Find in Files dialog and add Files pattern to filter
1388       search results.
1389     * Implement 'Select All' for the VTE widget.
1390     * Reorganise editor popup menu for shorter size - some items were moved
1391       to submenus.
1392     * Move Go to Marker menu items to Search menu.
1393     * Group Open dialog encoding options by submenus (Adam Ples; #3047717).
1394     * Show mimetype icon in sidebar Documents list and notebook popup menu
1395       (Colomban Wendling).
1397     Documents:
1398     * Ensure inserted templates always have proper line ending characters
1399       according to the current document's preference.
1400     * Add per-document indent width setting (Jiří Techet).
1401     * Add 'Project->Apply Default Indentation' menu command to override
1402       every document's indentation settings.
1403     * Display better error messages when saving a document fails (Dimitar
1404       Zhekov).
1405     * Don't prompt for reloading if the document has not been edited
1406       (Jiří Techet).
1407     * Add Close button to the detected file changed dialog.
1409     Editor:
1410     * Fix wrong snippet indentation when original cursor line has
1411       non-indentation whitespace (david).
1412     * Fix passing quoted arguments when using 'Send Selection to'. This
1413       means e.g. sed 's/\./(dot)/g' now works.
1414     * Add alternative color scheme based on Python colors
1415       (View->Editor->Color Schemes).
1416     * Replace HTML automatic <table> tag completion with a 'table' snippet
1417       (Eugene Arshinov).
1418     * Auto-indent after an HTML/XML line without a closing tag (Eugene
1419       Arshinov).
1420     * Respect 'Smart' home key pref for Shift[+Alt]+Home (fixes #3100290,
1421       Dimitar Zhekov).
1422     * Scroll to the current line when moving the cursor to the next
1423       cursor position in a snippet (#3139490).
1424     * If the current word's tag is on the current line, make Go to Tag
1425       Definition look for a tag declaration instead and vice versa.
1426     * Make Reflow Lines/Block command use the current indented block, not
1427       the whole paragraph (which could have mixed indentation).
1429     Configuration:
1430     * Load insertion templates from system path, don't create them in
1431       the user's config dir.
1432     * File templates are now reloaded on saving.
1434     Prefs:
1435     * Add 'Ensure consistent line endings' file saving pref (Manuel Bua).
1436     * Add 'statusbar_template' hidden pref (Dimitar Zhekov).
1437     * Add 'new_document_after_close' hidden pref to open a new document
1438       automatically after closing all documents.
1439     * Add hidden pref 'find_selection_type' with option to use the X
1440       selection or to repeat the last search when there's no selection,
1441       both off by default.
1442     * Add 'gio_unsafe_save_backup' hidden pref (Lex Trotman).
1443     * Add filetypes.common 'fold_symbol_highlight' color setting.
1444     * Add 'symbol_list_sort_mode' per-filetype setting.
1446     Keybindings:
1447     * Fix Alt+[0-9] switching tabs even when other modifiers are also held.
1448     * Add snippet keybinding support (Eugene Arshinov).
1449     * Add 'Insert New Line Before/After Current' keybindings (Eugene
1450       Arshinov).
1452     Filetypes:
1453     * Add Forth filetype (Thomas Huth).
1454     * Add Lisp filetype (Mário Silva).
1455     * Add Erlang filetype (Taylor Venable).
1456     * Ada: Fix wrong comments.
1457     * C++: Disable user fold points with new lexer property
1458       fold.cpp.comment.explicit.
1459     * Python: Update list of builtins for Python 2.6, simplify
1460       Compile/Syntax Check command. Use named styles for color scheme
1461       support (use alt.conf color scheme if you want the old colors).
1462     * Matlab: Support Octave # comment char.
1463     * Txt2Tags: add highlighting (Forgeot Eric - #3020632).
1464     * Make: fix possible infinite loop in tag parser.
1465     * D: Parse template functions, ignore /+ +/ comments, ignore
1466       unittest blocks, add keywords 'ref', 'macro' and D2 keywords.
1467     * Vala: Parse functions with contracts (#3080232).
1468     * Markdown, reStructuredText and Txt2Tags: Sort tags by line number by
1469       default.
1470     * Basic: Parse property, constructor, destructor as functions
1471       (pottersson; #2992167).
1472     * HTML: Add HTML5 element names and attributes (Ross McKay).
1473     * PHP: Parse final functions (fixes #3111171).
1474     * Markup: Add xml_indent_tags filetype setting for documents using the
1475       HTML/XML lexers (Eugene Arshinov).
1477     Plugins:
1478     * File Browser: Add history to path entry.
1479     * HTML Characters: Only automatically replace characters when the
1480       current document is a Markup document.
1482     Internationalisation:
1483     * Add translations: kk.
1484     * Update translations: cs, de, en_GB, es, fi, fr, hu, ja, nl, pt,
1485                            sl, sv, tr, zh_CN.
1487     Manual:
1488     * Update 'Custom filetypes', 'Ignore Tags' sections.
1489     * Add 'HTML Characters', 'Configuration file paths', 'Color schemes
1490       menu' sections.
1491     * Explain how to grep the Scintilla source for lexer properties.
1493     HACKING:
1494     * Add 'Bugs to watch out for' section.
1496     API:
1497     * Improve Stash GUI example.
1498     * Fix not loading plugins built against a newer API when Geany doesn't
1499       provide the required version given in PLUGIN_VERSION_CHECK().
1500     * Make GEANY_API_VERSION, GEANY_ABI_VERSION macros instead of enums
1501       so you can protect code with '#if GEANY_API_VERSION >= 200'.
1502     * Add signals "build-start", "project-dialog-create" and
1503       "project-dialog-confirmed" - to append a Project Properties
1504       notebook tab (Jiří Techet).
1505     * Add macro foreach_range().
1506     * Add GeanyMainWidgets::message_window_notebook (#3061342).
1507     * Add main_widgets.project_menu (Jiří Techet).
1508     * Add msgwin_set_messages_dir() (Jiří Techet).
1509     * Add highlighting_is_{string,comment,code}_style(),
1510       editor_find_snippet(), editor_insert_snippet(),
1511       utils_find_open_xml_tag() (Eugene Arshinov).
1512     * Add ui_combo_box_add_to_history(), editor_goto_pos(),
1513       dialogs_show_input(), Add sci_get_lexer().
1514     * Add filetypes_get_display_name() as "None" is no longer translated.
1517 Geany 0.19.2 (December 01, 2010)
1518     Fixes:
1519     * Fix bug where Geany did not always report an error message when
1520       saving a document fails.
1523 Geany 0.19.1 (August 18, 2010)
1525     Fixes:
1526     * Fix broken autocompletion after using scope completion.
1527     * Fix scrolling the editor line in view (e.g. after loading a session
1528       and switching document tabs).
1529     * Fix using filetype extension patterns with upper case letters on
1530       Windows (#3028856).
1531     * Fix a slightly wrong encoding detection on Windows (#3019573).
1532     * Re-enable comment folding.
1533     * Fix not loading plugins built against a newer API when Geany doesn't
1534       provide the required version given in PLUGIN_VERSION_CHECK().
1535     * Fix infinite loop in Markdown lexer (patch by Colomban Wendling,
1536       thanks).
1537     * Fix saving non-project filetype error regex.
1538     * Focus toolbar item when pressing Go to Line keybinding only when
1539       it's not in the toolbar's drop down overflow menu (#3027454).
1540     * Escape the name of the current document for markup when using
1541       document name for menu items (#3038844).
1542     * File Browser: Allow Find in Files when no items are selected.
1543     * Fix build menu translation problems.
1544     * Fix segfault on Tools->Reload Configuration when no documents are
1545       open (#3037079).
1546     * Fix building with Waf on Solaris.
1547     * Fix a memory leak (thanks to Daniel Marjamäki).
1548     * Use g_free instead of free (patch by Daniel Marjamäki, thanks).
1550     Tweaks:
1551     * Always use white background color when printing (except for text
1552       with a white foreground) to save ink (#2968998).
1553     * Limit build error editor indicators to 50, but parse all errors in
1554       the Compiler tab (#3019823).
1555     * Align notebook tab close buttons centred vertically (thanks to
1556       Robux.Biz (galyuk)).
1557     * Show the Project Properties build tab when choosing 'Set Build
1558       Commands' when a project is open to prevent confusion with
1559       non-project commands.
1561     Manual:
1562     * Fix wording - restarting is required for hidden prefs.
1563     * Fix Grep --exclude-dir example.
1566 Geany 0.19 (June 12, 2010)
1568     General:
1569     * Build system reworked to be much more configurable (by Lex Trotman).
1570     * Use POSIX system/GNU regex engine for find & replace. This alters
1571       regex syntax - we now support '?' operator and match newlines.
1572     * Support adding custom filetype files.
1573     * Add new command line option --list-documents to return a list
1574       of currently opened documents
1575     * Remove deprecated --debug flag. Please use --verbose/-v instead.
1577     Interface:
1578     * Add option 'System Default' for toolbar icon style and size to use
1579       the GTK default value.
1580     * Allow '+<number>' and '-<number>' as values for Goto Line inputs
1581       to jump relative to the current line.
1582     * Add preference to add new document tabs beside the current one
1583       (patch by Colomban Wendling).
1584     * Enable type-ahead find for sidebar symbols and documents tabs
1585       (patch by Thomas Martitz).
1586     * Make Ctrl-click on any notebook tab switch to the last used
1587       document.
1588     * Add 'Edit->Commands' menu.
1589     * Add 'Edit->Plugin Preferences' menu item and keybinding.
1590     * Add 'View->Editor->Color Schemes' menu (only shown if color
1591       scheme files exist).
1593     Prefs:
1594     * Hide 'Tabs and Spaces: Hard tab width' preference - it should
1595       always be 8. (Hidden setting kept in case users have modified it).
1596     * Add sidebar position interface pref.
1597     * Add project long line marker customisation (patch from Eugene
1598       Arshinov).
1600     Editor:
1601     * Update Scintilla to 2.12.
1602     * Add preference and support for virtual spaces.
1603     * Add word part autocompletion for the current selected item when
1604       pressing keybinding (default Tab) - Enter still completes normally.
1605     * Remove LaTeX autocompletion from Geany's core and move it to the
1606       geanyLaTeX plugin.
1608     Filetypes:
1609     * New filetype: Txt2Tags (patch by Eric Forgeot).
1610     * New filetype: Abc (patch by Eric Forgeot).
1611     * New filetype: Verilog (patch from Kelvin Gardiner).
1612     * New custom filetype: Genie.
1613     * Improvements in symbol parsing of PHP and Python files.
1614     * Add R tagmanager symbol parser (patch by Jon Senior).
1615     * Update Perl tag parser from ctags - removes support for
1616       buggy local/my/our but parses constant/format/labels.
1617     * Parse more VHDL tags (patch from Kelvin Gardiner).
1618     * Highlight D & Java types from a global tags file.
1619     * Parse Python lambda functions (patch from Colomban Wendling).
1621     Keybindings:
1622     * Add keybindings to switch to the sidebar's Document and Symbol list as
1623       well as to the Message Window's current tab (patch by Eugene Arshinov).
1624     * Add 'Remove Markers' and 'Remove Error Indicators' keybindings.
1625     * Make 'Reflow block/lines(s)' keybinding use line breaking column when
1626       enabled (patch by Lex Trotman).
1627     * Add 'Select to previous/next word part' keybindings.
1628     * Add 'Switch to Messages' focus keybinding.
1629     * Add 'Move line(s) up/down' keybindings.
1630     * Make Switch to Editor keybinding reshow the document statistics line.
1632     Templates:
1633     * Move filetype template defaults into custom file template files.
1634     * Read custom file templates from system as well as user dir.
1635     * Add new special template wildcard "{command:...}" to use the output
1636       of a shell command in templates.
1637     * Support {ob}, {cb} and {pc} to escape wildcard strings with {, }, %
1638       for snippets, fileheader and file templates.
1639     * Add {project}, {description} template wildcards (#2954737).
1640     * Reload templates when saving a document in the templates config dir.
1642     Configuration files:
1643     * Support more filetypes.common folding icon styles: arrows, +/- and no
1644       lines (#2935059).
1645     * Support Scintilla lexer properties in [lexer_properties] filetypes.*
1646       group.
1647     * Add filetypes.xml asp.default.language property (Ross McKay).
1649     Plugins:
1650     * Classbuilder: Add support for creating PHP classes
1651                     (patch by Ondrej Donek).
1652     * HTMLchars: Make plugin remember whether replacement of special
1653                  characters was activated.
1655     Windows:
1656     * Support very long build commands.
1657     * Add a preference for choosing between GTK and native File Open/Save
1658       dialogs (only available on Windows).
1660     Internationalisation:
1661     * Added translations: ast.
1662     * Updated translations: de, en_GB, es, fr, gl, ja, nl, pt, ru, sl, sv,
1663                             tr, vi, zh_CN.
1665     API:
1666     * Improve documentation contents page.
1667     * Add Stash mini-library setting, pref & widget functions to API.
1668     * Add plugin_configure_single() plugin symbol which is easier to
1669       implement than plugin_configure().
1670     * Add new plugin signals: "document-before-save", "document-filetype-set",
1671       "geany-startup-complete".
1672     * Add PLUGIN_SET_TRANSLATABLE_INFO macro to the plugin API so plugins' meta
1673       information can be translated already in the plugin manager dialog
1674       (patch by Colomban Wendling).
1675     * Use full function name for GeanyFunctions function pointers. This
1676       avoids naming conflicts e.g. with C++'s 'new' keyword.
1677     * GeanyKeyBinding label fields can now contain underscores, which won't
1678       be displayed by Geany. This saves adding near-duplicate translation
1679       strings.
1680     * Add GeanyKeyGroup callback support.
1681     * Add more Scintilla function wrappers, foreach_dir(), foreach_str(),
1682       utils_get_file_list_full(), document_get_notebook_page(),
1683       editor_insert_text_block().
1684     * Don't install unnecessary headers.
1685     * Remove deprecated header pluginmacros.h - use geanyfunctions.h
1686       instead.
1687     * Deprecate documents_foreach(), use foreach_document() instead.
1688     * Deprecate PLUGIN_KEY_GROUP() macro - use plugin_set_key_group()
1689       instead.
1692 Geany 0.18.1 (February 14, 2010)
1694     Build fixes:
1695     * Define G_GNUC_WARN_UNUSED_RESULT to fix build on GLib 2.8.
1696     * Use AC_PATH_PROG instead of 'which' for portability (patch by Erik
1697       Southworth, thanks).
1699     Incompatibilities:
1700     * Remove filetypes.common invert_all option - use 'Invert syntax
1701       highlighting colors' pref instead (fixes #2854525).
1703     Bug fixes:
1704     * Fix 'Open Selected File' for unsaved new documents.
1705     * Fix updating main menu accelerators after changing keybindings
1706       (thanks to Lex Trotman).
1707     * Fix using 'Insert date' keybinding when a custom date string has
1708       not been set.
1709     * Set the cursor color for the split window plugin.
1710     * Remove plugin from plugin manager dialog on unloading if it no
1711       longer exists or is incompatible.
1712     * Fix 'Reflow block' command when at the last paragraph and there's
1713       no last newline (patch by Eugene Arshinov, thanks).
1714     * Fix opening filenames beginning with two dots (closes #2858487).
1715     * Show Find in Files stderr output in messages window instead of
1716       debug window so that invalid regex messages can be seen easily.
1717     * Speed up sorting in utils_get_file_list(). This reduces the file
1718       browser delay on displaying a big directory, e.g. /usr/bin.
1719     * Fix a bug with not w3c compatible HTML code on export plugin
1720     * Fix non-working Home and End keys on numpads.
1721     * Fix loading of files on network resources on Windows.
1722     * Fix wrong alignment of printed pages when page headers are disabled
1723       (closes #2856822).
1725     Improvements:
1726     * Extend auto_latex() function to check whether an environment has
1727       been closed within the next lines to avoid auto adding double
1728       \end{}.
1729     * Replace some icons which could cause licensing problems by icons
1730       from the Rodent icon theme.
1732     Filetype fixes:
1733     * Parse contents of D extern{} and version{} blocks.
1734     * Fix creating D interface tags properly.
1735     * Parse D functions with contracts (fixes #1885480).
1736     * Parse D alias statement like typedef.
1737     * Improve parsing of LaTeX, PHP and Python files.
1739     Documentation:
1740     * Add 'Scope autocompletion' section.
1741     * Add 'Tools menu items' section to explain configuration files
1742       submenu, reload configuration item.
1743     * Minor updates/fixes.
1745     API:
1746     * Add gcc commands to build a plugin to the HowTo.
1748     HACKING file:
1749     * Add section 'Plugin API/ABI design'.
1750     * Add 'Compiler options & warnings' section.
1751     * Update Style section to be clearer about code alignment and show
1752       some example code.
1753     * Add 'Doc-comments' plugin API subsection.
1755     Internationalisation:
1756     * Added translations: gl
1759 Geany 0.18 (August 16, 2009)
1761     General:
1762     * Fix scrolling horizontally after finding a search match with the
1763       search bar or Find Next/Previous which is off-screen.
1764     * Remove relative/untidy path elements from filenames when opening
1765       documents (#2823998).
1766     * Create initial template files with proper platform-specific line
1767       ending characters.
1768     * Improve inserting of comment templates like File header or licence
1769       notices.
1771     Interface:
1772     * Add 'Show Paths' documents list popup item.
1773     * Add filetypes.common to 'Configuration Files' menu.
1774     * Implement a graphical toolbar editor.
1775     * Add 'Build' toolbar button to the default layout.
1776     * Add 'Replace' toolbar button (closes #2798225).
1777     * Use a more Tango like icon for 'Save All' (by Jesse Mayes, thanks).
1778     * Add a popup menu for the keybinding list in the preferences dialog
1779       to easily expand and collapse all groups.
1781     Keybindings:
1782     * Implement Most-Recently-Used document switching when pressing
1783       'Switch to last used document' keybinding (Ctrl-Tab).
1784     * Add 'Mark All' keybinding (Ctrl-Shift-M).
1785     * Add 'Reflow lines/block' keybinding, (Ctrl-J; thanks to
1786       Eugene Arshinov).
1787     * Make the Scintilla keybindings 'Delete to end of line' and
1788       'Go to end of display line' configurable.
1789     * Switching notebook tabs now works for the currently used notebook
1790       widget instead of always using the documents notebook.
1792     Editor:
1793     * Fix a redraw when documents were first drawn uncolourised.
1794     * Delay highlighting matching braces by 100ms to speed up scrolling
1795       with the arrow keys.
1796     * Support 'tab indents, space aligns' style when indenting (#2789109).
1797     * Add 'Autocomplete all words in document' pref; also used when forcing
1798       autocompletion and there's no symbol names to show.
1799     * Add 'Drop rest of word on completion' pref.
1800     * Update Scintilla to version 1.79.
1801     * Improve displaying and reshowing of calltips.
1803     Syntax highlighting:
1804     * Reload color schemes via Tools menu (thanks to Eugene Arshinov).
1805     * Implement named styles support for filetypes.* using a
1806       filetypes.common [named_styles] section; used as
1807       "style=named_style,bold". (See the manual for details).
1808     * Allow style definitions with missing fields to use the
1809       filetypes.common default style's fields.
1810     * Make C-like filetype styles use named styles & default background
1811       color. (Anyone who wants to likewise update any other filetype's
1812       styles, please let us know ;-)).
1813     * Allow indentation of wrapped lines (see style 'line_wrap_indent').
1814     * Add new styles 'line_height' and 'marker_mark'.
1816     Filetypes:
1817     * Add Markdown filetype (thanks to Jon Strait).
1818     * Highlight D WYSIWYG backtick `strings` and r"strings" (#1895745).
1819     * Minor improvements for filetypes: Fortran, Haxe, HTML, Lua,
1820       Matlab, Pascal, Python, Tcl.
1822     Tags:
1823     * Read custom system global tags files from $prefix/share/geany/tags
1824       (#2778923).
1825     * Autocomplete scoped fields like struct members when typing '.' (and
1826       also '->' or '::' in C/C++) if the language's tag parser supports it.
1827     * Save field tags for C/C++ when generating a global tags file (you may
1828       want to regenerate your tag files).
1829     * Parse Python calltips.
1830     * Show relative paths in Diff filename tags.
1831     * Group reStructuredText symbol list items by scope level.
1833     Plugin API:
1834     * Add geanyplugin.h single include.
1835     * Add plugin_signal_connect() for connecting plugin signals at
1836       runtime and also for connecting to any GObject signal.
1837     * Add documents_foreach(), filetypes[], documents[], utils_strdupa()
1838       and various foreach_type() macros.
1839     * Make GeanyDocument::file_type always be non-NULL.
1841     Windows:
1842     * Fix quoting the build command string on Windows (closes #2791769).
1843     * Fix LaTeX view commands on Windows (part of #2807688).
1844     * Expand system environment variables (%variableName%) on Windows when
1845       running Build commands.
1847     Internationalisation:
1848     * Added translations: lb, sl, pt_PT
1849     * Updated translations: ca, cs, de, en_GB, fi, fr, ja, pt_BR, ru, tr
1852 Geany 0.17 (May 02, 2009)
1854     Bug fixes:
1855     * Fix broken selection of "Document->Set Encoding" menu items.
1856     * Fix broken non-incremental search with the toolbar search entry when
1857       pressing Enter (closes #2638180).
1858     * Fix parsing of Make output (closes #2694479, patch by Andrea Mazzoleni).
1859     * Fix crashes on quitting Geany (closes #2533990).
1860     * Fix disabled Go to Tag items in the editor menu when using the
1861       keyboard (#2780044).
1862     * Prevent crashes when two or more top level items in the symbol
1863       list have the same name (closes #2778246).
1865     Prefs:
1866     * Add an option to set an additional plugin lookup path.
1867     * Add a hidden preference 'use_safe_file_saving'. This has serious side
1868       effects, please read the documentation before enabling this.
1870     Interface:
1871     * Add 'Send Selection to Terminal' command to the Edit->Format menu.
1872     * Change the background colour of the search entries in the Find
1873       and Replace dialogs according to the search results.
1874     * Add 'Close Other Documents' and 'Close All' menu items to the tab bar
1875       menu.
1876     * Add an option to allow appending the toolbar to the main menu bar
1877       to save some vertical space.
1878     * When a project is loaded, replace the project base path with the
1879       project name in the Documents sidebar for parent items (closes #2723679).
1880     * Make the file open dialog more compact.
1881     * Ellipsize tab labels and some status messages for very long
1882       filenames (closes #2777348).
1883     * Add new toolbar element: Print (patch by Roland Baudin).
1884     * Remember the active sidebar page between sessions.
1885     * Add "Recent Projects" menu to the Project menu (#2728630,
1886       patch by Elias Pschernig).
1887     * Add Tools->Configuration Files item for snippets.conf.
1889     Filetypes:
1890     * Fix wrong Fortran 90 comment characters when inserting templates.
1891     * Add filetype ActionScript (patch by Chris Macksey).
1892     * Fixes for CSS, Fortran and Ruby parsers.
1893     * Add a trivial symbol parser for NSIS files.
1895     Windows:
1896     * On Windows, change the working directory to the Geany installation
1897       path at startup to avoid unwanted directory locking(closes #2626124).
1898     * Fix window positioning on startup.
1899     * Make build commands on Windows run synchronously to avoid problems
1900       with reading build commands' output.
1902     Plugins:
1903     * HTMLchars: Extend plugin by bulk replace and replace on
1904       input for special characters to their HTML entities.
1905     * Splitwindow: Add keybindings for the split actions.
1906     * VCDiff: Remove plugin from Geany. Use GeanyVC instead.
1908     Plugin API:
1909     * Deprecate sci_get_text(), sci_get_selected_text() and
1910       sci_get_text_range().
1911     * Add sci_get_contents(), sci_get_contents_range() and
1912       sci_get_selection_contents() as replacement functions to provide
1913       an easier and cleaner API (initial patch by Frank).
1914     * Make GEANY_FILETYPES_NONE = 0, sort filetype IDs randomly (so we can
1915       append new filetypes without breaking the ABI); add
1916       filetypes_by_title sorted list to GeanyData.
1918     Documentation:
1919     * Describe how to build Geany using the Waf build system.
1921     Internationalisation:
1922     * Updated translations: be, cs, de, es, fi, fr, hu, ja, pt_BR, ru,
1923       sv, tr, zh_CN
1926 Geany 0.16 (February 15, 2009)
1928     Bug fixes:
1929     * Fix indenting for Tabs & Spaces mode when inserting snippets.
1930     * Fix snippets and smart indent using too much indentation when the
1931       line contains whitespace after non-whitespace characters (#2215044).
1932     * Fix segfault when showing Find in Files dialog when no documents are
1933       open (#2228544).
1934     * Fix not switching to 2nd last used document when the last used
1935       document has been closed (#1945162).
1937     General:
1938     * Group child tags by their parents in the symbol list for C-like
1939       filetypes, Python, Conf (thanks to Conrad Steenberg).
1940     * Use a tree for the Documents sidebar, grouped by path.
1941     * Add 'Tools->Configuration Files' menu with items to open
1942       filetype_extensions.conf and ignore.tags. These files are also
1943       reloaded automatically when saved.
1944     * Change configuration directory path to $XDG_CONFIG_HOME/geany
1945       (most often this is ~/.config/geany).
1946     * Allow to specify files on the command line and from remote instances
1947       to be URIs (local and with GIO also remote URIs).
1948     * Increase minimum required GTK version to 2.8.
1950     Prefs:
1951     * Add Project Indentation prefs, which override the Editor
1952       Preferences dialog options. For new projects, these default to
1953       the editor indent prefs.
1954     * Add an interface pref for whether to hide additional widgets when
1955       double-clicking on document notebook tabs (off by default).
1956     * Add a preference to invert all colours for syntax highlighting.
1957     * Add a hidden preference "allow_always_save" to make the Save buttons
1958       and menu items always sensitive.
1960     Interface:
1961     * Rework the toolbar: now all elements can be added/removed/reordered
1962       using a simple XML file.
1963     * Add new toolbar buttons for Cut, Copy, Paste, Delete, Preferences,
1964       Close All and Build (including a submenu for Make actions).
1965     * Add a progressbar widget to the statusbar to show progress for time
1966       consuming actions.
1968     Editor:
1969     * Make Ctrl-click go to matching brace if there's no current word.
1970     * Make Shift+Mouse wheel scroll the editor view horizontally.
1971     * Make the 'Mark' button for Find highlight the results with rounded boxes
1972       instead of marking the whole line.
1973     * Add auto-closing of braces, brackets and quotes (Guillaume de Rorthais).
1974     * Support multiple %cursor% wildcards in Snippets (Thomas Martitz).
1976     Filetypes:
1977     * Add new filetypes Ada, CMake, Matlab, NSIS, Vala and YAML.
1978     * Update HTML character entities (thanks to Tyler D'Agosta).
1979     * Parse restructuredText sections in the order of first-used underline
1980       character, which can now be any punctuation character (as per the spec).
1981     * Remove GTK global tags, replace them with C (C99) tags. The GTK tags
1982       file is still available for download on the website.
1983     * Minor improvements for filetypes CSS, Fortran, FreeBasic, HTML, Tcl
1984       and Vala.
1986     Windows:
1987     * Improve tab close icon size.
1988     * Changes to the Windows installer:
1989       - The full installer now includes the GTK 2.14 runtime environment.
1990       - Register ".geany" as Geany Project File extension.
1991       - Install GTK translation files only if installation of translation
1992         files were requested (saves about 22 MB otherwise).
1993       - Support silent installations.
1995     Plugins:
1996     * Add Split Window 'Split Vertically' command (thanks to Moritz Barsnick).
1997     * Make Version Diff plugin set the indent type for diffs based on the
1998       current file's indent type.
1999     * Minor improvements to the filebrowser plugin
2001     Plugin API:
2002     * Generate plugin API header geanyfunctions.h containing macros to
2003       avoid having to type the function pointer names manually.
2004     * Deprecate pluginmacros.h in favour of geanyfunctions.h.
2005     * Add "editor-notify" to the plugin API.
2006     * Add new plugin symbol plugin_help() which is called by Geany when the
2007       plugin should show its documentation (if any, symbol is optional).
2009     Documentation:
2010     * Update Scintilla regular expression info for v1.77 (character
2011       classes, ASCII escaping, character sets containing square
2012       brackets peculiarities). Adapted from SciTE doc.
2013     * Complete 'Hello World' Plugin Howto.
2015     Internationalisation:
2016     * Updated translations: bg, ca, cs, de, en_GB, fr, hu, it, ja,
2017       pt_BR, sv, ru, tr, vi, zh_CN
2020 Geany 0.15 (October 19, 2008)
2022     General:
2023     * Add Previous Message, Previous Error commands (thanks also to Beau
2024       Barker).
2025     * Add 'Close Other Documents' File menu command (#1976724).
2026     * Add Find Document Usage popup menu command & keybinding.
2027     * Check that the current file is still on disk (as well as checking the
2028       modification time).
2029     * Add support for custom file templates (found at startup) in the
2030       ~/.geany/templates/files directory, shown underneath filetype templates
2031       in the New with Template menu.
2032     * Make socket open command support filename:line:column syntax.
2033     * Add filetypes.* [build_settings] key 'error_regex' to support custom
2034       error message parsing using a GNU-style extended regular expression.
2035     * Allow loading projects from command line (#1961083).
2036     * Add alternative build system: Waf.
2037     * Add Tools menu item to reload configuration data without a restart.
2038     * Add support to use template wildcards in snippets.
2039     * Increase LSB compliance.
2041     Prefs:
2042     * Make disk check timeout configurable (zero disables disk checks).
2043     * Add search pref: 'Use the current file's directory for Find in Files'
2044       (#1930435).
2046     Interface:
2047     * Make keyboard shortcuts dialog non-modal (#1999384).
2048     * Add a debug messages window to easily view debug messages/warnings.
2050     Editor:
2051     * Update Scintilla to version 1.77 (includes many fixes).
2052     * Add basic Line Breaking option in the Document menu and 'Line breaking
2053       column' editor pref (for now only works when typing characters past
2054       the line breaking column number).
2055     * Don't colourise any documents until they need to be drawn (this
2056       should make opening a session faster for filetypes that support typename
2057       highlighting).
2058     * Make Ctrl-click on a word perform Go to Tag Definition.
2059     * Add 'Max. symbol name suggestions' autocompletion pref.
2060     * Show ellipsis (...) item when there are too many symbol names for
2061       autocompletion.
2062     * Highlight matching brace indent guides (thanks to Jason Oster;
2063       #2104099).
2064     * Show brace indent guides on empty lines when appropriate (thanks to
2065       Jason Oster; #2105982).
2066     * Add 'Tab key indents' pref, on by default.
2067     * Implement soft tabs support (#1662173). There's now a 'Tabs & Spaces'
2068       Indent Type, and separate Width, Hard Tab Width indent prefs. (Thanks
2069       to Joerg Desch for explaining how it needed to work).
2070     * Auto-update the line margin width as lines are added (thanks to Jason
2071       Oster; #2129157).
2072     * Add "Replace spaces by tabs".
2074     Windows:
2075     * Install plugins into lib/ not into plugins/.
2076     * Install Geany's message catalogs into share/locale rather than
2077       lib/locale as GTK does since 2.12.2.
2079     Keybindings:
2080     * Add Go to Start/End of Line keybindings (#1996175).
2081     * Add 'Switch to Compiler' keybinding (useful when checking build
2082       progress).
2083     * Add keybindings for Line wrapping, Line breaking, Toggle fold and
2084       Replace Spaces by tabs, Previous/Next word part.
2086     Filetypes:
2087     * Add OpenGL Shader Language (GLSL) filetype (thanks to Colomban
2088       Wendling; #2060961).
2089     * Add R language filetype (thanks to Andrew Rowland; #2121502).
2090     * Split filetype Fortran into Fortran 77 and Fortran 90.
2091     * Add Gettext translation filetype (#2131985).
2092     * CSS improvements, thanks to Jason Oster.
2094     Embedded Terminal:
2095     * Fix hang when restarting the VTE (#1990323) with VTE 0.16.14.
2096       (Note that with VTE 0.16.14 the reset sometimes leaves a blank
2097       terminal, but pressing enter makes it then behave as normal).
2099     Plugins:
2100     * Add Split Window plugin (should work OK for viewing; full editing
2101       support is not implemented yet).
2102     * Merge InstantSave, AutoSave and BackupCopy plugins into the new
2103       plugin 'Save Actions'.
2105     Documentation:
2106     * Add Tips and Tricks appendix.
2107     * Updated Installation section.
2108     * Update 'Build system' for custom error regexes.
2109     * Add a section for internal plugins.
2111     Plugin API:
2112     * Many changes; see the API documentation (make api-doc) and the
2113       geany-devel list archives.
2114     * Deprecated: plugin_fields, plugin_info symbols.
2116     Internationalisation:
2117     * New translations: ko, tr.
2118     * Updated translations: be, ca, de, en_GB, fi, hu, it, ja, pl,
2119       ro, ru, sv, zh_CN
2122 Geany 0.14 (April 19, 2008)
2124     General:
2125     * Don't beep when using Replace All in Session unless all open files
2126       have no replacements (fixes #1893796).
2127     * Only use filetype detection after Save As, not on every save when the
2128       filetype is None (fixes #1891778).
2129     * Make Go to Tag commands look for the tag in the current document
2130       before searching the workspace.
2131     * Check file on disk for changes also when pressing a key.
2132     * Ignore documents with no absolute path when saving session files.
2133     * Fix segfault with Run command when a project is open and the current
2134       file's filetype has no run command.
2135     * Make Next Error and Next Message commands add positions to the
2136       navigation queue, so the user can move backwards through the list items
2137       and return to where they were.
2138     * Make pressing escape in the sidebar focus the editor.
2139     * Make navigation queue position based to restore the line and column when
2140       returning to a previous position (closes #1936927).
2141     * Save sorting order of the symbol list when saving a file (fixes #1917262).
2142     * Improve "Send Selection To" code (fixes #1909452).
2143     * Install header files and add a pkg-config file for external plugins.
2144     * Use monospace font for text entry fields in search dialogs (#1907117).
2145     * Don't open zero byte sized files read-only (e.g. files in /proc).
2147     Filetypes:
2148     * Improve Makefile parser to detect targets.
2149     * Update PHP tags file to latest PHP API docs (closes #1888691).
2150     * Add translucency settings to filetypes.common for semi-transparency.
2151     * Add HTML parser to get h1, h2, h3 symbols as well as link anchors and
2152       JavaScript functions (fixes #1896068).
2153     * Update Javascript, Tcl and Assembler parser.
2155     Interface:
2156     * When closing a tab when using left-to-right tabs, focus the next
2157       document, not the previous.
2158     * Move Load Tags item from File to Tools menu.
2160     Editor:
2161     * Don't scroll the editor view if it is unnecessary when using Find
2162       Next/Previous, Find Selected, incremental search, Go to Marker or Go to
2163       Matching Brace commands.
2164     * Fix bug with showing macro list items all on one line.
2165     * Fix Python auto-indentation when line endings are set to CR/LF.
2166     * Unfold hidden code when the fold point modified (fixes #1923350).
2167     * Update Scintilla to version 1.76.
2168     * Add (basic) column mode editing (patch by "chuck").
2170     Windows:
2171     * Replace untitled file header filename after Save As and add to recent
2172       files on Windows too.
2173     * Resolve Windows shortcuts when opening files.
2174     * Fix modal dialog problems on Windows by not setting taskbar hint
2175       (closes #1916994).
2176     * Add new process spawning implementation. This makes the VCdiff plugin
2177       to work on Windows (patch by Pierre Joye, thanks).
2178     * Fix crash on Windows when a project could not be opened.
2180     Plugins:
2181     * Add configurable plugin keybindings support.
2182     * Add a HTML Characters keybinding to show the dialog.
2183     * Add File Browser keybindings to focus the Path Entry and File List
2184     * Rename VCDiff plugin Version Diff.
2185     * When quitting, remember plugin filenames that couldn't be loaded at
2186       startup as well as active plugins.
2188     Plugin API:
2189     * Add PLUGIN_KEY_GROUP and keybindings_set_item() to setup a keybinding
2190       group.
2191     * keybindings_send_command() arguments have changed because of
2192       keybinding groups - this breaks the API for plugins already using it.
2193     * Make VERSION_CHECK deprecated in favour of PLUGIN_VERSION_CHECK.
2195     Documentation:
2196     * Add descriptions for several options in the preferences dialog
2197       (patch from Robert McGinley).
2199     Internationalisation:
2200     * New translations: ro.
2201     * Updated translations: bg, de, en_GB, es, fr, hu, it, ja, pt_BR, ru.
2204 Geany 0.13 (February 05, 2008)
2206     General:
2207     * Improve configure script and fix some compatibility issues.
2208     * Add support for project session files.
2209     * Add native GTK printing support (only with GTK 2.10+).
2210     * Prevent execution of commands by Geany if the VTE may contain any
2211       text on the prompt (thanks to "Jeff Pohlmeyer for reporting).
2212     * Store more document-related settings when saving session in the
2213       configuration file (including the file encoding).
2214     * Detect in-file specified file encoding by scanning the file using
2215       regular expressions.
2216     * Add binary relocation support.
2218     Filetypes:
2219     * Add configurable default file extension setting for filetype
2220       definition files.
2221     * Fix reST autocompletion.
2223     Tags:
2224     * Show arrays and modifiers like const in calltip return types for
2225       C-like files.
2226     * Update C global tags file for GTK+ 2.12.
2227     * Fix parsing the correct D class name when inheriting, D constructor
2228       tags and ignore D import statements.
2229     * Remove unnecessary tagmanager status file.
2230     * Improve PHP, Ruby and FreeBasic parsers.
2232     Interface:
2233     * Add 'Indent Type' option in the Document menu.
2234     * Add 'Detect from file' Editor indentation pref.
2235     * Show TAB or SP for current document's indent type.
2236     * Add a 'Newline strips trailing spaces' pref (thanks to Catalin
2237       Marinas).
2238     * Add 'Strip Trailing Spaces' document menu item.
2239     * Add combo box input history for 'Make Custom Target' dialog.
2240     * Make Open, Save As dialogs start in project base path (or default
2241       path pref) when the current file has no filename.
2242     * Add 'Make in base path' project file preference.
2243     * Make 'Open Selected File' first try the current file's directory,
2244       falling back to the project base path if no file was found.
2245     * Fix broken window maximization.
2246     * Improve appearance of used treeviews and use rules hints to respect
2247       user colour settings.
2249     Editor:
2250     * Fix hidden lines after deleting a line that is a collapsed fold
2251       point.
2252     * Make Fold All/Unfold All attempt to scroll the current line in view.
2253     * Show line wrap symbol at start of line for wrapped lines.
2254     * Allow scrolling past end of document, so the user can append text
2255       with the last lines drawn at the top of the view.
2256     * Rename "Construct autocompletion" to "Snippets".
2257     * Improve usage of "Unfold all children" option.
2258     * Update Scintilla to version 1.75.
2260     Keybindings:
2261     * Add configurable keybindings for Cut, Copy and Paste.
2262     * Ask the user whether to override an existing keybinding when setting
2263       a combination that is already in use.
2264     * Add 'Override Geany keybindings' VTE prefs dialog option (replaces
2265       hidden pref), which makes the VTE interpret all keyboard shortcuts
2266       except focus group keybindings.
2268     Plugins:
2269     * Add File Browser sidebar plugin.
2270     * Add Version Control Diff plugin (VC Diff), which supports SVN, CVS and
2271       GIT (thanks to Yura Siamashka).
2272     * Add plugin manager dialog to select plugins to load at startup and to
2273       call a plugin configure dialog.
2274     * Add new signals: project_open, project_save, project_close.
2275     * Add Auto Save plugin.
2277     Plugin API:
2278     * Add keybindings_send_command() and some other functions.
2279     * Add pluginmacros.h to define common macros for app, p_utils, etc.
2280     * Add more documentation/comments to demoplugin.c.
2281     * Add configure symbol for plugins which is called by Geany when a
2282       configure dialog for the plugin is requested, optionally.
2283     * Add author field to plugin info struct.
2285     Windows:
2286     * Enable build support.
2287     * Prevent prefs dialog being hidden after using the prefs file dialog.
2288     * Create Geany's configuration directory in user's appdata path
2289       instead of the default home directory.
2291     Documentation:
2292     * Show default shortcuts in Keybindings section.
2293     * Update Project section for project-based session support.
2294     * Add Indentation subsection under Editor section.
2295     * HACKING: Update 'Adding a filetype' section.
2297     Internationalisation:
2298     * New translations: ja, uk, el.
2299     * Updated translations: ca, de, en_GB, fr, it, pt_BR, hu, sv, vi.
2302 Geany 0.12 (October 10, 2007)
2304     Bugs fixed:
2305     * Fixed opening the same file twice from the message window/command-line.
2306     * Fixed Ctrl-Shift keybindings not working when caps lock is on.
2307     * Fixed saving the wrong document when using Save All with unnamed
2308       documents.
2309     * Fixed replacing with '^' or '$' regex chars.
2310     * Fixed hang with Find All/Find Usage with '^' or '$' regex chars.
2311     * Fixed hang when replacing all '[ ]*' regex matches (closes #1757748).
2312     * Fixed displaying error indicators with Make after entering a
2313       subdirectory.
2314     * Fixed a possible segfault when parsing tags (a vString bug).
2315     * Fixed clipboard problems with some applications.
2316     * Fixed crash when trying to open the Save As dialog on Windows.
2317     * Fixed crash when saving a file after setting encoding "None".
2318     * Fixed scrolling bugs when searching text and the cursor is outside of
2319       the current visible area.
2321     Filetypes:
2322     * Added reStructuredText filetype and parser.
2323     * Added Haskell tags support (thanks to Peter Strand).
2324     * Added decorator styling for Python.
2325     * Parse Python global variables and class variables.
2326     * Added support for Java Apache Ant compiler error messages (thanks to
2327       Jon Senior).
2328     * Added new filetypes CSharp and FreeBasic.
2329     * Added filetype Haxe (patch by blackdog, thank you).
2331     Plugins:
2332     * Added basic plugin support (developers: see the HACKING file).
2333     * Added 'Enable plugin support' preference and -p, --no-plugins options.
2334     * Added Class Builder plugin (thanks to Alexander Rodin).
2335     * Added Export plugin to export current file as HTML or LaTeX.
2337     Keyboard shorcuts:
2338     * Common bash Ctrl-[a-z] keyboard shortcuts now work when the VTE is
2339       focused, and there is an 'enable_bash_keys' hidden preference.
2340     * Added 'Move document left' and 'Move document right' keybindings.
2341     * Added Find keybinding.
2342     * Made fixed keybindings overridable.
2343     * Added fixed keybindings for switching to leftmost/rightmost document,
2344       Ctrl-Shift-{PageUp,PageDown}.
2345     * Change Previous/Next Paragraph fixed commands to Ctrl-{Up,Down};
2346       adding Shift extends selection by paragraph. (Scroll by line is now
2347       Alt-{Up,Down}).
2348     * Made pressing escape focus the editor when using incremental search
2349       or Goto Line toolbar fields.
2350     * Added keybinding for select current paragraph.
2351     * Added keybindings for smart indent and indent/deindent by one space.
2352     * Removed convert to lower-/upper-case keybindings.
2353     * Added toggle case keybinding and change shortcut to Ctrl-Alt-U.
2355     General:
2356     * Added preference for 'smart' home key behaviour (thanks to Jeff
2357       Pohlmeyer).
2358     * Added symbol list icons (thanks to Jean-François Wauthy, and KDevelop
2359       for the icons).
2360     * Added 'Current chars' indentation mode (closes #1726880).
2361     * Save and restore the current notebook page when quitting.
2362     * Added support for %e, %f in project run command.
2363     * Ignore punctuation chars when moving by word, and use word end
2364       boundaries when moving by word to the right (like most GTK+ widgets).
2365     * Added hidden editor preference 'use_gtk_word_boundaries'.
2366     * Added auto_complete_whilst_editing hidden preference.
2367     * Speed up Save All for C-like files.
2368     * Don't show file opened/saved/closed messages on the status bar.
2369     * Added --no-preprocessing, -P option when generating tags files to
2370       disable preprocessing of C/C++ source files.
2371     * Added default startup directory option (closes #1704988).
2372     * Use current locale as default encoding for new files.
2373     * Added simple code navigation (thanks to Dave Moore).
2374     * Re-maximize the main window on startup when closed in maximized state
2375       (closes #1730369).
2376     * Added auto focus (to auto focus widgets below mouse cursor).
2377     * Complete rewrite of auto completion to make it user-definable and
2378       much more flexible (please read documentation).
2379     * Added option to set a default encoding when opening files and disable
2380       auto detection of the file encoding.
2381     * Improved comment toggling by adding an additional character to mark.
2382     * Changed the background colour of the search bar in the toolbar
2383       according to the search result.
2384     * Use intltool to make geany.desktop translatable
2385     * Replace Geany's icon by a new one by Sebastian Kraft (thanks).
2386     (Thanks also to Christoph Berg for updating the icon code).
2388     Docs:
2389     * Changed documentation generation tools from DocBook to reST
2390       (thanks to John Gabriele for his great work on this).
2391     * Added Plugins section.
2392     * Added 'Inserting unicode characters' Editing section (thanks to
2393       John Gabriele).
2394     * Added 'Hidden preferences' appendix.
2395     * Added 'Switching documents' keybindings section.
2397     HACKING:
2398     * Added notes on adding a filetype.
2400     Internationalisation:
2401     * New translations: en_GB.
2402     * Updated translations: ca, cs, de, es, fi, fr, hu, it, pl, pt_BR, zh_CN.
2405 Geany 0.11 (May 21, 2007)
2407     Notes for existing users:
2408     * Tab is now used for construct completion (for, if, etc.), but it
2409       is configurable with the new 'Complete construct' keybinding.
2410     * Template files are now stored in ~/.geany/templates/ and the
2411       'template.' filename prefix is no longer used. You will need to
2412       move any custom template files you have.
2413     * Inserting a file header is now optional for filetype templates.
2414       Use the string '{fileheader}' to mark where the file header should
2415       be placed.
2416     * Drag'n'Drop of text inside the editor widget will now move the
2417       text instead of copying it.
2419     Bugs fixed:
2420     * Fix segfault when pressing Ctrl-Enter when there are no workspace
2421       tags.
2422     * Remove error indicators in all documents when linking (#1705374).
2423     * Sort symbol list tags also by line number (#1703575).
2424     * Fix #1717418, Hang on SQL file load.
2425     * Fix #1718532 - Crash when opening a special HTML file.
2426     * Add workaround for PHP closing brace de-indenting.
2427     * Fix reloading of read-only documents.
2429     Project Management:
2430     * Add keybinding to show project properties dialog.
2431     * Add project Run command support.
2432     * Run Make All and Make Custom from the project base directory.
2434     Custom Global Tags:
2435     * Update C global tags for GTK+ 2.10 and it's dependencies.
2436     * Add option --generate-tags (-g) to generate a global tags file
2437       from a list of source files (see docs).
2438     * Load global tag files stored in ~/.geany/tags at startup #.
2439     * Add Load Tags command in the File menu #.
2440     # This is not supported for Pascal, PHP or LaTeX files yet.
2442     Calltips (for C-like files):
2443     * Show up and down arrows when there are multiple calltip matches.
2444     * Show classname in calltips.
2445     * Parse pointers in function return type.
2446     * Add calltip support for D constructors.
2448     Other changes:
2449     * Parse 'Entering directory' Make messages so opening files from
2450       error messages works for subdirectories (thanks to Josef Whiter).
2451     * Make Go to Tag Definition/Declaration work for all tags.
2452     * Support filetype templates for all filetypes (see docs).
2453     * Make file header optional for filetype templates.
2454     * Add 'Find Selected' and 'Find Prev Selected' search commands and
2455       keybindings (thanks to Jeff Pohlmeyer).
2456     * Add Mark button to the Find dialog, and a Remove Markers item to
2457       the Document menu.
2458     * Add 'Recurse in subfolders' and 'Extra options' checkboxes to the
2459       Find in Files dialog.
2460     * Add 'Switch to last used document' keybinding (Ctrl-Tab).
2461     * Add Goto Previous/Next Marker keybindings (Ctrl-, and Ctrl-.).
2462     * Add Toggle Marker keybinding (Ctrl-M).
2463     * Add keybinding for construct completion, and set the default to
2464       Tab.
2465     * Add MimeType associatiations for: C++ header, Pascal, Perl,
2466       Python, httpd-PHP and XML files (thanks to Iñaki Rodriguez).
2467     * Add brace indenting support for Perl and Tcl.
2468     * Make backspace unindent when using spaces for indentation.
2469     * Wrap notebook pages when switching tabs.
2470     * Speed up loading multiple C-like files slightly.
2471     * New filetypes: JavaScript, Lua and Haskell.
2472     * Set several widget names to allow users to define custom styles
2473       in .gtkrc-2.0.
2474     * Add context actions to run custom commands on current selection
2475       or the current word below cursor.
2476     * Add different auto indention modes.
2477     * Improve replacing in rectangle selections.
2478     * Add custom commands to send selected text through some definable
2479       commands and replace the selection with the output.
2480     * Add command line option --column to allow setting the initial
2481       column for the first opened file on command line.
2482     * Improve the auto scrolling of documents.
2483     * Improve loading of the VTE library.
2484     * Add an option for using spaces or tabulators when inserting some
2485       whitespace.
2486     * Add an option to disable Drag'n'Drop in the editor widget.
2488     Documentation:
2489     * Add Project Management, Global Tags, Construct Completion
2490       sections.
2491     * Add Bookmarks section (thanks to John Gabriele).
2492     * Update Filetype Templates, Search sections.
2494     Internationalisation:
2495     * New translations: bg.
2496     * Updated translations: ca, cs, de, es, fr, zh_CN.
2499 Geany 0.10.2 (February 25, 2007)
2501     Bugs fixed:
2502     * Fixed serious crash of complete X session when using the Stop
2503       command when Geany is run from the program menu (closes #1668017).
2506 Geany 0.10.1 (February 23, 2007)
2508     Bugs fixed:
2509     * Wrong tab foreground colour for unmodified documents.
2510     * Fixed crashes when closing dialogs by clicking X on some systems.
2511     * Fixed missing global tags for C files when a C++ source file was
2512       loaded first.
2513     * Fixed autocompletion missing tag matches.
2514     * Fixed a wrong PASCAL autocompletion.
2515     * Set single undo action when toggling multiple lines or stripping
2516       trailing spaces.
2517     * Prevent some possible invalid memory reads.
2518     * Convert config, application and documentation dir paths to locale
2519       encoding before using it.
2520     * Fixed errors when changing directories containing special
2521       characters within the VTE component (thanks to Jeff Pohlmeyer).
2522     * Support newer so-names when loading the VTE library (thanks to
2523       Jeff Pohlmeyer).
2524     * Fixed paste problems on Windows.
2525     * When using Save As the returned filename needs to be converted
2526       into UTF-8.
2527     * Fixed error when parsing of compiler errors by the va_list system.
2528     * Added MimeType entry as suggested by Nick Schermer.
2529     * LaTeX parser: Allow \section*{} and other commands with *.
2530     * Change default keybinding for Close All to Ctrl-Shift-W.
2531     * Allow Make for files with no extension - prevent Build when the
2532       output filename would be the same as the source file.
2533     * Ensure the VTE visual settings are applied when switching to VTE
2534       when the Message Window is hidden.
2535     * Fixed several issues while opening files and improved code.
2536     * Improved the auto scrolling of documents and fixed a bug when
2537       opening files remotely.
2538     * Fixed wrong D function return type after a class definition.
2539     * Added several missing style types for filetype Perl (thanks to
2540       John Gabriele for reporting).
2541     * Prevent right click in Symbol list from selecting a tag.
2542     * Update the symbol list when starting a new document.
2543     * Scroll Compiler and Messages window in view when using Next Error
2544       or Next Message.
2545     * Auto close brackets only when auto completion of constructs is
2546       enabled (closes #1665015).
2547     * Fixed switching to the wrong tab when showing the unsaved dialog.
2549     Internationalisation:
2550     * New translations: fi (thanks to Harri Koskinen).
2551     * Updated translations: cs, de, es, fr, hu.
2554 Geany 0.10 (December 21, 2006)
2556     Changes:
2557     * Added a dialog to insert HTML special characters.
2558     * Added new command line option --line to set the initial line for
2559       the first opened file.
2560     * Implemented new, own Undo system to undo/redo encoding changes.
2561     * Added simple parser for filetype Diff to create tags for each
2562       patched file in a diff file.
2563     * Added new encoding "None" to open files without any character
2564       conversions.
2565     * Added Stop button to abort the Run command.
2566     * New filetype VHDL.
2567     * New scintilla lexer for filetype D with several improvements.
2568     * Improved auto completion of multi line comments
2569     * Added option to execute programs in the VTE instead of executing
2570       them in a terminal emulation window
2571     * Removed the limit on the number of files open.
2572     * Save the build includes and arguments when quitting.
2573     * Added Next Message search command and Next Error build command.
2574     * Make search bar automatically wraparound if necessary.
2575     * Applied patch from Bob Doan to prevent unnecessary search
2576       scrolling and add a preference to suppress some of the search
2577       dialogs.
2578     * Added Find Previous, Find All in Document/Session buttons for the
2579       Find dialog.
2580     * Added Replace (but don't Find) button for the Replace dialog.
2581     * Added 'Hide Message Window' popup menu command.
2582     * Added Alt-[1-9] shortcuts to switch to a certain tab number.
2583     * Limit search dialog history to 30 entries.
2584     * Change python default compile command to create a compiled
2585       python .pyc file (thanks to Bajusz Tamás).
2587     Windows changes:
2588     * Fix #1611530 'file has changed' message on Windows after saving.
2589     * Fixed wrong paste behaviour under Windows with some applications.
2591     Bugs fixed:
2592     * Fixed crash when using "Make object" on new files.
2593     * Fixed incompatible use of read command in the created shell
2594       script to execute programs.
2595     * Fixed wrong insert position when the cursor was moved by keyboard
2596       and comments, includes or a date was inserted.
2597     * Fixed some segfaults when inserting comments, dates and
2598       includes at a position prior to some deleted text.
2599     * Fix message window horizontal scrollbar being too tall on some
2600       systems (thanks to Rob van der Linde).
2602     Internationalisation:
2603     * New translations: fr, hu, it, zh_CN, zh_TW.
2604     * Updated translations: be, ca, cs, de, es, vi.
2607 Geany 0.9 (September 29, 2006)
2609     Changes:
2610     * Added function calltips for files open in the current workspace
2611       for C-like languages.
2612     * Open a second instance by default when starting Geany with no
2613       filenames specified on the command-line.
2614     * Added better error message support for D, for both DMD and GDC;
2615       also GCC-style linker error messages are now parsed.
2616     * Text selections now use syntax highlighting foreground colours
2617       (but can still be overridden in filetypes.common).
2618     * Find in Files improvements: fixed string and whole word only
2619       matching options; a directory selector dialog; filenames passed
2620       to Grep are now sorted alphabetically.
2621     * Remember the VTE current directory at startup.
2622     * Show the messages window on build failure or for Find Usage.
2623     * Added -s command-line option to not load session files (-i is now
2624       used to force a new instance).
2625     * Added comment toggle functionality to easily comment and
2626       uncomment a line with one shortcut.
2627     * Separated filetypes PHP and HTML for better usage.
2628     * New filetypes: Diff, Fortran 77 and Ferite.
2629     * Added auto completion tags for PASCAL.
2630     * Improved VTE usage by adding options for selecting the used shell
2631       and ignoring menu bar accelerator (default F10).
2632     * Added menu items to insert configurable date/time strings.
2633     * Removed the whole FIFO code and replaced it with support for
2634       (Unix Domain) Sockets(including Windows support).
2636     Windows changes:
2637     * Implemented Run command (from the build menu) under Windows.
2638     * Enabled socket code on Windows to detect a running instance.
2639     * Enabled notification if file on disk has changed under Windows.
2641     Bugs fixed:
2642     * Fixed a segfault at startup if terminal follow path setting is
2643       enabled.
2644     * Fixed clicking on error messages being dependent on the current
2645       file's directory.
2646     * Fixed a bug when clicking on a recent file got the wrong
2647       filename.
2648     * Fixed a crash when a compiler output reports an error in a blank
2649       line(can happen in LaTeX)
2650     * Fixed a crash when switching between several filetypes.
2651     * Fixed segfault when replacing tabs by spaces.
2653     Internationalisation:
2654     * New translations: cs, nl, vi.
2655     * Updated translations: de, es.
2658 Geany 0.8 (August 09, 2006)
2660         Changes:
2661         * Find in files feature added which uses the Grep tool.
2662         * Added Make object command to compile using the Make tool.
2663         * Editor notebook tabs can now be reordered by drag and drop.
2664         * Added support for back references when using regex replace.
2665         * Added a Find button to the Replace dialog to skip matches.
2666         * Greatly improved the speed of Replace all/in selection.
2667         * Scroll to 1/4 of the view when jumping to a line number.
2668         * Show messages on the status bar and in the Status window.
2669         * Preferences options for Auto-indentation and Line wrapping.
2670         * Use the mouse click position for Go to tag.
2671         * Added separate filetype_extensions.conf system file.
2672         * Added makefiles for building on Windows.
2673         * Added keyboard shortcuts for increase/decrease of line
2674           indentation.
2675         * Added functionality to uncomment code.
2676         * Encoding support
2677         * Added support for Unicode Byte-Order-Mark (BOM)
2678         * Redesigned preferences dialog.
2679         * Added Undo and Redo toolbar buttons.
2680         * New filetype: D
2681         * Added simple printing support.
2682         * Mark errors while compiling source code within Geany with
2683           indicators(small squiggly underlines)
2685         Bugs fixed:
2686         * Use the full path for files opened from the command-line.
2687         * Fixed saving a file from the unsaved file dialog.
2688         * Fixed replacing with regexes the correct matched text length.
2689         * Fixed applying virtual terminal widget settings at startup.
2690         * Fixed prepending items to the Recent files menu.
2691         * Fixed clipboard commands used in the find entry and Scribble.
2692         * Fixed wrong interpretation of syntax highlighting colours
2693         * And some more.
2695         Windows bugs fixed:
2696         * Don't add .c extension when saving with the All files filter.
2697         * Fixed a tool chooser dialog crash when path doesn't exist.
2698         * Fixed locale problems with Windows message dialogs.
2700         Internationalisation:
2701         * New translations: be, es, pt_BR, ru.
2702         * Updated translations: ca, de, pl.
2704         Documentation:
2705         * Added Scintilla keyboard commands for editing appendix.
2706         * Improved search section; added all find and go to commands.
2707         * Added section about character sets.
2710 Geany 0.7 (June 04, 2006)
2712         * user-definable keyboard shortcuts
2713         * filetype definition files can be overridden in Geany's
2714           configuration directory (please see documentation)
2715         * added filetypes Ruby and Tcl/Tk
2716         * improved build system (for Perl, Python, Ruby and others)
2717         * loading of Virtual Terminal Emulation can be disabled in the
2718           preferences dialog
2719         * new menu item "Search" with Find items from Edit menu and new
2720           item "Find Previous"
2721         * fixed the bug which let Geany crash with newer GTK versions
2722         * improved documentation: added documentation for keyboard
2723           shortcuts, the build system and filetype definition files
2724         * new translations: Catalan and Polish
2725         * many small improvements
2726         * fixed lots of bugs (please see ChangeLog for details)
2729 Geany 0.6 (April 30, 2006)
2731         * added option to place new file tabs to the right or left of
2732           the tab list
2733         * improved file open dialog
2734         * improved scrolling of the compiler output window
2735         * rewrote most of the code for compiling files, now all
2736           settings are read from filetype definition files
2737         * now, you can drag files from a file manager into Geany and
2738           they will be opened
2739         * improved handling of filenames which contain non-UTF8 chars
2740         * added user-definable comment characters to all filetype
2741           definition files
2742         * implemented folding
2743         * added file properties dialog
2744         * improved search and find dialogs
2745         * Geany now creates a FIFO, to communicate between different
2746           instances for opening files in an already running instance
2747         * added filetypes SQL and (O)Caml
2748         * many small improvements
2749         * fixed lots of bugs, including #1419473, #1422135, #1421776
2750           and #1441359
2751         * for more details read the ChangeLog
2754 Geany 0.5 (January 27, 2006)
2756         * set the Open File dialog directory to the same directory as
2757           the current file (thanks to Nick Treleaven for this patch)
2758         * fixed some bugs when opening files with non UTF-8 filenames
2759         * updated included Scintilla to version 1.67
2760         * improved auto indention, now "for (...) {" works, too
2761         * added popup menu to sidebar lists, to quickly hide them
2762         * symbol list support for filetypes LaTeX and DocBook
2763         * added .cc, .hh and .hxx extension for filetype C++
2764         * added new keywords for PHP5
2765         * added new option "Beep on errors" to disable beeping
2766         * eliminated compiler (gcc4) warnings
2767         * closed bug #1387828 and #1387839
2768         * fixed lots of bugs (please see ChangeLog for details)
2771 Geany 0.4 (December 21, 2005)
2773         * new filetype: Assembler
2774         * new filetype: Conf for configuration files
2775         * added a terminal emulation widget, needs only libvte.so at
2776           runtime, but it also runs without it, see documentation
2777         * made some general improvements to increase startup speed
2778         * changed "build with make" keyboard shortcut to Shift+F9 to
2779           avoid problems with window managers key bindings
2780         * added auto-closing [ and { brackets in LaTex-Mode
2781         * improved documentation, but it is not yet complete
2782         * improved the symbol list to categorise the tags in a tree
2783         * some new options in the preferences dialog
2784         * added popup menu to the list of open files
2785         * there are lots of other small changes made since last release
2786         * some bugfixes (please see ChangeLog for details)
2789 Geany 0.3 (November 20, 2005)
2791         * Geany now has a mailing list, for details see
2792           http://geany.uvena.de
2793         * added open files list in the left treeview widget
2794         * added toolbar button to open the color chooser
2795         * heavily improved recent files menu
2796         * added shortcut for "walking" between open documents by
2797           pressing STRG+LEFT resp. STRG+RIGHT
2798         * created template files for new files with specified filetype
2799         * added highlighting support for Python (please give feedback)
2800         * extracted all hardcoded styling definitions for all filetypes
2801           so they can be easily edited
2802         * added vertical line to mark long lines
2803         * fixed a bug that caused a segfault if configuration directory
2804           could not created
2805         * fixed a bug which prevented auto-completion from working
2806         * many minor bugfixes (see ChangeLog for details)
2809 Geany 0.2 (October 26, 2005)
2811         * improved file open dialog
2812         * improved Find dialog
2813         * powerful Replace dialog
2814         * gcc4 compilation fix
2815         * minor bugfixes
2818 Geany 0.1 (October 19, 2005)
2820         * first official release