logo

Bluefish

programmers editor

History

Bluefish was started by Olivier Sessink, Chris Mazuc and Neil Millar in 1998 all being frustrated by the lack of decent web development editors for Linux. It's editor design with syntax scanning was inspired by NEdit which was available for Linux at the time, but the user interface was inspired by Homesite which was only available for Windows. It was shortly called Thtml editor and Prosite and shortly after the name Bluefish was chosen after a logo was proposed by Neil Millar. Since version 1.0, the original logo was replaced with a new, more polished one. Gradually the editor because more generic supporting most popular programming languages and adding many standard IDE features.

Because Robin Millar (who worked for the Open Source Technology Group) was an enthousiast Bluefish user it became one of the first projects on Sourceforce. More facilities where provided by heavy users such as the mailinglist at ems.ru (archive), the download site at bennewitz.com and hosting at openoffice.nl. In 2000 the mailinglist eventually also moved to sourceforge. Bug tracking was originally at gnome bugzilla. When gnome moved to git the bugtracking moved also to sourceforge.

The 1.0 branch was started in 2005. The 1.0 released even featured on slashdot which was a big thing at the time. The 2.0 branch was started in 2010 and featured a completely new designed syntax scanning engine and was ported to gtk-2. The 2.2 branch was released in 2011 and was the first release to support gtk-3, but gtk-2 is still supported.

News archive

October 30, 2025 - Bluefish 2.2.18 release

Bluefish 2.2.18 has much better CSS language support. The color editor now also supports hsl() and rgb() style colors. This Bluefish release also shows colors by just hovering the mouse over a color code. This version does also support the feature to dynamically change a shortcut key by hovering the mouse over a menu item and pressing a new shortcut key again. This feature was present in all gtk2 applications and has not been working for bluefish gtk3 builds until now. For Windows users the build has some important fixes, most important it can start external commands again such as preview in browser. This release removes the infobrowser from the build since it no longer compiles with new libxml versions. This plugin was already deprecated and disabled by default for years.

March 31 2025 - Bluefish 2.2.17 release

Bluefish 2.2.17 is a maintenance release that has only code cleanup fixes to comply better with modern compiler standards. It furthermore has fixes for a 64bit Windows build of Bluefish with Msys2. So there finally is an up to date Bluefish installer for windows again!

The windows build has a few remaining issues that need to be solved. The biggest issue is that starting external commands from within Bluefish does not yet work (such as a preview in browser, an external filter or just your favourite CI/CD pipeline). The other big issues is the character map plugin that is not yet included in the installer. If you want to help to improve Bluefish on windows, contact me at olivier(at)bluefish.openoffice.nl or join the community mailinglist.

November 2024 - 25 years of Bluefish

Bluefish is 25 years old! Somewhere in 1999 the initial codebase that was called THTML and ProSite was renamed to "Bluefish".

September 21 2024 - Bluefish 2.2.16 release

Bluefish 2.2.16 is mostly a maintenance release, with new features for the bookmarks function. Bookmarks can now be generated from external commands such as ctags. The 2.2.16 code has a lot of small fixes and improvements for Mac OSX. The old built-in javascript beautifier has been removed, Bluefish now uses the jsbeautify from your system (if available). The word-wrap function has been fixed.

March 17 2024 - Bluefish 2.2.15 release

Bluefish 2.2.15 is a minor maintenance release. It has one new feature: it can highlight the indenting level with a vertical line, which is very useful during python programming and helps with a lot more programming languages. The 2.2.15 release fixes zencoding for python releases newer than 3.12. It adds a retry button when opening files from a remote location. It has a tiny performance improvement when scrolling. It fixes a bug in the bookmarks function and the visible indenting function that potentially could lead to a crash. The perl syntax detection has been greatly improved, and YAML syntax detection has been added. The code has several fixes to make it compile on modern Mac OSX releases and to make it compile with the clang compiler.

June 3 2023 - Bluefish 2.2.14 release

