This is a bugfix release. There are no breaking changes since 1.4.0. There is are fixes for significant memory leaks in this release as well as fixes to make IE9 work correctly and fixes for a couple of edge-case crashes, so we highly recommend that you update.

General Changes



We have fixed some potentially significant memory leaks and fixed a few bugs; highly recommend that everyone update to get the memory leak fix.

No breaking changes.

Change list:

  • Fixed Issue 166: unicode chars in an URL don't work
  • Fixed potential crash on chrome when calling JSAPI methods
  • FIREBREATH-9 - Getting issue details... STATUS
  • Fixed misc GCC warnings (thanks, Kalev!)
  • FIREBREATH-10 - Getting issue details... STATUS
    • This memory leak affected all platforms and could have wide reaching effects.
  • Fixed an issue causing the wrong version of the ATL headers to be used in some cases

After an unusually long time in beta and RC, we are really excited to release FireBreath 1.4.0! There are some really major improvements in the 1.4 branch over 1.3 and we strongly recommend that everyone upgrade as soon as possible. Even if you don't plan to use any of the new features, there are a great many improvements in the browser interfaces that will make working with your plugin easier and faster.

For more information, see the complete Version History.

For those who have been using FireBreath 1.4 RC2, the following minor fixes and improvements have been made:

  • Fixed build issues with jsoncpp, openssl, and HttpService optional firebreath libs
  • Fixed problem with certain versions of WiX on windows
  • Updated fb_installer.js example javascript plugin detection script to be functional (thanks, John!)
  • Fixed Issue 157 - AttachedEvent occurs excessively on linux
  • Partial fix for Issue 161 - Plugin name and Description not visible on Chromium/X11

