Documentation»Release Notes

Release Notes

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