Geany Versions Save

A fast and lightweight IDE

1.31.0

6 years ago

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).

1.30.1

7 years ago

Editor

  • Fix auto-completion and calltip popup position on multi-monitor setups (Issue#1422).

Internationalization

  • Updated translations: ca, de, el, es, sk

1.30.0

7 years ago

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 translations: de, 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).

OSX

1.29.0

7 years ago

General

Bug fixes

Editor

  • Update Scintilla to version 3.7.0 (Issue#1143).
  • Add support for keeping the cursor a number of lines from the edges to always show some context (PR#1154, Issue#1152).
  • Allow to configure keybinding for "Delete to beginning of line" (Abel Serrano Juste, PR#1134).
  • Performance improvements with many duplicate symbols (Jiří Techet, PR#797, Issue#577).
  • Allow to configure the error indicator color (PR#1185).

Filetypes

  • Fix highlighting of Haxe preprocessor (Issue#936).
  • Add .exp extension to TCL (Simon Marchi, PR#979).

Internationalization

  • Updated translations: ca, de, el, es, fr, id, it, kk, nl pt, pt_BR, sv, zh_CN,

API

  • Update GeanyProxyProbeResults API (PR#1213).
  • 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() (PR#1203).
  • Add "project-before-close" signal (PR#1223).

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

1.28.0

7 years ago

General

  • Improve support for GTK 3.20.
  • System filetype files and system tags files are now in sub-directories filedefs/ and tags/ respectively (Jiří Techet, PR#485).

Bug fixes

Editor

  • Update Scintilla to version 3.6.6.
  • Improve Goto Symbol popup contents (Jiří Techet, PR#958).

Filetypes

  • Treat .h headers as C++ by default (Jiří Techet, PR#857).
  • Various improvements to the Ruby parser (Issue#587).
  • Fix Haskell single line comments (Alexander, PR#1029).
  • Update Java keywords (Yan Pashkovsky, PR#1024).
  • Fix handling of curly brackets in Make (Masatake Yamato).
  • Add ECMAScript 6 keywords (Chris Mayo, PR#980).
  • Slight improvement to the Java file template (Philipp Wiesemann, PR#1073).
  • Add missing last-child CSS pseudo-class (Issue#1102).

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 (Thomas Martitz, PR#1093).

Plugins

  • Class builder: use .hpp extension for C++ headers by default (Yan Pashkovsky, PR#999).

Windows

  • Show an error if an URI cannot be opened (PR#1079).

OSX

  • Fix refreshing the keybindings displayed in the menus (Jiří Techet, PR#973).

1.27.0

8 years ago

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, PR#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).

1.26.0

8 years ago

General

  • New plugin API (Thomas Martitz, PR#469).
  • Add support for "proxy" plugins (Thomas Martitz, PR#629).

Bug fixes

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).

1.25.0

8 years ago

General

  • GTK3 support, while not enabled by default, is now considered stable.
  • Improve MacOS X support (PR#396, PR#419, PR#420, Jiří Techet).
  • Improve subprocess spawning (especially on Windows) (PR#441, Dimitar Zhekov).
  • Huge tag management performance improvement (auto-completion, calltips, etc.) (PR#356, Jiří Techet).
  • Remove broken "Show macro list" keybinding and feature (PR#378).
  • Add %l substitution to build commands (PR#289, Martin Spacek).
  • 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 (#1062).
  • 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 (PR#431, Jiří Techet).
  • Fix goto tag in some cases when the same symbol name appears in different languages (PR#487, Jiří Techet).
  • Fix UI updating after loading a project.
  • Fix the currently selected document after Save All.
  • Fix leftovers in the Project dialog in some cases (PR#363, Jiří Techet).
  • Fix function return type in symbol list tooltips in some cases (PR#475, Jiří Techet).
  • Fix VTE path following on startup.

Interface

  • Show document-related dialogs embedded in the main window ("info bars") (PR#277, Matthew Brush and Thomas Martitz).
  • Plugin manager dialog cleanup and overhaul (PR#251, PR#414).
  • Filetypes can now define the MIME type used to select their icon (PR#179).
  • Close documents in the sidebar with middle mouse button (PR#172, Pavel Roschin).
  • Ask whether to replace project files when creating a project.
  • Ask whether to adopt the open documents when creating a new project (PR#315).
  • Allow to disable the list of recent files.
  • Fix many shadow inconsistencies (PR#411, Jiří Techet).
  • Add virtual column and selected chars to the statusbar (Patch #10, Dimitar Zhekov).
  • Add "dirty" terminal indication (PR#476, Jiří Techet).
  • Allow to select the None filetype in the Open File dialog (Issue#483).
  • Add configuration menu entries for all filetypes (PR#491, Jiří Techet).

Editor

  • Update Scintilla to version 3.5.6 (#1041).
  • Do not comment out blank lines when toggling comments (PR#79, Igor Shaula).
  • Improve handling of Verilog strings and comments.
  • Support for keeping undo history when reloading files (PR#188, Arthur Rosenstein). This is not enabled by default in this release.
  • Respect filetype.common's wordchars if a filetype doesn't have its own (Issue#492, PR#501).
  • Add support for single-line regular expressions (PR#310).
  • Default action is now "Replace & Find" in the replace dialog but can be configured (Roland Pallai).
  • Activate default action from all fields in the Find in Files dialog (#959).

Filetypes

  • Add JSON filetype.
  • Add Zephir filetype.
  • Add CoffeScript filetype (PR#230, Mark Dresselhaus).
  • Add Go tags parser (PR#373, PR#481, Issue#238, Jiří Techet).
  • Add Erlang tags parser (PR#445, Beng Tan).
  • 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 (PR#306, SiegeLord).
  • Highlight C types in C++.
  • Add some missing C11 keywords.
  • Add some missing SQL keywords.
  • Fix and add some CSS keywords (PR#333, Hannes Heute).
  • Fix some FreeBasic keywords (#691).
  • Add some missing D keywords (PR#293, Danyal Zia).
  • Fix R keywords and wordchars (PR#273, landroni).
  • Fix styling of some CSS elements.
  • Fix styling of Lua preprocessor.
  • Fix style of PHP variables interpolation.
  • Recognize .vbs files as FreeBasic (PR#171, Nicolas Karolak).
  • Recognize .tpl files as HTML.
  • Recognize .xtpl files as XML.
  • Recognize .xpm files as C.
  • Recognize more Bash files (PR#291, Peter Bittner).
  • 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 (PR#544).

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 (PR#455, Jiří Techet).
  • Save Actions: use mode 0600 for backup copies (#833, PR#413).
  • Split Window: Fix a few keybindings (cut, copy, paste, delete, select all) (PR#467, Alex).

API

  • Hide private API (PR#351, Jiří Techet, and PR#429, Matthew Brush and Thomas Martitz).
  • 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() (PR#441, Dimitar Zhekov).
  • 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() (PR#361, Jiří Techet).
  • Add keybindings_get_modifiers() and GEANY_PRIMARY_MOD_MASK (Jiří Techet).
  • 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 (PR#113, Adam Coyne).
  • 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 (PR#540, Thomas Martitz).

1.23.0

9 years ago

General

Bug fixes

  • Fix too aggressive scope caching (#2142789, #2667917, #2868850).
  • 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 (#3509407, #3605293).
  • Fix crash when loading a broken or incompatible VTE library.
  • Report scope including classes, namespaces and alike (#1996778).
  • Fix cancelling Project Close when showing the unsaved changes dialog.
  • Only use allow_always_save setting for direct user interaction (Quentin Glidic).
  • Fix some keybinding not getting properly displayed in the menus after being updated (#1912683, #3599251).
  • 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 (#3566329, #3515490).

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 (#3587465).
  • Grab focus in the embedded terminal upon middle click (#3574724).
  • Add support for embedded terminal background image (Mislav Blažević).

Editor

  • Update Scintilla to version 3.2.3 (#2808638, #2909124, #3094431, #3233160, #3540469).
  • 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 (#3026691).
  • Keep caret and anchor position upon indent and unindent (#3167355).
  • Complete on dash (-) too in CSS documents.
  • Make wordchars have precedence over whitespacechars (#3429368).
  • Fix cursor position after comment toggling with no selection (#3576431).
  • 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 (Evandro Borracini).
  • Fix comment toggling inside PHP and HTML with bottom-up selection.
  • "Mark All" now also uses the fully-featured PCRE engine (#3564132).
  • 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" (#3182425).
  • Allow to change the keybinding for "Quit".

Filetypes

  • Parse ! char in D parameter lists.
  • Fix parsing of Haskell comments inside a type (#3552129).
  • Fix Cython auto indentation.
  • Add more keywords to Forth (Oco).
  • Add some missing Haxe keywords (#3448664).
  • Add some missing CSS3 keywords (Trong Thanh Tran).
  • Add some missing D keywords (#3595187, Felix Totir).
  • Fix a crash parsing some C macros (#3556536).
  • Update some Python keywords.
  • Update Python global tags file.
  • Show VHDL blocks in the symbol list.
  • Fix ruby scope after "do" (#3046418).
  • Fix parsing of ruby keywords when followed by a semicolon (#2130612).
  • Lots of JavaScript symbols parsing improvements (#2992393, #3034303, #3034339, #3036476, #3398636, #3470609, #3568542, #3570192, #3571233).
  • Use "scala" extension for Scala (#3574723).
  • Fix parsing of reStructuredText titles containing UTF-8 characters (#3578050).
  • Parse C++11 final classes (#3577559).
  • Parse C++11 enums with type specifier and classed enums (#3578557).
  • Fix highlighting of C++11 raw strings (#3578557).
  • Fix parsing of colons in D (#3577788).
  • Fix parsing of D 'static assert' (#3582833).
  • Parse scope for D nested template blocks (#3582833).
  • Ignore D angle brackets.
  • Fix reStructuredText comment marker (#3585377).
  • Add Asciidoc filetype.
  • Fix parsing of Python keywords followed by a tab (\t).
  • Add more HTML5 self-closing tags (Duncan de Wet).
  • Update default D template to use a more standard prototype for main().
  • Fix improperly translated string in Pascal template (#3602314).
  • Add Go language filetype (tomboy64).

Plugins

  • Export: Fix missing linking on libm (Chow Loong Jin)
  • File Browser: Backspace now moves to parent directory.

API

  • Fix plugin_add_toolbar_item() insertion order (#3522755, Dimitar Zhekov).

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 (#3560181).

1.23.1

9 years ago

Bug fixes

  • Fix custom styles under KDE and for people using gtk-chtheme (corrects tab coloring, #3607935).
  • Fix broken opening files from command line on Windows (#3613096).