2009-01-07 01:50:02 -05:00
|
|
|
= 0.9.0 (unreleased)
|
|
|
|
|
2009-01-11 10:59:34 -05:00
|
|
|
* Works with and requires Rack >= 0.9.1
|
|
|
|
|
|
|
|
* Multiple Sinatra applications can now co-exist peacefully within a
|
|
|
|
single process. The new "Sinatra::Base" class can be subclassed to
|
|
|
|
establish a blank-slate Rack application or middleware component.
|
|
|
|
Documentation on using these features is forth-coming; the following
|
|
|
|
provides the basic gist: http://gist.github.com/38605
|
|
|
|
|
2009-01-15 07:24:45 -05:00
|
|
|
* Parameters with subscripts are now parsed into a nested/recursive
|
|
|
|
Hash structure. e.g., "post[title]=Hello&post[body]=World" yields
|
|
|
|
params: {'post' => {'title' => 'Hello', 'body' => 'World'}}.
|
|
|
|
|
2009-01-11 10:59:34 -05:00
|
|
|
* Regular expressions may now be used in route pattens; captures are
|
|
|
|
available at "params[:captures]".
|
2009-01-09 05:28:08 -05:00
|
|
|
|
2009-01-07 14:32:31 -05:00
|
|
|
* New ":provides" route condition takes an array of mime types and
|
|
|
|
matches only when an Accept request header is present with a
|
|
|
|
corresponding type. [cypher]
|
|
|
|
|
2009-01-11 10:59:34 -05:00
|
|
|
* New request-level "pass" method; immediately exits the current block
|
|
|
|
and passes control to the next matching route.
|
2009-01-07 01:50:02 -05:00
|
|
|
|
|
|
|
* The request-level "body" method now takes a block; evaluation is
|
|
|
|
deferred until an attempt is made to read the body. The block must
|
|
|
|
return a String or Array.
|
|
|
|
|
|
|
|
* New "route conditions" system for attaching rules for when a route
|
|
|
|
matches. The :agent and :host route options now use this system.
|
|
|
|
|
2009-01-11 10:59:34 -05:00
|
|
|
* New "dump_errors" option controls whether the backtrace is dumped to
|
|
|
|
rack.errors when an exception is raised from a route. The option is
|
|
|
|
enabled by default for top-level apps.
|
|
|
|
|
|
|
|
* Better default "app_file", "root", "public", and "views" location
|
|
|
|
detection; changes to "root" and "app_file" automatically cascade to
|
|
|
|
other options that depend on them.
|
2009-01-07 01:50:02 -05:00
|
|
|
|
|
|
|
* Error mappings are now split into two distinct layers: exception
|
|
|
|
mappings and custom error pages. Exception mappings are registered
|
|
|
|
with "error(Exception)" and are run only when the app raises an
|
|
|
|
exception. Custom error pages are registered with "error(status_code)",
|
|
|
|
where "status_code" is an integer, and are run any time the response
|
|
|
|
has the status code specified. It's also possible to register an error
|
|
|
|
page for a range of status codes: "error(500..599)".
|
|
|
|
|
2009-01-15 04:37:33 -05:00
|
|
|
* Sinatra's testing support is no longer dependent on Test::Unit. Requiring
|
|
|
|
'sinatra/test' adds the Sinatra::Test module and Sinatra::TestHarness
|
|
|
|
class, which can be used with any test framework. The 'sinatra/test/unit',
|
|
|
|
'sinatra/test/spec', 'sinatra/test/rspec', or 'sinatra/test/bacon' files
|
|
|
|
can be required to setup a framework-specific testing environment. See the
|
|
|
|
README for more information.
|
|
|
|
|
2009-01-09 01:37:26 -05:00
|
|
|
* Added support for Bacon (test framework). The 'sinatra/test/bacon' file
|
|
|
|
can be required to setup Sinatra test helpers on Bacon::Context.
|
|
|
|
|
2009-01-07 01:50:02 -05:00
|
|
|
* Deprecated "set_option" and "set_options"; use "set" instead.
|
|
|
|
|
|
|
|
* Deprecated the "env" option ("options.env"); use "environment" instead.
|
|
|
|
|
|
|
|
* Deprecated the request level "stop" method; use "halt" instead.
|
|
|
|
|
|
|
|
* Deprecated the request level "entity_tag" method; use "etag" instead.
|
|
|
|
Both "entity_tag" and "etag" were previously supported.
|
|
|
|
|
|
|
|
* Deprecated the request level "headers" method (HTTP response headers);
|
|
|
|
use "response['Header-Name']" instead.
|
|
|
|
|
|
|
|
* Deprecated "Sinatra.application"; use "Sinatra::Application" instead.
|
|
|
|
|
|
|
|
* Deprecated setting Sinatra.application = nil to reset an application.
|
|
|
|
This should no longer be necessary.
|
|
|
|
|
|
|
|
* Deprecated "Sinatra.default_options"; use
|
|
|
|
"Sinatra::Default.set(key, value)" instead.
|
|
|
|
|
|
|
|
* Deprecated the "ServerError" exception. All Exceptions are now
|
|
|
|
treated as internal server errors and result in a 500 response
|
|
|
|
status.
|
|
|
|
|
2009-01-13 13:21:32 -05:00
|
|
|
* Deprecated the "get_it", "post_it", "put_it", "delete_it", and "head_it"
|
|
|
|
test helper methods. Use "get", "post", "put", "delete", and "head",
|
|
|
|
respectively, instead.
|
|
|
|
|
2009-01-07 01:50:02 -05:00
|
|
|
* Removed Event and EventContext classes. Applications are defined in a
|
|
|
|
subclass of Sinatra::Base; each request is processed within an
|
|
|
|
instance.
|
|
|
|
|
|
|
|
= 0.3.3 / 2009-01-06
|
|
|
|
|
|
|
|
* Pin to Rack 0.4.0 (this is the last release on Rack 0.4)
|
|
|
|
|
|
|
|
* Log unhandled exception backtraces to rack.errors.
|
|
|
|
|
|
|
|
* Use RACK_ENV environment variable to establish Sinatra
|
|
|
|
environment when given. Thin sets this when started with
|
|
|
|
the -e argument.
|
|
|
|
|
|
|
|
* BUG: raising Sinatra::NotFound resulted in a 500 response
|
|
|
|
code instead of 404.
|
|
|
|
|
|
|
|
* BUG: use_in_file_templates! fails with CR/LF (#45)
|
|
|
|
|
|
|
|
* BUG: Sinatra detects the app file and root path when run under
|
|
|
|
thin/passenger.
|
|
|
|
|
|
|
|
= 0.3.2
|
|
|
|
|
|
|
|
* BUG: Static and send_file read entire file into String before
|
|
|
|
sending. Updated to stream with 8K chunks instead.
|
|
|
|
|
|
|
|
* Rake tasks and assets for building basic documentation website.
|
|
|
|
See http://sinatra.rubyforge.org
|
|
|
|
|
|
|
|
* Various minor doc fixes.
|
|
|
|
|
|
|
|
= 0.3.1
|
|
|
|
|
|
|
|
* Unbreak optional path parameters [jeremyevans]
|
|
|
|
|
|
|
|
= 0.3.0
|
|
|
|
|
|
|
|
* Add sinatra.gemspec w/ support for github gem builds. Forks can now
|
|
|
|
enable the build gem option in github to get free username-sinatra.gem
|
|
|
|
builds: gem install username-sinatra.gem --source=http://gems.github.com/
|
|
|
|
|
|
|
|
* Require rack-0.4 gem; removes frozen rack dir.
|
|
|
|
|
|
|
|
* Basic RSpec support; require 'sinatra/test/rspec' instead of
|
|
|
|
'sinatra/test/spec' to use. [avdi]
|
|
|
|
|
|
|
|
* before filters can modify request environment vars used for
|
|
|
|
routing (e.g., PATH_INFO, REQUEST_METHOD, etc.) for URL rewriting
|
|
|
|
type functionality.
|
|
|
|
|
|
|
|
* In-file templates now uses @@ instead of ## as template separator.
|
|
|
|
|
|
|
|
* Top-level environment test predicates: development?, test?, production?
|
|
|
|
|
|
|
|
* Top-level "set", "enable", and "disable" methods for tweaking
|
|
|
|
app options. [rtomayko]
|
|
|
|
|
|
|
|
* Top-level "use" method for building Rack middleware pipelines
|
|
|
|
leading to app. See README for usage. [rtomayko]
|
|
|
|
|
|
|
|
* New "reload" option - set false to disable reloading in development.
|
|
|
|
|
|
|
|
* New "host" option - host/ip to bind to [cschneid]
|
|
|
|
|
|
|
|
* New "app_file" option - override the file to reload in development
|
|
|
|
mode [cschneid]
|
|
|
|
|
|
|
|
* Development error/not_found page cleanup [sr, adamwiggins]
|
|
|
|
|
|
|
|
* Remove a bunch of core extensions (String#to_param, String#from_param,
|
|
|
|
Hash#from_params, Hash#to_params, Hash#symbolize_keys, Hash#pass)
|
|
|
|
|
|
|
|
* Various grammar and formatting fixes to README; additions on
|
|
|
|
community and contributing [cypher]
|
|
|
|
|
|
|
|
* Build RDoc using Hanna template: http://sinatrarb.rubyforge.org/api
|
|
|
|
|
|
|
|
* Specs, documentation and fixes for splat'n routes [vic]
|
|
|
|
|
|
|
|
* Fix whitespace errors across all source files. [rtomayko]
|
|
|
|
|
|
|
|
* Fix streaming issues with Mongrel (body not closed). [bmizerany]
|
|
|
|
|
|
|
|
* Fix various issues with environment not being set properly (configure
|
|
|
|
blocks not running, error pages not registering, etc.) [cypher]
|
|
|
|
|
|
|
|
* Fix to allow locals to be passed to ERB templates [cschneid]
|
|
|
|
|
|
|
|
* Fix locking issues causing random errors during reload in development.
|
|
|
|
|
|
|
|
* Fix for escaped paths not resolving static files [Matthew Walker]
|
|
|
|
|
|
|
|
= 0.2.1
|
|
|
|
|
|
|
|
* File upload fix and minor tweaks.
|
|
|
|
|
|
|
|
= 0.2.0
|
|
|
|
|
|
|
|
* Initial gem release of 0.2 codebase.
|