Version History

In general, Kindle Edition owners should receive free updates within a week or so of an edition being made available.  Please contact Amazon directly if that doesn't happen; they control that process, not us!

For print editions, wait 48 hours after the date of the edition to make sure you get the latest edition.  So if a new edition is marked below as released on 2014-04-13, you should order the print edition no earlier than 2014-04-15 to make sure you get the latest edition.

Note:  Bookstores and distributors who have stocked older editions may not have the latest version.  Be sure to check with the bookseller to see which edition they have, as the ISBN number does not change across editions (the exception being that the ISBN number changed from 0.9.1 to 0.10.1).

Version numbering:  0.8.x = Alpha editions;  0.9.x = Beta editions;  0.10.x = Second Beta editions; 1.y.x = First Edition.
Effective with the First Edition:
  • a change in the first digit (0.y.x to 1.y.x) implies major content changes and reorganization
  • a change in the second digit (1.0.x to 1.1.x) implies significant new or rewritten content
  • a change in the third digit (1.0.x to 1.0.y) implies minor fixes such as typos, errata in text or code examples, etc.

 1.2.12016-05-10 Text and examples updated for Rails 4 and Ruby 2, in particular Rails 4's strong parameters which replaces 'attr_accessible' and 'attr_protected' in Rails 3.
TDD-related text and examples updated for RSpec 3, and for using Guard rather than Autotest to automatically run tests.  RSpec 3 deprecates 'stub' and 'mock' in favor of 'double', and deprecates the 'should' syntax for expectations in favor of 'expect' and 'allow'
'themoviedb' gem examples revised since gem now raises a proper exception on invalid API key.
Bookware chapter largely rewritten to focus on cloud-based development using Cloud9 and emphasize the influence and pervasiveness of Unix programming environment.  All in-text instructions validated to work on Cloud9.
All screencasts moved to YouTube and all code snippets moved from Pastebin to GitHub Gists.  The "screencasts" page on shows the URL correspondences for the screencasts.  Old pastebins will be left as-is.  Old screencasts will be left as-is until December 2016, at which time the Vimeo account will be shut down.
Instructors' Manual updated with additional advice about managing student projects.
  1.1.1     2014-09-16Various typos and clarifications to the code examples.
Rails examples have been checked against 3.2.19, and all references/links to documentation point to 3.2.19.
Jasmine examples have been updated to work with Jasmine 2.x.
The "declarative vs. imperative" Cucumber example has story steps that are more self-contained and RESTful.
Foreword reorganized with more information useful to instructors.    
 1.1.0 2014-07-11New Bookware section introducing SSH
New Bookware section summarizing complete setup of a new Rails app   
Updated description of Heroku asset pipeline behavior and deployment 
1.0.0 2014-04-13 
0.10.3 2014-02-04 
0.10.2 2013-08-20 
0.10.1   2013-04-15 
0.9.1  2013-01-09 
0.9.0 2012-08-24 
0.8.6 2012-07-11 
0.8.5 2012-05-24 
0.8.4 2012-02-05 
0.8.3 2012-02-01 
0.8.2 2012-01-31 
0.8.1 2012-01-12 
0.8.0 2012-01-10