Bluefish 2.2.14 fixes three bugs that in certain situations could lead to a segfault. One bug when deleting backup files on close. The second bug when closing some of the dialogs in a flatpak distributed version of bluefish. The third bug when the CSS language file was loaded on a 32bit system. It furthermore fixes zencoding functionality with python3. It also adds an option to store the scope of the search dialog to the session or project (this was removed in 2.2.12 because of a bug-report). It furthermore improves the speed of the bookmarks code. The build infrastructure was also slightly modernised, intltool is no longer used. Bluefish now also has an official Flatpak package, available via Flathub.

Feb 23 2023 - Bluefish 2.2.13 release

Bluefish 2.2.13 is a very minor maintenance release, except for the CSS syntax support which is greatly improved. Next to that it improves a few user interface parts, and fixes some very minor bugs. It also has some minor improvements for the syntax highlighting in a few other languages, most notably python.

Bluefish is a powerful open source code editor

A nice article on hostingadvice.com about Bluefish being a powerful open source code editor.

January 24 - Bluefish 2.2.11 release

Bluefish 2.2.11 is a minor maintenance release and minor feature release. The only exception to that is the python 3 compatibility which is a major change. If you compile Bluefish with python 3, you might experience new bugs. There are various minor changes as well. Double click selection has been improved (for example selecting a function name that has underscores), and is now configurable per language. Bluefish now has a feature to fill a line with spaces up to a mouse click, so you can start typing in any position on the screen (with a fixed width font). A crash when running very large replace actions on disk on many files has been fixed. Search and replace now ignores backup files by default. Cursor highlighting and line highlighting have been fixed for a rare bug. A small new feature has been added, to insert output from an external command in the current cursor position. Many language files have seen updates, most notably CSS, Python and HTML. A data loss bug - when an unknown encoding was selected - was fixed, the fallback is now to save as UTF-8. A bug when saving with unknown characters in the filename has also been fixed. Printing has been improved such as printing in landscape. Some small tweaks to the UI have been implemented. For example you can now search in files in the filebrowser (right click a directory). Search results can now be shown in the output pane. The current identifier can be selected using <shift><control><i>. Last there various fixes when Bluefish is run on top of Wayland.

News - October 17 - New package for OSX High Sierra released

The introduction of OSX High Sierra caused some incompatibilities. A new package is ready, based on the current development code base. It is available from https://www.bennewitz.com/bluefish/stable/binaries/macosx/Bluefish-2.2.10-2.dmg.

News - January 27 - Bluefish 2.2.10 released

Bluefish 2.2.10 is a maintenance release. Various language files have been improved, most notably languages that include CSS. There are also various fixes for newer gtk versions and for gtk on wayland (which is now the default on Fedora Linux). A new feature in the 2.2.10 release is the possibility to import/export syntax color styles, included are styles for a light and a dark theme. Last there have been fixes for a few rare crashes.

News - June 16 - Bluefish 2.2.9 released

Bluefish 2.2.9 is a maintenance release that most importantly fixes incompatibility with Gtk 3.20. Next to that some small dialogs have been improved, and some user interface parts have been polished.

News - January 24 - Bluefish 2.2.8 released

Bluefish 2.2.8 is a bugfix release with some small improvements and more polishing on existing features. It fixes a few serious but rarely occurring bugs. Options defined in the language definition files are now translated. Various default settings have been improved, most notably the command to launch Firefox for preview. The looks on newer gtk versions have been restored. CSS can now be compressed and decompressed. The installers for Windows and OSX have improvements, and there have been some OSX and Windows specific fixes. Character encoding detection has been improved. Auto-completion for HTML attributes has been improved. The SASS style language has been added.

News - Februari 1 - Bluefish 2.2.7 released

Bluefish 2.2.7 is mostly a bug fix release. It fixes rare crashes in the autocompletion, the filebrowser, the htmlbar plugin preferences, in file-load-cancel, and fixes a rare case of broken syntax highlighting after multiple search/replace actions. It furthermore displays better error/warning output when parsing language files. It also finally fixes javascript regex syntax highlighting. The loading of files with corrupt encoding or non-printable characters (such as binary files) has been improved, and project loading over sftp has been improved. Various HTML5 tags have been added, and HTML5 is the default now for php, cfml and other languages that can include html syntax. Saving and loading of UTF-16 encoded files was broken and has been fixed. Various languages have better syntax support, such as javascript, css, html, pascal/deplhi, and html has improved autocompletion. On OSX the charmap plugin is finally included, the keys for tab switching no longer confict with some keyboard layouts, and behavior at shutdown was improved. The upload/download feature has a new option to ignore backup files. The home/end keys now work better on wrapped tekst. And finally the search and replace dialog correctly shows the number of results when searching in files on disk.

