Red Hat
Nov 22, 2013
by The Entire TorqueBox Team

After taking a brief hiatus from TorqueBox 3 development, the team got back to work a couple of weeks ago. We originally planned for the next TorqueBox release to be 3.1.0, but soon realized that there were several bugs that need addressing in 3.0.0 before we start adding in new features. So, we give you TorqueBox 3.0.1!

What were we doing during that hiatus, you ask? We've been hard at work brainstorming, discussing, and prototyping how TorqueBox needs to continue to evolve to meet our users' needs. And, we've been collecting your feedback as well. We're hoping this work will eventually land in a TorqueBox 5.

We invite everyone to participate in the email thread linked above or chat with us on IRC about your TorqueBox experiences. We'll go into more detail and invite users to play around with our TorqueBox 5 prototyping with a post next week.

Enough about the future - let's get back to the present!

What is TorqueBox?

TorqueBox is a Ruby application server built on JBoss AS7 and JRuby. It supports Rack-based web frameworks and provides simple Ruby interfaces to standard enterprisey services, including scheduled jobs, caching, messaging, and services.

Highlights of changes in TorqueBox 3.0.1

Bundled JRuby updated from 1.7.4 to 1.7.8

We held off on updating JRuby for a couple of releases because JRuby 1.7.4 to 1.7.5 had some big changes (new RubyGems version, encoding changes), and we wanted time for any impact of those changes to be found and fixed.

Caching, messaging, and clustering reliability improvements

The bundled Infinispan version (used by TorqueBox caching) has been downgraded from 5.3.0.Final to 5.2.7.Final. We've seen too many reports of unreliability with 5.3.0 so we're downgrading to the latest version used by JBoss Enterprise Application Platform, which should be the most stable.

Similarly, we've bumped the bundled JGroups version (used for cluster discovery as well as most cluster traffic) to 3.2.12 and HornetQ (used for messaging) to 2.3.1.Final.

If you've been having issues with clustered caching and messaging, give 3.0.1 a shot and let us know if it improves things. There are lots of bugs fixed in the underlying components since TorqueBox 3.0.0, so things should behave better.

Rails 4

A couple of Rails 4 incompatibilities were fixed in our logger and session store - TORQUE-1163, TORQUE-1173, and TORQUE-1183.

Easier testing outside of TorqueBox

A few changes were made to make testing applications outside of TorqueBox easier - TORQUE-1016, TORQUE-1150, TORQUE-1177, and TORQUE-1178.

Upgrading from 3.0.0

If you manage your own AS7 configuration files, you'll need to replace any instances of 'UNICAST3' with 'UNICAST2' because of the different JGroups version. Otherwise, no changes (other than bumping gem versions) should be required to upgrade from TorqueBox 3.0.0 to 3.0.1.

Don't be a stranger!

As always, if you have any questions about or issues with TorqueBox, please get in touch.

Issues resolved since 3.0.0

  • [TORQUE-1016] - torquebox-no-op should stub out session store
  • [TORQUE-1094] - torquebox archive CLI tool does not respect the --exclude option
  • [TORQUE-1150] - TorqueBox::Infinispan::Cache gem errors when used outside of TorqueBox
  • [TORQUE-1160] - Problem with cache - torquebox 3.0.0
  • [TORQUE-1161] - HornetQ - Record is too large to store 102723
  • [TORQUE-1163] - undefined method 'formatter' in Torquebox::Logger on Rails 4
  • [TORQUE-1172] - torquebox archive broken in windows 7 x64
  • [TORQUE-1173] - Session store is not fully compatible with the ruby Hash API
  • [TORQUE-1177] - application rspec tests fail because TorqueBox::FallbackLogger does not have flush
  • [TORQUE-1178] - TorqueBox::FallbackLogger should take the file to log to from an environment variable
  • [TORQUE-1180] - Upgrade to JRuby 1.7.8
  • [TORQUE-1182] - RDoc generation seems broken again
  • [TORQUE-1183] - reset_session doesn't work in rails 4
  • [TORQUE-1184] - Infinispan 5.3.0.Final is buggy, downgrade to 5.2.7.Final
  • [TORQUE-1185] - Upgrade to HornetQ 2.3.1.Final
Original Post