Geany 0.14 (April 19, 2008) General: * Don't beep when using Replace All in Session unless all open files have no replacements (fixes #1893796). * Only use filetype detection after Save As, not on every save when the filetype is None (fixes #1891778). * Make Go to Tag commands look for the tag in the current document before searching the workspace. * Check file on disk for changes also when pressing a key. * Ignore documents with no absolute path when saving session files. * Fix segfault with Run command when a project is open and the current file's filetype has no run command. * Make Next Error and Next Message commands add positions to the navigation queue, so the user can move backwards through the list items and return to where they were. * Make pressing escape in the sidebar focus the editor. * Make navigation queue position based to restore the line and column when returning to a previous position (closes #1936927). * Save sorting order of the symbol list when saving a file (fixes #1917262). * Improve "Send Selection To" code (fixes #1909452). * Install header files and add a pkg-config file for external plugins. * Use monospace font for text entry fields in search dialogs (#1907117). * Don't open zero byte sized files read-only (e.g. files in /proc). Filetypes: * Improve Makefile parser to detect targets. * Update PHP tags file to latest PHP API docs (closes #1888691). * Add translucency settings to filetypes.common for semi-transparency. * Add HTML parser to get h1, h2, h3 symbols as well as link anchors and JavaScript functions (fixes #1896068). * Update Javascript, TCL and Assembler parser. Interface: * When closing a tab when using left-to-right tabs, focus the next document, not the previous. * Move Load Tags item from File to Tools menu. Editor: * Don't scroll the editor view if it is unnecessary when using Find Next/Previous, Find Selected, incremental search, Go to Marker or Go to Matching Brace commands. * Fix bug with showing macro list items all on one line. * Fix Python auto-indentation when line endings are set to CR/LF. * Unfold hidden code when the fold point modified (fixes #1923350). * Update Scintilla to version 1.76. * Add (basic) column mode editing (patch by "chuck"). Windows: * Replace untitled file header filename after Save As and add to recent files on Windows too. * Resolve Windows shortcuts when opening files. * Fix modal dialog problems on Windows by not setting taskbar hint (closes #1916994). * Add new process spawning implementation. This makes the VCdiff plugin to work on Windows (patch by Pierre Joye, thanks). * Fix crash on Windows when a project could not be opened. Plugins: * Add configurable plugin keybindings support. * Add a HTML Characters keybinding to show the dialog. * Add File Browser keybindings to focus the Path Entry and File List * Rename VCDiff plugin Version Diff. * When quitting, remember plugin filenames that couldn't be loaded at startup as well as active plugins. Plugin API: * Add PLUGIN_KEY_GROUP and keybindings_set_item() to setup a keybinding group. * keybindings_send_command() arguments have changed because of keybinding groups - this breaks the API for plugins already using it. * Make VERSION_CHECK deprecated in favour of PLUGIN_VERSION_CHECK. Documentation: * Add descriptions for several options in the preferences dialog (patch from Robert McGinley). Internationalisation: * New translations: ro. * Updated translations: bg, de, en_GB, es, fr, hu, it, ja, pt_BR, ru. Geany 0.13 (February 05, 2008) General: * Improve configure script and fix some compatibility issues. * Add support for project session files. * Add native GTK printing support (only with GTK 2.10+). * Prevent execution of commands by Geany if the VTE may contain any text on the prompt (thanks to "Jeff Pohlmeyer for reporting). * Store more document-related settings when saving session in the configuration file (including the file encoding). * Detect in-file specified file encoding by scanning the file using regular expressions. * Add binary relocation support. Filetypes: * Add configurable default file extension setting for filetype definition files. * Fix reST autocompletion. Tags: * Show arrays and modifiers like const in calltip return types for C-like files. * Update C global tags file for GTK+ 2.12. * Fix parsing the correct D class name when inheriting, D constructor tags and ignore D import statements. * Remove unnecessary tagmanager status file. * Improve PHP, Ruby and FreeBasic parsers. Interface: * Add 'Indent Type' option in the Document menu. * Add 'Detect from file' Editor indentation pref. * Show TAB or SP for current document's indent type. * Add a 'Newline strips trailing spaces' pref (thanks to Catalin Marinas). * Add 'Strip Trailing Spaces' document menu item. * Add combo box input history for 'Make Custom Target' dialog. * Make Open, Save As dialogs start in project base path (or default path pref) when the current file has no filename. * Add 'Make in base path' project file preference. * Make 'Open Selected File' first try the current file's directory, falling back to the project base path if no file was found. * Fix broken window maximization. * Improve appearance of used treeviews and use rules hints to respect user colour settings. Editor: * Fix hidden lines after deleting a line that is a collapsed fold point. * Make Fold All/Unfold All attempt to scroll the current line in view. * Show line wrap symbol at start of line for wrapped lines. * Allow scrolling past end of document, so the user can append text with the last lines drawn at the top of the view. * Rename "Construct autocompletion" to "Snippets". * Improve usage of "Unfold all children" option. * Update Scintilla to version 1.75. Keybindings: * Add configurable keybindings for Cut, Copy and Paste. * Ask the user whether to override an existing keybinding when setting a combination that is already in use. * Add 'Override Geany keybindings' VTE prefs dialog option (replaces hidden pref), which makes the VTE interpret all keyboard shortcuts except focus group keybindings. Plugins: * Add File Browser sidebar plugin. * Add Version Control Diff plugin (VC Diff), which supports SVN, CVS and GIT (thanks to Yura Siamashka). * Add plugin manager dialog to select plugins to load at startup and to call a plugin configure dialog. * Add new signals: project_open, project_save, project_close. * Add Auto Save plugin. Plugin API: * Add keybindings_send_command() and some other functions. * Add pluginmacros.h to define common macros for app, p_utils, etc. * Add more documentation/comments to demoplugin.c. * Add configure symbol for plugins which is called by Geany when a configure dialog for the plugin is requested, optionally. * Add author field to plugin info struct. Windows: * Enable build support. * Prevent prefs dialog being hidden after using the prefs file dialog. * Create Geany's configuration directory in user's appdata path instead of the default home directory. Documentation: * Show default shortcuts in Keybindings section. * Update Project section for project-based session support. * Add Indentation subsection under Editor section. * HACKING: Update 'Adding a filetype' section. Internationalisation: * New translations: ja, uk, el. * Updated translations: ca, de, en_GB, fr, it, pt_BR, hu, sv, vi. Geany 0.12 (October 10, 2007) Bugs fixed: * Fixed opening the same file twice from the message window/command-line. * Fixed Ctrl-Shift keybindings not working when caps lock is on. * Fixed saving the wrong document when using Save All with unnamed documents. * Fixed replacing with '^' or '$' regex chars. * Fixed hang with Find All/Find Usage with '^' or '$' regex chars. * Fixed hang when replacing all '[ ]*' regex matches (closes #1757748). * Fixed displaying error indicators with Make after entering a subdirectory. * Fixed a possible segfault when parsing tags (a vString bug). * Fixed clipboard problems with some applications. * Fixed crash when trying to open the Save As dialog on Windows. * Fixed crash when saving a file after setting encoding "None". * Fixed scrolling bugs when searching text and the cursor is outside of the current visible area. Filetypes: * Added reStructuredText filetype and parser. * Added Haskell tags support (thanks to Peter Strand). * Added decorator styling for Python. * Parse Python global variables and class variables. * Added support for Java Apache Ant compiler error messages (thanks to Jon Senior). * Added new filetypes CSharp and FreeBasic. * Added filetype Haxe (patch by blackdog, thank you). Plugins: * Added basic plugin support (developers: see the HACKING file). * Added 'Enable plugin support' preference and -p, --no-plugins options. * Added Class Builder plugin (thanks to Alexander Rodin). * Added Export plugin to export current file as HTML or LaTeX. Keyboard shorcuts: * Common bash Ctrl-[a-z] keyboard shortcuts now work when the VTE is focused, and there is an 'enable_bash_keys' hidden preference. * Added 'Move document left' and 'Move document right' keybindings. * Added Find keybinding. * Made fixed keybindings overridable. * Added fixed keybindings for switching to leftmost/rightmost document, Ctrl-Shift-{PageUp,PageDown}. * Change Previous/Next Paragraph fixed commands to Ctrl-{Up,Down}; adding Shift extends selection by paragraph. (Scroll by line is now Alt-{Up,Down}). * Made pressing escape focus the editor when using incremental search or Goto Line toolbar fields. * Added keybinding for select current paragraph. * Added keybindings for smart indent and indent/deindent by one space. * Removed convert to lower-/upper-case keybindings. * Added toggle case keybinding and change shortcut to Ctrl-Alt-U. General: * Added preference for 'smart' home key behaviour (thanks to Jeff Pohlmeyer). * Added symbol list icons (thanks to Jean-François Wauthy, and KDevelop for the icons). * Added 'Current chars' indentation mode (closes #1726880). * Save and restore the current notebook page when quitting. * Added support for %e, %f in project run command. * Ignore punctuation chars when moving by word, and use word end boundaries when moving by word to the right (like most GTK+ widgets). * Added hidden editor preference 'use_gtk_word_boundaries'. * Added auto_complete_whilst_editing hidden preference. * Speed up Save All for C-like files. * Don't show file opened/saved/closed messages on the status bar. * Added --no-preprocessing, -P option when generating tags files to disable preprocessing of C/C++ source files. * Added default startup directory option (closes #1704988). * Use current locale as default encoding for new files. * Added simple code navigation (thanks to Dave Moore). * Re-maximize the main window on startup when closed in maximized state (closes #1730369). * Added auto focus (to auto focus widgets below mouse cursor). * Complete rewrite of auto completion to make it user-definable and much more flexible (please read documentation). * Added option to set a default encoding when opening files and disable auto detection of the file encoding. * Improved comment toggling by adding an additional character to mark. * Changed the background colour of the search bar in the toolbar according to the search result. * Use intltool to make geany.desktop translatable * Replace Geany's icon by a new one by Sebastian Kraft (thanks). (Thanks also to Christoph Berg for updating the icon code). Docs: * Changed documentation generation tools from DocBook to reST (thanks to John Gabriele for his great work on this). * Added Plugins section. * Added 'Inserting unicode characters' Editing section (thanks to John Gabriele). * Added 'Hidden preferences' appendix. * Added 'Switching documents' keybindings section. HACKING: * Added notes on adding a filetype. Internationalisation: * New translations: en_GB. * Updated translations: ca, cs, de, es, fi, fr, hu, it, pl, pt_BR, zh_CN. Geany 0.11 (May 21, 2007) Notes for existing users: * 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. Bugs fixed: * 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. Project Management: * Add keybinding to show project properties dialog. * Add project Run command support. * Run Make All and Make Custom from the project base directory. Custom Global Tags: * 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. Calltips (for C-like files): * 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. Other changes: * 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. Documentation: * Add Project Management, Global Tags, Construct Completion sections. * Add Bookmarks section (thanks to John Gabriele). * Update Filetype Templates, Search sections. Internationalisation: * New translations: bg. * Updated translations: ca, cs, de, es, fr, zh_CN. Geany 0.10.2 (February 25, 2007) Bugs fixed: * Fixed serious crash of complete X session when using the Stop command when Geany is run from the program menu (closes #1668017). Geany 0.10.1 (February 23, 2007) Bugs fixed: * Wrong tab foreground colour for unmodified documents. * Fixed crashes when closing dialogs by clicking X on some systems. * Fixed missing global tags for C files when a C++ source file was loaded first. * Fixed autocompletion missing tag matches. * Fixed a wrong PASCAL autocompletion. * Set single undo action when toggling multiple lines or stripping trailing spaces. * Prevent some possible invalid memory reads. * Convert config, application and documentation dir paths to locale encoding before using it. * Fixed errors when changing directories containing special characters within the VTE component (thanks to Jeff Pohlmeyer). * Support newer so-names when loading the VTE library (thanks to Jeff Pohlmeyer). * Fixed paste problems on Windows. * When using Save As the returned filename needs to be converted into UTF-8. * Fixed error when parsing of compiler errors by the va_list system. * Added MimeType entry as suggested by Nick Schermer. * LaTeX parser: Allow \section*{} and other commands with *. * Change default keybinding for Close All to Ctrl-Shift-W. * Allow Make for files with no extension - prevent Build when the output filename would be the same as the source file. * Ensure the VTE visual settings are applied when switching to VTE when the Message Window is hidden. * Fixed several issues while opening files and improved code. * Improved the auto scrolling of documents and fixed a bug when opening files remotely. * Fixed wrong D function return type after a class definition. * Added several missing style types for filetype Perl (thanks to John Gabriele for reporting). * Prevent right click in Symbol list from selecting a tag. * Update the symbol list when starting a new document. * Scroll Compiler and Messages window in view when using Next Error or Next Message. * Auto close brackets only when auto completion of constructs is enabled (closes #1665015). * Fixed switching to the wrong tab when showing the unsaved dialog. Internationalisation: * New translations: fi (thanks to Harri Koskinen). * Updated translations: cs, de, es, fr, hu. Geany 0.10 (December 21, 2006) Changes: * Added a dialog to insert HTML special characters. * Added new command line option --line to set the initial line for the first opened file. * Implemented new, own Undo system to undo/redo encoding changes. * Added simple parser for filetype Diff to create tags for each patched file in a diff file. * Added new encoding "None" to open files without any character conversions. * Added Stop button to abort the Run command. * New filetype VHDL. * New scintilla lexer for filetype D with several improvements. * Improved auto completion of multi line comments * Added option to execute programs in the VTE instead of executing them in a terminal emulation window * Removed the limit on the number of files open. * Save the build includes and arguments when quitting. * Added Next Message search command and Next Error build command. * Make search bar automatically wraparound if necessary. * Applied patch from Bob Doan to prevent unnecessary search scrolling and add a preference to suppress some of the search dialogs. * Added Find Previous, Find All in Document/Session buttons for the Find dialog. * Added Replace (but don't Find) button for the Replace dialog. * Added 'Hide Message Window' popup menu command. * Added Alt-[1-9] shortcuts to switch to a certain tab number. * Limit search dialog history to 30 entries. * Change python default compile command to create a compiled python .pyc file (thanks to Bajusz Tamás). Windows changes: * Fix #1611530 'file has changed' message on Windows after saving. * Fixed wrong paste behaviour under Windows with some applications. Bugs fixed: * Fixed crash when using "Make object" on new files. * Fixed incompatible use of read command in the created shell script to execute programs. * Fixed wrong insert position when the cursor was moved by keyboard and comments, includes or a date was inserted. * Fixed some segfaults when inserting comments, dates and includes at a position prior to some deleted text. * Fix message window horizontal scrollbar being too tall on some systems (thanks to Rob van der Linde). Internationalisation: * New translations: fr, hu, it, zh_CN, zh_TW. * Updated translations: be, ca, cs, de, es, vi. Geany 0.9 (September 29, 2006) Changes: * Added function calltips for files open in the current workspace for C-like languages. * Open a second instance by default when starting Geany with no filenames specified on the command-line. * Added better error message support for D, for both DMD and GDC; also GCC-style linker error messages are now parsed. * Text selections now use syntax highlighting foreground colours (but can still be overridden in filetypes.common). * Find in Files improvements: fixed string and whole word only matching options; a directory selector dialog; filenames passed to Grep are now sorted alphabetically. * Remember the VTE current directory at startup. * Show the messages window on build failure or for Find Usage. * Added -s command-line option to not load session files (-i is now used to force a new instance). * Added comment toggle functionality to easily comment and uncomment a line with one shortcut. * Separated filetypes PHP and HTML for better usage. * New filetypes: Diff, Fortran 77 and Ferite. * Added auto completion tags for PASCAL. * Improved VTE usage by adding options for selecting the used shell and ignoring menu bar accelerator (default F10). * Added menu items to insert configurable date/time strings. * Removed the whole FIFO code and replaced it with support for (Unix Domain) Sockets(including Windows support). Windows changes: * Implemented Run command (from the build menu) under Windows. * Enabled socket code on Windows to detect a running instance. * Enabled notification if file on disk has changed under Windows. Bugs fixed: * Fixed a segfault at startup if terminal follow path setting is enabled. * Fixed clicking on error messages being dependent on the current file's directory. * Fixed a bug when clicking on a recent file got the wrong filename. * Fixed a crash when a compiler output reports an error in a blank line(can happen in LaTeX) * Fixed a crash when switching between several filetypes. * Fixed segfault when replacing tabs by spaces. Internationalisation: * New translations: cs, nl, vi. * Updated translations: de, es. Geany 0.8 (August 09, 2006) Changes: * Find in files feature added which uses the Grep tool. * Added Make object command to compile using the Make tool. * Editor notebook tabs can now be reordered by drag and drop. * Added support for back references when using regex replace. * Added a Find button to the Replace dialog to skip matches. * Greatly improved the speed of Replace all/in selection. * Scroll to 1/4 of the view when jumping to a line number. * Show messages on the status bar and in the Status window. * Preferences options for Auto-indentation and Line wrapping. * Use the mouse click position for Go to tag. * Added separate filetype_extensions.conf system file. * Added makefiles for building on Windows. * Added keyboard shortcuts for increase/decrease of line indentation. * Added functionality to uncomment code. * Encoding support * Added support for Unicode Byte-Order-Mark (BOM) * Redesigned preferences dialog. * Added Undo and Redo toolbar buttons. * New filetype: D * Added simple printing support. * Mark errors while compiling source code within Geany with indicators(small squiggly underlines) Bugs fixed: * Use the full path for files opened from the command-line. * Fixed saving a file from the unsaved file dialog. * Fixed replacing with regexes the correct matched text length. * Fixed applying virtual terminal widget settings at startup. * Fixed prepending items to the Recent files menu. * Fixed clipboard commands used in the find entry and Scribble. * Fixed wrong interpretation of syntax highlighting colours * And some more. Windows bugs fixed: * Don't add .c extension when saving with the All files filter. * Fixed a tool chooser dialog crash when path doesn't exist. * Fixed locale problems with Windows message dialogs. Internationalisation: * New translations: be, es, pt_BR, ru. * Updated translations: ca, de, pl. Documentation: * Added Scintilla keyboard commands for editing appendix. * Improved search section; added all find and go to commands. * Added section about character sets. Geany 0.7 (June 04, 2006) * user-definable keyboard shortcuts * filetype definition files can be overridden in Geany's configuration directory (please see documentation) * added filetypes Ruby and Tcl/Tk * improved build system (for Perl, Python, Ruby and others) * loading of Virtual Terminal Emulation can be disabled in the preferences dialog * new menu item "Search" with Find items from Edit menu and new item "Find Previous" * fixed the bug which let Geany crash with newer GTK versions * improved documentation: added documentation for keyboard shortcuts, the build system and filetype definition files * new translations: Catalan and Polish * many small improvements * fixed lots of bugs (please see ChangeLog for details) Geany 0.6 (April 30, 2006) * added option to place new file tabs to the right or left of the tab list * improved file open dialog * improved scrolling of the compiler output window * rewrote most of the code for compiling files, now all settings are read from filetype definition files * now, you can drag files from a file manager into Geany and they will be opened * improved handling of filenames which contain non-UTF8 chars * added user-definable comment characters to all filetype definition files * implemented folding * added file properties dialog * improved search and find dialogs * Geany now creates a FIFO, to communicate between different instances for opening files in an already running instance * added filetypes SQL and (O)Caml * many small improvements * fixed lots of bugs, including #1419473, #1422135, #1421776 and #1441359 * for more details read the ChangeLog Geany 0.5 (January 27, 2006) * set the Open File dialog directory to the same directory as the current file (thanks to Nick Treleaven for this patch) * fixed some bugs when opening files with non UTF-8 filenames * updated included Scintilla to version 1.67 * improved auto indention, now "for (...) {" works, too * added popup menu to sidebar lists, to quickly hide them * symbol list support for filetypes LaTeX and DocBook * added .cc, .hh and .hxx extension for filetype C++ * added new keywords for PHP5 * added new option "Beep on errors" to disable beeping * eliminated compiler (gcc4) warnings * closed bug #1387828 and #1387839 * fixed lots of bugs (please see ChangeLog for details) Geany 0.4 (December 21, 2005) * new filetype: Assembler * new filetype: Conf for configuration files * added a terminal emulation widget, needs only libvte.so at runtime, but it also runs without it, see documentation * made some general improvements to increase startup speed * changed "build with make" keyboard shortcut to Shift+F9 to avoid problems with window managers key bindings * added auto-closing [ and { brackets in LaTex-Mode * improved documentation, but it is not yet complete * improved the symbol list to categorise the tags in a tree * some new options in the preferences dialog * added popup menu to the list of open files * there are lots of other small changes made since last release * some bugfixes (please see ChangeLog for details) Geany 0.3 (November 20, 2005) * Geany now has a mailing list, for details see http://geany.uvena.de * added open files list in the left treeview widget * added toolbar button to open the color chooser * heavily improved recent files menu * added shortcut for "walking" between open documents by pressing STRG+LEFT resp. STRG+RIGHT * created template files for new files with specified filetype * added highlighting support for Python (please give feedback) * extracted all hardcoded styling definitions for all filetypes so they can be easily edited * added vertical line to mark long lines * fixed a bug that caused a segfault if configuration directory could not created * fixed a bug which prevented auto-completion from working * many minor bugfixes (see ChangeLog for details) Geany 0.2 (October 26, 2005) * improved file open dialog * improved Find dialog * powerful Replace dialog * gcc4 compilation fix * minor bugfixes Geany 0.1 (October 19, 2005) * first official release