Mark cloned documents as modified
[geany-mirror.git] / NEWS
blobb076242705d57086a9abb637dee63c50df0ee7cd
1 Geany 1.23 (unreleased)
3     General
4     * Scope detection now finds classes and namespaces (#1996778).
6     Bug fixes
7     * Fix too aggressive scope caching (#2142789, #2667917, #2868850).
9     Editor
10     * Update Scintilla to version 3.2.3 (#2808638, #2909124, #3094431,
11       #3233160, #3540469).
13     Search
14     * 'Mark All' now also uses the fully-featured PCRE engine (#3564132).
17 Geany 1.22 (June 18, 2012)
19     General
20     * Bump dependencies to GTK >= 2.16 and GLib >= 2.20.
21     * Switch to Glade 3 and dynamically loaded XML UI description.
22     * Rewrite theming support for better flexibility.
23     * Add support for opening files read-only from the command line.
24     * Always load the default session if configured to do so.
25     * Make all filetypes use named styles to simplify color scheme
26       authoring.
27     * Make 'Replace Spaces by Tabs' only match leading spaces to
28       preserve alignment.
30     Possibly incompatible changes
31     * Theming and filetype style changes mean old filetypes and color
32       schemes are not compatible with this version of Geany.
33     * There are some default keybinding changes but these will only
34       apply to newly created configurations.
35     * Changes to the "project-dialog*" signals may affect plugins.
37     Bug fixes
38     * Fix escaping of session file paths (#3425969).
39     * Fix closing when minimized under Windows (#3421282).
40     * Properly handle remote URIs received through drag 'n drop
41       (#2966770, #3479567).
42     * Fix build with bleeding-edge GLib (#3483388).
43     * Fix color scheme selection in Ubuntu Unity (#3479674).
44     * Fix very slow regex tag parsing on Windows (e.g. for HTML).
45     * Fix detecting a changed file on disk when opening from
46       the command-line (Windows).
47     * Fix quick search entry behavior on Windows.
48     * Fix keybindings conflicts check when swapping a binding.
49     * Fix comments insertion in some cases (#3449635, #3534320).
50     * Add missing Windows mio makefile.
52     Prefs
53     * Split "always wrap search and hide find dialog" pref into
54       "always wrap search" and "hide find dialog" (Dimitar Zhekov).
55     * Add Project Properties overrides for 'Saving files' prefs.
56     * Add hidden VTE preference "send_cmd_prefix" to prefix commands sent
57       to the VTE. (See the manual for details).
59     Interface
60     * Add support for switching to the last used document after closing
61       a tab (Jiří Techet).
62     * Improve the tab switching dialog for better usability (Jiří Techet).
63     * Add support for user-defined labels for 'Send Selection to'
64       custom commands.
65     * Fix sidebar width when on the right (#3514436).
66     * Use case-insensitive document list path comparison on Windows.
67     * Replace Color Schemes menu with custom dialog.
68     * Show selected line count on status bar when whole lines are
69       selected.
71     Editor
72     * Update Scintilla to version 2.29.
73     * Add a "join lines" command (Eugene Arshinov).
74     * Hide autocompletion when the only entry has been typed (#3516212).
76     Search
77     * Add full PCRE regular expressions support.
78     * Extra options passed to grep through Find in Files now follows a
79       real shell-style syntax (#3516263).
80     * Search pattern length is no longer limited to 248 characters.
81     * Fix showing Find/Replace regex compile errors on the status bar.
83     Keybindings
84     * Add Project New/Open/Properties/Close keybindings.
85     * Show overridden keybindings in bold for prefs dialog tree.
87     Tags
88     * Speed up loading of multiple global tags files.
89     * Show global tags file preprocessing errors on stderr & add
90       current directory to include path.
91     * Add C/C++ ignore.tags wildcard format 'PREFIX*'.
93     Filetypes
94     * Add support for regex-based filetype detection.
95     * C snippets no longer apply to all filetypes.
96     * Improve support for HTML embedded filetypes (#2863829, #3127598).
97     * Add filetype Objective-C (Elias Pschernig, P#3325139).
98     * Fix highlighting of ``...R"`` inside C and C++ (#3425107).
99     * Fix TCL keyword highlighting in some situations (#3432877).
100     * Parse PHP functions with multiline argument list (#3037797).
101     * Handle ``/bin/dash`` shebang (#3470986).
102     * Update JavaScript parser from CTags.
103     * Parse D class/struct/interface template bodies and template
104       blocks; ignore 'static if' expressions; parse function
105       @attributes, pure/nothrow and immutable/inout/shared return types.
106     * Fix broken tag/word autocompletion in HTML/PHP documents.
107     * Enable &entity; completion for all XML-based filetypes.
109     Plugins
110     * Split Window: show marker margin.
111     * Split Window: enable basic context menu.
113     API:
114     * document_save_file() now shows the Save As dialog when necessary.
115     * Rename signal "project-dialog-create" to "project-dialog-open" and
116       add new "project-dialog-close" signal.
117     * setptr is deprecated in favour of SETPTR.
118     * Add ui_hookup_object() and ui_lookup_object().
119     * Add ui_lookup_stock_label().
120     * Add build_{activate,get_current,remove,set}_menu_item(),
121       build_get_group_count().
122     * Add stash_group_free_settings().
123     * Add support for plugins written in C++.
125     Internationalization:
126     * Add translations: ar, id, lt, mn, nn, sk
127     * Update translations: de, es, fr, hu, it, ja, kk, lt, nl, pl, pt,
128       pt_BR, sk, sl, sv, tr, zh_CN, zh_TW
131 Geany 0.21 (October 2, 2011)
133     General
134     * Bump dependencies to GTK >= 2.12, GLib >= 2.16 and GIO.
135     * Add support for real-time symbol parsing.
136     * Remove old filetype templates support - use custom file
137       templates instead.
138     * Add support for detecting the indentation width from the file
139       content.
141     Bug fixes
142     * Fix generating tag files (-g) and --ft-names segfault.
143     * Replace dates on template insertion, not when loading templates.
144     * Fix segfault when inserting e.g. fileheader template when the
145       template file is empty (#3070913, lphilpot).
146     * Use the same indentation for all templates (Matthew Brush,
147       #3193527).
148     * Fix loading of non-UTF-8 templates.
149     * Fix completion and word completion with non-ASCII characters
150       (#3313351).
151     * Fix HTML content-type detection (#3300703).
152     * Fix pattern filtering when using Find in Files not to search in
153       sub-directories.
154     * Add a workaround to prevent Geany from crashing during loading of
155       a LaTeX-file containing linebreaks inside headings.
157     Interface
158     * Add 'Save As' toolbar button option (Matthew Brush, #3153490).
159     * Add 'Open in New Window' command in the notebook tab menu
160       (Matthew Brush, #3118059).
161     * Color schemes: use name and description for menu item and
162       tooltip (Matthew Brush).
163     * Shift-Enter in search dialog and toolbar search entries now
164       searches backwards.
165     * Improve `Set Custom Commands` dialog.
166     * Always destroy open and save dialogs after use (#3311258,
167       #3304273, #3201050, #3163742, #3153120, #2985896).
168     * Add UI to edit formerly hidden preferences (Dimitar Zhekov,
169       #3313315).
171     Editor
172     * Update Scintilla to version 2.25.
173     * Fix snippets bug: {ob}pc{cb} replaced by '%' instead of {pc}.
174     * Fix multiple snippet cursor positions for Tabs + Spaces mode.
175     * Avoid triggering autocompletion on PHP open tags (#3199442).
176     * Fix indentation brace matching (#3309606).
178     Configuration files
179     * Support copying filetype definition file group keys from a system
180       keyfile with e.g. [styling=C].
181     * Make filetype group membership configurable using [Groups] in
182       filetype_extensions.conf.
184     Search
185     * Don't auto-enable case-sensitive option when enabling regex in
186       Find/Replace dialogs.
187     * Remember Find and Replace options across restarts (Dimitar Zhekov).
189     Keybindings
190     * Add fixed shortcuts for VTE copy (Ctrl-Shift-C) and paste
191       (Ctrl-Shift-V).
192     * Add new keybinding 'Remove Markers and Error Indicators'.
194     Projects
195     * Store VTE path with the project session (Nicolas Sierro).
197     Filetypes
198     * Add Scala custom filetype (werg).
199     * Add Cython custom filetype (Matthew Brush).
200     * Add support for separate single and multiline comments.
201     * Add support for filetype-specific indentation settings (#3339420,
202       #3390435)
203     * Fix detecting Matlab and Txt2Tags extensions by default (#3167315,
204       #3154637).
205     * Fix detecting non-lowercase self-closing tags e.g. <BR> (#2226117).
206     * Highlight C# and Vala raw and verbatim strings.
207     * Improve JavaScript keyword handling and keyword lists (Jason Oster).
208     * Add filetype Cobol (Seth Keiper).
209     * Add file template for Vala (Mark Trompell).
211     Plugins
212     * File Browser: Make 'Hide object files' preference configurable with
213       file extensions.
214     * Split Window: Fix a crash when changing filetype (Matthew Brush,
215       #3255968).
216     * Split Window: Update styles when the filetype changes (Matthew
217       Brush).
218     * Split Window: Enable code folding (Matthew Brush, #3097780).
219     * Split Window: Fix issues on Windows (Matthew Brush, #2725342).
220     * Class Builder: Improve dialog UI using a table (Matthew Brush).
221     * Export: Add option to insert line numbers (#3197150).
223     Documentation
224     * Add 'Reading styles from another filetype' subsection (Matthew
225       Brush).
226     * Add 'Filenames' subsection for filetype definition files explaining
227       the filename extensions and special cases.
228     * Add section 'Filetype group membership'.
230     Plugin API
231     * Add filetypes_get_sorted_by_name(), utils_find_open_xml_tag_pos()
232       (Eugene Arshinov).
233     * Add plugin_idle_add(), plugin_timeout_add(), plugin_timeout_add_seconds(),
234       ui_menu_add_document_items_sorted(), document_compare_by_display_name(),
235       document_compare_by_tab_order(), document_compare_by_tab_order_reverse().
236     * Deprecate ui_widget_set_tooltip_text().
237     * Fix public inclusion of config.h (#3384026).
238     * Add new signal "document-reload".
240     Internationalisation:
241     * Add translations: fa
242     * Update translations: ca, cs, de, en_GB, es, fi, fr, gl, it, ja, nl, pt,
243       pt_BR, sl, sv, tr, vi, zh_CN, zh_TW
246 Geany 0.20 (January 5, 2011)
248     Fixes:
249     * Improve compatibility with GVFS using GIO to save documents (Alexey
250       Antipov).
251     * Fix crash when closing a modified document (usually without a
252       trailing newline) and choosing Save (fixes #3111058).
253     * Fix crash when using 'Send Selection to Terminal' and the VTE
254       is not loaded, and when using Ctrl-A after enabling the 'Load VTE'
255       pref (Dimitar Zhekov).
256     * Fix a slightly wrong encoding detection on Windows (#3019573).
257     * Fix issue with single-line commenting/uncommenting blocks when using
258       Windows line endings.
259     * Fix saving project indent prefs straight after using project
260       properties.
261     * Fix wrongly changing edited keybindings when cancelling the
262       Preferences dialog.
263     * Fix auto-displaying of sidebar, tab bar, symbols and documents tabs
264       when only plugin tabs are visible (fixes #3101867).
265     * Save build commands for filetype None (Lex Trotman).
266     * Waf: Check for libsocket on OpenSolaris to fix build.
268     Interface:
269     * Color build command fields light grey unless overridden (Lex
270       Trotman).
271     * Replace /home/user with ~ in the documents list (Jon
272       Strait).
273     * Display 'new instance' on title bar for 2nd instances (Eugene
274       Arshinov).
275     * Don't add duplicates to combo box histories.
276     * Reorganise Find in Files dialog and add Files pattern to filter
277       search results.
278     * Implement 'Select All' for the VTE widget.
279     * Reorganise editor popup menu for shorter size - some items were moved
280       to submenus.
281     * Move Go to Marker menu items to Search menu.
282     * Group Open dialog encoding options by submenus (Adam Ples; #3047717).
283     * Show mimetype icon in sidebar Documents list and notebook popup menu
284       (Colomban Wendling).
286     Documents:
287     * Ensure inserted templates always have proper line ending characters
288       according to the current document's preference.
289     * Add per-document indent width setting (Jiří Techet).
290     * Add 'Project->Apply Default Indentation' menu command to override
291       every document's indentation settings.
292     * Display better error messages when saving a document fails (Dimitar
293       Zhekov).
294     * Don't prompt for reloading if the document has not been edited
295       (Jiří Techet).
296     * Add Close button to the detected file changed dialog.
298     Editor:
299     * Fix wrong snippet indentation when original cursor line has
300       non-indentation whitespace (david).
301     * Fix passing quoted arguments when using 'Send Selection to'. This
302       means e.g. sed 's/\./(dot)/g' now works.
303     * Add alternative color scheme based on Python colors
304       (View->Editor->Color Schemes).
305     * Replace HTML automatic <table> tag completion with a 'table' snippet
306       (Eugene Arshinov).
307     * Auto-indent after an HTML/XML line without a closing tag (Eugene
308       Arshinov).
309     * Respect 'Smart' home key pref for Shift[+Alt]+Home (fixes #3100290,
310       Dimitar Zhekov).
311     * Scroll to the current line when moving the cursor to the next
312       cursor position in a snippet (#3139490).
313     * If the current word's tag is on the current line, make Go to Tag
314       Definition look for a tag declaration instead and vice versa.
315     * Make Reflow Lines/Block command use the current indented block, not
316       the whole paragraph (which could have mixed indentation).
318     Configuration:
319     * Load insertion templates from system path, don't create them in
320       the user's config dir.
321     * File templates are now reloaded on saving.
323     Prefs:
324     * Add 'Ensure consistent line endings' file saving pref (Manuel Bua).
325     * Add 'statusbar_template' hidden pref (Dimitar Zhekov).
326     * Add 'new_document_after_close' hidden pref to open a new document
327       automatically after closing all documents.
328     * Add hidden pref 'find_selection_type' with option to use the X
329       selection or to repeat the last search when there's no selection,
330       both off by default.
331     * Add 'gio_unsafe_save_backup' hidden pref (Lex Trotman).
332     * Add filetypes.common 'fold_symbol_highlight' color setting.
333     * Add 'symbol_list_sort_mode' per-filetype setting.
335     Keybindings:
336     * Fix Alt+[0-9] switching tabs even when other modifiers are also held.
337     * Add snippet keybinding support (Eugene Arshinov).
338     * Add 'Insert New Line Before/After Current' keybindings (Eugene
339       Arshinov).
341     Filetypes:
342     * Add Forth filetype (Thomas Huth).
343     * Add Lisp filetype (Mário Silva).
344     * Add Erlang filetype (Taylor Venable).
345     * Ada: Fix wrong comments.
346     * C++: Disable user fold points with new lexer property
347       fold.cpp.comment.explicit.
348     * Python: Update list of builtins for Python 2.6, simplify
349       Compile/Syntax Check command. Use named styles for color scheme
350       support (use alt.conf color scheme if you want the old colors).
351     * Matlab: Support Octave # comment char.
352     * Txt2Tags: add highlighting (Forgeot Eric - #3020632).
353     * Make: fix possible infinite loop in tag parser.
354     * D: Parse template functions, ignore /+ +/ comments, ignore
355       unittest blocks, add keywords 'ref', 'macro' and D2 keywords.
356     * Vala: Parse functions with contracts (#3080232).
357     * Markdown, reStructuredText and Txt2Tags: Sort tags by line number by
358       default.
359     * Basic: Parse property, constructor, destructor as functions
360       (pottersson; #2992167).
361     * HTML: Add HTML5 element names and attributes (Ross McKay).
362     * PHP: Parse final functions (fixes #3111171).
363     * Markup: Add xml_indent_tags filetype setting for documents using the
364       HTML/XML lexers (Eugene Arshinov).
366     Plugins:
367     * File Browser: Add history to path entry.
368     * HTML Characters: Only automatically replace characters when the
369       current document is a Markup document.
371     Internationalisation:
372     * Add translations: kk.
373     * Update translations: cs, de, en_GB, es, fi, fr, hu, ja, nl, pt,
374                            sl, sv, tr, zh_CN.
376     Manual:
377     * Update 'Custom filetypes', 'Ignore Tags' sections.
378     * Add 'HTML Characters', 'Configuration file paths', 'Color schemes
379       menu' sections.
380     * Explain how to grep the Scintilla source for lexer properties.
382     HACKING:
383     * Add 'Bugs to watch out for' section.
385     API:
386     * Improve Stash GUI example.
387     * Fix not loading plugins built against a newer API when Geany doesn't
388       provide the required version given in PLUGIN_VERSION_CHECK().
389     * Make GEANY_API_VERSION, GEANY_ABI_VERSION macros instead of enums
390       so you can protect code with '#if GEANY_API_VERSION >= 200'.
391     * Add signals "build-start", "project-dialog-create" and
392       "project-dialog-confirmed" - to append a Project Properties
393       notebook tab (Jiří Techet).
394     * Add macro foreach_range().
395     * Add GeanyMainWidgets::message_window_notebook (#3061342).
396     * Add main_widgets.project_menu (Jiří Techet).
397     * Add msgwin_set_messages_dir() (Jiří Techet).
398     * Add highlighting_is_{string,comment,code}_style(),
399       editor_find_snippet(), editor_insert_snippet(),
400       utils_find_open_xml_tag() (Eugene Arshinov).
401     * Add ui_combo_box_add_to_history(), editor_goto_pos(),
402       dialogs_show_input(), Add sci_get_lexer().
403     * Add filetypes_get_display_name() as "None" is no longer translated.
406 Geany 0.19.2 (December 01, 2010)
407     Fixes:
408     * Fix bug where Geany did not always report an error message when
409       saving a document fails.
412 Geany 0.19.1 (August 18, 2010)
414     Fixes:
415     * Fix broken autocompletion after using scope completion.
416     * Fix scrolling the editor line in view (e.g. after loading a session
417       and switching document tabs).
418     * Fix using filetype extension patterns with upper case letters on
419       Windows (#3028856).
420     * Fix a slightly wrong encoding detection on Windows (#3019573).
421     * Re-enable comment folding.
422     * Fix not loading plugins built against a newer API when Geany doesn't
423       provide the required version given in PLUGIN_VERSION_CHECK().
424     * Fix infinite loop in Markdown lexer (patch by Colomban Wendling,
425       thanks).
426     * Fix saving non-project filetype error regex.
427     * Focus toolbar item when pressing Go to Line keybinding only when
428       it's not in the toolbar's drop down overflow menu (#3027454).
429     * Escape the name of the current document for markup when using
430       document name for menu items (#3038844).
431     * File Browser: Allow Find in Files when no items are selected.
432     * Fix build menu translation problems.
433     * Fix segfault on Tools->Reload Configuration when no documents are
434       open (#3037079).
435     * Fix building with Waf on Solaris.
436     * Fix a memory leak (thanks to Daniel Marjamäki).
437     * Use g_free instead of free (patch by Daniel Marjamäki, thanks).
439     Tweaks:
440     * Always use white background color when printing (except for text
441       with a white foreground) to save ink (#2968998).
442     * Limit build error editor indicators to 50, but parse all errors in
443       the Compiler tab (#3019823).
444     * Align notebook tab close buttons centred vertically (thanks to
445       Robux.Biz (galyuk)).
446     * Show the Project Properties build tab when choosing 'Set Build
447       Commands' when a project is open to prevent confusion with
448       non-project commands.
450     Manual:
451     * Fix wording - restarting is required for hidden prefs.
452     * Fix Grep --exclude-dir example.
455 Geany 0.19 (June 12, 2010)
457     General:
458     * Build system reworked to be much more configurable (by Lex Trotman).
459     * Use POSIX system/GNU regex engine for find & replace. This alters
460       regex syntax - we now support '?' operator and match newlines.
461     * Support adding custom filetype files.
462     * Add new command line option --list-documents to return a list
463       of currently opened documents
464     * Remove deprecated --debug flag. Please use --verbose/-v instead.
466     Interface:
467     * Add option 'System Default' for toolbar icon style and size to use
468       the GTK default value.
469     * Allow '+<number>' and '-<number>' as values for Goto Line inputs
470       to jump relative to the current line.
471     * Add preference to add new document tabs beside the current one
472       (patch by Colomban Wendling).
473     * Enable type-ahead find for sidebar symbols and documents tabs
474       (patch by Thomas Martitz).
475     * Make Ctrl-click on any notebook tab switch to the last used
476       document.
477     * Add 'Edit->Commands' menu.
478     * Add 'Edit->Plugin Preferences' menu item and keybinding.
479     * Add 'View->Editor->Color Schemes' menu (only shown if color
480       scheme files exist).
482     Prefs:
483     * Hide 'Tabs and Spaces: Hard tab width' preference - it should
484       always be 8. (Hidden setting kept in case users have modified it).
485     * Add sidebar position interface pref.
486     * Add project long line marker customisation (patch from Eugene
487       Arshinov).
489     Editor:
490     * Update Scintilla to 2.12.
491     * Add preference and support for virtual spaces.
492     * Add word part autocompletion for the current selected item when
493       pressing keybinding (default Tab) - Enter still completes normally.
494     * Remove LaTeX autocompletion from Geany's core and move it to the
495       geanyLaTeX plugin.
497     Filetypes:
498     * New filetype: Txt2Tags (patch by Eric Forgeot).
499     * New filetype: Abc (patch by Eric Forgeot).
500     * New filetype: Verilog (patch from Kelvin Gardiner).
501     * New custom filetype: Genie.
502     * Improvements in symbol parsing of PHP and Python files.
503     * Add R tagmanager symbol parser (patch by Jon Senior).
504     * Update Perl tag parser from ctags - removes support for
505       buggy local/my/our but parses constant/format/labels.
506     * Parse more VHDL tags (patch from Kelvin Gardiner).
507     * Highlight D & Java types from a global tags file.
508     * Parse Python lambda functions (patch from Colomban Wendling).
510     Keybindings:
511     * Add keybindings to switch to the sidebar's Document and Symbol list as
512       well as to the Message Window's current tab (patch by Eugene Arshinov).
513     * Add 'Remove Markers' and 'Remove Error Indicators' keybindings.
514     * Make 'Reflow block/lines(s)' keybinding use line breaking column when
515       enabled (patch by Lex Trotman).
516     * Add 'Select to previous/next word part' keybindings.
517     * Add 'Switch to Messages' focus keybinding.
518     * Add 'Move line(s) up/down' keybindings.
519     * Make Switch to Editor keybinding reshow the document statistics line.
521     Templates:
522     * Move filetype template defaults into custom file template files.
523     * Read custom file templates from system as well as user dir.
524     * Add new special template wildcard "{command:...}" to use the output
525       of a shell command in templates.
526     * Support {ob}, {cb} and {pc} to escape wildcard strings with {, }, %
527       for snippets, fileheader and file templates.
528     * Add {project}, {description} template wildcards (#2954737).
529     * Reload templates when saving a document in the templates config dir.
531     Configuration files:
532     * Support more filetypes.common folding icon styles: arrows, +/- and no
533       lines (#2935059).
534     * Support Scintilla lexer properties in [lexer_properties] filetypes.*
535       group.
536     * Add filetypes.xml asp.default.language property (Ross McKay).
538     Plugins:
539     * Classbuilder: Add support for creating PHP classes
540                     (patch by Ondrej Donek).
541     * HTMLchars: Make plugin remember whether replacement of special
542                  characters was activated.
544     Windows:
545     * Support very long build commands.
546     * Add a preference for choosing between GTK and native File Open/Save
547       dialogs (only available on Windows).
549     Internationalisation:
550     * Added translations: ast.
551     * Updated translations: de, en_GB, es, fr, gl, ja, nl, pt, ru, sl, sv,
552                             tr, vi, zh_CN.
554     API:
555     * Improve documentation contents page.
556     * Add Stash mini-library setting, pref & widget functions to API.
557     * Add plugin_configure_single() plugin symbol which is easier to
558       implement than plugin_configure().
559     * Add new plugin signals: "document-before-save", "document-filetype-set",
560       "geany-startup-complete".
561     * Add PLUGIN_SET_TRANSLATABLE_INFO macro to the plugin API so plugins' meta
562       information can be translated already in the plugin manager dialog
563       (patch by Colomban Wendling).
564     * Use full function name for GeanyFunctions function pointers. This
565       avoids naming conflicts e.g. with C++'s 'new' keyword.
566     * GeanyKeyBinding label fields can now contain underscores, which won't
567       be displayed by Geany. This saves adding near-duplicate translation
568       strings.
569     * Add GeanyKeyGroup callback support.
570     * Add more Scintilla function wrappers, foreach_dir(), foreach_str(),
571       utils_get_file_list_full(), document_get_notebook_page(),
572       editor_insert_text_block().
573     * Don't install unnecessary headers.
574     * Remove deprecated header pluginmacros.h - use geanyfunctions.h
575       instead.
576     * Deprecate documents_foreach(), use foreach_document() instead.
577     * Deprecate PLUGIN_KEY_GROUP() macro - use plugin_set_key_group()
578       instead.
581 Geany 0.18.1 (February 14, 2010)
583     Build fixes:
584     * Define G_GNUC_WARN_UNUSED_RESULT to fix build on GLib 2.8.
585     * Use AC_PATH_PROG instead of 'which' for portability (patch by Erik
586       Southworth, thanks).
588     Incompatibilities:
589     * Remove filetypes.common invert_all option - use 'Invert syntax
590       highlighting colors' pref instead (fixes #2854525).
592     Bug fixes:
593     * Fix 'Open Selected File' for unsaved new documents.
594     * Fix updating main menu accelerators after changing keybindings
595       (thanks to Lex Trotman).
596     * Fix using 'Insert date' keybinding when a custom date string has
597       not been set.
598     * Set the cursor color for the split window plugin.
599     * Remove plugin from plugin manager dialog on unloading if it no
600       longer exists or is incompatible.
601     * Fix 'Reflow block' command when at the last paragraph and there's
602       no last newline (patch by Eugene Arshinov, thanks).
603     * Fix opening filenames beginning with two dots (closes #2858487).
604     * Show Find in Files stderr output in messages window instead of
605       debug window so that invalid regex messages can be seen easily.
606     * Speed up sorting in utils_get_file_list(). This reduces the file
607       browser delay on displaying a big directory, e.g. /usr/bin.
608     * Fix a bug with not w3c compatible HTML code on export plugin
609     * Fix non-working Home and End keys on numpads.
610     * Fix loading of files on network resources on Windows.
611     * Fix wrong alignment of printed pages when page headers are disabled
612       (closes #2856822).
614     Improvements:
615     * Extend auto_latex() function to check whether an environment has
616       been closed within the next lines to avoid auto adding double
617       \end{}.
618     * Replace some icons which could cause licensing problems by icons
619       from the Rodent icon theme.
621     Filetype fixes:
622     * Parse contents of D extern{} and version{} blocks.
623     * Fix creating D interface tags properly.
624     * Parse D functions with contracts (fixes #1885480).
625     * Parse D alias statement like typedef.
626     * Improve parsing of LaTeX, PHP and Python files.
628     Documentation:
629     * Add 'Scope autocompletion' section.
630     * Add 'Tools menu items' section to explain configuration files
631       submenu, reload configuration item.
632     * Minor updates/fixes.
634     API:
635     * Add gcc commands to build a plugin to the HowTo.
637     HACKING file:
638     * Add section 'Plugin API/ABI design'.
639     * Add 'Compiler options & warnings' section.
640     * Update Style section to be clearer about code alignment and show
641       some example code.
642     * Add 'Doc-comments' plugin API subsection.
644     Internationalisation:
645     * Added translations: gl
648 Geany 0.18 (August 16, 2009)
650     General:
651     * Fix scrolling horizontally after finding a search match with the
652       search bar or Find Next/Previous which is off-screen.
653     * Remove relative/untidy path elements from filenames when opening
654       documents (#2823998).
655     * Create initial template files with proper platform-specific line
656       ending characters.
657     * Improve inserting of comment templates like File header or licence
658       notices.
660     Interface:
661     * Add 'Show Paths' documents list popup item.
662     * Add filetypes.common to 'Configuration Files' menu.
663     * Implement a graphical toolbar editor.
664     * Add 'Build' toolbar button to the default layout.
665     * Add 'Replace' toolbar button (closes #2798225).
666     * Use a more Tango like icon for 'Save All' (by Jesse Mayes, thanks).
667     * Add a popup menu for the keybinding list in the preferences dialog
668       to easily expand and collapse all groups.
670     Keybindings:
671     * Implement Most-Recently-Used document switching when pressing
672       'Switch to last used document' keybinding (Ctrl-Tab).
673     * Add 'Mark All' keybinding (Ctrl-Shift-M).
674     * Add 'Reflow lines/block' keybinding, (Ctrl-J; thanks to
675       Eugene Arshinov).
676     * Make the Scintilla keybindings 'Delete to end of line' and
677       'Go to end of display line' configurable.
678     * Switching notebook tabs now works for the currently used notebook
679       widget instead of always using the documents notebook.
681     Editor:
682     * Fix a redraw when documents were first drawn uncolourised.
683     * Delay highlighting matching braces by 100ms to speed up scrolling
684       with the arrow keys.
685     * Support 'tab indents, space aligns' style when indenting (#2789109).
686     * Add 'Autocomplete all words in document' pref; also used when forcing
687       autocompletion and there's no symbol names to show.
688     * Add 'Drop rest of word on completion' pref.
689     * Update Scintilla to version 1.79.
690     * Improve displaying and reshowing of calltips.
692     Syntax highlighting:
693     * Reload color schemes via Tools menu (thanks to Eugene Arshinov).
694     * Implement named styles support for filetypes.* using a
695       filetypes.common [named_styles] section; used as
696       "style=named_style,bold". (See the manual for details).
697     * Allow style definitions with missing fields to use the
698       filetypes.common default style's fields.
699     * Make C-like filetype styles use named styles & default background
700       color. (Anyone who wants to likewise update any other filetype's
701       styles, please let us know ;-)).
702     * Allow indentation of wrapped lines (see style 'line_wrap_indent').
703     * Add new styles 'line_height' and 'marker_mark'.
705     Filetypes:
706     * Add Markdown filetype (thanks to Jon Strait).
707     * Highlight D WYSIWYG backtick `strings` and r"strings" (#1895745).
708     * Minor improvements for filetypes: Fortran, Haxe, HTML, Lua,
709       Matlab, Pascal, Python, Tcl.
711     Tags:
712     * Read custom system global tags files from $prefix/share/geany/tags
713       (#2778923).
714     * Autocomplete scoped fields like struct members when typing '.' (and
715       also '->' or '::' in C/C++) if the language's tag parser supports it.
716     * Save field tags for C/C++ when generating a global tags file (you may
717       want to regenerate your tag files).
718     * Parse Python calltips.
719     * Show relative paths in Diff filename tags.
720     * Group reStructuredText symbol list items by scope level.
722     Plugin API:
723     * Add geanyplugin.h single include.
724     * Add plugin_signal_connect() for connecting plugin signals at
725       runtime and also for connecting to any GObject signal.
726     * Add documents_foreach(), filetypes[], documents[], utils_strdupa()
727       and various foreach_type() macros.
728     * Make GeanyDocument::file_type always be non-NULL.
730     Windows:
731     * Fix quoting the build command string on Windows (closes #2791769).
732     * Fix LaTeX view commands on Windows (part of #2807688).
733     * Expand system environment variables (%variableName%) on Windows when
734       running Build commands.
736     Internationalisation:
737     * Added translations: lb, sl, pt_PT
738     * Updated translations: ca, cs, de, en_GB, fi, fr, ja, pt_BR, ru, tr
741 Geany 0.17 (May 02, 2009)
743     Bug fixes:
744     * Fix broken selection of "Document->Set Encoding" menu items.
745     * Fix broken non-incremental search with the toolbar search entry when
746       pressing Enter (closes #2638180).
747     * Fix parsing of Make output (closes #2694479, patch by Andrea Mazzoleni).
748     * Fix crashes on quitting Geany (closes #2533990).
749     * Fix disabled Go to Tag items in the editor menu when using the
750       keyboard (#2780044).
751     * Prevent crashes when two or more top level items in the symbol
752       list have the same name (closes #2778246).
754     Prefs:
755     * Add an option to set an additional plugin lookup path.
756     * Add a hidden preference 'use_safe_file_saving'. This has serious side
757       effects, please read the documentation before enabling this.
759     Interface:
760     * Add 'Send Selection to Terminal' command to the Edit->Format menu.
761     * Change the background colour of the search entries in the Find
762       and Replace dialogs according to the search results.
763     * Add 'Close Other Documents' and 'Close All' menu items to the tab bar
764       menu.
765     * Add an option to allow appending the toolbar to the main menu bar
766       to save some vertical space.
767     * When a project is loaded, replace the project base path with the
768       project name in the Documents sidebar for parent items (closes #2723679).
769     * Make the file open dialog more compact.
770     * Ellipsize tab labels and some status messages for very long
771       filenames (closes #2777348).
772     * Add new toolbar element: Print (patch by Roland Baudin).
773     * Remember the active sidebar page between sessions.
774     * Add "Recent Projects" menu to the Project menu (#2728630,
775       patch by Elias Pschernig).
776     * Add Tools->Configuration Files item for snippets.conf.
778     Filetypes:
779     * Fix wrong Fortran 90 comment characters when inserting templates.
780     * Add filetype ActionScript (patch by Chris Macksey).
781     * Fixes for CSS, Fortran and Ruby parsers.
782     * Add a trivial symbol parser for NSIS files.
784     Windows:
785     * On Windows, change the working directory to the Geany installation
786       path at startup to avoid unwanted directory locking(closes #2626124).
787     * Fix window positioning on startup.
788     * Make build commands on Windows run synchronously to avoid problems
789       with reading build commands' output.
791     Plugins:
792     * HTMLchars: Extend plugin by bulk replace and replace on
793       input for special characters to their HTML entities.
794     * Splitwindow: Add keybindings for the split actions.
795     * VCDiff: Remove plugin from Geany. Use GeanyVC instead.
797     Plugin API:
798     * Deprecate sci_get_text(), sci_get_selected_text() and
799       sci_get_text_range().
800     * Add sci_get_contents(), sci_get_contents_range() and
801       sci_get_selection_contents() as replacement functions to provide
802       an easier and cleaner API (initial patch by Frank).
803     * Make GEANY_FILETYPES_NONE = 0, sort filetype IDs randomly (so we can
804       append new filetypes without breaking the ABI); add
805       filetypes_by_title sorted list to GeanyData.
807     Documentation:
808     * Describe how to build Geany using the Waf build system.
810     Internationalisation:
811     * Updated translations: be, cs, de, es, fi, fr, hu, ja, pt_BR, ru,
812       sv, tr, zh_CN
815 Geany 0.16 (February 15, 2009)
817     Bug fixes:
818     * Fix indenting for Tabs & Spaces mode when inserting snippets.
819     * Fix snippets and smart indent using too much indentation when the
820       line contains whitespace after non-whitespace characters (#2215044).
821     * Fix segfault when showing Find in Files dialog when no documents are
822       open (#2228544).
823     * Fix not switching to 2nd last used document when the last used
824       document has been closed (#1945162).
826     General:
827     * Group child tags by their parents in the symbol list for C-like
828       filetypes, Python, Conf (thanks to Conrad Steenberg).
829     * Use a tree for the Documents sidebar, grouped by path.
830     * Add 'Tools->Configuration Files' menu with items to open
831       filetype_extensions.conf and ignore.tags. These files are also
832       reloaded automatically when saved.
833     * Change configuration directory path to $XDG_CONFIG_HOME/geany
834       (most often this is ~/.config/geany).
835     * Allow to specify files on the command line and from remote instances
836       to be URIs (local and with GIO also remote URIs).
837     * Increase minimum required GTK version to 2.8.
839     Prefs:
840     * Add Project Indentation prefs, which override the Editor
841       Preferences dialog options. For new projects, these default to
842       the editor indent prefs.
843     * Add an interface pref for whether to hide additional widgets when
844       double-clicking on document notebook tabs (off by default).
845     * Add a preference to invert all colours for syntax highlighting.
846     * Add a hidden preference "allow_always_save" to make the Save buttons
847       and menu items always sensitive.
849     Interface:
850     * Rework the toolbar: now all elements can be added/removed/reordered
851       using a simple XML file.
852     * Add new toolbar buttons for Cut, Copy, Paste, Delete, Preferences,
853       Close All and Build (including a submenu for Make actions).
854     * Add a progressbar widget to the statusbar to show progress for time
855       consuming actions.
857     Editor:
858     * Make Ctrl-click go to matching brace if there's no current word.
859     * Make Shift+Mouse wheel scroll the editor view horizontally.
860     * Make the 'Mark' button for Find highlight the results with rounded boxes
861       instead of marking the whole line.
862     * Add auto-closing of braces, brackets and quotes (Guillaume de Rorthais).
863     * Support multiple %cursor% wildcards in Snippets (Thomas Martitz).
865     Filetypes:
866     * Add new filetypes Ada, CMake, Matlab, NSIS, Vala and YAML.
867     * Update HTML character entities (thanks to Tyler D'Agosta).
868     * Parse restructuredText sections in the order of first-used underline
869       character, which can now be any punctuation character (as per the spec).
870     * Remove GTK global tags, replace them with C (C99) tags. The GTK tags
871       file is still available for download on the website.
872     * Minor improvements for filetypes CSS, Fortran, FreeBasic, HTML, Tcl
873       and Vala.
875     Windows:
876     * Improve tab close icon size.
877     * Changes to the Windows installer:
878       - The full installer now includes the GTK 2.14 runtime environment.
879       - Register ".geany" as Geany Project File extension.
880       - Install GTK translation files only if installation of translation
881         files were requested (saves about 22 MB otherwise).
882       - Support silent installations.
884     Plugins:
885     * Add Split Window 'Split Vertically' command (thanks to Moritz Barsnick).
886     * Make Version Diff plugin set the indent type for diffs based on the
887       current file's indent type.
888     * Minor improvements to the filebrowser plugin
890     Plugin API:
891     * Generate plugin API header geanyfunctions.h containing macros to
892       avoid having to type the function pointer names manually.
893     * Deprecate pluginmacros.h in favour of geanyfunctions.h.
894     * Add "editor-notify" to the plugin API.
895     * Add new plugin symbol plugin_help() which is called by Geany when the
896       plugin should show its documentation (if any, symbol is optional).
898     Documentation:
899     * Update Scintilla regular expression info for v1.77 (character
900       classes, ASCII escaping, character sets containing square
901       brackets peculiarities). Adapted from SciTE doc.
902     * Complete 'Hello World' Plugin Howto.
904     Internationalisation:
905     * Updated translations: bg, ca, cs, de, en_GB, fr, hu, it, ja,
906       pt_BR, sv, ru, tr, vi, zh_CN
909 Geany 0.15 (October 19, 2008)
911     General:
912     * Add Previous Message, Previous Error commands (thanks also to Beau
913       Barker).
914     * Add 'Close Other Documents' File menu command (#1976724).
915     * Add Find Document Usage popup menu command & keybinding.
916     * Check that the current file is still on disk (as well as checking the
917       modification time).
918     * Add support for custom file templates (found at startup) in the
919       ~/.geany/templates/files directory, shown underneath filetype templates
920       in the New with Template menu.
921     * Make socket open command support filename:line:column syntax.
922     * Add filetypes.* [build_settings] key 'error_regex' to support custom
923       error message parsing using a GNU-style extended regular expression.
924     * Allow loading projects from command line (#1961083).
925     * Add alternative build system: Waf.
926     * Add Tools menu item to reload configuration data without a restart.
927     * Add support to use template wildcards in snippets.
928     * Increase LSB compliance.
930     Prefs:
931     * Make disk check timeout configurable (zero disables disk checks).
932     * Add search pref: 'Use the current file's directory for Find in Files'
933       (#1930435).
935     Interface:
936     * Make keyboard shortcuts dialog non-modal (#1999384).
937     * Add a debug messages window to easily view debug messages/warnings.
939     Editor:
940     * Update Scintilla to version 1.77 (includes many fixes).
941     * Add basic Line Breaking option in the Document menu and 'Line breaking
942       column' editor pref (for now only works when typing characters past
943       the line breaking column number).
944     * Don't colourise any documents until they need to be drawn (this
945       should make opening a session faster for filetypes that support typename
946       highlighting).
947     * Make Ctrl-click on a word perform Go to Tag Definition.
948     * Add 'Max. symbol name suggestions' autocompletion pref.
949     * Show ellipsis (...) item when there are too many symbol names for
950       autocompletion.
951     * Highlight matching brace indent guides (thanks to Jason Oster;
952       #2104099).
953     * Show brace indent guides on empty lines when appropriate (thanks to
954       Jason Oster; #2105982).
955     * Add 'Tab key indents' pref, on by default.
956     * Implement soft tabs support (#1662173). There's now a 'Tabs & Spaces'
957       Indent Type, and separate Width, Hard Tab Width indent prefs. (Thanks
958       to Joerg Desch for explaining how it needed to work).
959     * Auto-update the line margin width as lines are added (thanks to Jason
960       Oster; #2129157).
961     * Add "Replace spaces by tabs".
963     Windows:
964     * Install plugins into lib/ not into plugins/.
965     * Install Geany's message catalogs into share/locale rather than
966       lib/locale as GTK does since 2.12.2.
968     Keybindings:
969     * Add Go to Start/End of Line keybindings (#1996175).
970     * Add 'Switch to Compiler' keybinding (useful when checking build
971       progress).
972     * Add keybindings for Line wrapping, Line breaking, Toggle fold and
973       Replace Spaces by tabs, Previous/Next word part.
975     Filetypes:
976     * Add OpenGL Shader Language (GLSL) filetype (thanks to Colomban
977       Wendling; #2060961).
978     * Add R language filetype (thanks to Andrew Rowland; #2121502).
979     * Split filetype Fortran into Fortran 77 and Fortran 90.
980     * Add Gettext translation filetype (#2131985).
981     * CSS improvements, thanks to Jason Oster.
983     Embedded Terminal:
984     * Fix hang when restarting the VTE (#1990323) with VTE 0.16.14.
985       (Note that with VTE 0.16.14 the reset sometimes leaves a blank
986       terminal, but pressing enter makes it then behave as normal).
988     Plugins:
989     * Add Split Window plugin (should work OK for viewing; full editing
990       support is not implemented yet).
991     * Merge InstantSave, AutoSave and BackupCopy plugins into the new
992       plugin 'Save Actions'.
994     Documentation:
995     * Add Tips and Tricks appendix.
996     * Updated Installation section.
997     * Update 'Build system' for custom error regexes.
998     * Add a section for internal plugins.
1000     Plugin API:
1001     * Many changes; see the API documentation (make api-doc) and the
1002       geany-devel list archives.
1003     * Deprecated: plugin_fields, plugin_info symbols.
1005     Internationalisation:
1006     * New translations: ko, tr.
1007     * Updated translations: be, ca, de, en_GB, fi, hu, it, ja, pl,
1008       ro, ru, sv, zh_CN
1011 Geany 0.14 (April 19, 2008)
1013     General:
1014     * Don't beep when using Replace All in Session unless all open files
1015       have no replacements (fixes #1893796).
1016     * Only use filetype detection after Save As, not on every save when the
1017       filetype is None (fixes #1891778).
1018     * Make Go to Tag commands look for the tag in the current document
1019       before searching the workspace.
1020     * Check file on disk for changes also when pressing a key.
1021     * Ignore documents with no absolute path when saving session files.
1022     * Fix segfault with Run command when a project is open and the current
1023       file's filetype has no run command.
1024     * Make Next Error and Next Message commands add positions to the
1025       navigation queue, so the user can move backwards through the list items
1026       and return to where they were.
1027     * Make pressing escape in the sidebar focus the editor.
1028     * Make navigation queue position based to restore the line and column when
1029       returning to a previous position (closes #1936927).
1030     * Save sorting order of the symbol list when saving a file (fixes #1917262).
1031     * Improve "Send Selection To" code (fixes #1909452).
1032     * Install header files and add a pkg-config file for external plugins.
1033     * Use monospace font for text entry fields in search dialogs (#1907117).
1034     * Don't open zero byte sized files read-only (e.g. files in /proc).
1036     Filetypes:
1037     * Improve Makefile parser to detect targets.
1038     * Update PHP tags file to latest PHP API docs (closes #1888691).
1039     * Add translucency settings to filetypes.common for semi-transparency.
1040     * Add HTML parser to get h1, h2, h3 symbols as well as link anchors and
1041       JavaScript functions (fixes #1896068).
1042     * Update Javascript, Tcl and Assembler parser.
1044     Interface:
1045     * When closing a tab when using left-to-right tabs, focus the next
1046       document, not the previous.
1047     * Move Load Tags item from File to Tools menu.
1049     Editor:
1050     * Don't scroll the editor view if it is unnecessary when using Find
1051       Next/Previous, Find Selected, incremental search, Go to Marker or Go to
1052       Matching Brace commands.
1053     * Fix bug with showing macro list items all on one line.
1054     * Fix Python auto-indentation when line endings are set to CR/LF.
1055     * Unfold hidden code when the fold point modified (fixes #1923350).
1056     * Update Scintilla to version 1.76.
1057     * Add (basic) column mode editing (patch by "chuck").
1059     Windows:
1060     * Replace untitled file header filename after Save As and add to recent
1061       files on Windows too.
1062     * Resolve Windows shortcuts when opening files.
1063     * Fix modal dialog problems on Windows by not setting taskbar hint
1064       (closes #1916994).
1065     * Add new process spawning implementation. This makes the VCdiff plugin
1066       to work on Windows (patch by Pierre Joye, thanks).
1067     * Fix crash on Windows when a project could not be opened.
1069     Plugins:
1070     * Add configurable plugin keybindings support.
1071     * Add a HTML Characters keybinding to show the dialog.
1072     * Add File Browser keybindings to focus the Path Entry and File List
1073     * Rename VCDiff plugin Version Diff.
1074     * When quitting, remember plugin filenames that couldn't be loaded at
1075       startup as well as active plugins.
1077     Plugin API:
1078     * Add PLUGIN_KEY_GROUP and keybindings_set_item() to setup a keybinding
1079       group.
1080     * keybindings_send_command() arguments have changed because of
1081       keybinding groups - this breaks the API for plugins already using it.
1082     * Make VERSION_CHECK deprecated in favour of PLUGIN_VERSION_CHECK.
1084     Documentation:
1085     * Add descriptions for several options in the preferences dialog
1086       (patch from Robert McGinley).
1088     Internationalisation:
1089     * New translations: ro.
1090     * Updated translations: bg, de, en_GB, es, fr, hu, it, ja, pt_BR, ru.
1093 Geany 0.13 (February 05, 2008)
1095     General:
1096     * Improve configure script and fix some compatibility issues.
1097     * Add support for project session files.
1098     * Add native GTK printing support (only with GTK 2.10+).
1099     * Prevent execution of commands by Geany if the VTE may contain any
1100       text on the prompt (thanks to "Jeff Pohlmeyer for reporting).
1101     * Store more document-related settings when saving session in the
1102       configuration file (including the file encoding).
1103     * Detect in-file specified file encoding by scanning the file using
1104       regular expressions.
1105     * Add binary relocation support.
1107     Filetypes:
1108     * Add configurable default file extension setting for filetype
1109       definition files.
1110     * Fix reST autocompletion.
1112     Tags:
1113     * Show arrays and modifiers like const in calltip return types for
1114       C-like files.
1115     * Update C global tags file for GTK+ 2.12.
1116     * Fix parsing the correct D class name when inheriting, D constructor
1117       tags and ignore D import statements.
1118     * Remove unnecessary tagmanager status file.
1119     * Improve PHP, Ruby and FreeBasic parsers.
1121     Interface:
1122     * Add 'Indent Type' option in the Document menu.
1123     * Add 'Detect from file' Editor indentation pref.
1124     * Show TAB or SP for current document's indent type.
1125     * Add a 'Newline strips trailing spaces' pref (thanks to Catalin
1126       Marinas).
1127     * Add 'Strip Trailing Spaces' document menu item.
1128     * Add combo box input history for 'Make Custom Target' dialog.
1129     * Make Open, Save As dialogs start in project base path (or default
1130       path pref) when the current file has no filename.
1131     * Add 'Make in base path' project file preference.
1132     * Make 'Open Selected File' first try the current file's directory,
1133       falling back to the project base path if no file was found.
1134     * Fix broken window maximization.
1135     * Improve appearance of used treeviews and use rules hints to respect
1136       user colour settings.
1138     Editor:
1139     * Fix hidden lines after deleting a line that is a collapsed fold
1140       point.
1141     * Make Fold All/Unfold All attempt to scroll the current line in view.
1142     * Show line wrap symbol at start of line for wrapped lines.
1143     * Allow scrolling past end of document, so the user can append text
1144       with the last lines drawn at the top of the view.
1145     * Rename "Construct autocompletion" to "Snippets".
1146     * Improve usage of "Unfold all children" option.
1147     * Update Scintilla to version 1.75.
1149     Keybindings:
1150     * Add configurable keybindings for Cut, Copy and Paste.
1151     * Ask the user whether to override an existing keybinding when setting
1152       a combination that is already in use.
1153     * Add 'Override Geany keybindings' VTE prefs dialog option (replaces
1154       hidden pref), which makes the VTE interpret all keyboard shortcuts
1155       except focus group keybindings.
1157     Plugins:
1158     * Add File Browser sidebar plugin.
1159     * Add Version Control Diff plugin (VC Diff), which supports SVN, CVS and
1160       GIT (thanks to Yura Siamashka).
1161     * Add plugin manager dialog to select plugins to load at startup and to
1162       call a plugin configure dialog.
1163     * Add new signals: project_open, project_save, project_close.
1164     * Add Auto Save plugin.
1166     Plugin API:
1167     * Add keybindings_send_command() and some other functions.
1168     * Add pluginmacros.h to define common macros for app, p_utils, etc.
1169     * Add more documentation/comments to demoplugin.c.
1170     * Add configure symbol for plugins which is called by Geany when a
1171       configure dialog for the plugin is requested, optionally.
1172     * Add author field to plugin info struct.
1174     Windows:
1175     * Enable build support.
1176     * Prevent prefs dialog being hidden after using the prefs file dialog.
1177     * Create Geany's configuration directory in user's appdata path
1178       instead of the default home directory.
1180     Documentation:
1181     * Show default shortcuts in Keybindings section.
1182     * Update Project section for project-based session support.
1183     * Add Indentation subsection under Editor section.
1184     * HACKING: Update 'Adding a filetype' section.
1186     Internationalisation:
1187     * New translations: ja, uk, el.
1188     * Updated translations: ca, de, en_GB, fr, it, pt_BR, hu, sv, vi.
1191 Geany 0.12 (October 10, 2007)
1193     Bugs fixed:
1194     * Fixed opening the same file twice from the message window/command-line.
1195     * Fixed Ctrl-Shift keybindings not working when caps lock is on.
1196     * Fixed saving the wrong document when using Save All with unnamed
1197       documents.
1198     * Fixed replacing with '^' or '$' regex chars.
1199     * Fixed hang with Find All/Find Usage with '^' or '$' regex chars.
1200     * Fixed hang when replacing all '[ ]*' regex matches (closes #1757748).
1201     * Fixed displaying error indicators with Make after entering a
1202       subdirectory.
1203     * Fixed a possible segfault when parsing tags (a vString bug).
1204     * Fixed clipboard problems with some applications.
1205     * Fixed crash when trying to open the Save As dialog on Windows.
1206     * Fixed crash when saving a file after setting encoding "None".
1207     * Fixed scrolling bugs when searching text and the cursor is outside of
1208       the current visible area.
1210     Filetypes:
1211     * Added reStructuredText filetype and parser.
1212     * Added Haskell tags support (thanks to Peter Strand).
1213     * Added decorator styling for Python.
1214     * Parse Python global variables and class variables.
1215     * Added support for Java Apache Ant compiler error messages (thanks to
1216       Jon Senior).
1217     * Added new filetypes CSharp and FreeBasic.
1218     * Added filetype Haxe (patch by blackdog, thank you).
1220     Plugins:
1221     * Added basic plugin support (developers: see the HACKING file).
1222     * Added 'Enable plugin support' preference and -p, --no-plugins options.
1223     * Added Class Builder plugin (thanks to Alexander Rodin).
1224     * Added Export plugin to export current file as HTML or LaTeX.
1226     Keyboard shorcuts:
1227     * Common bash Ctrl-[a-z] keyboard shortcuts now work when the VTE is
1228       focused, and there is an 'enable_bash_keys' hidden preference.
1229     * Added 'Move document left' and 'Move document right' keybindings.
1230     * Added Find keybinding.
1231     * Made fixed keybindings overridable.
1232     * Added fixed keybindings for switching to leftmost/rightmost document,
1233       Ctrl-Shift-{PageUp,PageDown}.
1234     * Change Previous/Next Paragraph fixed commands to Ctrl-{Up,Down};
1235       adding Shift extends selection by paragraph. (Scroll by line is now
1236       Alt-{Up,Down}).
1237     * Made pressing escape focus the editor when using incremental search
1238       or Goto Line toolbar fields.
1239     * Added keybinding for select current paragraph.
1240     * Added keybindings for smart indent and indent/deindent by one space.
1241     * Removed convert to lower-/upper-case keybindings.
1242     * Added toggle case keybinding and change shortcut to Ctrl-Alt-U.
1244     General:
1245     * Added preference for 'smart' home key behaviour (thanks to Jeff
1246       Pohlmeyer).
1247     * Added symbol list icons (thanks to Jean-François Wauthy, and KDevelop
1248       for the icons).
1249     * Added 'Current chars' indentation mode (closes #1726880).
1250     * Save and restore the current notebook page when quitting.
1251     * Added support for %e, %f in project run command.
1252     * Ignore punctuation chars when moving by word, and use word end
1253       boundaries when moving by word to the right (like most GTK+ widgets).
1254     * Added hidden editor preference 'use_gtk_word_boundaries'.
1255     * Added auto_complete_whilst_editing hidden preference.
1256     * Speed up Save All for C-like files.
1257     * Don't show file opened/saved/closed messages on the status bar.
1258     * Added --no-preprocessing, -P option when generating tags files to
1259       disable preprocessing of C/C++ source files.
1260     * Added default startup directory option (closes #1704988).
1261     * Use current locale as default encoding for new files.
1262     * Added simple code navigation (thanks to Dave Moore).
1263     * Re-maximize the main window on startup when closed in maximized state
1264       (closes #1730369).
1265     * Added auto focus (to auto focus widgets below mouse cursor).
1266     * Complete rewrite of auto completion to make it user-definable and
1267       much more flexible (please read documentation).
1268     * Added option to set a default encoding when opening files and disable
1269       auto detection of the file encoding.
1270     * Improved comment toggling by adding an additional character to mark.
1271     * Changed the background colour of the search bar in the toolbar
1272       according to the search result.
1273     * Use intltool to make geany.desktop translatable
1274     * Replace Geany's icon by a new one by Sebastian Kraft (thanks).
1275     (Thanks also to Christoph Berg for updating the icon code).
1277     Docs:
1278     * Changed documentation generation tools from DocBook to reST
1279       (thanks to John Gabriele for his great work on this).
1280     * Added Plugins section.
1281     * Added 'Inserting unicode characters' Editing section (thanks to
1282       John Gabriele).
1283     * Added 'Hidden preferences' appendix.
1284     * Added 'Switching documents' keybindings section.
1286     HACKING:
1287     * Added notes on adding a filetype.
1289     Internationalisation:
1290     * New translations: en_GB.
1291     * Updated translations: ca, cs, de, es, fi, fr, hu, it, pl, pt_BR, zh_CN.
1294 Geany 0.11 (May 21, 2007)
1296     Notes for existing users:
1297     * Tab is now used for construct completion (for, if, etc.), but it
1298       is configurable with the new 'Complete construct' keybinding.
1299     * Template files are now stored in ~/.geany/templates/ and the
1300       'template.' filename prefix is no longer used. You will need to
1301       move any custom template files you have.
1302     * Inserting a file header is now optional for filetype templates.
1303       Use the string '{fileheader}' to mark where the file header should
1304       be placed.
1305     * Drag'n'Drop of text inside the editor widget will now move the
1306       text instead of copying it.
1308     Bugs fixed:
1309     * Fix segfault when pressing Ctrl-Enter when there are no workspace
1310       tags.
1311     * Remove error indicators in all documents when linking (#1705374).
1312     * Sort symbol list tags also by line number (#1703575).
1313     * Fix #1717418, Hang on SQL file load.
1314     * Fix #1718532 - Crash when opening a special HTML file.
1315     * Add workaround for PHP closing brace de-indenting.
1316     * Fix reloading of read-only documents.
1318     Project Management:
1319     * Add keybinding to show project properties dialog.
1320     * Add project Run command support.
1321     * Run Make All and Make Custom from the project base directory.
1323     Custom Global Tags:
1324     * Update C global tags for GTK+ 2.10 and it's dependencies.
1325     * Add option --generate-tags (-g) to generate a global tags file
1326       from a list of source files (see docs).
1327     * Load global tag files stored in ~/.geany/tags at startup #.
1328     * Add Load Tags command in the File menu #.
1329     # This is not supported for Pascal, PHP or LaTeX files yet.
1331     Calltips (for C-like files):
1332     * Show up and down arrows when there are multiple calltip matches.
1333     * Show classname in calltips.
1334     * Parse pointers in function return type.
1335     * Add calltip support for D constructors.
1337     Other changes:
1338     * Parse 'Entering directory' Make messages so opening files from
1339       error messages works for subdirectories (thanks to Josef Whiter).
1340     * Make Go to Tag Definition/Declaration work for all tags.
1341     * Support filetype templates for all filetypes (see docs).
1342     * Make file header optional for filetype templates.
1343     * Add 'Find Selected' and 'Find Prev Selected' search commands and
1344       keybindings (thanks to Jeff Pohlmeyer).
1345     * Add Mark button to the Find dialog, and a Remove Markers item to
1346       the Document menu.
1347     * Add 'Recurse in subfolders' and 'Extra options' checkboxes to the
1348       Find in Files dialog.
1349     * Add 'Switch to last used document' keybinding (Ctrl-Tab).
1350     * Add Goto Previous/Next Marker keybindings (Ctrl-, and Ctrl-.).
1351     * Add Toggle Marker keybinding (Ctrl-M).
1352     * Add keybinding for construct completion, and set the default to
1353       Tab.
1354     * Add MimeType associatiations for: C++ header, Pascal, Perl,
1355       Python, httpd-PHP and XML files (thanks to Iñaki Rodriguez).
1356     * Add brace indenting support for Perl and Tcl.
1357     * Make backspace unindent when using spaces for indentation.
1358     * Wrap notebook pages when switching tabs.
1359     * Speed up loading multiple C-like files slightly.
1360     * New filetypes: JavaScript, Lua and Haskell.
1361     * Set several widget names to allow users to define custom styles
1362       in .gtkrc-2.0.
1363     * Add context actions to run custom commands on current selection
1364       or the current word below cursor.
1365     * Add different auto indention modes.
1366     * Improve replacing in rectangle selections.
1367     * Add custom commands to send selected text through some definable
1368       commands and replace the selection with the output.
1369     * Add command line option --column to allow setting the initial
1370       column for the first opened file on command line.
1371     * Improve the auto scrolling of documents.
1372     * Improve loading of the VTE library.
1373     * Add an option for using spaces or tabulators when inserting some
1374       whitespace.
1375     * Add an option to disable Drag'n'Drop in the editor widget.
1377     Documentation:
1378     * Add Project Management, Global Tags, Construct Completion
1379       sections.
1380     * Add Bookmarks section (thanks to John Gabriele).
1381     * Update Filetype Templates, Search sections.
1383     Internationalisation:
1384     * New translations: bg.
1385     * Updated translations: ca, cs, de, es, fr, zh_CN.
1388 Geany 0.10.2 (February 25, 2007)
1390     Bugs fixed:
1391     * Fixed serious crash of complete X session when using the Stop
1392       command when Geany is run from the program menu (closes #1668017).
1395 Geany 0.10.1 (February 23, 2007)
1397     Bugs fixed:
1398     * Wrong tab foreground colour for unmodified documents.
1399     * Fixed crashes when closing dialogs by clicking X on some systems.
1400     * Fixed missing global tags for C files when a C++ source file was
1401       loaded first.
1402     * Fixed autocompletion missing tag matches.
1403     * Fixed a wrong PASCAL autocompletion.
1404     * Set single undo action when toggling multiple lines or stripping
1405       trailing spaces.
1406     * Prevent some possible invalid memory reads.
1407     * Convert config, application and documentation dir paths to locale
1408       encoding before using it.
1409     * Fixed errors when changing directories containing special
1410       characters within the VTE component (thanks to Jeff Pohlmeyer).
1411     * Support newer so-names when loading the VTE library (thanks to
1412       Jeff Pohlmeyer).
1413     * Fixed paste problems on Windows.
1414     * When using Save As the returned filename needs to be converted
1415       into UTF-8.
1416     * Fixed error when parsing of compiler errors by the va_list system.
1417     * Added MimeType entry as suggested by Nick Schermer.
1418     * LaTeX parser: Allow \section*{} and other commands with *.
1419     * Change default keybinding for Close All to Ctrl-Shift-W.
1420     * Allow Make for files with no extension - prevent Build when the
1421       output filename would be the same as the source file.
1422     * Ensure the VTE visual settings are applied when switching to VTE
1423       when the Message Window is hidden.
1424     * Fixed several issues while opening files and improved code.
1425     * Improved the auto scrolling of documents and fixed a bug when
1426       opening files remotely.
1427     * Fixed wrong D function return type after a class definition.
1428     * Added several missing style types for filetype Perl (thanks to
1429       John Gabriele for reporting).
1430     * Prevent right click in Symbol list from selecting a tag.
1431     * Update the symbol list when starting a new document.
1432     * Scroll Compiler and Messages window in view when using Next Error
1433       or Next Message.
1434     * Auto close brackets only when auto completion of constructs is
1435       enabled (closes #1665015).
1436     * Fixed switching to the wrong tab when showing the unsaved dialog.
1438     Internationalisation:
1439     * New translations: fi (thanks to Harri Koskinen).
1440     * Updated translations: cs, de, es, fr, hu.
1443 Geany 0.10 (December 21, 2006)
1445     Changes:
1446     * Added a dialog to insert HTML special characters.
1447     * Added new command line option --line to set the initial line for
1448       the first opened file.
1449     * Implemented new, own Undo system to undo/redo encoding changes.
1450     * Added simple parser for filetype Diff to create tags for each
1451       patched file in a diff file.
1452     * Added new encoding "None" to open files without any character
1453       conversions.
1454     * Added Stop button to abort the Run command.
1455     * New filetype VHDL.
1456     * New scintilla lexer for filetype D with several improvements.
1457     * Improved auto completion of multi line comments
1458     * Added option to execute programs in the VTE instead of executing
1459       them in a terminal emulation window
1460     * Removed the limit on the number of files open.
1461     * Save the build includes and arguments when quitting.
1462     * Added Next Message search command and Next Error build command.
1463     * Make search bar automatically wraparound if necessary.
1464     * Applied patch from Bob Doan to prevent unnecessary search
1465       scrolling and add a preference to suppress some of the search
1466       dialogs.
1467     * Added Find Previous, Find All in Document/Session buttons for the
1468       Find dialog.
1469     * Added Replace (but don't Find) button for the Replace dialog.
1470     * Added 'Hide Message Window' popup menu command.
1471     * Added Alt-[1-9] shortcuts to switch to a certain tab number.
1472     * Limit search dialog history to 30 entries.
1473     * Change python default compile command to create a compiled
1474       python .pyc file (thanks to Bajusz Tamás).
1476     Windows changes:
1477     * Fix #1611530 'file has changed' message on Windows after saving.
1478     * Fixed wrong paste behaviour under Windows with some applications.
1480     Bugs fixed:
1481     * Fixed crash when using "Make object" on new files.
1482     * Fixed incompatible use of read command in the created shell
1483       script to execute programs.
1484     * Fixed wrong insert position when the cursor was moved by keyboard
1485       and comments, includes or a date was inserted.
1486     * Fixed some segfaults when inserting comments, dates and
1487       includes at a position prior to some deleted text.
1488     * Fix message window horizontal scrollbar being too tall on some
1489       systems (thanks to Rob van der Linde).
1491     Internationalisation:
1492     * New translations: fr, hu, it, zh_CN, zh_TW.
1493     * Updated translations: be, ca, cs, de, es, vi.
1496 Geany 0.9 (September 29, 2006)
1498     Changes:
1499     * Added function calltips for files open in the current workspace
1500       for C-like languages.
1501     * Open a second instance by default when starting Geany with no
1502       filenames specified on the command-line.
1503     * Added better error message support for D, for both DMD and GDC;
1504       also GCC-style linker error messages are now parsed.
1505     * Text selections now use syntax highlighting foreground colours
1506       (but can still be overridden in filetypes.common).
1507     * Find in Files improvements: fixed string and whole word only
1508       matching options; a directory selector dialog; filenames passed
1509       to Grep are now sorted alphabetically.
1510     * Remember the VTE current directory at startup.
1511     * Show the messages window on build failure or for Find Usage.
1512     * Added -s command-line option to not load session files (-i is now
1513       used to force a new instance).
1514     * Added comment toggle functionality to easily comment and
1515       uncomment a line with one shortcut.
1516     * Separated filetypes PHP and HTML for better usage.
1517     * New filetypes: Diff, Fortran 77 and Ferite.
1518     * Added auto completion tags for PASCAL.
1519     * Improved VTE usage by adding options for selecting the used shell
1520       and ignoring menu bar accelerator (default F10).
1521     * Added menu items to insert configurable date/time strings.
1522     * Removed the whole FIFO code and replaced it with support for
1523       (Unix Domain) Sockets(including Windows support).
1525     Windows changes:
1526     * Implemented Run command (from the build menu) under Windows.
1527     * Enabled socket code on Windows to detect a running instance.
1528     * Enabled notification if file on disk has changed under Windows.
1530     Bugs fixed:
1531     * Fixed a segfault at startup if terminal follow path setting is
1532       enabled.
1533     * Fixed clicking on error messages being dependent on the current
1534       file's directory.
1535     * Fixed a bug when clicking on a recent file got the wrong
1536       filename.
1537     * Fixed a crash when a compiler output reports an error in a blank
1538       line(can happen in LaTeX)
1539     * Fixed a crash when switching between several filetypes.
1540     * Fixed segfault when replacing tabs by spaces.
1542     Internationalisation:
1543     * New translations: cs, nl, vi.
1544     * Updated translations: de, es.
1547 Geany 0.8 (August 09, 2006)
1549         Changes:
1550         * Find in files feature added which uses the Grep tool.
1551         * Added Make object command to compile using the Make tool.
1552         * Editor notebook tabs can now be reordered by drag and drop.
1553         * Added support for back references when using regex replace.
1554         * Added a Find button to the Replace dialog to skip matches.
1555         * Greatly improved the speed of Replace all/in selection.
1556         * Scroll to 1/4 of the view when jumping to a line number.
1557         * Show messages on the status bar and in the Status window.
1558         * Preferences options for Auto-indentation and Line wrapping.
1559         * Use the mouse click position for Go to tag.
1560         * Added separate filetype_extensions.conf system file.
1561         * Added makefiles for building on Windows.
1562         * Added keyboard shortcuts for increase/decrease of line
1563           indentation.
1564         * Added functionality to uncomment code.
1565         * Encoding support
1566         * Added support for Unicode Byte-Order-Mark (BOM)
1567         * Redesigned preferences dialog.
1568         * Added Undo and Redo toolbar buttons.
1569         * New filetype: D
1570         * Added simple printing support.
1571         * Mark errors while compiling source code within Geany with
1572           indicators(small squiggly underlines)
1574         Bugs fixed:
1575         * Use the full path for files opened from the command-line.
1576         * Fixed saving a file from the unsaved file dialog.
1577         * Fixed replacing with regexes the correct matched text length.
1578         * Fixed applying virtual terminal widget settings at startup.
1579         * Fixed prepending items to the Recent files menu.
1580         * Fixed clipboard commands used in the find entry and Scribble.
1581         * Fixed wrong interpretation of syntax highlighting colours
1582         * And some more.
1584         Windows bugs fixed:
1585         * Don't add .c extension when saving with the All files filter.
1586         * Fixed a tool chooser dialog crash when path doesn't exist.
1587         * Fixed locale problems with Windows message dialogs.
1589         Internationalisation:
1590         * New translations: be, es, pt_BR, ru.
1591         * Updated translations: ca, de, pl.
1593         Documentation:
1594         * Added Scintilla keyboard commands for editing appendix.
1595         * Improved search section; added all find and go to commands.
1596         * Added section about character sets.
1599 Geany 0.7 (June 04, 2006)
1601         * user-definable keyboard shortcuts
1602         * filetype definition files can be overridden in Geany's
1603           configuration directory (please see documentation)
1604         * added filetypes Ruby and Tcl/Tk
1605         * improved build system (for Perl, Python, Ruby and others)
1606         * loading of Virtual Terminal Emulation can be disabled in the
1607           preferences dialog
1608         * new menu item "Search" with Find items from Edit menu and new
1609           item "Find Previous"
1610         * fixed the bug which let Geany crash with newer GTK versions
1611         * improved documentation: added documentation for keyboard
1612           shortcuts, the build system and filetype definition files
1613         * new translations: Catalan and Polish
1614         * many small improvements
1615         * fixed lots of bugs (please see ChangeLog for details)
1618 Geany 0.6 (April 30, 2006)
1620         * added option to place new file tabs to the right or left of
1621           the tab list
1622         * improved file open dialog
1623         * improved scrolling of the compiler output window
1624         * rewrote most of the code for compiling files, now all
1625           settings are read from filetype definition files
1626         * now, you can drag files from a file manager into Geany and
1627           they will be opened
1628         * improved handling of filenames which contain non-UTF8 chars
1629         * added user-definable comment characters to all filetype
1630           definition files
1631         * implemented folding
1632         * added file properties dialog
1633         * improved search and find dialogs
1634         * Geany now creates a FIFO, to communicate between different
1635           instances for opening files in an already running instance
1636         * added filetypes SQL and (O)Caml
1637         * many small improvements
1638         * fixed lots of bugs, including #1419473, #1422135, #1421776
1639           and #1441359
1640         * for more details read the ChangeLog
1643 Geany 0.5 (January 27, 2006)
1645         * set the Open File dialog directory to the same directory as
1646           the current file (thanks to Nick Treleaven for this patch)
1647         * fixed some bugs when opening files with non UTF-8 filenames
1648         * updated included Scintilla to version 1.67
1649         * improved auto indention, now "for (...) {" works, too
1650         * added popup menu to sidebar lists, to quickly hide them
1651         * symbol list support for filetypes LaTeX and DocBook
1652         * added .cc, .hh and .hxx extension for filetype C++
1653         * added new keywords for PHP5
1654         * added new option "Beep on errors" to disable beeping
1655         * eliminated compiler (gcc4) warnings
1656         * closed bug #1387828 and #1387839
1657         * fixed lots of bugs (please see ChangeLog for details)
1660 Geany 0.4 (December 21, 2005)
1662         * new filetype: Assembler
1663         * new filetype: Conf for configuration files
1664         * added a terminal emulation widget, needs only libvte.so at
1665           runtime, but it also runs without it, see documentation
1666         * made some general improvements to increase startup speed
1667         * changed "build with make" keyboard shortcut to Shift+F9 to
1668           avoid problems with window managers key bindings
1669         * added auto-closing [ and { brackets in LaTex-Mode
1670         * improved documentation, but it is not yet complete
1671         * improved the symbol list to categorise the tags in a tree
1672         * some new options in the preferences dialog
1673         * added popup menu to the list of open files
1674         * there are lots of other small changes made since last release
1675         * some bugfixes (please see ChangeLog for details)
1678 Geany 0.3 (November 20, 2005)
1680         * Geany now has a mailing list, for details see
1681           http://geany.uvena.de
1682         * added open files list in the left treeview widget
1683         * added toolbar button to open the color chooser
1684         * heavily improved recent files menu
1685         * added shortcut for "walking" between open documents by
1686           pressing STRG+LEFT resp. STRG+RIGHT
1687         * created template files for new files with specified filetype
1688         * added highlighting support for Python (please give feedback)
1689         * extracted all hardcoded styling definitions for all filetypes
1690           so they can be easily edited
1691         * added vertical line to mark long lines
1692         * fixed a bug that caused a segfault if configuration directory
1693           could not created
1694         * fixed a bug which prevented auto-completion from working
1695         * many minor bugfixes (see ChangeLog for details)
1698 Geany 0.2 (October 26, 2005)
1700         * improved file open dialog
1701         * improved Find dialog
1702         * powerful Replace dialog
1703         * gcc4 compilation fix
1704         * minor bugfixes
1707 Geany 0.1 (October 19, 2005)
1709         * first official release