We've had a great response from all of you and fixed several minor bugs and issues as well as a few edge-case crashes. We are pleased to announce the immediate availability of FireBreath 1.4rc2. Barring any showstoppers that you may find, we expect to release 1.4.0 sometime in the middle of next week (early March). We hope that you won't be able to find anything and RC2 will become the release, but we also hope you'll try!


  • PluginCore::Browser and PluginCore::OS are no longer public; use the accessors (also new) instead
  • We now include the BSD license text in the repo
  • Fixed issue #147 - possible crash on IE
  • Fixed issue using log4cplus with multiple projects in the same solution
  • Fixed issue #149 - crash when Safari calls globalinit a second time
  • Fixed issue #150 - InvalidateWindow incorrectly implemented on mac
  • Fixed issue #151 - Crash when returning a JSAPIWeakPtr
  • PluginWindowlessWin methods serialized for cross-thread access, fixed invalidateWindow on windows windowless plugins
  • Fixed issue #147 - On some configurations StaticDeinitialize not called on IE
  • Fixed a possible race condition on shutdown
  • Fixed a weird crash when moving an object tag around in the dom on IE (it may break the plugin still, but won't crash)
  • Fixed issue #153 - AsyncGET crashes for large web pages
  • Added support for Mac OS 10.4 (thanks physicsrob!)

After months of development and testing, we have now officially tagged and put out the first Release Candidate of FireBreath 1.4! To see all the (many) new features and fixes in 1.4 check out Version History.

Here is a summary of what has changed since 1.4 beta 4:

  • Fixed issue 141 - JSAPI objects released when the browser releases the scriptable object
  • Compile-time fix for VS2005 (thanks Mital!)
  • default RGS registry template changed to better support machine-wide installation
  • WiX integration updated
    • Machine-wide installation now supported
    • Now works with Visual Studio Express and vs2005
    • Default template now supports updates
    • Default template now supports friendly name
  • Fixed issue 142 - instantiating a plugin with new ActiveXObject(progid) not working
  • Fixed issue 143 - StaticInitialize() called on linux with no matching StaticDeinitialize()
  • Fixed issue 144 - fb_stdint.h conflicts with some other libraries
  • Fixed issue 145 - Crash on IE when many plugin reloads occur quickly
  • Minor code efficiency improvements (inlined functions that should be inline)
  • Added new cmake macros for code-signing on windows
  • Fixed misc link errors on linux (thanks, Dan!)

As you can see, most are either install related or fairly minor, so we should be very close to a release! If no critical bugs are found in the next week or two FireBreath 1.4 should be out by the end of February!

This should be the final beta! The next release will be Release Candidate 1; as soon as we make it a week without anyone finding any major issues with a RC it will become the 1.4 release. We're very close, please help us test! If you're not on 1.4 yet, this would be a great time to move.

Changes since Beta 3:

  • Fixed a crash in BrowserStreams
  • Partial refactor of PluginWindowMac classes for consistency
  • Removed np_macmain.cpp and np_x11main.cpp from default projects
    • You can still provide these if you want, but unless you need to customize them it's recommended you don't
  • Fixed issue #133 - can't convert obj to primitive value in Chrome
  • Fixed compile errors experienced by some dealing with stdint.h
  • Fixed issue #132
  • Removed duplicate IsWindowless() function on PluginCore; standardized as it should be now with isWindowless()
  • Plugin coordinates in Mac OS have been standardized on top left
  • Fixed issue with log4cplus not getting included properly
  • Fixed a few potential deadlocks with mutexes new in 1.4
  • Updated NPAPI headers
  • Fixed issue #138
  • Fixed issue #137
  • Fixed issue #135
  • Fixed incompatibility with Opera; the default install still doesn't work, since Opera wants it machine-wide, but the plugin is now compatible again.
  • Added newlines to the ends of files where appropriate.

FireBreath 1.4 beta 3 has been released! Here are the changes:

  • Added support for InvalidateWindow on IE/windowless
  • Fixed bug in carbon event handling
  • Fixed FB_GUI_DISABLED on windows/IE
  • Fixed major bug in windowed/windowless handling on windows
  • Fixed issue with uintN_t types
  • Added SimpleStreamHelper class for easy HTTP
  • Fixed BrowserStreams race condition
  • Fixed potential crash or deadlock with async calls
  • Improved documentation (on the website now)

FireBreath 1.4 beta 2 has been released with several key improvements and fixes!

  • Fix for crash and multiple AttachedEvent messages on Chrome
  • Fix for FB_GUI_DISABLED on linux
  • Added support for boost::tribool
  • ! Fixed race condition with async calls and shutdown
  • ! Windowless support on IE
  • Fixed lifecycle-related memory leaks on IE (thanks jtojanen!)
  • Fixed crash on linux dealing with async events
  • PluginWindow base class now has APIs for getting window size and position
    • BREAKING CHANGE: Some of the PluginWindow APIs have changed, particularly on Mac.

Thanks to all those who have been testing! We're getting close to being ready to put out a Release Candidate!

Here is the changelog:

This is a very significant release and comes about a year after the first 1.0 release! There are a few minor breaking changes that are documented on that page.

Please test! The stability of the release depends on how many people develop with it now and report any issues they may find.

The tentative schedule for the release is in about a month, with RC1 the end of January. This may change if there are any significant issues found (seems unlikely at this point) or if there are very few issues found.

Your feedback is welcome.

This is a minor bugfix release. There are no breaking changes, so no excuses!  UPDATE NOW!

The fixes are primarily bugfixes, memory leaks, and a few crash fixes.  See Version History for the full list.

This is a major release with a lot of new features!  Please check out the Version History page for a complete list of changes or the Download page to get it.  Pay particular attention to the breaking changes since 1.2.2!

There are no breaking changes and only one minor bugfix since 1.3.0 RC3.

Special thanks to Georg who did pretty much all of this and I think may not have actually slept last night.

FireBreath 1.3.0 RC2 is released and available for download. See the changelog for information on how to update your plugin:

To update from RC1, basically remove FactoryMain.cpp, Win/FactoryMainWin.cpp, Mac/FactoryMainMac.cpp, and X11/FactoryMainX11.cpp. In their place, create a Factory.cpp patterned after this one:

Note that you can do this on a platform specific basis if for some reason you need to override the PluginWindow type or other. FactoryBase can be used to customize which classes are used for most critical FireBreath features.

FireBreath 1.3.0 Release Candidate 1 is released!  There are a lot of great improvements and there are a couple of small breaking changes.  Check out the Version History.

FireBreath has a new home page at The new site is powered by Confluence with a free open source project license courtesy of Confluence. What does this mean? Well, the documentation is a lot easier to manage now; anyone can contribute to the wiki without us needing to give them special permissions. We also can take advantage of great tools like Gliffy to create diagrams.

We have also been working very hard and are pleased to announce the availability of the FireBreath Class Documentation generated by doxygen. We hope that this is helpful for you!

Google code is a great system, but some of the limitations of the wiki have caused us to look at other options. We are currently trying out Confluence as a possible replacement for the documentation system.

Among other things, Confluence allows us to have an announcement blog, create UML diagrams easily, and just generally has a much nicer look and feel. Let us know what you think!