Release notes for MonoDevelop 0.15

MonoDevelop 0.15 has been released. MonoDevelop is a GNOME IDE primarily designed for C# and other .NET languages.

This release contains lots of improvements, new features and bug fixes. Read below.

Installing MonoDevelop

MonoDevelop Dependencies

Compiling the following order will yield the most favorable response.

  • Gtk# 2.8.0
  • Gtksourceview#-2.0 0.10
  • Monodoc 1.0
  • Gecko#-2.0 0.10
  • MonoDevelop 0.15 Source

You can download MonoDevelop 0.15 source from here. The Mono download site contains packages for everything for many popular distros. You can also check the mono redcarpet channel.

This release of MonoDevelop needs at least Mono 1.1.10 to run.

New Features

Configurable Key Bindings

New in this release of MonoDevelop is a configuration panel allowing users to bind custom keystrokes for commands in MonoDevelop. Built-in are both GNU/Emacs and VisualStudio.NET key-binding schemes, selectable via a drop-down menu in the configuration panel.

500px

(Jeff)

Output Pad Pinning

The output pad and the search results pad can now be “pinned”, which means that their contents won’t be overwritten when running a new operation. In this way it is possible to keep the output of several operations to compare results. (Lluis Sanchez)

Makefile Integration

The “Generate Makefiles” option now supports two types of makefiles: Autotools based makefiles (already available in previous versions), and a new simple makefile type.

Simple Makefiles don’t depend on Autotools, and it may be useful for projects which don’t need all features that Autotools provide, but still need to provide the most common targets such as build, install, dist and distcheck.

The Generate Makefiles command

In addition, the support for Makefile Integration (which allows synchronizing the a Makefile with a MonoDevelop project) has improved, and now is able to automatically guess which are the variables that contain the list of project files, references, and so on.

(Ankit Jain)

Standard Header

A new Standard Header manager allows specifying the header to use when creating new files. You can write your own header, or choose one of the default headers provided. This option is available in the MonoDevelop preferences dialog, in the Standard Header section.

The standard header editor

(Mike Krüger)

Localization add-in

The new localization add-in simplifies the work of generating and maintaining translations of projects.

The add-in provides a new type of project: a Translation Project. It can be added to a solution to provide localization support to all projects in the solution. Adding, compiling and updating the translations is done via the context menu of the translation project in the project browser. When running the Update command, all source files (incuding stetic guis) are scanned for GetString or GetPuralString calls, and all language files are updated. The user must only correctly initialize the translation catalog. The add-in also provides a simple .po file editor.

Beware: this add-in is not finished and should not be used in real projects. You should consider it as a “preview”.

A translation project and the .po file editor

This add-in was started by Rafael Teixeira, and continued by David Makovský and Mike Krüger.

Text editor improvements

There are some small but useful new features in the text editor:

  • Many basic editor operations have now been implemented as commands, and they can be assigned to user-defined shortcuts, thanks to the new key bindings manager. (Lluis Sanchez)
  • Editor windows now have a Maximized Mode, which can be toggled by double clicking on the editor tab. In Maximized mode, the editor takes all available space of the window. (Mike Krüger)
  • The editor tab has a new context menu, which useful options such as closing all other open documents, or copying the file name. (Mike Krüger)
250px

New features in the Gtk# designer

The Gtk# designer has several improvements:

  • Support for Gtk# 2.8 and 2.10 widgets, properties and events. Right now the designer only allows using widgets from the Gtk# version that is installed in the system, but it is planned to allow choosing different target Gtk# versions in following releases. (Lluis Sanchez)
  • Users can now easily select which widgets are shown in the toolbox. A new widget selector will show all available widgets (by scanning all registered assemblies). When dropping a widget to the disigner, a reference to the assembly implementing the widget will automatically be added to the project. (Lluis Sanchez)
  • New compact toolbox. The toolbox has a new compact view which can show more widgets in less space. (Mike Krüger)

The new widget selector

Other features

  • Assembly signing. It is now possible to specify assembly signing options in projects. (Mike Krüger).
  • The new Show Next/Previous commands allow browsing through the list of errors or search results using the keyboard (they are bound to F4/shift+F4 by default). (Lluis Sanchez)
  • The New Message Log pad shows internal log messages generated by MonoDevelop. (Lluis Sanchez)

Bug Fixes