News - April 21 - Bluefish 2.2.6 released

Bluefish 2.2.6 is mostly a bug fix release. This release fixes a critical bug (segfault) in filebrowser that could be triggered if the root directory was set as basedir. It also has a fix for a specific CSS-in-HTML-tag highlighting issue that broke HTML highlighting. The filter code furthermore caused a segfault if the command did not exist. The Windows version finally supports open in running process. Next to these bugs many small issues have been resolved. Development checks are now only enabled if Bluefish is compiled from svn, not if compiled from tarball. Various language files have small improvements, most notably C, Javascript and CSS. Several translations have been updated. A corner case for a new document from a template that does not exist was fixed. The "open" submenu now opens SVG files from the filebrowser instead of inserting an image tag. The included cssmin and jsbeatify have been updated. A syntax scanning issue when replacing large chunks of text was fixed, he "Report bug" link was broken, a new "conditional" option to the language file that makes re-using certain blocks of language files easier was added, and error reporting in outputbox was improved. On OSX filebrowser icons and the "open file" dialog size have been improved.

News - February 10 - Bluefish 2.2.5 released

Bluefish 2.2.5 is a minor bug fix release but has also quite some new features. The syntax scanning engine is faster after small changes to the text. The filebrowser is also much faster with less memory usage, with various fixes and new features. Projects now store the active document and active line numbers. Indenting is improved in auto-completion and the smart indenting. Bookmarks and paste special also have been improved. On OSX there are many improvements, such as Mavericks support, Retina display support, working system hotkeys, native input methods (Japanese, Chinese, etc.), opening files from the finder and Widget bindings on MacOSX are moved to Cmd+C|V|X|A and working. Furthermore almost all syntax highlighting has been improved, most notable jquery in javascript, HTML5, and HTML5 in PHP files. There are also many bug fixes, such as in wrap text on right margin, in the replace engine, the jsmin licence, the split lines feature, the auto-recovery and many obscure bugs. Last bluefish now has an appdata file.

