Permalink
Browse files

Merge branch 'master' of github.com:sinatra/sinatra

  • Loading branch information...
2 parents aee668d + c0a9b33 commit 90b7dc3b989b8b6e2e7afae3110d55356e9954a0 @rkh rkh committed Sep 25, 2011
View
@@ -0,0 +1,16 @@
+rvm:
+ - 1.8.7
+ - 1.9.2
+ - 1.9.3
+ - rbx
+ - rbx-2.0
+ - jruby
+ - ruby-head
+env:
+ - "rack=1.3.0"
+ - "rack=master"
+ - "tilt=1.3.2"
+ - "tilt=master"
+notifications:
+ recipients:
+ - k.haase@finn.de
View
100 CHANGES
@@ -1,7 +1,19 @@
= 1.3.0 / Not Yet Released
+ * Added `stream` helper method for easily creating streaming APIs, Server
+ Sent Events or even WebSockets. See README for more on that topic.
+ (Konstantin Haase)
+
+ * If a HTTP 1.1 client is redirected from a different verb than GET, use 303
+ instead of 302 by default. You may still pass 302 explicitly. Fixes AJAX
+ redirects in Internet Explorer 9 (to be fair, everyone else is doing it
+ wrong and IE is behaving correct). (Konstantin Haase)
+
* Added support for HTTP PATCH requests. (Konstantin Haase)
+ * Use rack-protection to defend against common opportunistic attacks.
+ (Josh Lane, Jacob Burkhart, Konstantin Haase)
+
* Support for Creole templates, Creole is a standardized wiki markup,
supported by many wiki implementations. (Konstanin Haase)
@@ -14,9 +26,9 @@
version. This makes Sinatra confirm with RFC 2396 section 2.2 and RFC 2616
section 3.2.3 (escaped reserved characters should not be treated like the
unescaped version), meaning that "/:name" will also match `/foo%2Fbar`, but
- not `/foo/bar`. To avoid incompatibility, pattern matching has been adjusted.
- Moreover, since we do no longer need to keep an unescaped version of
- path_info around, we handle all changes to `env['PATH_INFO']` correctly.
+ not `/foo/bar`. To avoid incompatibility, pattern matching has been
+ adjusted. Moreover, since we do no longer need to keep an unescaped version
+ of path_info around, we handle all changes to `env['PATH_INFO']` correctly.
(Konstantin Haase)
* `settings.app_file` now defaults to the file subclassing `Sinatra::Base` in
@@ -26,36 +38,66 @@
was enabled or not. Also, expose that logger with the `logger` helper
method. (Konstantin Haase)
- * The sessions setting now may be an options hash. (Konstantin Haase)
+ * The sessions setting may be an options hash now. (Konstantin Haase)
- * Important: 1.8.6 support has been dropped. This version also depends on at
- least Rack 1.3.0. This means that it is incompatible to Rails prior to 3.1.0.
- Please use 1.2.x if you require an earlier version for Ruby or Rack, which we
- will continue to supply with bug fixes. (Konstantin Haase)
+ * Important: Ruby 1.8.6 support has been dropped. This version also depends
+ on at least Rack 1.3.0. This means that it is incompatible with Rails prior
+ to 3.1.0. Please use 1.2.x if you require an earlier version of Ruby or
+ Rack, which we will continue to supply with bug fixes. (Konstantin Haase)
- * It is now possible to use a different target class for the top level DSL (aka
- classic style) than `Sinatra::Application` by setting `Delegator.target`.
- This was mainly introduced to ease testing. (Konstantin Haase)
+ * Renamed `:public` to `:public_folder` to avoid overriding Ruby's built-in
+ `public` method/keyword. `set(:public, ...)` is still possible but shows a
+ warning. (Konstantin Haase)
- * Error handlers defined for an error class will now also handle subclasses of
- that class, unless more specific error handlers exist. (Konstantin Haase)
+ * It is now possible to use a different target class for the top level DSL
+ (aka classic style) than `Sinatra::Application` by setting
+ `Delegator.target`. This was mainly introduced to ease testing. (Konstantin
+ Haase)
+
+ * Error handlers defined for an error class will now also handle subclasses
+ of that class, unless more specific error handlers exist. (Konstantin
+ Haase)
* Error handling respects Exception#code, again. (Konstantin Haase)
* Changing a setting will merge hashes: `set(:x, :a => 1); set(:x :b => 2)`
- will result in `{:a => 1, :b => 2}`. Use `set(:x, {:a => 1}, true)` to avoid
- this behavior. (Konstantin Haase)
+ will result in `{:a => 1, :b => 2}`. Use `set(:x, {:a => 1}, true)` to
+ avoid this behavior. (Konstantin Haase)
* Added `request.accept?` and `request.preferred_type` to ease dealing with
`Accept` headers. (Konstantin Haase)
+ * Added `:static_cache_control` setting to automatically set cache control
+ headers to static files. (Kenichi Nakamura)
+
+ * Added `informal?`, `success?`, `redirect?`, `client_error?`,
+ `server_error?` and `not_found?` helper methods to ease dealing with status
+ codes. (Konstantin Haase)
+
* Uses SecureRandom to generate default session secret. (Konstantin Haase)
- * `Sinatra.run!` now prints to stderr rather than stdout. (Andrew Armenia)
+ * The `attachment` helper will set Content-Type (if it hasn't been set yet)
+ depending on the supplied file name. (Vasiliy Ermolovich)
+
+ * Conditional requests on `etag` helper now work properly for unsafe HTTP
+ methods. (Matthew Schinckel, Konstantin Haase)
+
+ * The `last_modified` helper does not stop execution and change the status code
+ if the status code is something different than 200. (Konstantin Haase)
+
+ * Added support for If-Unmodified-Since header. (Konstantin Haase)
+
+ * `Sinatra::Base.run!` now prints to stderr rather than stdout. (Andrew
+ Armenia)
+
+ * `Sinatra::Base.run!` takes a block allowing access to the Rack handler.
+ (David Waite)
* Automatic `app_file` detection now works in directories containing brackets
(Konstantin Haase)
+ * Exception objects are now passed to error handlers. (Konstantin Haase)
+
* Improved documentation. (Emanuele Vicentini, Peter Higgins, Takanori
Ishikawa, Konstantin Haase)
@@ -65,11 +107,24 @@
allows you to run Sinatra with custom Rack handlers, like Kirk or Mongrel2.
Example: `ruby app.rb -s Mongrel2` (Konstantin Haase)
- * Middleware setup is now distributed across multiple methods, allowing Sinatra
- extensions to easily hook into the setup process. (Konstantin Haase)
+ * Ignore `to_ary` on response bodies. Fixes compatibility to Rails 3.1.
+ (Konstantin Haase)
+
+ * Middleware setup is now distributed across multiple methods, allowing
+ Sinatra extensions to easily hook into the setup process. (Konstantin
+ Haase)
* Internal refactoring and minor performance improvements. (Konstantin Haase)
+ * Move Sinatra::VERSION to separate file, so it can be checked without
+ loading Sinatra. (Konstantin Haase)
+
+ * Command line options now complain if value passed to `-p` is not a valid
+ integer. (Konstantin Haase)
+
+ * Fix handling of broken query params when displaying exceptions. (Luke
+ Jahnke)
+
= 1.2.7 (backports release) / Not Yet Released
Custom changes:
@@ -78,6 +133,9 @@ Custom changes:
Backported from 1.3.0:
+ * Ignore `to_ary` on response bodies. Fixes compatibility to Rails 3.1.
+ (Konstantin Haase)
+
* `Sinatra.run!` now prints to stderr rather than stdout. (Andrew Armenia)
* Automatic `app_file` detection now works in directories containing brackets
@@ -94,6 +152,12 @@ Backported from 1.3.0:
* Fix uninitialized instance variable warning. (David Kellum)
+ * Command line options now complain if value passed to `-p` is not a valid
+ integer. (Konstantin Haase)
+
+ * Fix handling of broken query params when displaying exceptions. (Luke
+ Jahnke)
+
= 1.2.6 / 2011-05-01
* Fix broken delegation, backport delegation tests from Sinatra 1.3.
View
54 Gemfile
@@ -8,6 +8,7 @@
RUBY_ENGINE = 'ruby' unless defined? RUBY_ENGINE
source :rubygems unless ENV['QUICK']
+gemspec
gem 'rake'
gem 'rack-test', '>= 0.5.6'
@@ -24,42 +25,45 @@ repos = { 'tilt' => github % "rtomayko/tilt", 'rack' => github % "rack/rack" }
gem lib, dep
end
-gem 'haml', '>= 3.0', :group => 'haml'
-gem 'sass', :group => 'sass'
-gem 'builder', :group => 'builder'
-gem 'erubis', :group => 'erubis'
-gem 'less', '~> 1.0', :group => 'less'
-gem 'liquid', :group => 'liquid' unless RUBY_ENGINE == 'maglev'
-gem 'slim', :group => 'slim'
-gem 'RedCloth', :group => 'redcloth' if RUBY_VERSION < "1.9.3" and not RUBY_ENGINE.start_with? 'ma'
-gem 'coffee-script', '>= 2.0', :group => 'coffee-script'
-gem 'rdoc', :group => 'rdoc'
-gem 'kramdown', :group => 'kramdown'
-gem 'maruku', :group => 'maruku'
-gem 'creole', :group => 'creole'
+gem 'haml', '>= 3.0'
+gem 'sass'
+gem 'builder'
+gem 'erubis'
+gem 'less', '~> 1.0'
+gem 'liquid'
+gem 'slim', '~> 1.0'
+gem 'temple', '!= 0.3.3'
+gem 'RedCloth' if RUBY_VERSION < "1.9.3" and not RUBY_ENGINE.start_with? 'ma'
+gem 'coffee-script', '>= 2.0'
+gem 'rdoc'
+gem 'kramdown'
+gem 'maruku'
+gem 'creole'
-gem 'nokogiri', :group => 'nokogiri' if RUBY_ENGINE != 'maglev'
-#nokogiri_options = {:group => 'nokogiri'}
-#nokogiri_options[:git] = "https://github.com/MagLev/nokogiri.git" if RUBY_ENGINE == 'maglev'
-#gem 'nokogiri', nokogiri_options if RUBY_ENGINE != 'maglev'
+if RUBY_ENGINE == 'jruby'
+ gem 'nokogiri', '!= 1.5.0'
+ gem 'jruby-openssl'
+else
+ gem 'nokogiri'
+end
-unless RUBY_ENGINE == 'jruby' && JRUBY_VERSION < "1.6.1"
+unless RUBY_ENGINE == 'jruby' && JRUBY_VERSION < "1.6.1" && !ENV['TRAVIS']
# C extensions
- gem 'rdiscount', :group => 'rdiscount'
- gem 'redcarpet', :group => 'redcarpet'
+ gem 'rdiscount'
+ gem 'redcarpet'
## bluecloth is broken
- #gem 'bluecloth', :group => 'bluecloth'
+ #gem 'bluecloth'
end
platforms :ruby_18, :jruby do
- gem 'json', :group => 'coffee-script'
- gem 'markaby', :group => 'markaby'
- gem 'radius', :group => 'radius'
+ gem 'json'
+ gem 'markaby'
+ gem 'radius'
end
platforms :mri_18 do
# bundler platforms are broken
next if RUBY_ENGINE != 'ruby' or RUBY_VERSION > "1.8"
- gem 'rcov', :group => 'rcov'
+ gem 'rcov'
end
Oops, something went wrong.

0 comments on commit 90b7dc3

Please sign in to comment.