Here is a list of bugs fixed in this release:

  • 56822 Multi-state Keybinding facility (Emacs?)
  • 76853 Toolbars might hide eachother
  • 76899 ‘Ctrl+Space’ key for CJK user is the default key to ‘Ctrl+Space’ key for CJK user is the default key to call Input method
  • 77366 wrong showing czech chars in Application output window
  • 79359 Keyboard shortcut to go to next task
  • 79393 “Files” sidebar starting point
  • 80078 Multiple keybindings/key-shortcuts for operations (CTRL+W and CTR+F4)
  • 80588 Autotools addin doesn’t support references to projects not in the direct parent
  • 81234 Configure script assumes MonoQuery incorrect
  • 81328 Autogenerating implementation
  • 81415 Subversion GUI UserPasswordDialog Accept (OK) after pressing Enter
  • 81485 Stetic missing filechooser button widget
  • 81534 Debug/Release activation is not restored properly after launch
  • 81541 MD sometimes crashes on opening project
  • 81794 Text editor tooltip color mapping
  • 81810 Sensitive turned off looks sensitive in designer
  • 81819 Text editor context menu does not display command shortcuts
  • 81821 Search in Files is missing a shortcut
  • 81827 MonoDevelop does not remember recent solutions, and “Load previous solution on startup” no longer works
  • 81846 Problem with ActionList
  • 81864 Quick class/method navigator is not updated during searching
  • 81870 Subversion checkout crashes
  • 81875 MonoQuery build errors
  • 81881 MonoDevelop hangs: Couldn’t create a remote process.
  • 81882 Monodevelop build fails when –enable-aspnetedit is specified
  • 81890 Editor tabs should close with middle click
  • 81893 Visual Studio exporter should (optionally?) use Windows-style directory seperator character
  • 81901 Adding a file with a Makefile project doesn’t update .dll.sources timestamp
  • 81910 Modifying a file under svn does not change the icon to modified
  • 81911 Reverting a file does not reload it in the editor
  • 81939 Crash when adding a new dialog
  • 81942 Designer crashes monodevelop
  • 81952 Crash when adding a new widget
  • 81953 Removing an added file does not integrate with subversion add-in
  • 81963 Rename refactoring does not all event handlers
  • 81971 Selecting widget in the Widget Tree does not update Properties
  • 81975 Swedish translation for MonoDevelop
  • 81976 Renaming widgets does not rename usages
  • 81977 Crash when working with MonoDevelop
  • 81984 Adding a folder under another folder in the project view when the node is not expanded crashes project view
  • 81989 monodevelop crashes when using monodoc
  • 81999 monodevelop-0.14 does not handle namespace alias qualifier operator (::)
  • 82017 Rename class is broken
  • 82020 Rename fails with enums
  • 82024 Crash with single files
  • 82033 Intelisense autocomplete does not override existing text
  • 82052 Crash when saving dialog classes.
  • 82055 Auto-indetation ignores single statements
  • 82060 find dialog exclusive access to source files
  • 82088 Auto complete not completing
  • 82114 Renaming class doesn’t rename all references
  • 82121 Encapsulate Field should create a static property if the field is static
  • 82123 Random crash when creating new Gtk widget with the designer
  • 82125 Custom widgets missing in toolbox
  • 82128 Building a project with a prebuild command can silently fail
  • 82131 Auto complete not activating
  • 82138 Search result pad’s status text doesn’t clear when the “Clear Results” button is pressed.
  • 82144 Using the delete keyboard button sometimes does not delete widgets or part of a widget (ie. one of the boxes of a vbox)
  • 82166 Properties pad lazy loading can make usage awkward
  • 82172 svn commit dialog mixes ChangeLog entries with several commits
  • 82173 Gtk# settings project property sheet does not display when Gtk# support is disabled
  • 82176 Invalid class names are allowed
  • 82179 Smart indent issue with nested enums

Credits

Contributors

The following people contributed in this release:

Lluis Sanchez, Jeff Stedfast, Michael Hutchinson, Ankit Jain, Wade Berrier, Mike Krüger, Jacob Ilsø Christensen, Ben Motmans.

This is the list of all project contributors:

Alberto Paro, Alejandro Serrano, Alexandre Gomes, Alex Graveley, Andrés G. Aragoneses, Antonio Ognio, Ben Maurer, Ben Motmans, Christian Hergert, Daniel Kornhauser, Daniel Morgan, David Makovský, Erik Dasque, Franciso Martinez, Gustavo Giraldez, Iain McCoy, Inigo Illan, Jacob Ilsø Christensen, James Fitzsimons, Jeff Stedfast, Jeroen Zwartepoorte, John BouAnton, John Luke, Joshua Tauberer, Jonathan Hernández Velasco, Levi Bard, Lluis Sanchez Gual, Martin Willemoes Hansen, Marek Sieradzki, Matej Urbas, Michael Hutchinson, Miguel de Icaza, Mike Krüger, Nick Drochak, Muthiah Annamalai, Pawel Rozanski, Pedro Abelleira Seco, Peter Johanson, Philip Turnbull, Richard Torkar, Scott Ellington, Todd Berman, Vincent Daron, Wade Berrier, Yan-ren Tsai and Zach Lute.

This list is not complete, it is missing some contributions sent in to the list and via our bugzilla. Your work is still greatly appreciated. If your name was left off the list, it was not intentional, please send an email to the list and it will be corrected as soon as possible.

Translators

  • ca - Jonathan Hernández Velasco, Jordi Mas i Hernández
  • cs - David Makovský
  • da - Martin Willemoes Hansen, Jacob Ilsø Christensen
  • de - Gustav Schauwecker, Martin Dederer
  • es - Antonio Ognio, Alejandro Serrano, Andrés G. Aragoneses
  • fr - Vincent Daron, Nicolas Favre-Félix
  • gl - Ignacio Casal Quinteiro
  • it - Alberto Paro, Milo Casagrande
  • ja_JP - Atsushi Eno
  • pl - Marek Sieradzki
  • pt_BR - Mauricio de Lemos Rodrigues Collares Neto, Andre Filipe de Assuncao e Brito, Rafael Teixeira
  • pt - Vitor Hugo Barros
  • ru - Maxim Krentovskiy, Semyon Soldatov
  • sl_SI - Matej Urbas
  • zh_CN - Yu Lindong, Funda Wang
  • zh_TW - Yan-ren Tsai

Thanks

All of our wonderful testers who put up with the insane dependencies, the constant breakage and still managed to post nice bug reports.

Mike Krueger and the rest of the AlphaSierraPapa team for giving us a great codebase to start from, and continuing improvements.

All of the active MonoDevelop developers.