Beep if the user hasn't entered a class name on pressing OK.
[geany-mirror.git] / NEWS
blobacbb0747a26c04e60a2b36ed524bccaa269b56d2
1 Geany 0.18 (August 16, 2009)
3     General:
4     * Fix scrolling horizontally after finding a search match with the
5       search bar or Find Next/Previous which is off-screen.
6     * Remove relative/untidy path elements from filenames when opening
7       documents (#2823998).
8     * Create initial template files with proper platform-specific line
9       ending characters.
10     * Improve inserting of comment templates like File header or licence
11       notices.
13     Interface:
14     * Add 'Show Paths' documents list popup item.
15     * Add filetypes.common to 'Configuration Files' menu.
16     * Implement a graphical toolbar editor.
17     * Add 'Build' toolbar button to the default layout.
18     * Add 'Replace' toolbar button (closes #2798225).
19     * Use a more Tango like icon for 'Save All' (by Jesse Mayes, thanks).
20     * Add a popup menu for the keybinding list in the preferences dialog
21       to easily expand and collapse all groups.
23     Keybindings:
24     * Implement Most-Recently-Used document switching when pressing
25       'Switch to last used document' keybinding (Ctrl-Tab).
26     * Add 'Mark All' keybinding (Ctrl-Shift-M).
27     * Add 'Reflow lines/block' keybinding, (Ctrl-J; thanks to
28       Eugene Arshinov).
29     * Make the Scintilla keybindings 'Delete to end of line' and
30       'Go to end of display line' configurable.
31     * Switching notebook tabs now works for the currently used notebook
32       widget instead of always using the documents notebook.
34     Editor:
35     * Fix a redraw when documents were first drawn uncolourised.
36     * Delay highlighting matching braces by 100ms to speed up scrolling
37       with the arrow keys.
38     * Support 'tab indents, space aligns' style when indenting (#2789109).
39     * Add 'Autocomplete all words in document' pref; also used when forcing
40       autocompletion and there's no symbol names to show.
41     * Add 'Drop rest of word on completion' pref.
42     * Update Scintilla to version 1.79.
43     * Improve displaying and reshowing of calltips.
45     Syntax highlighting:
46     * Reload color schemes via Tools menu (thanks to Eugene Arshinov).
47     * Implement named styles support for filetypes.* using a
48       filetypes.common [named_styles] section; used as
49       "style=named_style,bold". (See the manual for details).
50     * Allow style definitions with missing fields to use the
51       filetypes.common default style's fields.
52     * Make C-like filetype styles use named styles & default background
53       color. (Anyone who wants to likewise update any other filetype's
54       styles, please let us know ;-)).
55     * Allow indentation of wrapped lines (see style 'line_wrap_indent').
56     * Add new styles 'line_height' and 'marker_mark'.
58     Filetypes:
59     * Add Markdown filetype (thanks to Jon Strait).
60     * Highlight D WYSIWYG backtick `strings` and r"strings" (#1895745).
61     * Minor improvements for filetypes: Fortran, Haxe, HTML, Lua,
62       Matlab, Pascal, Python, Tcl.
64     Tags:
65     * Read custom system global tags files from $prefix/share/geany/tags
66       (#2778923).
67     * Autocomplete scoped fields like struct members when typing '.' (and
68       also '->' or '::' in C/C++) if the language's tag parser supports it.
69     * Save field tags for C/C++ when generating a global tags file (you may
70       want to regenerate your tag files).
71     * Parse Python calltips.
72     * Show relative paths in Diff filename tags.
73     * Group reStructuredText symbol list items by scope level.
75     Plugin API:
76     * Add geanyplugin.h single include.
77     * Add plugin_signal_connect() for connecting plugin signals at
78       runtime and also for connecting to any GObject signal.
79     * Add documents_foreach(), filetypes[], documents[], utils_strdupa()
80       and various foreach_type() macros.
81     * Make GeanyDocument::file_type always be non-NULL.
83     Windows:
84     * Fix quoting the build command string on Windows (closes #2791769).
85     * Fix LaTeX view commands on Windows (part of #2807688).
86     * Expand system environment variables (%variableName%) on Windows when
87       running Build commands.
89     Internationalisation:
90     * Added translations: lb, sl, pt_PT
91     * Updated translations: ca, cs, de, en_GB, fi, fr, ja, pt_BR, ru, tr
94 Geany 0.17 (May 02, 2009)
96     Bug fixes:
97     * Fix broken selection of "Document->Set Encoding" menu items.
98     * Fix broken non-incremental search with the toolbar search entry when
99       pressing Enter (closes #2638180).
100     * Fix parsing of Make output (closes #2694479, patch by Andrea Mazzoleni).
101     * Fix crashes on quitting Geany (closes #2533990).
102     * Fix disabled Go to Tag items in the editor menu when using the
103       keyboard (#2780044).
104     * Prevent crashes when two or more top level items in the symbol
105       list have the same name (closes #2778246).
107     Prefs:
108     * Add an option to set an additional plugin lookup path.
109     * Add a hidden preference 'use_safe_file_saving'. This has serious side
110       effects, please read the documentation before enabling this.
112     Interface:
113     * Add 'Send Selection to Terminal' command to the Edit->Format menu.
114     * Change the background colour of the search entries in the Find
115       and Replace dialogs according to the search results.
116     * Add 'Close Other Documents' and 'Close All' menu items to the tab bar
117       menu.
118     * Add an option to allow appending the toolbar to the main menu bar
119       to save some vertical space.
120     * When a project is loaded, replace the project base path with the
121       project name in the Documents sidebar for parent items (closes #2723679).
122     * Make the file open dialog more compact.
123     * Ellipsize tab labels and some status messages for very long
124       filenames (closes #2777348).
125     * Add new toolbar element: Print (patch by Roland Baudin).
126     * Remember the active sidebar page between sessions.
127     * Add "Recent Projects" menu to the Project menu (#2728630,
128       patch by Elias Pschernig).
129     * Add Tools->Configuration Files item for snippets.conf.
131     Filetypes:
132     * Fix wrong Fortran 90 comment characters when inserting templates.
133     * Add filetype ActionScript (patch by Chris Macksey).
134     * Fixes for CSS, Fortran and Ruby parsers.
135     * Add a trivial symbol parser for NSIS files.
137     Windows:
138     * On Windows, change the working directory to the Geany installation
139       path at startup to avoid unwanted directory locking(closes #2626124).
140     * Fix window positioning on startup.
141     * Make build commands on Windows run synchronously to avoid problems
142       with reading build commands' output.
144     Plugins:
145     * HTMLchars: Extend plugin by bulk replace and replace on
146       input for special characters to their HTML entities.
147     * Splitwindow: Add keybindings for the split actions.
148     * VCDiff: Remove plugin from Geany. Use GeanyVC instead.
150     Plugin API:
151     * Deprecate sci_get_text(), sci_get_selected_text() and
152       sci_get_text_range().
153     * Add sci_get_contents(), sci_get_contents_range() and
154       sci_get_selection_contents() as replacement functions to provide
155       an easier and cleaner API (initial patch by Frank).
156     * Make GEANY_FILETYPES_NONE = 0, sort filetype IDs randomly (so we can
157       append new filetypes without breaking the ABI); add
158       filetypes_by_title sorted list to GeanyData.
160     Documentation:
161     * Describe how to build Geany using the Waf build system.
163     Internationalisation:
164     * Updated translations: be, cs, de, es, fi, fr, hu, ja, pt_BR, ru,
165       sv, tr, zh_CN
168 Geany 0.16 (February 15, 2009)
170     Bug fixes:
171     * Fix indenting for Tabs & Spaces mode when inserting snippets.
172     * Fix snippets and smart indent using too much indentation when the
173       line contains whitespace after non-whitespace characters (#2215044).
174     * Fix segfault when showing Find in Files dialog when no documents are
175       open (#2228544).
176     * Fix not switching to 2nd last used document when the last used
177       document has been closed (#1945162).
179     General:
180     * Group child tags by their parents in the symbol list for C-like
181       filetypes, Python, Conf (thanks to Conrad Steenberg).
182     * Use a tree for the Documents sidebar, grouped by path.
183     * Add 'Tools->Configuration Files' menu with items to open
184       filetype_extensions.conf and ignore.tags. These files are also
185       reloaded automatically when saved.
186     * Change configuration directory path to $XDG_CONFIG_HOME/geany
187       (most often this is ~/.config/geany).
188     * Allow to specify files on the command line and from remote instances
189       to be URIs (local and with GIO also remote URIs).
190     * Increase minimum required GTK version to 2.8.
192     Prefs:
193     * Add Project Indentation prefs, which override the Editor
194       Preferences dialog options. For new projects, these default to
195       the editor indent prefs.
196     * Add an interface pref for whether to hide additional widgets when
197       double-clicking on document notebook tabs (off by default).
198     * Add a preference to invert all colours for syntax highlighting.
199     * Add a hidden preference "allow_always_save" to make the Save buttons
200       and menu items always sensitive.
202     Interface:
203     * Rework the toolbar: now all elements can be added/removed/reordered
204       using a simple XML file.
205     * Add new toolbar buttons for Cut, Copy, Paste, Delete, Preferences,
206       Close All and Build (including a submenu for Make actions).
207     * Add a progressbar widget to the statusbar to show progress for time
208       consuming actions.
210     Editor:
211     * Make Ctrl-click go to matching brace if there's no current word.
212     * Make Shift+Mouse wheel scroll the editor view horizontally.
213     * Make the 'Mark' button for Find highlight the results with rounded boxes
214       instead of marking the whole line.
215     * Add auto-closing of braces, brackets and quotes (Guillaume de Rorthais).
216     * Support multiple %cursor% wildcards in Snippets (Thomas Martitz).
218     Filetypes:
219     * Add new filetypes Ada, CMake, Matlab, NSIS, Vala and YAML.
220     * Update HTML character entities (thanks to Tyler D'Agosta).
221     * Parse restructuredText sections in the order of first-used underline
222       character, which can now be any punctuation character (as per the spec).
223     * Remove GTK global tags, replace them with C (C99) tags. The GTK tags
224       file is still available for download on the website.
225     * Minor improvements for filetypes CSS, Fortran, FreeBasic, HTML, Tcl
226       and Vala.
228     Windows:
229     * Improve tab close icon size.
230     * Changes to the Windows installer:
231       - The full installer now includes the GTK 2.14 runtime environment.
232       - Register ".geany" as Geany Project File extension.
233       - Install GTK translation files only if installation of translation
234         files were requested (saves about 22 MB otherwise).
235       - Support silent installations.
237     Plugins:
238     * Add Split Window 'Split Vertically' command (thanks to Moritz Barsnick).
239     * Make Version Diff plugin set the indent type for diffs based on the
240       current file's indent type.
241     * Minor improvements to the filebrowser plugin
243     Plugin API:
244     * Generate plugin API header geanyfunctions.h containing macros to
245       avoid having to type the function pointer names manually.
246     * Deprecate pluginmacros.h in favour of geanyfunctions.h.
247     * Add "editor-notify" to the plugin API.
248     * Add new plugin symbol plugin_help() which is called by Geany when the
249       plugin should show its documentation (if any, symbol is optional).
251     Documentation:
252     * Update Scintilla regular expression info for v1.77 (character
253       classes, ASCII escaping, character sets containing square
254       brackets peculiarities). Adapted from SciTE doc.
255     * Complete 'Hello World' Plugin Howto.
257     Internationalisation:
258     * Updated translations: bg, ca, cs, de, en_GB, fr, hu, it, ja,
259       pt_BR, sv, ru, tr, vi, zh_CN
262 Geany 0.15 (October 19, 2008)
264     General:
265     * Add Previous Message, Previous Error commands (thanks also to Beau
266       Barker).
267     * Add 'Close Other Documents' File menu command (#1976724).
268     * Add Find Document Usage popup menu command & keybinding.
269     * Check that the current file is still on disk (as well as checking the
270       modification time).
271     * Add support for custom file templates (found at startup) in the
272       ~/.geany/templates/files directory, shown underneath filetype templates
273       in the New with Template menu.
274     * Make socket open command support filename:line:column syntax.
275     * Add filetypes.* [build_settings] key 'error_regex' to support custom
276       error message parsing using a GNU-style extended regular expression.
277     * Allow loading projects from command line (#1961083).
278     * Add alternative build system: Waf.
279     * Add Tools menu item to reload configuration data without a restart.
280     * Add support to use template wildcards in snippets.
281     * Increase LSB compliance.
283     Prefs:
284     * Make disk check timeout configurable (zero disables disk checks).
285     * Add search pref: 'Use the current file's directory for Find in Files'
286       (#1930435).
288     Interface:
289     * Make keyboard shortcuts dialog non-modal (#1999384).
290     * Add a debug messages window to easily view debug messages/warnings.
292     Editor:
293     * Update Scintilla to version 1.77 (includes many fixes).
294     * Add basic Line Breaking option in the Document menu and 'Line breaking
295       column' editor pref (for now only works when typing characters past
296       the line breaking column number).
297     * Don't colourise any documents until they need to be drawn (this
298       should make opening a session faster for filetypes that support typename
299       highlighting).
300     * Make Ctrl-click on a word perform Go to Tag Definition.
301     * Add 'Max. symbol name suggestions' autocompletion pref.
302     * Show ellipsis (...) item when there are too many symbol names for
303       autocompletion.
304     * Highlight matching brace indent guides (thanks to Jason Oster;
305       #2104099).
306     * Show brace indent guides on empty lines when appropriate (thanks to
307       Jason Oster; #2105982).
308     * Add 'Tab key indents' pref, on by default.
309     * Implement soft tabs support (#1662173). There's now a 'Tabs & Spaces'
310       Indent Type, and separate Width, Hard Tab Width indent prefs. (Thanks
311       to Joerg Desch for explaining how it needed to work).
312     * Auto-update the line margin width as lines are added (thanks to Jason
313       Oster; #2129157).
314     * Add "Replace spaces by tabs".
316     Windows:
317     * Install plugins into lib/ not into plugins/.
318     * Install Geany's message catalogs into share/locale rather than
319       lib/locale as GTK does since 2.12.2.
321     Keybindings:
322     * Add Go to Start/End of Line keybindings (#1996175).
323     * Add 'Switch to Compiler' keybinding (useful when checking build
324       progress).
325     * Add keybindings for Line wrapping, Line breaking, Toggle fold and
326       Replace Spaces by tabs, Previous/Next word part.
328     Filetypes:
329     * Add OpenGL Shader Language (GLSL) filetype (thanks to Colomban
330       Wendling; #2060961).
331     * Add R language filetype (thanks to Andrew Rowland; #2121502).
332     * Split filetype Fortran into Fortran 77 and Fortran 90.
333     * Add Gettext translation filetype (#2131985).
334     * CSS improvements, thanks to Jason Oster.
336     Embedded Terminal:
337     * Fix hang when restarting the VTE (#1990323) with VTE 0.16.14.
338       (Note that with VTE 0.16.14 the reset sometimes leaves a blank
339       terminal, but pressing enter makes it then behave as normal).
341     Plugins:
342     * Add Split Window plugin (should work OK for viewing; full editing
343       support is not implemented yet).
344     * Merge InstantSave, AutoSave and BackupCopy plugins into the new
345       plugin 'Save Actions'.
347     Documentation:
348     * Add Tips and Tricks appendix.
349     * Updated Installation section.
350     * Update 'Build system' for custom error regexes.
351     * Add a section for internal plugins.
353     Plugin API:
354     * Many changes; see the API documentation (make api-doc) and the
355       geany-devel list archives.
356     * Deprecated: plugin_fields, plugin_info symbols.
358     Internationalisation:
359     * New translations: ko, tr.
360     * Updated translations: be, ca, de, en_GB, fi, hu, it, ja, pl,
361       ro, ru, sv, zh_CN
364 Geany 0.14 (April 19, 2008)
366     General:
367     * Don't beep when using Replace All in Session unless all open files
368       have no replacements (fixes #1893796).
369     * Only use filetype detection after Save As, not on every save when the
370       filetype is None (fixes #1891778).
371     * Make Go to Tag commands look for the tag in the current document
372       before searching the workspace.
373     * Check file on disk for changes also when pressing a key.
374     * Ignore documents with no absolute path when saving session files.
375     * Fix segfault with Run command when a project is open and the current
376       file's filetype has no run command.
377     * Make Next Error and Next Message commands add positions to the
378       navigation queue, so the user can move backwards through the list items
379       and return to where they were.
380     * Make pressing escape in the sidebar focus the editor.
381     * Make navigation queue position based to restore the line and column when
382       returning to a previous position (closes #1936927).
383     * Save sorting order of the symbol list when saving a file (fixes #1917262).
384     * Improve "Send Selection To" code (fixes #1909452).
385     * Install header files and add a pkg-config file for external plugins.
386     * Use monospace font for text entry fields in search dialogs (#1907117).
387     * Don't open zero byte sized files read-only (e.g. files in /proc).
389     Filetypes:
390     * Improve Makefile parser to detect targets.
391     * Update PHP tags file to latest PHP API docs (closes #1888691).
392     * Add translucency settings to filetypes.common for semi-transparency.
393     * Add HTML parser to get h1, h2, h3 symbols as well as link anchors and
394       JavaScript functions (fixes #1896068).
395     * Update Javascript, Tcl and Assembler parser.
397     Interface:
398     * When closing a tab when using left-to-right tabs, focus the next
399       document, not the previous.
400     * Move Load Tags item from File to Tools menu.
402     Editor:
403     * Don't scroll the editor view if it is unnecessary when using Find
404       Next/Previous, Find Selected, incremental search, Go to Marker or Go to
405       Matching Brace commands.
406     * Fix bug with showing macro list items all on one line.
407     * Fix Python auto-indentation when line endings are set to CR/LF.
408     * Unfold hidden code when the fold point modified (fixes #1923350).
409     * Update Scintilla to version 1.76.
410     * Add (basic) column mode editing (patch by "chuck").
412     Windows:
413     * Replace untitled file header filename after Save As and add to recent
414       files on Windows too.
415     * Resolve Windows shortcuts when opening files.
416     * Fix modal dialog problems on Windows by not setting taskbar hint
417       (closes #1916994).
418     * Add new process spawning implementation. This makes the VCdiff plugin
419       to work on Windows (patch by Pierre Joye, thanks).
420     * Fix crash on Windows when a project could not be opened.
422     Plugins:
423     * Add configurable plugin keybindings support.
424     * Add a HTML Characters keybinding to show the dialog.
425     * Add File Browser keybindings to focus the Path Entry and File List
426     * Rename VCDiff plugin Version Diff.
427     * When quitting, remember plugin filenames that couldn't be loaded at
428       startup as well as active plugins.
430     Plugin API:
431     * Add PLUGIN_KEY_GROUP and keybindings_set_item() to setup a keybinding
432       group.
433     * keybindings_send_command() arguments have changed because of
434       keybinding groups - this breaks the API for plugins already using it.
435     * Make VERSION_CHECK deprecated in favour of PLUGIN_VERSION_CHECK.
437     Documentation:
438     * Add descriptions for several options in the preferences dialog
439       (patch from Robert McGinley).
441     Internationalisation:
442     * New translations: ro.
443     * Updated translations: bg, de, en_GB, es, fr, hu, it, ja, pt_BR, ru.
446 Geany 0.13 (February 05, 2008)
448     General:
449     * Improve configure script and fix some compatibility issues.
450     * Add support for project session files.
451     * Add native GTK printing support (only with GTK 2.10+).
452     * Prevent execution of commands by Geany if the VTE may contain any
453       text on the prompt (thanks to "Jeff Pohlmeyer for reporting).
454     * Store more document-related settings when saving session in the
455       configuration file (including the file encoding).
456     * Detect in-file specified file encoding by scanning the file using
457       regular expressions.
458     * Add binary relocation support.
460     Filetypes:
461     * Add configurable default file extension setting for filetype
462       definition files.
463     * Fix reST autocompletion.
465     Tags:
466     * Show arrays and modifiers like const in calltip return types for
467       C-like files.
468     * Update C global tags file for GTK+ 2.12.
469     * Fix parsing the correct D class name when inheriting, D constructor
470       tags and ignore D import statements.
471     * Remove unnecessary tagmanager status file.
472     * Improve PHP, Ruby and FreeBasic parsers.
474     Interface:
475     * Add 'Indent Type' option in the Document menu.
476     * Add 'Detect from file' Editor indentation pref.
477     * Show TAB or SP for current document's indent type.
478     * Add a 'Newline strips trailing spaces' pref (thanks to Catalin
479       Marinas).
480     * Add 'Strip Trailing Spaces' document menu item.
481     * Add combo box input history for 'Make Custom Target' dialog.
482     * Make Open, Save As dialogs start in project base path (or default
483       path pref) when the current file has no filename.
484     * Add 'Make in base path' project file preference.
485     * Make 'Open Selected File' first try the current file's directory,
486       falling back to the project base path if no file was found.
487     * Fix broken window maximization.
488     * Improve appearance of used treeviews and use rules hints to respect
489       user colour settings.
491     Editor:
492     * Fix hidden lines after deleting a line that is a collapsed fold
493       point.
494     * Make Fold All/Unfold All attempt to scroll the current line in view.
495     * Show line wrap symbol at start of line for wrapped lines.
496     * Allow scrolling past end of document, so the user can append text
497       with the last lines drawn at the top of the view.
498     * Rename "Construct autocompletion" to "Snippets".
499     * Improve usage of "Unfold all children" option.
500     * Update Scintilla to version 1.75.
502     Keybindings:
503     * Add configurable keybindings for Cut, Copy and Paste.
504     * Ask the user whether to override an existing keybinding when setting
505       a combination that is already in use.
506     * Add 'Override Geany keybindings' VTE prefs dialog option (replaces
507       hidden pref), which makes the VTE interpret all keyboard shortcuts
508       except focus group keybindings.
510     Plugins:
511     * Add File Browser sidebar plugin.
512     * Add Version Control Diff plugin (VC Diff), which supports SVN, CVS and
513       GIT (thanks to Yura Siamashka).
514     * Add plugin manager dialog to select plugins to load at startup and to
515       call a plugin configure dialog.
516     * Add new signals: project_open, project_save, project_close.
517     * Add Auto Save plugin.
519     Plugin API:
520     * Add keybindings_send_command() and some other functions.
521     * Add pluginmacros.h to define common macros for app, p_utils, etc.
522     * Add more documentation/comments to demoplugin.c.
523     * Add configure symbol for plugins which is called by Geany when a
524       configure dialog for the plugin is requested, optionally.
525     * Add author field to plugin info struct.
527     Windows:
528     * Enable build support.
529     * Prevent prefs dialog being hidden after using the prefs file dialog.
530     * Create Geany's configuration directory in user's appdata path
531       instead of the default home directory.
533     Documentation:
534     * Show default shortcuts in Keybindings section.
535     * Update Project section for project-based session support.
536     * Add Indentation subsection under Editor section.
537     * HACKING: Update 'Adding a filetype' section.
539     Internationalisation:
540     * New translations: ja, uk, el.
541     * Updated translations: ca, de, en_GB, fr, it, pt_BR, hu, sv, vi.
544 Geany 0.12 (October 10, 2007)
546     Bugs fixed:
547     * Fixed opening the same file twice from the message window/command-line.
548     * Fixed Ctrl-Shift keybindings not working when caps lock is on.
549     * Fixed saving the wrong document when using Save All with unnamed
550       documents.
551     * Fixed replacing with '^' or '$' regex chars.
552     * Fixed hang with Find All/Find Usage with '^' or '$' regex chars.
553     * Fixed hang when replacing all '[ ]*' regex matches (closes #1757748).
554     * Fixed displaying error indicators with Make after entering a
555       subdirectory.
556     * Fixed a possible segfault when parsing tags (a vString bug).
557     * Fixed clipboard problems with some applications.
558     * Fixed crash when trying to open the Save As dialog on Windows.
559     * Fixed crash when saving a file after setting encoding "None".
560     * Fixed scrolling bugs when searching text and the cursor is outside of
561       the current visible area.
563     Filetypes:
564     * Added reStructuredText filetype and parser.
565     * Added Haskell tags support (thanks to Peter Strand).
566     * Added decorator styling for Python.
567     * Parse Python global variables and class variables.
568     * Added support for Java Apache Ant compiler error messages (thanks to
569       Jon Senior).
570     * Added new filetypes CSharp and FreeBasic.
571     * Added filetype Haxe (patch by blackdog, thank you).
573     Plugins:
574     * Added basic plugin support (developers: see the HACKING file).
575     * Added 'Enable plugin support' preference and -p, --no-plugins options.
576     * Added Class Builder plugin (thanks to Alexander Rodin).
577     * Added Export plugin to export current file as HTML or LaTeX.
579     Keyboard shorcuts:
580     * Common bash Ctrl-[a-z] keyboard shortcuts now work when the VTE is
581       focused, and there is an 'enable_bash_keys' hidden preference.
582     * Added 'Move document left' and 'Move document right' keybindings.
583     * Added Find keybinding.
584     * Made fixed keybindings overridable.
585     * Added fixed keybindings for switching to leftmost/rightmost document,
586       Ctrl-Shift-{PageUp,PageDown}.
587     * Change Previous/Next Paragraph fixed commands to Ctrl-{Up,Down};
588       adding Shift extends selection by paragraph. (Scroll by line is now
589       Alt-{Up,Down}).
590     * Made pressing escape focus the editor when using incremental search
591       or Goto Line toolbar fields.
592     * Added keybinding for select current paragraph.
593     * Added keybindings for smart indent and indent/deindent by one space.
594     * Removed convert to lower-/upper-case keybindings.
595     * Added toggle case keybinding and change shortcut to Ctrl-Alt-U.
597     General:
598     * Added preference for 'smart' home key behaviour (thanks to Jeff
599       Pohlmeyer).
600     * Added symbol list icons (thanks to Jean-François Wauthy, and KDevelop
601       for the icons).
602     * Added 'Current chars' indentation mode (closes #1726880).
603     * Save and restore the current notebook page when quitting.
604     * Added support for %e, %f in project run command.
605     * Ignore punctuation chars when moving by word, and use word end
606       boundaries when moving by word to the right (like most GTK+ widgets).
607     * Added hidden editor preference 'use_gtk_word_boundaries'.
608     * Added auto_complete_whilst_editing hidden preference.
609     * Speed up Save All for C-like files.
610     * Don't show file opened/saved/closed messages on the status bar.
611     * Added --no-preprocessing, -P option when generating tags files to
612       disable preprocessing of C/C++ source files.
613     * Added default startup directory option (closes #1704988).
614     * Use current locale as default encoding for new files.
615     * Added simple code navigation (thanks to Dave Moore).
616     * Re-maximize the main window on startup when closed in maximized state
617       (closes #1730369).
618     * Added auto focus (to auto focus widgets below mouse cursor).
619     * Complete rewrite of auto completion to make it user-definable and
620       much more flexible (please read documentation).
621     * Added option to set a default encoding when opening files and disable
622       auto detection of the file encoding.
623     * Improved comment toggling by adding an additional character to mark.
624     * Changed the background colour of the search bar in the toolbar
625       according to the search result.
626     * Use intltool to make geany.desktop translatable
627     * Replace Geany's icon by a new one by Sebastian Kraft (thanks).
628     (Thanks also to Christoph Berg for updating the icon code).
630     Docs:
631     * Changed documentation generation tools from DocBook to reST
632       (thanks to John Gabriele for his great work on this).
633     * Added Plugins section.
634     * Added 'Inserting unicode characters' Editing section (thanks to
635       John Gabriele).
636     * Added 'Hidden preferences' appendix.
637     * Added 'Switching documents' keybindings section.
639     HACKING:
640     * Added notes on adding a filetype.
642     Internationalisation:
643     * New translations: en_GB.
644     * Updated translations: ca, cs, de, es, fi, fr, hu, it, pl, pt_BR, zh_CN.
647 Geany 0.11 (May 21, 2007)
649     Notes for existing users:
650     * Tab is now used for construct completion (for, if, etc.), but it
651       is configurable with the new 'Complete construct' keybinding.
652     * Template files are now stored in ~/.geany/templates/ and the
653       'template.' filename prefix is no longer used. You will need to
654       move any custom template files you have.
655     * Inserting a file header is now optional for filetype templates.
656       Use the string '{fileheader}' to mark where the file header should
657       be placed.
658     * Drag'n'Drop of text inside the editor widget will now move the
659       text instead of copying it.
661     Bugs fixed:
662     * Fix segfault when pressing Ctrl-Enter when there are no workspace
663       tags.
664     * Remove error indicators in all documents when linking (#1705374).
665     * Sort symbol list tags also by line number (#1703575).
666     * Fix #1717418, Hang on SQL file load.
667     * Fix #1718532 - Crash when opening a special HTML file.
668     * Add workaround for PHP closing brace de-indenting.
669     * Fix reloading of read-only documents.
671     Project Management:
672     * Add keybinding to show project properties dialog.
673     * Add project Run command support.
674     * Run Make All and Make Custom from the project base directory.
676     Custom Global Tags:
677     * Update C global tags for GTK+ 2.10 and it's dependencies.
678     * Add option --generate-tags (-g) to generate a global tags file
679       from a list of source files (see docs).
680     * Load global tag files stored in ~/.geany/tags at startup #.
681     * Add Load Tags command in the File menu #.
682     # This is not supported for Pascal, PHP or LaTeX files yet.
684     Calltips (for C-like files):
685     * Show up and down arrows when there are multiple calltip matches.
686     * Show classname in calltips.
687     * Parse pointers in function return type.
688     * Add calltip support for D constructors.
690     Other changes:
691     * Parse 'Entering directory' Make messages so opening files from
692       error messages works for subdirectories (thanks to Josef Whiter).
693     * Make Go to Tag Definition/Declaration work for all tags.
694     * Support filetype templates for all filetypes (see docs).
695     * Make file header optional for filetype templates.
696     * Add 'Find Selected' and 'Find Prev Selected' search commands and
697       keybindings (thanks to Jeff Pohlmeyer).
698     * Add Mark button to the Find dialog, and a Remove Markers item to
699       the Document menu.
700     * Add 'Recurse in subfolders' and 'Extra options' checkboxes to the
701       Find in Files dialog.
702     * Add 'Switch to last used document' keybinding (Ctrl-Tab).
703     * Add Goto Previous/Next Marker keybindings (Ctrl-, and Ctrl-.).
704     * Add Toggle Marker keybinding (Ctrl-M).
705     * Add keybinding for construct completion, and set the default to
706       Tab.
707     * Add MimeType associatiations for: C++ header, Pascal, Perl,
708       Python, httpd-PHP and XML files (thanks to Iñaki Rodriguez).
709     * Add brace indenting support for Perl and Tcl.
710     * Make backspace unindent when using spaces for indentation.
711     * Wrap notebook pages when switching tabs.
712     * Speed up loading multiple C-like files slightly.
713     * New filetypes: JavaScript, Lua and Haskell.
714     * Set several widget names to allow users to define custom styles
715       in .gtkrc-2.0.
716     * Add context actions to run custom commands on current selection
717       or the current word below cursor.
718     * Add different auto indention modes.
719     * Improve replacing in rectangle selections.
720     * Add custom commands to send selected text through some definable
721       commands and replace the selection with the output.
722     * Add command line option --column to allow setting the initial
723       column for the first opened file on command line.
724     * Improve the auto scrolling of documents.
725     * Improve loading of the VTE library.
726     * Add an option for using spaces or tabulators when inserting some
727       whitespace.
728     * Add an option to disable Drag'n'Drop in the editor widget.
730     Documentation:
731     * Add Project Management, Global Tags, Construct Completion
732       sections.
733     * Add Bookmarks section (thanks to John Gabriele).
734     * Update Filetype Templates, Search sections.
736     Internationalisation:
737     * New translations: bg.
738     * Updated translations: ca, cs, de, es, fr, zh_CN.
741 Geany 0.10.2 (February 25, 2007)
743     Bugs fixed:
744     * Fixed serious crash of complete X session when using the Stop
745       command when Geany is run from the program menu (closes #1668017).
748 Geany 0.10.1 (February 23, 2007)
750     Bugs fixed:
751     * Wrong tab foreground colour for unmodified documents.
752     * Fixed crashes when closing dialogs by clicking X on some systems.
753     * Fixed missing global tags for C files when a C++ source file was
754       loaded first.
755     * Fixed autocompletion missing tag matches.
756     * Fixed a wrong PASCAL autocompletion.
757     * Set single undo action when toggling multiple lines or stripping
758       trailing spaces.
759     * Prevent some possible invalid memory reads.
760     * Convert config, application and documentation dir paths to locale
761       encoding before using it.
762     * Fixed errors when changing directories containing special
763       characters within the VTE component (thanks to Jeff Pohlmeyer).
764     * Support newer so-names when loading the VTE library (thanks to
765       Jeff Pohlmeyer).
766     * Fixed paste problems on Windows.
767     * When using Save As the returned filename needs to be converted
768       into UTF-8.
769     * Fixed error when parsing of compiler errors by the va_list system.
770     * Added MimeType entry as suggested by Nick Schermer.
771     * LaTeX parser: Allow \section*{} and other commands with *.
772     * Change default keybinding for Close All to Ctrl-Shift-W.
773     * Allow Make for files with no extension - prevent Build when the
774       output filename would be the same as the source file.
775     * Ensure the VTE visual settings are applied when switching to VTE
776       when the Message Window is hidden.
777     * Fixed several issues while opening files and improved code.
778     * Improved the auto scrolling of documents and fixed a bug when
779       opening files remotely.
780     * Fixed wrong D function return type after a class definition.
781     * Added several missing style types for filetype Perl (thanks to
782       John Gabriele for reporting).
783     * Prevent right click in Symbol list from selecting a tag.
784     * Update the symbol list when starting a new document.
785     * Scroll Compiler and Messages window in view when using Next Error
786       or Next Message.
787     * Auto close brackets only when auto completion of constructs is
788       enabled (closes #1665015).
789     * Fixed switching to the wrong tab when showing the unsaved dialog.
791     Internationalisation:
792     * New translations: fi (thanks to Harri Koskinen).
793     * Updated translations: cs, de, es, fr, hu.
796 Geany 0.10 (December 21, 2006)
798     Changes:
799     * Added a dialog to insert HTML special characters.
800     * Added new command line option --line to set the initial line for
801       the first opened file.
802     * Implemented new, own Undo system to undo/redo encoding changes.
803     * Added simple parser for filetype Diff to create tags for each
804       patched file in a diff file.
805     * Added new encoding "None" to open files without any character
806       conversions.
807     * Added Stop button to abort the Run command.
808     * New filetype VHDL.
809     * New scintilla lexer for filetype D with several improvements.
810     * Improved auto completion of multi line comments
811     * Added option to execute programs in the VTE instead of executing
812       them in a terminal emulation window
813     * Removed the limit on the number of files open.
814     * Save the build includes and arguments when quitting.
815     * Added Next Message search command and Next Error build command.
816     * Make search bar automatically wraparound if necessary.
817     * Applied patch from Bob Doan to prevent unnecessary search
818       scrolling and add a preference to suppress some of the search
819       dialogs.
820     * Added Find Previous, Find All in Document/Session buttons for the
821       Find dialog.
822     * Added Replace (but don't Find) button for the Replace dialog.
823     * Added 'Hide Message Window' popup menu command.
824     * Added Alt-[1-9] shortcuts to switch to a certain tab number.
825     * Limit search dialog history to 30 entries.
826     * Change python default compile command to create a compiled
827       python .pyc file (thanks to Bajusz Tamás).
829     Windows changes:
830     * Fix #1611530 'file has changed' message on Windows after saving.
831     * Fixed wrong paste behaviour under Windows with some applications.
833     Bugs fixed:
834     * Fixed crash when using "Make object" on new files.
835     * Fixed incompatible use of read command in the created shell
836       script to execute programs.
837     * Fixed wrong insert position when the cursor was moved by keyboard
838       and comments, includes or a date was inserted.
839     * Fixed some segfaults when inserting comments, dates and
840       includes at a position prior to some deleted text.
841     * Fix message window horizontal scrollbar being too tall on some
842       systems (thanks to Rob van der Linde).
844     Internationalisation:
845     * New translations: fr, hu, it, zh_CN, zh_TW.
846     * Updated translations: be, ca, cs, de, es, vi.
849 Geany 0.9 (September 29, 2006)
851     Changes:
852     * Added function calltips for files open in the current workspace
853       for C-like languages.
854     * Open a second instance by default when starting Geany with no
855       filenames specified on the command-line.
856     * Added better error message support for D, for both DMD and GDC;
857       also GCC-style linker error messages are now parsed.
858     * Text selections now use syntax highlighting foreground colours
859       (but can still be overridden in filetypes.common).
860     * Find in Files improvements: fixed string and whole word only
861       matching options; a directory selector dialog; filenames passed
862       to Grep are now sorted alphabetically.
863     * Remember the VTE current directory at startup.
864     * Show the messages window on build failure or for Find Usage.
865     * Added -s command-line option to not load session files (-i is now
866       used to force a new instance).
867     * Added comment toggle functionality to easily comment and
868       uncomment a line with one shortcut.
869     * Separated filetypes PHP and HTML for better usage.
870     * New filetypes: Diff, Fortran 77 and Ferite.
871     * Added auto completion tags for PASCAL.
872     * Improved VTE usage by adding options for selecting the used shell
873       and ignoring menu bar accelerator (default F10).
874     * Added menu items to insert configurable date/time strings.
875     * Removed the whole FIFO code and replaced it with support for
876       (Unix Domain) Sockets(including Windows support).
878     Windows changes:
879     * Implemented Run command (from the build menu) under Windows.
880     * Enabled socket code on Windows to detect a running instance.
881     * Enabled notification if file on disk has changed under Windows.
883     Bugs fixed:
884     * Fixed a segfault at startup if terminal follow path setting is
885       enabled.
886     * Fixed clicking on error messages being dependent on the current
887       file's directory.
888     * Fixed a bug when clicking on a recent file got the wrong
889       filename.
890     * Fixed a crash when a compiler output reports an error in a blank
891       line(can happen in LaTeX)
892     * Fixed a crash when switching between several filetypes.
893     * Fixed segfault when replacing tabs by spaces.
895     Internationalisation:
896     * New translations: cs, nl, vi.
897     * Updated translations: de, es.
900 Geany 0.8 (August 09, 2006)
902         Changes:
903         * Find in files feature added which uses the Grep tool.
904         * Added Make object command to compile using the Make tool.
905         * Editor notebook tabs can now be reordered by drag and drop.
906         * Added support for back references when using regex replace.
907         * Added a Find button to the Replace dialog to skip matches.
908         * Greatly improved the speed of Replace all/in selection.
909         * Scroll to 1/4 of the view when jumping to a line number.
910         * Show messages on the status bar and in the Status window.
911         * Preferences options for Auto-indentation and Line wrapping.
912         * Use the mouse click position for Go to tag.
913         * Added separate filetype_extensions.conf system file.
914         * Added makefiles for building on Windows.
915         * Added keyboard shortcuts for increase/decrease of line
916           indentation.
917         * Added functionality to uncomment code.
918         * Encoding support
919         * Added support for Unicode Byte-Order-Mark (BOM)
920         * Redesigned preferences dialog.
921         * Added Undo and Redo toolbar buttons.
922         * New filetype: D
923         * Added simple printing support.
924         * Mark errors while compiling source code within Geany with
925           indicators(small squiggly underlines)
927         Bugs fixed:
928         * Use the full path for files opened from the command-line.
929         * Fixed saving a file from the unsaved file dialog.
930         * Fixed replacing with regexes the correct matched text length.
931         * Fixed applying virtual terminal widget settings at startup.
932         * Fixed prepending items to the Recent files menu.
933         * Fixed clipboard commands used in the find entry and Scribble.
934         * Fixed wrong interpretation of syntax highlighting colours
935         * And some more.
937         Windows bugs fixed:
938         * Don't add .c extension when saving with the All files filter.
939         * Fixed a tool chooser dialog crash when path doesn't exist.
940         * Fixed locale problems with Windows message dialogs.
942         Internationalisation:
943         * New translations: be, es, pt_BR, ru.
944         * Updated translations: ca, de, pl.
946         Documentation:
947         * Added Scintilla keyboard commands for editing appendix.
948         * Improved search section; added all find and go to commands.
949         * Added section about character sets.
952 Geany 0.7 (June 04, 2006)
954         * user-definable keyboard shortcuts
955         * filetype definition files can be overridden in Geany's
956           configuration directory (please see documentation)
957         * added filetypes Ruby and Tcl/Tk
958         * improved build system (for Perl, Python, Ruby and others)
959         * loading of Virtual Terminal Emulation can be disabled in the
960           preferences dialog
961         * new menu item "Search" with Find items from Edit menu and new
962           item "Find Previous"
963         * fixed the bug which let Geany crash with newer GTK versions
964         * improved documentation: added documentation for keyboard
965           shortcuts, the build system and filetype definition files
966         * new translations: Catalan and Polish
967         * many small improvements
968         * fixed lots of bugs (please see ChangeLog for details)
971 Geany 0.6 (April 30, 2006)
973         * added option to place new file tabs to the right or left of
974           the tab list
975         * improved file open dialog
976         * improved scrolling of the compiler output window
977         * rewrote most of the code for compiling files, now all
978           settings are read from filetype definition files
979         * now, you can drag files from a file manager into Geany and
980           they will be opened
981         * improved handling of filenames which contain non-UTF8 chars
982         * added user-definable comment characters to all filetype
983           definition files
984         * implemented folding
985         * added file properties dialog
986         * improved search and find dialogs
987         * Geany now creates a FIFO, to communicate between different
988           instances for opening files in an already running instance
989         * added filetypes SQL and (O)Caml
990         * many small improvements
991         * fixed lots of bugs, including #1419473, #1422135, #1421776
992           and #1441359
993         * for more details read the ChangeLog
996 Geany 0.5 (January 27, 2006)
998         * set the Open File dialog directory to the same directory as
999           the current file (thanks to Nick Treleaven for this patch)
1000         * fixed some bugs when opening files with non UTF-8 filenames
1001         * updated included Scintilla to version 1.67
1002         * improved auto indention, now "for (...) {" works, too
1003         * added popup menu to sidebar lists, to quickly hide them
1004         * symbol list support for filetypes LaTeX and DocBook
1005         * added .cc, .hh and .hxx extension for filetype C++
1006         * added new keywords for PHP5
1007         * added new option "Beep on errors" to disable beeping
1008         * eliminated compiler (gcc4) warnings
1009         * closed bug #1387828 and #1387839
1010         * fixed lots of bugs (please see ChangeLog for details)
1013 Geany 0.4 (December 21, 2005)
1015         * new filetype: Assembler
1016         * new filetype: Conf for configuration files
1017         * added a terminal emulation widget, needs only libvte.so at
1018           runtime, but it also runs without it, see documentation
1019         * made some general improvements to increase startup speed
1020         * changed "build with make" keyboard shortcut to Shift+F9 to
1021           avoid problems with window managers key bindings
1022         * added auto-closing [ and { brackets in LaTex-Mode
1023         * improved documentation, but it is not yet complete
1024         * improved the symbol list to categorise the tags in a tree
1025         * some new options in the preferences dialog
1026         * added popup menu to the list of open files
1027         * there are lots of other small changes made since last release
1028         * some bugfixes (please see ChangeLog for details)
1031 Geany 0.3 (November 20, 2005)
1033         * Geany now has a mailing list, for details see
1034           http://geany.uvena.de
1035         * added open files list in the left treeview widget
1036         * added toolbar button to open the color chooser
1037         * heavily improved recent files menu
1038         * added shortcut for "walking" between open documents by
1039           pressing STRG+LEFT resp. STRG+RIGHT
1040         * created template files for new files with specified filetype
1041         * added highlighting support for Python (please give feedback)
1042         * extracted all hardcoded styling definitions for all filetypes
1043           so they can be easily edited
1044         * added vertical line to mark long lines
1045         * fixed a bug that caused a segfault if configuration directory
1046           could not created
1047         * fixed a bug which prevented auto-completion from working
1048         * many minor bugfixes (see ChangeLog for details)
1051 Geany 0.2 (October 26, 2005)
1053         * improved file open dialog
1054         * improved Find dialog
1055         * powerful Replace dialog
1056         * gcc4 compilation fix
1057         * minor bugfixes
1060 Geany 0.1 (October 19, 2005)
1062         * first official release