=== 2.8.4 / 2009-08-02 * Fixed error thrown when a module has no utilities === 2.8.3 / 2009-07-30 * Added JSpec.evalHook() * Added JSpec.paramsFor() * Refactored jspec.xhr.js * Fixed mock xhr HEAD method * Fixed node.js print() newline issue * Fixed specs preventing spec/spec.node.js from running === 2.8.2 / 2009-07-29 * Added JSpec.tryLoading() * Added JSpec.request used to reference the original XMLHttpRequest; used to fix [#149] * Fixed Mock XHR issue messing up JSpec request related utilities such as fixture() [#149] === 2.8.1 / 2009-07-27 * Added Lawrence Pit as a contributor * Fixed object hash equality [#146] { a : '1', b : '2' } is now the same as: { b : '2', a : '1' } === 2.8.0 / 2009-07-27 * Give readFile precendence over xhr so that fixtures work with mockRequest when using Rhino * Give XMLHttpRequest precedence over microsoft crap * Added Mock Ajax Support * Added mockRequest(), unmockRequest() utilities * Added jspec.xhr.js * Fixed be_visible, and be_hidden. Now implement the jQuery <= 1.3.1 method === 2.7.2 / 2009-07-24 * Fixed "end" in spec bodies when using the grammar * Fixed "it" in spec bodies when using the grammar [#142] * Changed; HTML entities in descriptions are now escaped for DOM formatter [#141] * Added enno84@gmx.net as a contributor (thanks for the bug reports) === 2.7.1 / 2009-07-17 * Changed; hash() now accepts null * Fixed should_receive issue with validating boolean args or return values * Fixed --server-only switch * Fixed jQuery dependency error message when jQuery is not available when using jspec.jquery.js === 2.7.0 / 2009-07-14 * Added fixture() utility function * Templates initialize with example paths to lib === 2.6.0 / 2009-07-09 * Added Ruby on Rails support * Added exporting of JSpec (node.js etc) * Added be_undefined matcher [#134] === 2.5.1 / 2009-07-07 * Added intermediate node.js support * Fixed; grammar now allows foo.bar.baz.stub() etc to convert to stub(foo.bar.baz) === 2.5.0 / 2009-07-03 * Added contrib in README (thanks to anyone who has helped) * Added more shared behavior specs * Added Module.DSLs support for extending / adding new DSLs (DSL exchange not yet fully implemented) * Added spec to make sure methods like end() will not fail due to the grammar * Changed; giving hook precedence to suite hooks (before_each, etc) over module hooks (beforeSuite, etc) ; (thanks mpd) * Changed; calls to stub() without and_return() now simply stub an arbitrary method with no return value * Changed JSpec.include(); now returns JSpec allowing chaining * Fixed having "end" in descriptions which would be replaced with '});' * Fixed negation of should.receive('foo') matcher * Fixed shared behavior assertion count issue === 2.4.3 / 2009-07-02 * Fixed matcher semicolon matcher issue when using the JSpec grammar * Added pass() util; Spec#pass() and Spec#fail() (thanks gisikw) * Removing Object.prototype.stubby() after specs are finished to prevent pollution === 2.4.2 / 2009-06-30 * Fixed trailing comma (thanks Kevin) === 2.4.1 / 2009-06-30 * Moved beforeSpec and afterSpec hook into proper positions allowing for additional assertions within afterSpec. === 2.4.0 / 2009-06-30 * Added hook() and hookImmutable() * Added support for matcher lists ('be enabled disabled selected') == be_enabled, be_disabled etc * Added JSpec.include() * Added several hooks * Added Module support * Added grammar conversion of Foo.stub('method') to stub(Foo, 'method') * Added grammar conversion of Foo.destub() to destub(Foo) * Require bind gem * Fixed `jspec` bin docs === 2.3.1 / 2009-06-25 * Fixed; all stubs generated with stub() are restored to their original methods after each 'it' block. See README for details. === 2.3.0 / 2009-06-25 * Added stub() * Added destub() * Changed; Server responses utilize Rack::Mime now for arbitrary requests === 2.2.1 / 2009-06-22 * Changed; reportToServer() now accepts url arg * Fixed be_empty matcher; now considers {} empty, however { foo : bar } is not * Fixed throw_error error messages for Opera * Fixed throw_error in Rhino (Opera is broken now) * Fixed stray console.log() call * Fixed some tab issues. When using the JSpec grammar option you should use the 'soft tabs' feature of your IDE or text editor. A patch for tabs is pending and should be available soon, however be aware that a 'parse error' may occur otherwise. === 2.2.0 / 2009-06-18 * Added link to JSpec in JSMag June 2009 * Added Github gem source location to docs * Changed throw_error matcher; now accepts two arguments * Changed --server; serves from current working directory. This allows files in ../lib/* to be served rather than ./spec/* only. * Refactored argumentsToArray() === 2.1.0 / 2009-06-12 * Changed `jspec init` to utilize a single template which allows for all three suite running capabilities within a single template. Now after initializing a project you may `jspec run --server`, `jspec run --rhino` etc at any time without modifications. === 2.0.3 / 2009-05-15 * Table should span full width (Very week release I know, but improperly styled things bug me :) ) === 2.0.2 / 2009-05-11 * Added rails integration link http://github.com/bhauman/jspec-rails * Changed; puts() now displays constructor name when available * Fixed Terminal output which was not displaying due to a recent commit * fixed IE bug : DOM elements don't have valueOf() method === 2.0.1 / 2009-05-01 * Added better failure messages for throw_error matcher * Renamed print() to puts() [#108] === 2.0.0 / 2009-04-27 * Added DOM loading indicator [#105] * Added wait() helper for additional async support * Added shared behavior support using should_behave_like('Another Suite') * Added CSS body toggling [#1] * Added receive matcher for Proxy Assertins * Added grammar-less support * Added an_instance_of() helper * Removed .this literal * Removed deprecated be_a_TYPE_input matchers * Added ProxyAssertion * Added select() util * Added does() util for report-less assertions * Added find() util * Added JSpec.contentsOf() * Added matchers to body evaluation [#90] === 1.1.7 / 2009-04-22 * Removed trailing commas causing issues with IE (what a suprise ;) ) === 1.1.6 / 2009-04-22 * Fixed typo in requires() * Added expect() === 1.1.5 / 2009-04-17 * Strengthened specs for cascading hooks * Fixed cascading hooks === 1.1.4 / 2009-04-17 * Added rhino and server template files * Added JSpec.hasXhr() * Added JSpec.xhr() * Added Ruby javascript testing server * Added support for options passed to run() * Added failuresOnly for Terminal formatter * Added terminal assertion graphs * Addec color() utility * Added main.puts() since we use print() as a utility * Added rhino support * Added fail() utility function * Added JSpec.Assertion * Added normalizeMatcherMessage() * Added normalizeMatcherBody() * Added have_classes [#19] * Added extend() utility * Added be_an_instance_of matcher * Added constructor checking support for throw_error matcher [#72] * Added file support for exception messages, making them much easier to debug * Added catching of exceptions throw within specs [#46] * Changed; executable aborts when template does not exist * Changed; matchers now normalized upon creation, accepts function, hash, or string. * Changed be() matcher to be strict [#57] * Changed error() to conditionally show line number when available * Renamed Jspec.addSuite to JSpec.describe and Suite#addSpec to Suite#it * Refactored be_a_TYPE_input matchers so that the deprication warning is logged only when calling the method * Fixed JSpec.requires() now works with latest version of JSpec.error() * Fixed error() now displays exceptions throw that do not respond to .message * Fixed commenting bug [#37] * Removed JSpec.main, now just using local main === 1.1.3 / 2009-04-14 * Removed /test used for the executable, causing gem to fail building === 1.1.2 / 2009-04-14 * Added `jspec update` sub-command [#63] === 1.1.1 / 2009-04-12 * Added gemspec === 1.1.0 / 2009-04-12 * jspec executable fully functional === 1.0.4 / 2009-04-09 * Added `jspec bind` * Added `jspec run` * Added `jspec init` * Added `jspec` executable * Added gemspec and manifest * Added command-line usage docs * Added custom matchers documentation * Removed double negation === 1.0.3 / 2009-04-08 * Added have_prop matcher, have_property is now strict [#56] === 1.0.2 / 2009-04-08 * Added be_selected, be_checked matchers * Added string support to each() each('some foo bar', ...) * Added have_ATTR matchers [#51] * Deprected be_a_TYPE_input matchers [#50] === 1.0.1 / 2009-04-07 * Added have_property matcher [#53] === 1.0.0 / 2009-04-06 * Added option() which gives the query string option precedence [#39] * Changed; Using JSpec.options.formatter not JSpec.formatter [#44] * Fixed Console formatter, now displays nested suites * Check out http://visionmedia.github.com/jspec for additional documentation! === 0.9.6 / 2009-04-03 * Added nesting support * Added printing of nested specs * Added assertion graphs to DOM formatter * Refactored preprocess() * Refactored most of the specs * Renamed preProcess() to preprocess() * Removed running of a single suite via ?suite= for now === 0.9.5 / 2009-04-02 * Added support for printing of function bodies and regexps [#27] * Added support for strings / regexp with should_throw_error [#26] * Added have_within matcher * Added have_at_most matcher * Added have_at_least matcher * Added have matcher [#24] === 0.9.4 / 2009-04-02 * Added be_a_TYPE_input matchers (be_a_checkbox_input, be_a_text_input, etc) * Added be_disabled matcher [#21] * Added be_enabled matcher [#20] * Refactored be_visible and be_hidden with $(elem).is() === 0.9.2 / 2009-04-02 * Added support for multi-arg failure messages [#2] * Better printing of jQuery objects [#15] === 0.9.1 / 2009-04-02 * Added support for dotted negation of assertions (foo.should.not.equal bar) * Added support for dot-style assertions [#17] (foo.should_not.equal bar) === 0.9.0 / 2009-04-01 * Added spec for strip() * Added strip() * Added any() util * Added new improved include matcher * Added have_many and have_one matchers * Added have_attr matcher [#14] * Added map() util * Added inject() util * Added escape() util * Added recursive array and object printing * Added DOM formatter option failuresOnly * Added support for running of a single squite via ?suite=... * Added query() util * Added last() util * Added be_within matcher, accepts a range literal * Added inclusive range literal n..n * Added row hover * Refactored range() * Refactored setMessage() * Refactored hash() * Changed; preprocessor passing array of args (multi-arg matcher support) * Changed jQuery to $ for internal usage === 0.8.0 / 2009-02-27 * Added a new style for the DOM formatter (not finished yet) === 0.7.0 / 2009-02-27 * Added Console formatter (anything implementing the console object. Firebug, Safari 4, etc) * Added JSpec.options.profile for optional profiling of specs * Added this. literal alternative (view readme) * Moved formatters into JSpec.formatters * Added error() util * Added savings raketask * Fixed parse error bug in Safari 4 === 0.6.3 / 2009-02-26 * Added minification for jspec.jquery.js when packaging before release * Added compression of css when packaging before release === 0.6.2 / 2009-02-26 * Changed; using $ in jspec.jquery.js for JSpec, take that jQuery ;) * Added addMatchers, print, hash, and each as 'utility functions' this allows JSpec to do each(...) internally instead of JSpec.each(...), while still preventing pollution of the global scope. === 0.6.1 / 2009-02-26 * Added closrue literal -{ (view README) * Added option to DOM formatter, now allows you to specify which element id to output to === 0.6.0 / 2009-02-24 * Added JSpec.hash * Added be_null matcher * Allow recursive composite matching using should_eql and should_not_eql For example [1, 2, [3]].should_eql([1, 2, [3]]) is true, works with object 'hashes' as well. === 0.5.1 / 2009-02-24 * Damn auto-release messed up === 0.5.0 / 2009-02-24 * Added async support for jQuery * Added JSpec.requires for dependencies * Added JSpec.throw * Added JSpec.runSpec * Refactored jspec.jquery.js * Fixed evalBody exceptions, previously was not showing exception message * Fixed bug of JSpec interpreting // in a string such as http:// to be a comment. === 0.4.1 / 2009-02-22 * Added elements() alias of element() * Added support for string passed to runSuite; runSuite('Matchers') is the same as runSuite(JSpec.suites['Matchers']). * Fixed some documentation === 0.4.0 / 2009-02-20 * Added comment literal (//) * Added pre-processor for convering matchers. For example 'test'.should_be_true becomes JSpec.match('test', 'should_be', 'true'), preventing pollution of core prototypes. === 0.3.2 / 2009-02-19 * Added TM bundle (go checkout my jspec.tmbundle repo on github) * Renamed have_length_of to have_length === 0.3.1 / 2009-02-19 * Added jquery js to package === 0.3.0 / 2009-02-19 * Added JSpec.match * Added options to report() which are passed to formatter * Added sandbox helpers (reg / jquery) * Added have_child and have_children * Added have_tag and have_tags * Changed exec to only load / eval file * Fixed parser token issue, was previously matching things like end() as literal end === 0.2.3 / 2009-02-18 * Changed test dir to spec * Changed test.js to core.spec.js === 0.2.2 / 2009-02-18 * Added contexts === 0.2.0 / 2009-02-18 * Added release rake task * Added package with minified alternative === 0.1.0 / 2009-02-18 * Added new sexy syntax (warning: you will have to re-write your specs) * Added pre-processor for optional matcher parens * Added several new matchers * Added matcher aliasing * Added simple matcher declarations * Added __END__ * Added yet-to-be-implemented specs * Added loading of suites via JSpec.load === 0.0.4 / 2008-11-03 * Added ability to pass only a description to it(), meaning not yet implemented === 0.0.3 / 2008-10-28 * Added should_fail * Added should_match * Added should_not_match * Added should_be and should_not_be === 0.0.2 / 2008-10-28 * Fixed typo in documentation for pointing to the master repo === 0.0.1 / 2008-10-28 * Initial release