Full timeline

  • Earliest history is lost.. Code was synchronised via email and patches, there was no source code revision system.
  • December 1998, thtml codebase 43 was created
  • January 1999 the name Prosite was proposed
  • Somewhere in 1999 the codebase got the final name Bluefish and there was a 0.3.2 release. Not sure if 0.1 or 0.3.0 or 0.3.1 also existed.
  • Oktober 1999 a mailinglist was created at ems.ru, an archive exists starting around 2007
  • Oktober 1999 0.3.3 first release that is 64bit capable (running on DEC Alpha)
  • November 1999 release 0.3.4 with initial Javascript and CSS support
  • January 2000 release 0.3.5 with multi file loading support, PHP support, and the first translations
  • January 2000 Bluefish 0.3.5-1 officially added to Debian by Antti-Juhani Kaijanaho.
  • February 2000 release 0.3.6 (that had 14 pre-releases!!) which featured a coding style for Bluefish developers, showing a bit more mature codebase.
  • May 2000 move code to sourceforge cvs. The versioning scheme is also changed, release 0.4 with initial multibyte character support (e.g. UTF-8), a regular expression capable search and replace function, and FreeBSD support.
  • August 2000 release 0.5 with a spell checker dialog, auto indenting and the "custom menu" functionality. A HPUX package was added and a Sun Sparc package was created..
  • December 2000 release 0.6 (first release that is still available on sourceforge) with a CSS editor dialog and a color dialog. And found bugs in gtk-1.2 on the way..
  • July 2001 0.7 release, this is the first release that works on Windows using Cygwin thanks to Daniel Leidert.
  • January 2002 0.8 release, which is gtk-2 compatible, but uses the old gtk text widget
  • May 2002 started to use bug tracking on bugzilla.gnome.org
  • June 2003 0.9 release, minor updates
  • July 2003 0.10 and after the 0.11 releases (which was part of the first Fedora release)
  • November 2003 0.12 release, with project management support and remote files over GnomeVFS
  • April 2004 0.13 release, minor updates
  • February 2005 the new logo was done, designed by David Lyon!
  • February 2005 the 1.0 release!, essentially also a minor update. The Bluefish codebase is mature now. The release was even featured on the frontpage of Slashdot.org
  • June 2005 1.0.1 release, adding a quickstart dialog, make spaces or tabs configurable, and the Fedora package is now provided by the Bluefish development team.
  • July 2005 1.0.2 release, minor updates
  • August 2005 1.0.3 release, minor updates
  • August 2005 1.0.4 release, a quick release because there was a compile error
  • February 2006 1.0.5 release, minor updates
  • September 2006 1.0.6 release, first Mac package (using Fink)
  • November 2006 1.0.7 release, minor release, and essentially the last release based on the old (gtk-1) text widget
  • Oktober, 2007 a discussion is started on a new syntax scanning engine (that could do autocompleton!!) based on deterministic finite state machine created by Oskar Świda and later re-implemented by Olivier Sessink
  • 2008 Hard work on the gtk2 editor widget porting and the new scanning engine. No releases.
  • December 2008 1.3.0 release, the port from the gtk-1 editor widget and GnomeVFS to the gtk-2 GtkTextView widget and GIO/GVFS is usable again!
  • January 2009 1.3.1 release, which is working much better, the new syntax scanning engine quickly recognises many more programming and markup languages
  • August 2009 1.3.6 release with syntax-aware in-line spell checking
  • November 2009 1.3.8 release with a 2x speed improvement in syntax scanning, and fixed 64bit support for the gtk2 port
  • February 2010 the 2.0.0 release, which moved the stable version to the gtk-2 GtkTextView widget and introduced the completely new syntax scanning engine, and has the first native Windows installer
  • June 2010 2.0.1 release
  • September 2010 2.0.2 release
  • February 2011 2.0.3 release
  • November 2011 the 2.2.0 release added gtk3 support while retaining gtk2 support. The search and replace was completely redesigned and this release featured 'block selection'.
  • November 2011 Bluefish 2.2.0 is installed by default on the just released Solaris 11 desktop.
  • December 2011 2.2.1 release with zen-coding support
  • February 2012 2.2.2 release, mostly bugfixes
  • June 2012 2.2.3 release, lorum-ipsum generator, and most HTML dialogs are now HTML5 compliant
  • February 2013 2.2.4 release with improved split-view, improved language syntax detection, CSS tidy and minify, javascript minify, and php beautify support
  • January 2014 2.2.5 release with much faster syntax scanning using aggressive caching of old results, and project, indenting and bookmarks improvements
  • April 2014 2.2.6 release, mostly bugfixes
  • Febryary 2015 2.2.7 release, HTML5 becomes the default, better autocompletion, and the charmap plugin is now supported on Mac OXS
  • May 2015 moved from CVS to Subversion
  • January 2016 2.2.8 release, mostly bugfixes, and SASS syntax support
  • June 2016 2.2.9 release, minor bugfixes
  • January 2017 2.2.10 release, improvements on Wayland
  • January 2020 2.2.11 release which moves to Python 3 and many small improvements
  • November 2020 2.2.12 release, supports enchant2 for spell checking
  • February 2023 2.2.13 release with full CSS3 support
  • June 2023 2.2.14 release, first Flatpak release on Flathub
  • March 2024 2.2.15 release, some bugfixes, indenting indicator line and Yaml syntax support
  • September 2024 2.2.16 release, new feature: ctags support to generate bookmarks
  • March 2025 2.2.17 release, including a 64bit windows installer
  • October 2025 2.2.18 release, with improved CSS and color support, and improvements for the 64bit windows build
  • November 2025 2.2.19 release, fixed a regression in 2.2.18