Geany Changelog

What's new in Geany 2.0

Oct 24, 2023
  • General:
  • Split "session data" into session.conf, preferences are written to and read from geany.conf (PR#2776, PR#2779, PR#3014, PR#3125 and more).
  • Add new build system Meson (experimental) (PR#2761).
  • Require GTK 3.24 (#3580).
  • Bug fixes:
  • (Re-)Add ability to scroll over document tabs (Luke Horwell, PR#3134).
  • Fix keyword colorization on filetype change (PR#3553).
  • Fix startup files order when placing tabs next to the current one (PR#3611).
  • Interface:
  • The document list in the sidebar has a new tree view. This mode is the new default and existing installations automatically use it (PR#1813).
  • Use dark-theme friendly colors for compiler messages (PR#3013).
  • Add a confirmation dialog on search & replace for the whole session (PR#3033).
  • Filter entry for symbol tree (PR#3055).
  • Simplify project creation from existing directories with sources (PR#3042).
  • Add option to show symbols in symbol tree without category groups (PR#3172).
  • Add option to only show line endings if they differ from file default (PR#3287).
  • Make tab label length and window title length configurable (Abdul Rafey, #3365).
  • Make Go to Symbol commands show signature list (PR#3475).
  • Editor:
  • Update Scintilla to 5.3.7 and Lexilla to 5.2.7 (PR#2867, PR#3551).
  • Add "Change history" feature (disabled by default) (PR#3551).
  • Filetypes:
  • Sync many parsers from the Universal Ctags project, this leads to updated symbol parsers (PR#2990, PR#2991, PR#3032).
  • Improved support for the ctags file format, which is now the recommended format for tags files (PR#3049).
  • Update Kotlin filetype config (PR#3456).
  • Apply Markdown header style to the complete header (Robert Di Pardo, PR#3602).
  • Update Nim filetype config (Zoom, PR#2988).
  • Update PHP filetype config (PR#3488).
  • Update Python filetype config (PR#3039).
  • Add AutoIt filetype (Skif-off, PR#1752).
  • Add GDScript filetype (David Yang, PR#3012).
  • Remove Ferite filetype (PR#3075).
  • Enable local variables and improve autocompletion for C/C++ and some other languages (PR#3185, PR#3275).
  • Windows:
  • Remove native file and color dialogs on Windows, GTK dialogs will be used instead (#3219).
  • Use "Prof-Gnome" GTK theme by default (same theme as used on macOS) for a better experience, the "Adwaita" theme can still be activated (PR#3129).
  • Internationalization:
  • Updated translations: cz, da, de, fr, es, kk, lv, it, nl, pt, sk, ru, ua
  • Added translations: si

New in Geany 1.38.0 (Oct 10, 2021)

  • General:
  • Increase speed when opening documents, especially on startup (Justin Blanchard, Issue#2883, Issue#2649, Issue#2791, PR#2884, PR#2747).
  • Synchronize Geany's Ctags implementation with Universal Ctags, this leads to updated symbol parsers (Jirí Techet, PR#2666).
  • Remove GTK+2 Support (PR#2602).
  • Geany needs a C++17 compiler to build (PR#2862).
  • Bug fixes:
  • Workaround crashes when pasting into VTE without having focus (Issue#2813, PR#2843).
  • Interface:
  • Add keybinding to reload all open documents (David Yang, PR#2859).
  • Filetypes:
  • Add Julia filetype (getzze, Issue#434, PR#2584).
  • Add Meson filetype (Andy Alt, PR#2850).
  • Plugins:
  • SaveActions: add configurable target directory for instantly saved files (Issue#640, PR#2769).
  • Windows:
  • Fix message window height after restart (Issue#2591, PR#2892).
  • Switch Windows builds to GTK3 and x86_64 (PR#2590).
  • Internationalization:
  • Updated translations: da, de, el, es, et, fr, it, ja, nl pt, pt BR, sk, tr, uk, zh_CN

New in Geany 1.37.1 (Nov 8, 2020)

  • Fix crash on first startup (Issue#2639, PR#2645).

New in Geany 1.37 (Oct 25, 2020)

  • Fix main window name as seen by accessibility tools (Issue#2421).
  • Add missing include (Pino Toscano, PR#2402).
  • Fix a possible crash when quitting (Hodong & Guido Falsi, Issue#2457, PR#2634).

New in Geany 1.36 (Sep 29, 2019)

  • General:
  • Give precedence to user-defined filetype extension mappings over default ones (PR#2166).
  • Give precedence to the longest matching filetype pattern (Issue#1499, Issue#1921, PR#2167).
  • Place the socket file in $XDG_RUNTIME_DIR when available (Thomas Martitz, PR#2222).
  • Bug fixes:
  • Improve path ellipsising in Go To Tag filetype popup (Thomas Martitz, PR#2262).
  • Interface:
  • Show group prefix for the Various preferences (PR#2176).
  • Show the GTK/GLib versions in about dialog (PR#2163).
  • Editor:
  • Update Scintilla to version 3.10.4 (PR#2138).
  • Add support for fractional font sizes (Pedro Henrique Antunes de Oliveira, Issue#703, PR#2250).
  • Filetypes:
  • Add Apple Swift filetype (Ankit Pati, PR#1323).
  • Add Nim filetype (Simon Krauter, Issue#1772, PR#2085).
  • Update NSIS keywords (PR#2181).
  • Update error matching for the CUDA filetype (Rajesh Pandian M, Issue#2213, PR#2218).
  • Add Kotlin custom filetype (Issue#1581, PR#2186).
  • Add Groovy custom filetype (PR#2188).
  • Add TypeScript custom filetype (Issue#1449, PR#2187).
  • Small update of Django keywords (PR#2315).
  • Don't suggest to override all settings through Tools->Configuration Files (Issue#1552, PR#2168).
  • Windows:
  • Migrate the installer to NSIS 3 (Issue#1302, PR#2181).
  • Fix build on recent MSYS2 (Issue#2261, PR#2263).
  • Internationalization:
  • New translations: ku
  • Updated translations: da, de, es, fr, it, ja, lv, pt, sk, sv, zh_CN

New in Geany 1.35 (May 3, 2019)

  • General
  • Start synchronization with Universal-CTags (Jiří Techet, PR#1263, PR#2018).
  • Bug fixes:
  • Improve IPC socket handling (Issue#641, PR#2111).
  • Fix loading the default open encoding option (PR#1326).
  • Fix VTE path following after reset (Issue#352, PR#2116).
  • Interface:
  • Show variable type in a tooltip in symbol tree (Jiří Techet, PR#2036).
  • Editor:
  • Update Scintilla to version 3.10.2 (Issue#971, Issue#1947, Issue#2076, PR#2045).
  • Drastically speed up huge bulk replacements (Issue#2092, PR#2097).
  • Fix accessibility information reported upon deletion.
  • Fix garbage data insertion when moving lines up or down (Issue#2066).
  • Don't perform line breaking in rectangular selection mode (Issue#2051,
  • PR#2135).
  • Filetypes:
  • Allow stripping trailing spaces from custom filetypes based on the Diff lexer (Cristian Ciocaltea, Issue#2041, PR#2043).
  • Improve JavaScript symbols parsing (Issue#1329, Issue#1891, Issue#1933,
  • part of PR#2018).
  • Improve HTML symbols parsing (part of PR#2018).
  • Improve COBOL symbols parsing (PR#2128).
  • Improve ActionScript symbols parsing (PR#2134).
  • Windows:
  • Installer: only install GTK translations if selected (Issue#2090).
  • Internationalization:
  • Updated translations: da, de, es, fr, ja, lv, pt, ru, sk, zh_CN

New in Geany 1.34.1 (Jan 4, 2019)

  • * Fix line breaking on existing lines (PR#2027).
  • * Fix displaying filenames containing XML control characters inside infobars (Issue#2033).
  • Windows
  • * Fix rectangular selection modifier (PR#2032).
  • Internationalization
  • * Updated translations: uk

New in Geany 1.33 (Feb 25, 2018)

  • Bug fixes:
  • Fix the symbols tree hierarchy when several tags have the same name (PR#1598).
  • Interface:
  • Add a tooltip showing the full path on menu items representing documents (PR#1706).
  • Add a note for applying the indent settings in the project preferences (PR#1650).
  • Enable popup menu on sidebar and message window notebooks (PR#1726).
  • Show status message on attempt to execute empty context action (Lars Paulsen, PR#1642).
  • GTK3 theming improvements and documentation (PR#1382).
  • Filetypes:
  • CSS: Update Grid properties (Issue#1705).
  • Internationalization:
  • Updated translations: de, el, es, fr, it, lv, pl, pt, tr, ru, zh_CN

New in Geany 1.32 (Nov 20, 2017)

  • General:
  • Improve CLI argument help (PR#1644).
  • Keep the current tab when closing documents to the right of another tab.
  • Re-enable SIGTERM handling (PR#1255).
  • Create correct path for filetype config files (Jirí Techet, PR#1482).
  • Add an option to enable IME's candidate window display inline
  • (Sinpo Wei, PR#1514).
  • Add an option to automatically reload files changed on disk
  • (Mark O'Donovan, PR#1246).
  • Bug fixes:
  • Fix backward compatibility of the geometry saving setting.
  • Close "Deleted from Disk" Infobar on Reload (Lars Paulsen, PR#1628).
  • Make sure GDK_MOD2_MASK is cleared when getting modifiers
  • (Jirí Techet, PR#1636).
  • Use non-symlinked VTE libraries on MacOS X (Jirí Techet, PR#1625).
  • Fix crash if plugin manager is opened more than once (PR#1564).
  • Fix incorrect variable reference (Thomas Martitz, PR#1561).
  • Interface:
  • Add "Close Documents to the Right" feature (PR#1362).
  • Add an option to save/reload either window position or size,
  • but optionally not both (delt01, PR#1456).
  • Editor:
  • Update Scintilla to version 3.7.5 (PR#1503).
  • Improve snippet support (visual indicators and more)
  • (Thomas Martitz, PR#1470).
  • Push current position to navqueue before navigating back
  • (Vasiliy Faronov, PR#1537).
  • Filetypes:
  • Add GNU assembler filetype extensions (Issue#904).
  • Make Python comment hash space (PR#1682).
  • Add missing string and comment styles for various lexers (PR#1502).
  • Add missing PHP keywords, especially for PHP 7.x (1547, PR#1547).
  • Python: Don't highlight sub-identifiers as keywords (PR#1544).
  • Plugins:
  • FileBrowser: don't change directory on project save
  • (Jirí Techet, PR#1400).
  • Windows:
  • Fix Execute button on Windows when using HTML files and
  • "builtin" command (Issue#1018, PR#1667).
  • API:
  • Add `utils_get_real_path()` and deprecate `tm_get_real_path()` (PR#1224).
  • Add `geany_plugin_get_data()` (PR#1234).
  • Add `keybindings_load_keyfile()` (Jirí Techet, PR#1430).
  • Add `tm_tag_get_type()` (Thomas Martitz, PR#1465).
  • HACKING:
  • Add note about data types and update for best practices (PR#1282).
  • Internationalization
  • Updated translations: ca, de, el, es, fr, it, lt, lv, nl, pt, ru,
  • sk, sv, zh_CN

New in Geany 1.31 (Jul 17, 2017)

  • Bug fixes:
  • Update statusbar after applying indentation detection.
  • Fix converting color to hex for insertion in the Color Chooser dialog (Vasiliy Faronov, PR#1536).
  • Filetypes:
  • Add `parfor` to the Matlab keyword list (A. Tombs, PR#1021).
  • C: fix line continuation handling (PR#1370).
  • Add `require_relative` to the Ruby keyword list (Jacob H. Pratt, PR#1472).
  • Update Haxe keywords (PR#1216).
  • Fix Arduino comment toggling (Giorgioggì, PR#1510).
  • Update CMake keywords (Yan Pashkovsky, PR#1315).
  • Update C# keywords (Yan Pashkovsky, PR#1315).
  • Update HTML keywords (Vasiliy Faronov, PR#1530).
  • Internationalization:
  • Updated translations: ca, id, ja, kk, lt, ru
  • API:
  • Fix crash when calling plugin_set_key_group() more than once (Jiří Techet, PR#1426).

New in Geany 1.30.1 (Mar 20, 2017)

  • Editor:
  • Fix auto-completion and calltip popup position on multi-monitor setups
  • INTERNATIONALIZATION:
  • Updated translations: ca, de, el, es, sk

New in Geany 1.30 (Mar 6, 2017)

  • GENERAL
  • Initial accessibility support in the editor (SF#328).
  • Fix scrolling on Wayland (Issue#1320).
  • BUG FIXES:
  • Fix Ctrl+X and Ctrl+C in non-Latin keyboard layouts (Forkest, PR#1386).
  • Fix search history filling on GTK >= 3.20 (PR#1404).
  • Simplify setting build menu items labels, fixing a Commander plugin issue (Vasiliy Faronov, PR#1396).
  • INTERFACE:
  • Fix the current scope shown in the statusbar (Issue#1279).
  • EDITOR:
  • Update Scintilla to version 3.7.3.
  • Fix triggering default keybindings together with snippets keybindings (Issue#1354, PR#1356).
  • FILETYPES:
  • Update JavaScript keywords (Abel 'Akronix' Serrano Juste, PR#1361).
  • Partial highlighting of JavaScript ES6 template strings (Issue#934).
  • Add Arduino custom filetype (Issue#1339).
  • INTERNATIONALIZATION:
  • Updated translationsde, es, fr, it, lt, pt
  • API:
  • Remove unprefixed Scintilla structure aliases. Plugins must use the `Sci_`-prefixed version from now on.
  • Add `geany_api_version()` to detect the API version of Geany at runtime (Thomas Martitz, PR#1406).

New in Geany 1.29 (Nov 14, 2016)

  • GENERAL:
  • Fix search entries color with the default GNOME 3.20 GTK2 theme
  • Improve support for GTK 3.22.
  • Add support for VTE 0.38 and newer
  • BUG FIXES:
  • Fix build when the CXX variable contains flags (PR#1155, Issue#829).
  • Fix focusing the message window when the Terminal tab is active
  • EDITOR:
  • Update Scintilla to version 3.7.0
  • Add support for keeping the cursor a number of lines from the edges to always show some context
  • Allow to configure keybinding for "Delete to beginning of line"
  • Performance improvements with many duplicate symbols
  • Allow to configure the error indicator color
  • FILETYPES:
  • Fix highlighting of Haxe preprocessor
  • Add `.exp` extension to TCL
  • INTERNATIONALIZATION:
  • Updated translations: ca, de, el, es, fr, id, it, kk, nl pt, pt_BR, sv, zh_CN,
  • API:
  • Update GeanyProxyProbeResults` API
  • Warn if a dot is used at the start of a proxy extension (PR#1212, PR#1233).
  • Add support for custom data attached to documents through `plugin_set_document_data()`, `plugin_get_document_data()` and `plugin_set_document_data_full()`
  • Add "project-before-close" signal
  • PLUGINS:
  • Split Window: Work around a GTK bug present from 3.15.9 to 3.21.4
  • that breaks the document selection popup (Issue#1149, PR#1272).
  • WINDOWS:
  • Include 'grep.exe' from MSYS2 which works better than the previously self-compiled version
  • Fix executing external commands (mainly Build and Run commands) where paths and filenames with non-ASCII characters are involved
  • Do not create a batch file on Run commands any longer, instead use a re-usable script and so eliminate the need to delete the script from itself

New in Geany 1.28 (Jul 11, 2016)

  • Improve support for GTK 3.20:
  • System filetype files and system tags files are now in sub-directories filedefs/* and *tags/* respectively
  • Bug fixes:
  • canceling keybinding overriding by discarding the dialog
  • type name coloring when types change
  • Undo of line end type change
  • Editor:
  • Update Scintilla to version 3.6.6.
  • Improve Goto Symbol popup contents
  • Filetypes:
  • Treat `.h` headers as C++ by default
  • Various improvements to the Ruby parser
  • Haskell single line comments
  • Update Java keywords:
  • handling of curly brackets in Make
  • Add ECMAScript 6 keywords
  • Slight improvement to the Java file template
  • Add missing `last-child` CSS pseudo-class
  • Internationalization:
  • Updated translations: ca, de, el, es, fr, it, ja, lt, pt, ru, sk, tr, zh_CN
  • API:
  • Don't require static strings for key group name and label (PR#1126).
  • Formally add TMTag to the API
  • Plugins:
  • Class builder: use `.hpp` extension for C++ headers by default
  • Windows:
  • Show an error if an URI cannot be opened

New in Geany 1.27 (Mar 14, 2016)

  • General:
  • Remove Waf build system (PR#769).
  • Bug fixes:
  • Fix build with GLib < 2.32 (Issue#764).
  • Fix missing progress bar during build runs (Issue#765).
  • Fix infinite loop when performing reflow on some input with many consecutive spaces (Issue#848, PR#852).
  • Fix some locale encoding conversion issues (Jiří Techet, PR#547).
  • Interface:
  • Allow to set a keybinding for File->Properties (Issue#622, PR#952).
  • Make it possible to define default symbol_list_sort_mode (Jiří Techet,
  • Issue#313, PR#581).
  • Add keybindings for custom commands 4 through 9 (Thomas Sahlin, PR#858).
  • Use "Symbol" in place of "Tag" everywhere it does not refer to markup tags (Jiří Techet, Issue#579, PR#582).
  • Editor:
  • Update Scintilla to version 3.6.3 (including improved support for Lua 5.3 and Perl 5.22).
  • Greatly improve scope completion (Jiří Techet, PR#488, PR#505, PR#862, R#906).
  • Performance improvement highlighting types (Jiří Techet, PR#575).
  • Show calltips after a C++ explicit specialization (PR#496).
  • Show a popup to select the symbol when going to a symbol has several options (Jiří Techet, PR#406, PR#923).
  • Filetypes:
  • Added some extra Markdown extensions (Andrea Stacchiotti, PR#820).
  • Add `.asm51` and `.a51` extensions for 8051 assembly (Devyn Collier Johnson, PR#739).
  • Fix C++ namespaces scope (Issue#871).
  • Fix parsing of C++ global scope qualifiers in base class lists.
  • Use the C++ parser for CUDA filetype (Issue#830, PR#831).
  • Add Clojure file extensions (Daniel Șuteu, PR#842).
  • Improve return type and var type recognition in C, C++, C# and D (Issue#845, PR#889).
  • Fix parsing of C++11 raw string literals (PR#879).
  • Update built-in PHP symbols (Issue#584, PR#603).
  • Fix parsing some Objective-C properties (PR#940, PR#941).
  • Internationalization:
  • Updated translations: de, es, fr, it, ja, kk, lt, nl, pt, ru, sk, zh_CN
  • API:
  • Add `editor_set_indent_width()` (Thomas Martitz, PR#903).
  • Add GeanyFiletypeID` and deprecate `filetype_id` (PR#932).
  • Remove non-API type `langType` (Jiří Techet, part of PR#906).
  • Mark deprecated API so GCC-like compilers can warn about it, and add `GEANY_DISABLE_DEPRECATION_WARNINGS` to silence those (PR#911).
  • Add `scintilla_object_send_message()`, `scintilla_object_get_type()`and scintilla_object_new()` alias to the API as synonyms for their legacy counterparts `scintilla_send_message()`, `scintilla_get_type()`and `scintilla_new()` (Thomas Martitz, PR#874).
  • Windows:
  • Project->Open now respects the native dialog setting (PR#961).

New in Geany 1.26 (Nov 16, 2015)

  • General :
  • New plugin API (Thomas Martitz, PR#469). Add support for "proxy" plugins (Thomas Martitz, PR#629).
  • Bug fixes:
  • Fix "Open in New Window" command (Issue#590).
  • Fix spurious "source file has been modified" (Jiří Techet, Issue#605, PR#621).
  • Don't open more than one document for non-existing paths from the CLI (https://bugs.launchpad.net/linuxmint/+bug/1482558, PR#646).
  • Fix configuration directory encoding on non-UTF-8 non-Windows systems (Dimitar Zhekov, PR#658).
  • Interface:
  • Use monospace font for the message window by default (Jiří Techet, Issue#435, PR#580).
  • Fix mnemonic conflict in "Use multi-line matching" (Ross Konsolebox, Issue#589, PR#647).
  • Editor:
  • Update Scintilla to version 3.6.1.
  • Fix completion popup height when view is zoomed (Issue#702).
  • Fix Go To End Of Display Line when wrapping is on and EOL are visible (Issue#712).
  • Keeping undo history when reloading files is now enabled by default (Thomas Martitz, Issue#562, PR#672).
  • "Strip trailing spaces", "Replace tabs" and "Replace spaces" now follow the current selection (Pavel Sountsov, PR#394).
  • Respect Smart Home Key setting in Go To Start of Display Line.
  • Check whether the document is newer on disk when the window gets focused (Jiří Techet, PR#533).
  • Filetypes:
  • Add Cargo build commands for Rust (Wayne Nilsen, PR#557).
  • Add recent Perl keywords (Olivier Duclos, PR#599).
  • Add missing Python 3 keywords and builtins (PR#755).
  • Improvements to the Rust filetype (Pavel Sountsov, PR#613).
  • Add multiline comment to Haskell (Abel Serrano Juste, PR#638).
  • Recognize `.adoc` is as Asciidoc (PR#708, PR#711).
  • Recognize `.mml` and `.mathml` as XML (Devyn Collier Johnson, PR#731).
  • Internationalization:
  • Updated translations: de, el, es, fr, hu, id, kk, pt, sk, sv, ru Fix internationalization of "Open in New Window" items.
  • API:
  • New plugin API, `geany_load_module()`, `geany_plugin_register()`, `GEANY_PLUGIN_REGISTER()`, `geany_plugin_register_full()`, `GEANY_PLUGIN_REGISTER_FULL()` (Thomas Martitz, PR#469).
  • Add support for "proxy" plugins, `geany_plugin_register_proxy()` (Thomas Martitz, PR#629).
  • Allow `user_data` parameter and `destroy_notify` callback to keybindings with new `keybindings_set_item_full()` and `plugin_set_key_group_full()` (Thomas Martitz, PR#376).
  • Windows:
  • Restore modern design of native file dialogs (Issue#578).

New in Geany 1.25 (Jul 13, 2015)

  • General:
  • GTK3 support, while not enabled by default, is now considered stable.
  • Improve MacOS X support.
  • Improve subprocess spawning (especially on Windows).
  • Huge tag management performance improvement (auto-completion, calltips, etc.)
  • Remove broken "Show macro list" keybinding and feature.
  • Add %l substitution to build commands.
  • Depend on GTK 2.24 and GLib 2.28.
  • Add per-project line wrapping, line breaking and comment continuation settings.
  • The plugin API is now split out of the main executable into libgeany, a shared library plugins have to link against.
  • Bug fixes:
  • Fix applying filetype-specific indentation settings for newly opened files.
  • Fix relative project base path when creating a new project
  • Fix next/previous keybindings when no files are open.
  • Fix markup injection in some tooltips (#1091).
  • Use absolute project path for projects opened from the command line
  • Fix goto tag in some cases when the same symbol name appears in different languages
  • Fix UI updating after loading a project.
  • Fix the currently selected document after Save All.
  • Fix leftovers in the Project dialog in some cases.
  • Fix function return type in symbol list tooltips in some cases
  • Fix VTE path following on startup.
  • Interface:
  • Show document-related dialogs embedded in the main window ("info bars")
  • Plugin manager dialog cleanup and overhaul (PR#251, PR#414).
  • Filetypes can now define the MIME type used to select their icon
  • Close documents in the sidebar with middle mouse button
  • Ask whether to replace project files when creating a project.
  • Ask whether to adopt the open documents when creating a new project
  • Allow to disable the list of recent files.
  • Fix many shadow inconsistencies
  • Add virtual column and selected chars to the statusbar
  • Add "dirty" terminal indication
  • Allow to select the None filetype in the Open File dialog
  • Add configuration menu entries for all filetypes
  • Editor:
  • Update Scintilla to version 3.5.6 (#1041).
  • Do not comment out blank lines when toggling comments
  • Improve handling of Verilog strings and comments.
  • Support for keeping undo history when reloading files. This is not enabled by default in this release.
  • Respect filetype.common's wordchars if a filetype doesn't have its own
  • Search:
  • Add support for single-line regular expressions
  • Default action is now "Replace & Find" in the replace dialog but can be configured
  • Activate default action from all fields in the Find in Files dialog
  • Filetypes:
  • Add JSON filetype.
  • Add Zephir filetype.
  • Add CoffeScript filetype.
  • Add Go tags parser
  • Add Erlang tags parser .
  • Add PowerShell tags parser (PR#477).
  • Many JavaScript parsing fixes and improvements.
  • Many CSS parser fixes and improvements.
  • Many Txt2tags parsing fixes and improvements (feature #690).
  • Make parser fixes and improvements.
  • Parse D enum base type (PR#404).
  • Various small Rust fixes .
  • Highlight C types in C++.
  • Add some missing C11 keywords.
  • Add some missing SQL keywords.
  • Fix and add some CSS keywords.
  • Fix some FreeBasic keywords (#691).
  • Add some missing D keywords .
  • Fix R keywords and wordchars
  • Fix styling of some CSS elements.
  • Fix styling of Lua preprocessor.
  • Fix style of PHP variables interpolation.
  • Recognize `.vbs` files as FreeBasic
  • Recognize `.tpl` files as HTML.
  • Recognize `.xtpl` files as XML.
  • Recognize `.xpm` files as C.
  • Recognize more Bash files
  • Update templates for Python and Vala.
  • Add template for HTML5.
  • Fix parsing of some Python triple-quoted strings.
  • Add some linting tools to some filetype's default Build menu.
  • Fix scope of some Python symbols.
  • Fix support of trigraphs in C-like languages.
  • Add support of digraphs in C-like languages.
  • Add support of `final`, `override` and `noexcept` C++11 keywords
  • Internationalization:
  • Update translations: be, ca, cs, de, el, es, fr, id, it, ja, nl, pl, pt_BR, pt, ru, sl, sr, sv, zh_CN.
  • Plugins:
  • File Browser: use "explorer" as the default open command on Windows.
  • File Browser: use icons based on the detected file's MIME type
  • Save Actions: use mode 0600 for backup copies (#833, PR#413).
  • Split Window: Fix a few keybindings (cut, copy, paste, delete, select all)
  • API:
  • Hide private API
  • Cleaner and safer TagManager API (Part of PR#356, Jiří Techet).
  • Entry point prototypes are now checked by the compiler (PR#359).
  • Add pseudo-unique document IDs through GeanyDocument::id and document_find_by_id(). This is a safer API for keeping a reference to a document for a long time (PR#256).
  • Add convenient and portable spawning API: spawn_sync(), spawn_async(), spawn_with_callbacks(), spawn_kill_process(), spawn_check_command(), spawn_write_data().
  • plugin_signal_connect() is now safe to use also with objects destroyed before unloading the plugin.
  • Add document_reload_force() to replace document_reload_file().
  • Add project_write_config()
  • Add keybindings_get_modifiers() and GEANY_PRIMARY_MOD_MASK
  • Fix emission of the 'document-activate' signal in some cases.
  • Add ui_tree_view_set_tooltip_text_column().
  • Add scintilla_get_type().
  • Windows:
  • Use native Windows quoting rules for commands (on Windows, part of subprocess spawning improvements).
  • Prompt before overwriting existing files when using native Save As dialog
  • View -> Change Font now respects the native dialog setting.
  • Fix main window freeze when displaying native dialogs.
  • Use the same plugin directory as other platforms

New in Geany 1.24.1 (Apr 17, 2014)

  • General
  • Fix distribution of custom GTK style files (#1037).

New in Geany 1.24 (Apr 14, 2014)

  • General:
  • Add experimental support for GTK3.
  • Add support for loading CTags and Vi tags files.
  • Save configuration when plugin manager dialog is closed.
  • Bug fixes:
  • Fix many small memory leaks (many of them found by Pavel Roschin).
  • Fix stopping of some spawned commands.
  • Fix cursor position and selection after comment toggling (#3576431).
  • Fix truncated output of ``--list-documents`` command-line option.
  • Fix launching a new instance when ``--list-documents`` is passed and no other instance is running.
  • Fix crash if a Custom Command returns after its related document has been closed.
  • Fix typo in "deque" C++ include name (#1027).
  • Fix replacing a selection starting with "0x" by a color if the selection is not 8 bytes long.
  • Fix a possible crash on quit.
  • Interface:
  • Fix custom GTK styles under KDE (#3607935).
  • Add Find entries in the Symbol List popup menu (#3608278).
  • Flatten-out the View menu.
  • Add a button to directly configure a plugin's keybindings in the plugin manager (Pavel Roschin).
  • Add an Apply button to the color chooser dialog (FR#686, Steven Valsesia).
  • Use a non-cropped 16x16 application icon (#1010).
  • Fix "leaks" of geany_run_script (#975).
  • Editor:
  • Update Scintilla to version 3.3.6 (#962, #995).
  • Fix Reflow to follow Line breaking behavior (#382, #412, #464, Eugene Arshinov).
  • Fix unfolding the very last line in a level (#1007).
  • Fix commenting the very last line in some situations.
  • Search:
  • Fix bulk Search & Replace not to match replacements.
  • Fix finding start of word when performing whole word matching.
  • Search when activating the Replace dialog find entry.
  • Filetypes
  • Add CUDA filetype (PR#147, Benjamin Chrétien).
  • Add Rust filetype (PR#181, SiegeLord).
  • Add Batch filetype (canou).
  • Add Graphviz filetype (PR#125, Miro Hrončok).
  • Add PowerShell filetype (Igor Shaula).
  • Add Clojure filetype (PR#92, Hoàng Minh Thắng).
  • Many improvements to the PHP tag parser.
  • Update PHP global tags file (PR#137, John Long).
  • Improve shebang detection for mksh and tcsh shells (PR#126 , Ypnose).
  • Fix Asciidoc parser recognition of open block as underline.
  • Fix symbol list entry for Asciidoc headers containing a dot.
  • Fix Asciidoc title parsing.
  • SQL parsing improvements.
  • Extend list of recognized keywords for SQL.
  • Fix SQL single-line comment marker (#997).
  • Fix parsing of some JavaScript constructors (#966).
  • Fix parsing a JavaScript regular expression in a return statement.
  • Fix parsing JavaScript files with a shebang.
  • Parse Java annotations with parameters (#924, Braden Walters).
  • Display Java enums in the symbol list.
  • Add "strictfp" Java keyword and fix annotation parsing (#936, #924).
  • Fix parsing of C++ static_assert.
  • Fix parsing of typed enums in C# and C++.
  • Mitigate parsing errors on C++ generics containing an expression.
  • Add C++ member pointer operator to scope autocomplete operators (#907).
  • Fix parsing of Fortran "forall" blocks and procedure pointers.
  • Fix parsing of complex Cython types.
  • Fix re-parsing Objective-C code.
  • Fix parsing of Verilog initializers.
  • Fix displaying of quoted Bash HereDoc delimiters (#952).
  • Add some HTML5 keywords (Duncan de Wet).
  • Add Erlang snippets and a template (PR#157, Fabio Ticconi).
  • Haskell highlighting improvements (kudah).
  • Add Matlab class keywords (PR#136, Felix Totir).
  • Fix argument list on some Python constructors.
  • Fix R indenting to use braces.
  • Display R sources and libraries in the symbol list.
  • Many improvements to the Fortran tag parser (#1023, #1030, with help from Adam Hirst).
  • Put Makefile comments at start of line.
  • Add some missing Pascal keywords (#1033, PR#144).
  • Add default build command for Bibtex in the Latex filetype (PR#227, Francisco Iacobelli).
  • Ignore Python imports when going to a tag's definition.
  • Add some more Ruby extensions (Igor Shaula).
  • Internationalization:
  • Make date templates translatable (Christian Dywan).
  • Update translations: ca, cs, de, es, eu, fr, gl, he, hu, it, kk, lt, nl, pt, ru, sk, sl, sv, tr, zh_CN, zh_TW
  • Plugins:
  • Save Actions: add autosave when the editor lose focus (FR#683, Steven Valsesia).
  • Export: fix exporting a document not ending with a newline.
  • Export: fix including random, unused styles in the output.
  • Export: fix HTML title if the file name contains control characters.
  • Export: fix LaTeX export with many consecutive '-', ''.
  • API:
  • Add plugin_builder_connect_signals().
  • Windows:
  • Fix infinite pagination when printing (#961).
  • Fix spawning commands with spaces (#943).
  • Allow to use the GTK color chooser dialog (PR#218, Steven Valsesia).
  • Add default extension to native save dialogs (#1021).
  • Add colorschemes from the Geany-Themes project to the Windows installer.
  • Add option to install Geany header files and pkgconfig file to the Windows installer.
  • Fix broken opening files from command line on Windows (again, #3613096).

New in Geany 1.23.1 (Jun 1, 2013)

  • Bug fixes:
  • Fix custom styles under KDE and for people using gtk-chtheme (corrects tab coloring).
  • Fix broken opening files from command line on Windows.

New in Geany 1.23 (Mar 11, 2013)

  • General:
  • Various fixes to language theming
  • Various Windows makefile fixes.
  • Rewrite printing code
  • Use the Geany icon from the theme
  • Make Geany-specific icons themeable.
  • Bug fixes:
  • Fix too aggressive scope caching
  • Fix showing project name in the Documents sidebar.
  • Fix opening filenames with leading or trailing spaces from the command line into a running instance.
  • Fix re-opening files with unknown but detected encoding
  • Fix crash when loading a broken or incompatible VTE library.
  • Report scope including classes, namespaces and alike
  • Fix cancelling Project Close when showing the unsaved changes dialog.
  • Only use "allow_always_save" setting for direct user interaction
  • Fix some keybinding not getting properly displayed in the menus after being updated
  • Make Terminal tool setting more flexible to support any terminal.
  • Fix replacing file name in files header upon save.
  • Fix UAC Virtualization issue on newer Windows versions when trying to save files to read-only locations
  • Interface:
  • Control-click on the symbols sidebar don't focus the editor.
  • Add an option to place the message window on the right.
  • Fix display of non-ASCII tags in the symbols tree for non-UTF-8 files.
  • Replace 'Open file in a new tab' save dialog option with new Document->Clone' menu item.
  • Fix clashing button mnemonic in detect/reload dialog
  • Grab focus in the embedded terminal upon middle click
  • Add support for embedded terminal background image
  • Editor:
  • Update Scintilla to version 3.2.3
  • Properly indent even if the indenting character isn't the last one.
  • Always display text in LTR direction.
  • Improve collapsing fold behavior when start point is offscreen.
  • Faster squiggle underlining.
  • Fix multiline comments at end of file
  • Keep caret and anchor position upon indent and unindent
  • Complete on dash (-) too in CSS documents.
  • Make wordchars have precedence over whitespacechars
  • Fix cursor position after comment toggling with no selection
  • Fix reshowing calltip after autocompletion list closed.
  • Fix uncommenting multiline comments when cursor is on a delimiter.
  • Clear search markers on Mark All keybinding when already set.
  • Never strip trailing spaces from Diff documents.
  • Reduce unnecessary redraws when typing
  • Fix comment toggling inside PHP and HTML with bottom-up selection.
  • Search:
  • Mark All' now also uses the fully-featured PCRE engine
  • Only set Find in Files directory once per-document.
  • Fix a crash when matching the very last character of the document.
  • Fix search and replacement of empty matches.
  • Fix a possible crash when searching on a range.
  • Keybindings:
  • Add keybinding for 'Go to Start of Display Line'
  • Allow to change the keybinding for 'Quit'.
  • Filetypes:
  • Parse '!' char in D parameter lists.
  • Fix parsing of Haskell comments inside a type
  • Fix Cython auto indentation.
  • Add more keywords to Forth (Oco).
  • Add some missing Haxe keywords
  • Add some missing CSS3 keywords
  • Add some missing D keywords
  • Fix a crash parsing some C macros
  • Update some Python keywords.
  • Update Python global tags file.
  • Show VHDL blocks in the symbol list.
  • Fix ruby scope after "do"
  • Fix parsing of ruby keywords when followed by a semicolon
  • Lots of JavaScript symbols parsing improvements
  • Use "scala" extension for Scala
  • Fix parsing of reStructuredText titles containing UTF-8
  • characters
  • Parse C++11 final classes
  • Parse C++11 enums with type specifier and classed enums
  • Fix highlighting of C++11 raw strings
  • Fix parsing of colons in D .
  • Fix parsing of D 'static assert'
  • Parse scope for D nested template blocks
  • Ignore D angle brackets.
  • Fix reStructuredText comment marker
  • Add Asciidoc filetype.
  • Fix parsing of Python keywords followed by a tab (\t).
  • Add more HTML5 self-closing tags
  • Update default D template to use a more standard prototype for main().
  • Fix improperly translated string in Pascal template
  • Add Go language filetype
  • Plugins:
  • Export: Fix missing linking on libm
  • File Browser: Backspace now moves to parent directory.
  • API:
  • Fix plugin_add_toolbar_item() insertion order
  • Windows:
  • Fix spawning synchronous commands on Windows.
  • Show Find in Files status summary.
  • Add icon to the Explorer context menu item.
  • Internationalization:
  • Add translations: et, eu, he, hi, sr
  • Update translations: ca, cs, de, es, fi, gl, it, kk, lt, nl, pt_BR, ru, sv, sl, tr
  • Fix a crash when using the Turkish translation

New in Geany 1.22 (Jun 20, 2012)

  • General:
  • Bump dependencies to GTK >= 2.16 and GLib >= 2.20.
  • Switch to Glade 3 and dynamically loaded XML UI description.
  • Rewrite theming support for better flexibility.
  • Add support for opening files read-only from the command line.
  • Always load the default session if configured to do so.
  • Make all filetypes use named styles to simplify color scheme authoring.
  • Make 'Replace Spaces by Tabs' only match leading spaces to preserve alignment.
  • Possibly incompatible changes:
  • Theming and filetype style changes mean old filetypes and color schemes are not compatible with this version of Geany.
  • There are some default keybinding changes but these will only apply to newly created configurations.
  • Changes to the "project-dialog*" signals may affect plugins.
  • Bug fixes:
  • Fix escaping of session file paths (#3425969).
  • Fix closing when minimized under Windows (#3421282).
  • Properly handle remote URIs received through drag 'n drop (#2966770, #3479567).
  • Fix build with bleeding-edge GLib (#3483388).
  • Fix color scheme selection in Ubuntu Unity (#3479674).
  • Fix very slow regex tag parsing on Windows (e.g. for HTML).
  • Fix detecting a changed file on disk when opening from the command-line (Windows).
  • Fix quick search entry behavior on Windows.
  • Fix keybindings conflicts check when swapping a binding.
  • Fix comments insertion in some cases (#3449635, #3534320).
  • Add missing Windows mio makefile.
  • Prefs:
  • Split "always wrap search and hide find dialog" pref into "always wrap search" and "hide find dialog" (Dimitar Zhekov).
  • Add Project Properties overrides for 'Saving files' prefs.
  • Add hidden VTE preference "send_cmd_prefix" to prefix commands sent to the VTE. (See the manual for details).
  • Interface:
  • Add support for switching to the last used document after closing a tab (Jiří Techet).
  • Improve the tab switching dialog for better usability (Jiří Techet).
  • Add support for user-defined labels for 'Send Selection to' custom commands.
  • Fix sidebar width when on the right (#3514436).
  • Use case-insensitive document list path comparison on Windows.
  • Replace Color Schemes menu with custom dialog.
  • Show selected line count on status bar when whole lines are selected.
  • Editor:
  • Update Scintilla to version 2.29.
  • Add a "join lines" command (Eugene Arshinov).
  • Hide autocompletion when the only entry has been typed (#3516212).
  • Search:
  • Add full PCRE regular expressions support.
  • Extra options passed to grep through Find in Files now follows a real shell-style syntax (#3516263).
  • Search pattern length is no longer limited to 248 characters.
  • Fix showing Find/Replace regex compile errors on the status bar.
  • Keybindings:
  • Add Project New/Open/Properties/Close keybindings.
  • Show overridden keybindings in bold for prefs dialog tree.
  • Tags:
  • Speed up loading of multiple global tags files.
  • Show global tags file preprocessing errors on stderr & add current directory to include path.
  • Add C/C++ ignore.tags wildcard format 'PREFIX*'.
  • Filetypes:
  • Add support for regex-based filetype detection.
  • C snippets no longer apply to all filetypes.
  • Improve support for HTML embedded filetypes (#2863829, #3127598).
  • Add filetype Objective-C (Elias Pschernig, P#3325139).
  • Fix highlighting of ``...R"`` inside C and C++ (#3425107).
  • Fix TCL keyword highlighting in some situations (#3432877).
  • Parse PHP functions with multiline argument list (#3037797).
  • Handle ``/bin/dash`` shebang (#3470986).
  • Update JavaScript parser from CTags.
  • Parse D class/struct/interface template bodies and template blocks; ignore 'static if' expressions; parse function @attributes, pure/nothrow and immutable/inout/shared return types.
  • Fix broken tag/word autocompletion in HTML/PHP documents.
  • Enable &entity; completion for all XML-based filetypes.
  • Plugins:
  • Split Window: show marker margin.
  • Split Window: enable basic context menu.
  • API:
  • document_save_file() now shows the Save As dialog when necessary.
  • Rename signal "project-dialog-create" to "project-dialog-open" and add new "project-dialog-close" signal.
  • setptr is deprecated in favour of SETPTR.
  • Add ui_hookup_object() and ui_lookup_object().
  • Add ui_lookup_stock_label().
  • Add build_{activate,get_current,remove,set}_menu_item(), build_get_group_count().
  • Add stash_group_free_settings().
  • Add support for plugins written in C++.
  • Internationalization:
  • Add translations: ar, id, lt, mn, nn, sk
  • Update translations: de, es, fr, hu, it, ja, kk, lt, nl, pl, pt, pt_BR, sk, sl, sv, tr, zh_CN, zh_TW

New in Geany 0.21 (Oct 4, 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
  • Add 'Open in New Window' command in the notebook tab menu
  • 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
  • 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
  • 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
  • Filetypes:
  • Add Scala custom filetype
  • Add Cython custom filetype
  • 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. (#2226117).
  • Highlight C# and Vala raw and verbatim strings.
  • Improve JavaScript keyword handling and keyword lists
  • Add filetype Cobol
  • Add file template for Vala
  • Plugins:
  • File Browser: Make 'Hide object files' preference configurable with
  • file extensions.
  • Split Window: Fix a crash when changing filetype
  • Split Window: Update styles when the filetype changes
  • Split Window: Enable code folding
  • Split Window: Fix issues on Windows
  • Class Builder: Improve dialog UI using a table
  • Export: Add option to insert line numbers (#3197150).
  • Documentation:
  • Add 'Reading styles from another filetype' subsection
  • 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()
  • 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

New in Geany 0.20 (Feb 16, 2011)

  • Fixes:
  • Improve compatibility with GVFS using GIO to save documents
  • 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
  • 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
  • Waf: Check for libsocket on OpenSolaris to fix build
  • Interface:
  • Color build command fields light grey unless overridden
  • Replace /home/user with ~ in the documents list
  • Display 'new instance' on title bar for 2nd instances
  • 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
  • Show mimetype icon in sidebar Documents list and notebook popup menu
  • Documents:
  • Ensure inserted templates always have proper line ending characters according to the current document's preference
  • Add per-document indent width setting
  • Add 'Project->Apply Default Indentation' menu command to override every document's indentation settings
  • Display better error messages when saving a document fails
  • Don't prompt for reloading if the document has not been edited
  • Add Close button to the detected file changed dialog
  • Editor:
  • Fix wrong snippet indentation when original cursor line has non-indentation whitespace
  • 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 tag completion with a 'table' snippet
  • Auto-indent after an HTML/XML line without a closing tag
  • Respect 'Smart' home key pref for Shift[+Alt]+Home
  • 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
  • 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
  • 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 (Jirí Techet)
  • Add macro foreach_range()
  • Add GeanyMainWidgets::message_window_notebook (#3061342)
  • Add main_widgets.project_menu (Jirí Techet)
  • Add msgwin_set_messages_dir() (Jirí 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

New in Geany 0.19.2 (Dec 2, 2010)

  • Fixes:
  • Fix not always reporting an error message when saving a document
  • fails.

New in Geany 0.19.1 (Aug 26, 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.

New in Geany 0.19 (Jun 13, 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 '+' and '-' 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.

New in Geany 0.18.1 (Mar 25, 2010)

  • Build fixes:
  • Define G_GNUC_WARN_UNUSED_RESULT to fix build on GLib 2.8.
  • Use AC_PATH_PROG instead of 'which' for portability
  • Incompatibilities:
  • Remove filetypes.common invert_all option - use 'Invert syntax highlighting colors' pref instead (fixes #2854525).
  • Bug fixes:
  • Fix 'Open Selected File' for unsaved new documents.
  • Fix updating main menu accelerators after changing keybindings
  • Fix using 'Insert date' keybinding when a custom date string has not been set.
  • Set the cursor color for the split window plugin.
  • Remove plugin from plugin manager dialog on unloading if it no longer exists or is incompatible.
  • Fix 'Reflow block' command when at the last paragraph and there's no last newline
  • Fix opening filenames beginning with two dots (closes #2858487).
  • Show Find in Files stderr output in messages window instead of debug window so that invalid regex messages can be seen easily.
  • Speed up sorting in utils_get_file_list(). This reduces the file browser delay on displaying a big directory, e.g. /usr/bin.
  • Fix a bug with not w3c compatible HTML code on export plugin
  • Fix non-working Home and End keys on numpads.
  • Fix loading of files on network resources on Windows.
  • Fix wrong alignment of printed pages when page headers are disabled (closes #2856822).
  • Improvements:
  • Extend auto_latex() function to check whether an environment has been closed within the next lines to avoid auto adding double \end{}.
  • Replace some icons which could cause licensing problems by icons from the Rodent icon theme.
  • Filetype fixes:
  • Parse contents of D extern{} and version{} blocks.
  • Fix creating D interface tags properly.
  • Parse D functions with contracts (fixes #1885480).
  • Parse D alias statement like typedef.
  • Improve parsing of LaTeX, PHP and Python files.
  • Documentation:
  • Add 'Scope autocompletion' section.
  • Add 'Tools menu items' section to explain configuration files submenu, reload configuration item.
  • Minor updates/fixes.
  • API:
  • Add gcc commands to build a plugin to the HowTo.
  • HACKING file:
  • Add section 'Plugin API/ABI design'.
  • Add 'Compiler options & warnings' section.
  • Update Style section to be clearer about code alignment and show some example code.
  • Add 'Doc-comments' plugin API subsection.
  • Internationalisation:
  • Added translations: gl

New in Geany 0.18 (Oct 7, 2009)

  • Implement a graphical toolbar editor.
  • Add 'Replace' toolbar button
  • Implement Most-Recently-Used document switching when pressing 'Switch to last used document' keybinding (Ctrl-Tab).
  • Add 'Reflow lines/block' keybinding, (Ctrl-J).
  • Support 'tab indents, space aligns' style when indenting.
  • Add 'Autocomplete all words in document' pref; also used when forcing autocompletion and there's no symbol names to show.
  • Reload color schemes via Tools menu.
  • Implement named styles support for filetypes.
  • using a filetypes.common [named_styles] section; used as "style=named_style,bold". (See the manual for details).
  • Allow indentation of wrapped lines (see style 'line_wrap_indent').
  • Add Markdown filetype.
  • Minor improvements for filetypes: Fortran, Haxe, HTML, Lua, Matlab, Pascal, Python, Tcl
  • Added translations: lb, sl, pt_PT
  • Updated translations: ca, cs, de, en_GB, fi, fr, ja, pt_BR, ru, tr

New in Geany 0.16 (Feb 27, 2009)

  • Bug fixes:
  • Fix indenting for Tabs & Spaces mode when inserting snippets.
  • Fix snippets and smart indent using too much indentation when the line contains whitespace after non-whitespace characters (#2215044).
  • Fix segfault when showing Find in Files dialog when no documents are open (#2228544).
  • Fix not switching to 2nd last used document when the last used document has been closed (#1945162).
  • General:
  • Group child tags by their parents in the symbol list for C-like filetypes, Python, Conf (thanks to Conrad Steenberg).
  • Use a tree for the Documents sidebar, grouped by path.
  • Add 'Tools->Configuration Files' menu with items to open filetype_extensions.conf and ignore.tags. These files are also reloaded automatically when saved.
  • Change configuration directory path to $XDG_CONFIG_HOME/geany (most often this is ~/.config/geany).
  • Allow to specify files on the command line and from remote instances to be URIs (local and with GIO also remote URIs).
  • Increase minimum required GTK version to 2.8.
  • Prefs:
  • Add Project Indentation prefs, which override the Editor
  • Preferences dialog options. For new projects, these default to the editor indent prefs.
  • Add an interface pref for whether to hide additional widgets when double-clicking on document notebook tabs (off by default).
  • Add a preference to invert all colours for syntax highlighting.
  • Add a hidden preference "allow_always_save" to make the Save buttons and menu items always sensitive.
  • Interface:
  • Rework the toolbar: now all elements can be added/removed/reordered using a simple XML file.
  • Add new toolbar buttons for Cut, Copy, Paste, Delete, Preferences,
  • Close All and Build (including a submenu for Make actions).
  • Add a progressbar widget to the statusbar to show progress for time consuming actions.
  • Editor:
  • Make Ctrl-click go to matching brace if there's no current word.
  • Make Shift+Mouse wheel scroll the editor view horizontally.
  • Make the 'Mark' button for Find highlight the results with rounded boxes instead of marking the whole line.
  • Add auto-closing of braces, brackets and quotes (Guillaume de Rorthais).
  • Support multiple %cursor% wildcards in Snippets (Thomas Martitz).
  • Filetypes:
  • Add new filetypes Ada, CMake, Matlab, NSIS, Vala and YAML.
  • Update HTML character entities (thanks to Tyler D'Agosta).
  • Parse restructuredText sections in the order of first-used underline character, which can now be any punctuation character (as per the spec).
  • Remove GTK global tags, replace them with C (C99) tags. The GTK tags file is still available for download on the website.
  • Minor improvements for filetypes CSS, Fortran, FreeBasic, HTML, Tcl and Vala.
  • Windows:
  • Improve tab close icon size.
  • Changes to the Windows installer:
  • The full installer now includes the GTK 2.14 runtime environment.
  • Register ".geany" as Geany Project File extension.
  • Install GTK translation files only if installation of translation files were requested (saves about 22 MB otherwise).
  • Support silent installations.
  • Plugins:
  • Add Split Window 'Split Vertically' command (thanks to Moritz Barsnick).
  • Make Version Diff plugin set the indent type for diffs based on the current file's indent type.
  • Minor improvements to the filebrowser plugin
  • Plugin API:
  • Generate plugin API header geanyfunctions.h containing macros to avoid having to type the function pointer names manually.
  • Deprecate pluginmacros.h in favour of geanyfunctions.h.
  • Add "editor-notify" to the plugin API.
  • Add new plugin symbol plugin_help() which is called by Geany when the plugin should show its documentation (if any, symbol is optional).
  • Documentation:
  • Update Scintilla regular expression info for v1.77 (character classes, ASCII escaping, character sets containing square brackets peculiarities). Adapted from SciTE doc.
  • Internationalisation:
  • Updated translations: bg, ca, cs, de, en_GB, fr, hu, it, ja, pt_BR, sv, ru, tr, vi, zh_CN

New in Geany 0.11 (May 22, 2007)

  • Tab is now used for construct completion (for, if, etc.), but it is configurable with the new 'Complete construct' keybinding.
  • Template files are now stored in ~/.geany/templates/ and the 'template.' filename prefix is no longer used. You will need to move any custom template files you have.
  • Inserting a file header is now optional for filetype templates. Use the string '{fileheader}' to mark where the file header should be placed.
  • Drag'n'Drop of text inside the editor widget will now move the text instead of copying it.
  • Fix segfault when pressing Ctrl-Enter when there are no workspace tags.
  • Remove error indicators in all documents when linking (#1705374).
  • Sort symbol list tags also by line number (#1703575).
  • Fix #1717418, Hang on SQL file load.
  • Fix #1718532 - Crash when opening a special HTML file.
  • Add workaround for PHP closing brace de-indenting.
  • Fix reloading of read-only documents.
  • Add keybinding to show project properties dialog.
  • Add project Run command support.
  • Run Make All and Make Custom from the project base directory.
  • Update C global tags for GTK 2.10 and it's dependencies.
  • Add option --generate-tags (-g) to generate a global tags file from a list of source files (see docs).
  • Load global tag files stored in ~/.geany/tags at startup #.
  • Add Load Tags command in the File menu #.This is not supported for Pascal, PHP or LaTeX files yet.
  • Show up and down arrows when there are multiple calltip matches.
  • Show classname in calltips.
  • Parse pointers in function return type.
  • Add calltip support for D constructors.
  • Parse 'Entering directory' Make messages so opening files from error messages works for subdirectories (thanks to Josef Whiter).
  • Make Go to Tag Definition/Declaration work for all tags.
  • Support filetype templates for all filetypes (see docs).
  • Make file header optional for filetype templates.
  • Add 'Find Selected' and 'Find Prev Selected' search commands and keybindings (thanks to Jeff Pohlmeyer).
  • Add Mark button to the Find dialog, and a Remove Markers item to the Document menu.
  • Add 'Recurse in subfolders' and 'Extra options' checkboxes to the Find in Files dialog.
  • Add 'Switch to last used document' keybinding (Ctrl-Tab).
  • Add Goto Previous/Next Marker keybindings (Ctrl-, and Ctrl-.).
  • Add Toggle Marker keybinding (Ctrl-M).
  • Add keybinding for construct completion, and set the default to Tab.
  • Add MimeType associatiations for: C header, Pascal, Perl, Python, httpd-PHP and XML files (thanks to I�aki Rodriguez).
  • Add brace indenting support for Perl and TCL.
  • Make backspace unindent when using spaces for indentation.
  • Wrap notebook pages when switching tabs.
  • Speed up loading multiple C-like files slightly.
  • New filetypes: JavaScript, Lua and Haskell.
  • Set several widget names to allow users to define custom styles in .gtkrc-2.0.
  • Add context actions to run custom commands on current selection or the current word below cursor.
  • Add different auto indention modes.
  • Improve replacing in rectangle selections.
  • Add custom commands to send selected text through some definable commands and replace the selection with the output.
  • Add command line option --column to allow setting the initial column for the first opened file on command line.
  • Improve the auto scrolling of documents.
  • Improve loading of the VTE library.
  • Add an option for using spaces or tabulators when inserting some whitespace.
  • Add an option to disable Drag'n'Drop in the editor widget.
  • Add Project Management, Global Tags, Construct Completion sections.
  • Add Bookmarks section (thanks to John Gabriele).
  • Update Filetype Templates, Search sections.
  • New translations: bg.
  • Updated translations: ca, cs, de, es, fr, it, zh_CN.