Thermostat 0.5.0 Released

Jon VanAlten jvanalte at
Wed Feb 6 07:17:54 UTC 2013

Hi all,

The Thermostat development team is accepting your gratitude for:

Thermostat 0.5.0: Thanks For All The Fish [*]

You can download this pre-release at:
If you like, you can verify the checksum which is found here:
(links may not be active by the time you read this, but will be shortly)

Unlike most of our past releases, this one focuses more on improving existing
functionality than on new features.  Without going into great detail (that's
what the commit log is for!) there has been great effort in refactoring,
organizing our OSGi bundles and packages better (with primary focus on making
sure what is really exposed is what we intend to be public API, and containing
that public API to a sensible minimal set of bundles).  We are pretty happy
with how this has been going.  In fact, while there are some known warts still
to deal with, for the most part the public API as seen in this release is very
close to what we will freeze and declare "supported".  If you've been waiting
impatiently, chomping at the bit, eager to start programming plugins, it's
probably best to not implement all of your plans against this release, but if
you are genuinely interested in custom functionality on Thermostat as a
platform, now would be a great time to start trying it out, and giving us any
last minute feedback about the API before it does get frozen.

A non-exhaustive list of other things worth mentioning about this release:
 * Webservice
    * Still experimental, not the default, but contains now an initial
      implementation of access controls to Thermostat data.  The long term
      plan is to make webservice into *the* secure way to use Thermostat
      remotely or deployed across a cluster.  Some functions that were
      missing in last release have now been implemented.
 * Eclipse plugin
    * Some new views have been implemented, and an actual Makefile to
      reduce barriers to building this component for those not familiar
      with eclipse development.  (this also means it's generally not left
      entirely broken when one of us makes changes to core Thermostat!)
      IMPORTANT NOTE: Because of a little disagreement that OSGi and
      Maven have about version numbering that we haven't yet decided how
      to work around, unfortunately in this release tarball the plugin
      does not build properly.  If you are interested in trying this
      feature, please clone our main repository.  We are not worthy!
      (should be sorted by next release).
 * Agent/Backends
    * As part of refactoring efforts, Backends are now handled as services.
      To set a good example for how a plugin can extend the Thermostat
      agent to collect additional data, our single monolithic SystemBackend
      has been separated into a reasonable set of Backend implementations.
 * API annotations
    * To make clear which OSGi services a Thermostat plugin can generally
      hope to find registered to the runtime framework, and which interfaces
      should be implemented in order to inject new functionality into
      Thermostat, we've introduced the @Service and @ExtensionPoint
 * HelpCommand
    * It works again.  Yeah, we know.  It shouldn't have stopped working.
    * Initial stage of plugin to collect and display data about NUMA.
 * GUI
    * As always, countless instances of tweaking and pixel-pushing have
      resulted in this release, again, somehow making the last one look
      like so much reheated spinach.

The following people contributed during this release cycle:

Elliott Baron
Severin Gehwolf
Roman Kennke
Omair Majid
Mario Torre
Jon VanAlten

We would also like to thank the following people, who assisted with testing
and providing feedback during this release cycle:

Deepak Bhole
Adam Domurad
Saad Mohammad
Pavel Tisnovsky
Jiri Vanek

And probably others we have missed, but appreciate no less!

Please see below for project information.  If you have tried out Thermostat
and have constructive feedback for us, if you are a Java developer and have
specific use cases not handled yet by Thermostat, or if you would like to
contribute to the core of Thermostat or by trying out our plugin API, we
would especially like to hear from you via mailing list or IRC.

Mailing list:
IRC:           #thermostat on

[*] And of course, the traditional explanation of this release code name.
    We are actually really pleased with ourselves for this one.  There
    was this Look&Feel partial implementation added to Thermostat in the
    previous release called Dolphin, which we do think looks really nice
    but we realized it would be better as a separate project.  So, this
    is what was done.  Dolphin has left planet Thermostat and has its own
    repository on icedtea.  It is worth mentioning (well, I think so) that
    at one point we were hoping to time our release for the end of the
    Mayan calendar, aka the last day of earth, in order that this code
    name would be even more fun.  This didn't happen, but we hope that you
    appreciate our little joke.

More information about the Thermostat mailing list