Geany 0.21 (October 2, 2011)
General
* Bump dependencies to GTK >= 2.12, GLib >= 2.16 and GIO.
* Add support for real-time symbol parsing.
* Remove old filetype templates support - use custom file
templates instead.
* Add support for detecting the indentation width from the file
content.
Bug fixes
* Fix generating tag files (-g) and --ft-names segfault.
* Replace dates on template insertion, not when loading templates.
* Fix segfault when inserting e.g. fileheader template when the
template file is empty (#3070913, lphilpot).
* Use the same indentation for all templates (Matthew Brush,
#3193527).
* Fix loading of non-UTF-8 templates.
* Fix completion and word completion with non-ASCII characters
(#3313351).
* Fix HTML content-type detection (#3300703).
* Fix pattern filtering when using Find in Files not to search in
sub-directories.
* Add a workaround to prevent Geany from crashing during loading of
a LaTeX-file containing linebreaks inside headings.
Interface
* Add 'Save As' toolbar button option (Matthew Brush, #3153490).
* Add 'Open in New Window' command in the notebook tab menu
(Matthew Brush, #3118059).
* Color schemes: use name and description for menu item and
tooltip (Matthew Brush).
* Shift-Enter in search dialog and toolbar search entries now
searches backwards.
* Improve `Set Custom Commands` dialog.
* Always destroy open and save dialogs after use (#3311258,
#3304273, #3201050, #3163742, #3153120, #2985896).
* Add UI to edit formerly hidden preferences (Dimitar Zhekov,
#3313315).
Editor
* Update Scintilla to version 2.25.
* Fix snippets bug: {ob}pc{cb} replaced by '%' instead of {pc}.
* Fix multiple snippet cursor positions for Tabs + Spaces mode.
* Avoid triggering autocompletion on PHP open tags (#3199442).
* Fix indentation brace matching (#3309606).
Configuration files
* Support copying filetype definition file group keys from a system
keyfile with e.g. [styling=C].
* Make filetype group membership configurable using [Groups] in
filetype_extensions.conf.
Search
* Don't auto-enable case-sensitive option when enabling regex in
Find/Replace dialogs.
* Remember Find and Replace options across restarts (Dimitar Zhekov).
Keybindings
* Add fixed shortcuts for VTE copy (Ctrl-Shift-C) and paste
(Ctrl-Shift-V).
* Add new keybinding 'Remove Markers and Error Indicators'.
Projects
* Store VTE path with the project session (Nicolas Sierro).
Filetypes
* Add Scala custom filetype (werg).
* Add Cython custom filetype (Matthew Brush).
* Add support for separate single and multiline comments.
* Add support for filetype-specific indentation settings (#3339420,
#3390435)
* Fix detecting Matlab and Txt2Tags extensions by default (#3167315,
#3154637).
* Fix detecting non-lowercase self-closing tags e.g. <BR> (#2226117).
* Highlight C# and Vala raw and verbatim strings.
* Improve JavaScript keyword handling and keyword lists (Jason Oster).
* Add filetype Cobol (Seth Keiper).
* Add file template for Vala (Mark Trompell).
Plugins
* File Browser: Make 'Hide object files' preference configurable with
file extensions.
* Split Window: Fix a crash when changing filetype (Matthew Brush,
#3255968).
* Split Window: Update styles when the filetype changes (Matthew
Brush).
* Split Window: Enable code folding (Matthew Brush, #3097780).
* Split Window: Fix issues on Windows (Matthew Brush, #2725342).
* Class Builder: Improve dialog UI using a table (Matthew Brush).
* Export: Add option to insert line numbers (#3197150).
Documentation
* Add 'Reading styles from another filetype' subsection (Matthew
Brush).
* Add 'Filenames' subsection for filetype definition files explaining
the filename extensions and special cases.
* Add section 'Filetype group membership'.
Plugin API
* Add filetypes_get_sorted_by_name(), utils_find_open_xml_tag_pos()
(Eugene Arshinov).
* Add plugin_idle_add(), plugin_timeout_add(), plugin_timeout_add_seconds(),
ui_menu_add_document_items_sorted(), document_compare_by_display_name(),
document_compare_by_tab_order(), document_compare_by_tab_order_reverse().
* Deprecate ui_widget_set_tooltip_text().
* Fix public inclusion of config.h (#3384026).
* Add new signal "document-reload".
Internationalisation:
* Add translations: fa
* Update translations: ca, cs, de, en_GB, es, fi, fr, gl, it, ja, nl, pt,
pt_BR, sl, sv, tr, vi, zh_CN, zh_TW
Geany 0.20 (January 5, 2011)
Fixes:
* Improve compatibility with GVFS using GIO to save documents (Alexey
Antipov).
* Fix crash when closing a modified document (usually without a
trailing newline) and choosing Save (fixes #3111058).
* Fix crash when using 'Send Selection to Terminal' and the VTE
is not loaded, and when using Ctrl-A after enabling the 'Load VTE'
pref (Dimitar Zhekov).
* Fix a slightly wrong encoding detection on Windows (#3019573).
* Fix issue with single-line commenting/uncommenting blocks when using
Windows line endings.
* Fix saving project indent prefs straight after using project
properties.
* Fix wrongly changing edited keybindings when cancelling the
Preferences dialog.
* Fix auto-displaying of sidebar, tab bar, symbols and documents tabs
when only plugin tabs are visible (fixes #3101867).
* Save build commands for filetype None (Lex Trotman).
* Waf: Check for libsocket on OpenSolaris to fix build.
Interface:
* Color build command fields light grey unless overridden (Lex
Trotman).
* Replace /home/user with ~ in the documents list (Jon
Strait).
* Display 'new instance' on title bar for 2nd instances (Eugene
Arshinov).
* Don't add duplicates to combo box histories.
* Reorganise Find in Files dialog and add Files pattern to filter
search results.
* Implement 'Select All' for the VTE widget.
* Reorganise editor popup menu for shorter size - some items were moved
to submenus.
* Move Go to Marker menu items to Search menu.
* Group Open dialog encoding options by submenus (Adam Ples; #3047717).
* Show mimetype icon in sidebar Documents list and notebook popup menu
(Colomban Wendling).
Documents:
* Ensure inserted templates always have proper line ending characters
according to the current document's preference.
* Add per-document indent width setting (Jiří Techet).
* Add 'Project->Apply Default Indentation' menu command to override
every document's indentation settings.
* Display better error messages when saving a document fails (Dimitar
Zhekov).
* Don't prompt for reloading if the document has not been edited
(Jiří Techet).
* Add Close button to the detected file changed dialog.
Editor:
* Fix wrong snippet indentation when original cursor line has
non-indentation whitespace (david).
* Fix passing quoted arguments when using 'Send Selection to'. This
means e.g. sed 's/\./(dot)/g' now works.
* Add alternative color scheme based on Python colors
(View->Editor->Color Schemes).
* Replace HTML automatic <table> tag completion with a 'table' snippet
(Eugene Arshinov).
* Auto-indent after an HTML/XML line without a closing tag (Eugene
Arshinov).
* Respect 'Smart' home key pref for Shift[+Alt]+Home (fixes #3100290,
Dimitar Zhekov).
* Scroll to the current line when moving the cursor to the next
cursor position in a snippet (#3139490).
* If the current word's tag is on the current line, make Go to Tag
Definition look for a tag declaration instead and vice versa.
* Make Reflow Lines/Block command use the current indented block, not
the whole paragraph (which could have mixed indentation).
Configuration:
* Load insertion templates from system path, don't create them in
the user's config dir.
* File templates are now reloaded on saving.
Prefs:
* Add 'Ensure consistent line endings' file saving pref (Manuel Bua).
* Add 'statusbar_template' hidden pref (Dimitar Zhekov).
* Add 'new_document_after_close' hidden pref to open a new document
automatically after closing all documents.
* Add hidden pref 'find_selection_type' with option to use the X
selection or to repeat the last search when there's no selection,
both off by default.
* Add 'gio_unsafe_save_backup' hidden pref (Lex Trotman).
* Add filetypes.common 'fold_symbol_highlight' color setting.
* Add 'symbol_list_sort_mode' per-filetype setting.
Keybindings:
* Fix Alt+[0-9] switching tabs even when other modifiers are also held.
* Add snippet keybinding support (Eugene Arshinov).
* Add 'Insert New Line Before/After Current' keybindings (Eugene
Arshinov).
Filetypes:
* Add Forth filetype (Thomas Huth).
* Add Lisp filetype (Mário Silva).
* Add Erlang filetype (Taylor Venable).
* Ada: Fix wrong comments.
* C++: Disable user fold points with new lexer property
fold.cpp.comment.explicit.
* Python: Update list of builtins for Python 2.6, simplify
Compile/Syntax Check command. Use named styles for color scheme
support (use alt.conf color scheme if you want the old colors).
* Matlab: Support Octave # comment char.
* Txt2Tags: add highlighting (Forgeot Eric - #3020632).
* Make: fix possible infinite loop in tag parser.
* D: Parse template functions, ignore /+ +/ comments, ignore
unittest blocks, add keywords 'ref', 'macro' and D2 keywords.
* Vala: Parse functions with contracts (#3080232).
* Markdown, reStructuredText and Txt2Tags: Sort tags by line number by
default.
* Basic: Parse property, constructor, destructor as functions
(pottersson; #2992167).
* HTML: Add HTML5 element names and attributes (Ross McKay).
* PHP: Parse final functions (fixes #3111171).
* Markup: Add xml_indent_tags filetype setting for documents using the
HTML/XML lexers (Eugene Arshinov).
Plugins:
* File Browser: Add history to path entry.
* HTML Characters: Only automatically replace characters when the
current document is a Markup document.
Internationalisation:
* Add translations: kk.
* Update translations: cs, de, en_GB, es, fi, fr, hu, ja, nl, pt,
sl, sv, tr, zh_CN.
Manual:
* Update 'Custom filetypes', 'Ignore Tags' sections.
* Add 'HTML Characters', 'Configuration file paths', 'Color schemes
menu' sections.
* Explain how to grep the Scintilla source for lexer properties.
HACKING:
* Add 'Bugs to watch out for' section.
API:
* Improve Stash GUI example.
* Fix not loading plugins built against a newer API when Geany doesn't
provide the required version given in PLUGIN_VERSION_CHECK().
* Make GEANY_API_VERSION, GEANY_ABI_VERSION macros instead of enums
so you can protect code with '#if GEANY_API_VERSION >= 200'.
* Add signals "build-start", "project-dialog-create" and
"project-dialog-confirmed" - to append a Project Properties
notebook tab (Jiří Techet).
* Add macro foreach_range().
* Add GeanyMainWidgets::message_window_notebook (#3061342).
* Add main_widgets.project_menu (Jiří Techet).
* Add msgwin_set_messages_dir() (Jiří Techet).
* Add highlighting_is_{string,comment,code}_style(),
editor_find_snippet(), editor_insert_snippet(),
utils_find_open_xml_tag() (Eugene Arshinov).
* Add ui_combo_box_add_to_history(), editor_goto_pos(),
dialogs_show_input(), Add sci_get_lexer().
* Add filetypes_get_display_name() as "None" is no longer translated.
Geany 0.19.2 (December 1, 2010)
Fixes:
* Fix not always reporting an error message when saving a document
fails.
Geany 0.19.1 (August 18, 2010)
Fixes:
* Fix broken autocompletion after using scope completion.
* Fix scrolling the editor line in view (e.g. after loading a session
and switching document tabs).
* Fix using filetype extension patterns with upper case letters on
Windows (#3028856).
* Fix a slightly wrong encoding detection on Windows (#3019573).
* Re-enable comment folding.
* Fix not loading plugins built against a newer API when Geany doesn't
provide the required version given in PLUGIN_VERSION_CHECK().
* Fix infinite loop in Markdown lexer (patch by Colomban Wendling,
thanks).
* Fix saving non-project filetype error regex.
* Focus toolbar item when pressing Go to Line keybinding only when
it's not in the toolbar's drop down overflow menu (#3027454).
* Escape the name of the current document for markup when using
document name for menu items (#3038844).
* File Browser: Allow Find in Files when no items are selected.
* Fix build menu translation problems.
* Fix segfault on Tools->Reload Configuration when no documents are
open (#3037079).
* Fix building with Waf on Solaris.
* Fix a memory leak (thanks to Daniel Marjamäki).
* Use g_free instead of free (patch by Daniel Marjamäki, thanks).
Tweaks:
* Always use white background color when printing (except for text
with a white foreground) to save ink (#2968998).
* Limit build error editor indicators to 50, but parse all errors in
the Compiler tab (#3019823).
* Align notebook tab close buttons centred vertically (thanks to
Robux.Biz (galyuk)).
* Show the Project Properties build tab when choosing 'Set Build
Commands' when a project is open to prevent confusion with
non-project commands.
Manual:
* Fix wording - restarting is required for hidden prefs.
* Fix Grep --exclude-dir example.
Geany 0.19 (June 12, 2010)
General:
* Build system reworked to be much more configurable (by Lex Trotman).
* Use POSIX system/GNU regex engine for find & replace. This alters
regex syntax - we now support '?' operator and match newlines.
* Support adding custom filetype files.
* Add new command line option --list-documents to return a list
of currently opened documents
* Remove deprecated --debug flag. Please use --verbose/-v instead.
Interface:
* Add option 'System Default' for toolbar icon style and size to use
the GTK default value.
* Allow '+<number>' and '-<number>' as values for Goto Line inputs
to jump relative to the current line.
* Add preference to add new document tabs beside the current one
(patch by Colomban Wendling).
* Enable type-ahead find for sidebar symbols and documents tabs
(patch by Thomas Martitz).
* Make Ctrl-click on any notebook tab switch to the last used
document.
* Add 'Edit->Commands' menu.
* Add 'Edit->Plugin Preferences' menu item and keybinding.
* Add 'View->Editor->Color Schemes' menu (only shown if color
scheme files exist).
Prefs:
* Hide 'Tabs and Spaces: Hard tab width' preference - it should
always be 8. (Hidden setting kept in case users have modified it).
* Add sidebar position interface pref.
* Add project long line marker customisation (patch from Eugene
Arshinov).
Editor:
* Update Scintilla to 2.12.
* Add preference and support for virtual spaces.
* Add word part autocompletion for the current selected item when
pressing keybinding (default Tab) - Enter still completes normally.
* Remove LaTeX autocompletion from Geany's core and move it to the
geanyLaTeX plugin.
Filetypes:
* New filetype: Txt2Tags (patch by Eric Forgeot).
* New filetype: Abc (patch by Eric Forgeot).
* New filetype: Verilog (patch from Kelvin Gardiner).
* New custom filetype: Genie.
* Improvements in symbol parsing of PHP and Python files.
* Add R tagmanager symbol parser (patch by Jon Senior).
* Update Perl tag parser from ctags - removes support for
buggy local/my/our but parses constant/format/labels.
* Parse more VHDL tags (patch from Kelvin Gardiner).
* Highlight D & Java types from a global tags file.
* Parse Python lambda functions (patch from Colomban Wendling).
Keybindings:
* Add keybindings to switch to the sidebar's Document and Symbol list as
well as to the Message Window's current tab (patch by Eugene Arshinov).
* Add 'Remove Markers' and 'Remove Error Indicators' keybindings.
* Make 'Reflow block/lines(s)' keybinding use line breaking column when
enabled (patch by Lex Trotman).
* Add 'Select to previous/next word part' keybindings.
* Add 'Switch to Messages' focus keybinding.
* Add 'Move line(s) up/down' keybindings.
* Make Switch to Editor keybinding reshow the document statistics line.
Templates:
* Move filetype template defaults into custom file template files.
* Read custom file templates from system as well as user dir.
* Add new special template wildcard "{command:...}" to use the output
of a shell command in templates.
* Support {ob}, {cb} and {pc} to escape wildcard strings with {, }, %
for snippets, fileheader and file templates.
* Add {project}, {description} template wildcards (#2954737).
* Reload templates when saving a document in the templates config dir.
Configuration files:
* Support more filetypes.common folding icon styles: arrows, +/- and no
lines (#2935059).
* Support Scintilla lexer properties in [lexer_properties] filetypes.*
group.
* Add filetypes.xml asp.default.language property (Ross McKay).
Plugins:
* Classbuilder: Add support for creating PHP classes
(patch by Ondrej Donek).
* HTMLchars: Make plugin remember whether replacement of special
characters was activated.
Windows:
* Support very long build commands.
* Add a preference for choosing between GTK and native File Open/Save
dialogs (only available on Windows).
Internationalisation:
* Added translations: ast.
* Updated translations: de, en_GB, es, fr, gl, ja, nl, pt, ru, sl, sv,
tr, vi, zh_CN.
API:
* Improve documentation contents page.
* Add Stash mini-library setting, pref & widget functions to API.
* Add plugin_configure_single() plugin symbol which is easier to
implement than plugin_configure().
* Add new plugin signals: "document-before-save", "document-filetype-set",
"geany-startup-complete".
* Add PLUGIN_SET_TRANSLATABLE_INFO macro to the plugin API so plugins' meta
information can be translated already in the plugin manager dialog
(patch by Colomban Wendling).
* Use full function name for GeanyFunctions function pointers. This
avoids naming conflicts e.g. with C++'s 'new' keyword.
* GeanyKeyBinding label fields can now contain underscores, which won't
be displayed by Geany. This saves adding near-duplicate translation
strings.
* Add GeanyKeyGroup callback support.
* Add more Scintilla function wrappers, foreach_dir(), foreach_str(),
utils_get_file_list_full(), document_get_notebook_page(),
editor_insert_text_block().
* Don't install unnecessary headers.
* Remove deprecated header pluginmacros.h - use geanyfunctions.h
instead.
* Deprecate documents_foreach(), use foreach_document() instead.
* Deprecate PLUGIN_KEY_GROUP() macro - use plugin_set_key_group()
instead.
Older Release Notes