Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 804 lines (566 sloc) 33.316 kb
c562619 @rkh restore 1.8.6 compatibility
rkh authored
1 = 1.2.5 / 2011-04-30
2
3 * Restore compatibility with Ruby 1.8.6. (Konstantin Haase)
4
a8d5ef8 @rkh 1.2.4 release
rkh authored
5 = 1.2.4 / 2011-04-30
4cdef85 @rkh don't cache request object in env, fixes #239
rkh authored
6
d2d0ac3 @rkh update CHANGES
rkh authored
7 * Sinatra::Application (classic style) does not use a session secret in
8 development mode, so sessions are not invalidated after every request when
9 using Shotgun. (Konstantin Haase)
10
4cdef85 @rkh don't cache request object in env, fixes #239
rkh authored
11 * The request object was shared between multiple Sinatra instances in the
12 same middleware chain. This caused issues if any non-sinatra routing
7693b8b @rkh update changes
rkh authored
13 happend in-between two of those instances, or running a request twice
14 against an application (described in the README). The caching was reverted.
15 See GH#239 and GH#256 for more infos. (Konstantin Haase)
4cdef85 @rkh don't cache request object in env, fixes #239
rkh authored
16
d2d0ac3 @rkh update CHANGES
rkh authored
17 * Fixes issues where the top level DSL was interfering with method_missing
18 proxies. This issue surfaced when Rails 3 was used with older Sass versions
19 and Sinatra >= 1.2.0. (Konstantin Haase)
20
7693b8b @rkh update changes
rkh authored
21 * Sinatra::Delegator.delegate is now able to delegate any method names, even
22 those containing special characters. This allows better integration into
23 other programming languages on Rubinius (probably on the JVM, too), like
24 Fancy. (Konstantin Haase)
25
124777f @rkh update changes
rkh authored
26 * Remove HEAD request logic and let Rack::Head handle it instead. (Paolo
27 "Nusco" Perrotta)
28
f30a820 @rkh update CHANGES
rkh authored
29 = 1.2.3 / 2011-04-13
3c2d92c @rkh accept values pretending to be a Numeric (like ActiveSupport::Duration),...
rkh authored
30
bed6292 @rkh update CHANGES
rkh authored
31 * This release is compatible with Tilt 1.3, it will still work with Tilt 1.2.2,
32 however, if you want to use a newer Tilt version, you have to upgrade to at
33 least this version of Sinatra. (Konstantin Haase)
34
3c2d92c @rkh accept values pretending to be a Numeric (like ActiveSupport::Duration),...
rkh authored
35 * Helpers dealing with time, like `expires`, handle objects that pretend to be
904b280 @rkh typo
rkh authored
36 numbers, like `ActiveSupport::Duration`, better. (Konstantin Haase)
3c2d92c @rkh accept values pretending to be a Numeric (like ActiveSupport::Duration),...
rkh authored
37
a271e8e @rkh 1.2.2 release
rkh authored
38 = 1.2.2 / 2011-04-08
c1c02ee @rkh let #uri and #redirect accept other schemas
rkh authored
39
cf47e56 @rkh update changes
rkh authored
40 * The `:provides => :js` condition now matches both `application/javascript`
41 and `text/javascript`. The `:provides => :xml` condition now matches both
42 `application/xml` and `text/xml`. The `Content-Type` header is set
43 accordingly. If the client accepts both, the `application/*` version is
44 preferred, since the `text/*` versions are deprecated. (Konstantin Haase)
45
46 * The `provides` condition now handles wildcards in `Accept` headers correctly.
47 Thus `:provides => :html` matches `text/html`, `text/*` and `*/*`.
48 (Konstantin Haase)
49
50 * When parsing `Accept` headers, `Content-Type` preferences are honored
51 according to RFC 2616 section 14.1. (Konstantin Haase)
52
c1c02ee @rkh let #uri and #redirect accept other schemas
rkh authored
53 * URIs passed to the `url` helper or `redirect` may now use any schema to be
54 identified as absolute URIs, not only `http` or `https`. (Konstantin Haase)
55
abb5f3a @rkh Handles `Content-Type` strings that already contain parameters correctly...
rkh authored
56 * Handles `Content-Type` strings that already contain parameters correctly in
57 `content_type` (example: `content_type "text/plain; charset=utf-16"`).
58 (Konstantin Haase)
59
f438be2 @rkh handle empty route patterns as expected without breaking rails 3 compati...
rkh authored
60 * If a route with an empty pattern is defined (`get("") { ... }`) requests with
f2b494b @rkh typo
rkh authored
61 an empty path info match this route instead of "/". (Konstantin Haase)
f438be2 @rkh handle empty route patterns as expected without breaking rails 3 compati...
rkh authored
62
fe9a77d @rkh use proper links to images on error pages
rkh authored
63 * In development environment, when running under a nested path, the image URIs
64 on the error pages are set properly. (Konstantin Haase)
65
62fa2cd @rkh 1.2.1 release
rkh authored
66 = 1.2.1 / 2011-03-17
85a63b0 @rkh mind the changes
rkh authored
67
93d6e1f @rkh Switch back to Rack::Session::Cookie, but generate a secret.
rkh authored
68 * Use a generated session secret when using `enable :sessions`. (Konstantin
69 Haase)
85a63b0 @rkh mind the changes
rkh authored
70
62fa2cd @rkh 1.2.1 release
rkh authored
71 * Fixed a bug where the wrong content type was used if no content type was set
72 and a template engine was used with a different engine for the layout with
73 different default content types, say Less embedded in Slim. (Konstantin
74 Haase)
75
76 * README translations improved (Gabriel Andretta, burningTyger, Sylvain Desvé,
77 Gregor Schmidt)
aeeb84d @rkh fix Content Type handling with layout_engine
rkh authored
78
57f34d2 @rkh prepare release
rkh authored
79 = 1.2.0 / 2011-03-03
09626e8 @rkh Update CHANGES.
rkh authored
80
9dada69 @rkh Update CHANGES.
rkh authored
81 * Added `slim` rendering method for rendering Slim templates. (Steve
82 Hodgkiss)
09626e8 @rkh Update CHANGES.
rkh authored
83
0ff41a6 @rkh Add support for passing a block to the markaby method:
rkh authored
84 * The `markaby` rendering method now allows passing a block, making inline
85 usage possible. Requires Tilt 1.2 or newer. (Konstantin Haase)
86
398d7c3 @rkh update CHANGES
rkh authored
87 * All render methods now take a `:layout_engine` option, allowing to use a
88 layout in a different template language. Even more useful than using this
89 directly (`erb :index, :layout_engine => :haml`) is setting this globally for
90 a template engine that otherwise does not support layouts, like Markdown or
91 Textile (`set :markdown, :layout_engine => :erb`). (Konstantin Haase)
92
93 * Before and after filters now support conditions, both with and without
94 patterns (`before '/api/*', :agent => /Songbird/`). (Konstantin Haase)
95
9db223e @rkh update CHANGES
rkh authored
96 * Added a `url` helper method which constructs absolute URLs. Copes with
97 reverse proxies and Rack handlers correctly. Aliased to `to`, so you can
98 write `redirect to('/foo')`. (Konstantin Haase)
99
100 * If running on 1.9, patterns for routes and filters now support named
101 captures: `get(%r{/hi/(?<name>[^/?#]+)}) { "Hi #{params['name']}" }`.
102 (Steve Price)
103
8ca5fa5 @rkh Add :scope to CHANGES. Fixes #156.
rkh authored
104 * All rendering methods now take a `:scope` option, which renders them in
105 another context. Note that helpers and instance variables will be
106 unavailable if you use this feature. (Paul Walker)
107
9db223e @rkh update CHANGES
rkh authored
108 * The behavior of `redirect` can now be configured with `absolute_redirects`
109 and `prefixed_redirects`. (Konstantin Haase)
110
398d7c3 @rkh update CHANGES
rkh authored
111 * `send_file` now allows overriding the Last-Modified header, which defaults
112 to the file's mtime, by passing a `:last_modified` option. (Konstantin Haase)
113
9f3cfc4 @rkh update CHANGES
rkh authored
114 * You can use your own template lookup method by defining `find_template`.
115 This allows, among other things, using more than one views folder.
116 (Konstantin Haase)
117
9db223e @rkh update CHANGES
rkh authored
118 * Largely improved documentation. (burningTyger, Vasily Polovnyov, Gabriel
119 Andretta, Konstantin Haase)
120
9f3cfc4 @rkh update CHANGES
rkh authored
121 * Improved error handling. (cactus, Konstantin Haase)
122
9db223e @rkh update CHANGES
rkh authored
123 * Skip missing template engines in tests correctly. (cactus)
124
125 * Sinatra now ships with a Gemfile for development dependencies, since it eases
126 supporting different platforms, like JRuby. (Konstantin Haase)
127
f30a820 @rkh update CHANGES
rkh authored
128 = 1.1.4 / 2011-04-13
129
130 * Compatible with Tilt 1.3. (Konstantin Haase)
131
1461f61 @rkh add 1.1.3 release date to changes
rkh authored
132 = 1.1.3 / 2011-02-20
9db223e @rkh update CHANGES
rkh authored
133
134 * Fixed issues with `user_agent` condition if the user agent header is missing.
135 (Konstantin Haase)
136
137 * Fix some routing tests that have been skipped by accident (Ross A. Baker)
138
139 * Fix rendering issues with Builder and Nokogiri (Konstantin Haase)
140
141 * Replace last_modified helper with better implementation. (cactus,
142 Konstantin Haase)
143
144 * Fix issue with charset not being set when using `provides` condition.
145 (Konstantin Haase)
146
147 * Fix issue with `render` not picking up all alternative file extensions for
148 a rendering engine - it was not possible to register ".html.erb" without
149 tricks. (Konstantin Haase)
150
398d7c3 @rkh update CHANGES
rkh authored
151 = 1.1.2 / 2010-10-25
152
153 Like 1.1.1, but with proper CHANGES file.
154
155 = 1.1.1 / 2010-10-25
9dada69 @rkh Update CHANGES.
rkh authored
156
157 * README has been translated to Russian (Nickolay Schwarz, Vasily Polovnyov)
158 and Portuguese (Luciano Sousa).
09626e8 @rkh Update CHANGES.
rkh authored
159
160 * Nested templates without a `:layout` option can now be used from the layout
161 template without causing an infinite loop. (Konstantin Haase)
162
9dada69 @rkh Update CHANGES.
rkh authored
163 * Inline templates are now encoding aware and can therefore be used with
164 unicode characters on Ruby 1.9. Magic comments at the beginning of the file
165 will be honored. (Konstantin Haase)
166
167 * Default `app_file` is set correctly when running with bundler. Using
168 bundler caused Sinatra not to find the `app_file` and therefore not to find
169 the `views` folder on it's own. (Konstantin Haase)
170
171 * Better handling of Content-Type when using `send_file`: If file extension
172 is unknown, fall back to `application/octet-stream` and do not override
173 content type if it has already been set, except if `:type` is passed
174 explicitly (Konstantin Haase)
175
09626e8 @rkh Update CHANGES.
rkh authored
176 * Path is no longer cached if changed between handlers that do pattern
9dada69 @rkh Update CHANGES.
rkh authored
177 matching. This means you can change `request.path_info` in a pattern
178 matching before filter. (Konstantin Haase)
09626e8 @rkh Update CHANGES.
rkh authored
179
180 * Headers set by cache_control now always set max_age as an Integer, making
181 sure it is compatible with RFC2616. (Konstantin Haase)
182
398d7c3 @rkh update CHANGES
rkh authored
183 * Further improved handling of string encodings on Ruby 1.9, templates now
184 honor default_encoding and URLs support unicode characters. (Konstantin
185 Haase)
186
ad648be @rkh 1.1.0 release
rkh authored
187 = 1.1.0 / 2010-10-24
4cab214 @rkh Changelog for 1.1
rkh authored
188
fa15c4d @rkh Readjust latest changelog entries.
rkh authored
189 * Before and after filters now support pattern matching, including the
190 ability to use captures: "before('/user/:name') { |name| ... }". This
191 avoids manual path checking. No performance loss if patterns are avoided.
192 (Konstantin Haase)
4cab214 @rkh Changelog for 1.1
rkh authored
193
fa15c4d @rkh Readjust latest changelog entries.
rkh authored
194 * It is now possible to render SCSS files with the `scss` method, which
195 behaves exactly like `sass` except for the different file extension and
196 assuming the SCSS syntax. (Pedro Menezes, Konstantin Haase)
4cab214 @rkh Changelog for 1.1
rkh authored
197
7149810 @rkh Add recent changes to CHANGES.
rkh authored
198 * Added `liquid`, `markdown`, `nokogiri`, `textile`, `rdoc`, `radius`,
199 `markaby`, and `coffee` rendering methods for rendering Liquid, Markdown,
200 Nokogiri, Textile, RDoc, Radius, Markaby and CoffeeScript templates.
201 (Konstantin Haase)
202
eafe40d @rkh reorder changes
rkh authored
203 * Now supports byte-range requests (the HTTP_RANGE header) for static files.
204 Multi-range requests are not supported, however. (Jens Alfke)
205
da346eb @rkh Reorganize CHANGES and add Spanish/French READMEs to it.
rkh authored
206 * You can now use #settings method from class and top level for convenience.
4cab214 @rkh Changelog for 1.1
rkh authored
207 (Konstantin Haase)
208
da346eb @rkh Reorganize CHANGES and add Spanish/French READMEs to it.
rkh authored
209 * Setting multiple values now no longer relies on #to_hash and therefore
210 accepts any Enumerable as parameter. (Simon Rozet)
4cab214 @rkh Changelog for 1.1
rkh authored
211
7149810 @rkh Add recent changes to CHANGES.
rkh authored
212 * Nested templates default the `layout` option to `false` rather than `true`.
213 This eases the use of partials. If you wanted to render one haml template
214 embedded in another, you had to call `haml :partial, {}, :layout => false`.
215 As you almost never want the partial to be wrapped in the standard layout
216 in this situation, you now only have to call `haml :partial`. Passing in
217 `layout` explicitly is still possible. (Konstantin Haase)
218
219 * If a the return value of one of the render functions is used as a response
220 body and the content type has not been set explicitly, Sinatra chooses a
221 content type corresponding to the rendering engine rather than just using
222 "text/html". (Konstantin Haase)
223
a8a95ad @rkh Update CHANGES
rkh authored
224 * README is now available in Chinese (Wu Jiang), French (Mickael Riga),
225 German (Bernhard Essl, Konstantin Haase, burningTyger), Hungarian (Janos
226 Hardi) and Spanish (Gabriel Andretta). The extremely outdated Japanese
227 README has been updated (Kouhei Yanagita).
4cab214 @rkh Changelog for 1.1
rkh authored
228
da346eb @rkh Reorganize CHANGES and add Spanish/French READMEs to it.
rkh authored
229 * It is now possible to access Sinatra's template_cache from the outside.
230 (Nick Sutterer)
4cab214 @rkh Changelog for 1.1
rkh authored
231
da346eb @rkh Reorganize CHANGES and add Spanish/French READMEs to it.
rkh authored
232 * The `last_modified` method now also accepts DateTime instances and makes
233 sure the header will always be set to a string. (Konstantin Haase)
4cab214 @rkh Changelog for 1.1
rkh authored
234
da346eb @rkh Reorganize CHANGES and add Spanish/French READMEs to it.
rkh authored
235 * 599 now is a legal status code. (Steve Shreeve)
4cab214 @rkh Changelog for 1.1
rkh authored
236
237 * This release is compatible with Ruby 1.9.2. Sinatra was trying to read
1c82b9d @burningTyger Fixed typos in CHANGES.
burningTyger authored
238 non existent files Ruby added to the call stack. (Shota Fukumori,
8a3aea1 @rkh add Shota Fukumori to the change log
rkh authored
239 Konstantin Haase)
4cab214 @rkh Changelog for 1.1
rkh authored
240
1c82b9d @burningTyger Fixed typos in CHANGES.
burningTyger authored
241 * Prevents a memory leak on 1.8.6 in production mode. Note, however, that
da346eb @rkh Reorganize CHANGES and add Spanish/French READMEs to it.
rkh authored
242 this is due to a bug in 1.8.6 and request will have the additional overhead
243 of parsing templates again on that version. It is recommended to use at
244 least Ruby 1.8.7. (Konstantin Haase)
245
1a6bea5 @rkh Mention last_modified changes in README.
rkh authored
246 * Compares last modified date correctly. `last_modified` was halting only
247 when the 'If-Modified-Since' header date was equal to the time specified.
248 Now, it halts when is equal or later than the time specified (Gabriel
249 Andretta).
250
da346eb @rkh Reorganize CHANGES and add Spanish/French READMEs to it.
rkh authored
251 * Sinatra is now usable in combination with Rails 3. When mounting a Sinatra
252 application under a subpath in Rails 3, the PATH_INFO is not prefixed with
253 a slash and no routes did match. (José Valim)
254
a8a95ad @rkh Update CHANGES
rkh authored
255 * Better handling of encodings in 1.9, defaults params encoding to UTF-8.
e51bb77 @rkh Update CHANGES.
rkh authored
256 (Konstantin Haase)
257
3ae524e @rkh Update CHANGES: show_exception behavior changed and we no longer check t...
rkh authored
258 * `show_exeptions` handling is now triggered after custom error handlers, if
259 it is set to `:after_handlers`, thus not disabling those handler in
260 development mode. (pangel, Konstantin Haase)
7149810 @rkh Add recent changes to CHANGES.
rkh authored
261
da346eb @rkh Reorganize CHANGES and add Spanish/French READMEs to it.
rkh authored
262 * Added ability to handle weighted HTTP_ACCEPT headers. (Davide D'Agostino)
263
264 * `send_file` now always respects the `:type` option if set. Previously it
265 was discarded if no matching mime type was found, which made it impossible
266 to directly pass a mime type. (Konstantin Haase)
267
268 * `redirect` always redirects to an absolute URI, even if a relative URI was
269 passed. Ensures compatibility with RFC 2616 section 14.30. (Jean-Philippe
270 Garcia Ballester, Anthony Williams)
271
272 * Broken examples for using Erubis, Haml and Test::Unit in README have been
273 fixed. (Nick Sutterer, Doug Ireton, Jason Stewart, Eric Marden)
274
4cab214 @rkh Changelog for 1.1
rkh authored
275 * Sinatra now handles SIGTERM correctly. (Patrick Collison)
276
277 * Fixes an issue with inline templates in modular applications that manually
278 call `run!`. (Konstantin Haase)
279
f96c6ef @rkh Add latest changes to changelog.
rkh authored
280 * Spaces after inline template names are now ignored (Konstantin Haase)
281
4cab214 @rkh Changelog for 1.1
rkh authored
282 * It's now possible to use Sinatra with different package management
283 systems defining a custom require. (Konstantin Haase)
284
285 * Lighthouse has been dropped in favor of GitHub issues.
286
f96c6ef @rkh Add latest changes to changelog.
rkh authored
287 * Tilt is now a dependency and therefore no longer ships bundled with
288 Sinatra. (Ryan Tomayko, Konstantin Haase)
289
7149810 @rkh Add recent changes to CHANGES.
rkh authored
290 * Sinatra now depends on Rack 1.1 or higher. Rack 1.0 is no longer supported.
291 (Konstantin Haase)
292
37eb3a7 @rtomayko correct release date in CHANGES file
rtomayko authored
293 = 1.0 / 2010-03-23
f75bee5 @rtomayko Cleanup and refactoring after inheritance changes
rtomayko authored
294
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
295 * It's now possible to register blocks to run after each request using
296 after filters. After filters run at the end of each request, after
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
297 routes and error handlers. (Jimmy Schementi)
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
298
e3a9f9e @rtomayko update CHANGES file with recent changes
rtomayko authored
299 * Sinatra now uses Tilt <http://github.com/rtomayko/tilt> for rendering
300 templates. This adds support for template caching, consistent
301 template backtraces, and support for new template engines, like
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
302 mustache and liquid. (Ryan Tomayko)
303
f5efc37 @rtomayko add a note about template compilation to CHANGES
rtomayko authored
304 * ERB, Erubis, and Haml templates are now compiled the first time
305 they're rendered instead of being string eval'd on each invocation.
306 Benchmarks show a 5x-10x improvement in render time. This also
307 reduces the number of objects created, decreasing pressure on Ruby's
308 GC. (Ryan Tomayko)
309
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
310 * New 'settings' method gives access to options in both class and request
311 scopes. This replaces the 'options' method. (Chris Wanstrath)
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
312
f889c75 @rtomayko reload_templates setting; on by default in :development [#321]
rtomayko authored
313 * New boolean 'reload_templates' setting controls whether template files
314 are reread from disk and recompiled on each request. Template read/compile
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
315 is cached by default in all environments except development. (Ryan Tomayko)
f889c75 @rtomayko reload_templates setting; on by default in :development [#321]
rtomayko authored
316
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
317 * New 'erubis' helper method for rendering ERB template with Erubis. The
318 erubis gem is required. (Dylan Egan)
e3a9f9e @rtomayko update CHANGES file with recent changes
rtomayko authored
319
320 * New 'cache_control' helper method provides a convenient way of
321 setting the Cache-Control response header. Takes a variable number
322 of boolean directives followed by a hash of value directives, like
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
323 this: cache_control :public, :must_revalidate, :max_age => 60
324 (Ryan Tomayko)
e3a9f9e @rtomayko update CHANGES file with recent changes
rtomayko authored
325
ce3a8a8 @rtomayko rearrange a couple of bullets in CHANGES for easier reading
rtomayko authored
326 * New 'expires' helper method is like cache_control but takes an
327 integer number of seconds or Time object:
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
328 expires 300, :public, :must_revalidate
329 (Ryan Tomayko)
330
331 * New request.secure? method for checking for an SSL connection.
332 (Adam Wiggins)
ce3a8a8 @rtomayko rearrange a couple of bullets in CHANGES for easier reading
rtomayko authored
333
4d61607 @sr update README/CHANGES re. -o
sr authored
334 * Sinatra apps can now be run with a `-o <addr>` argument to specify
1b8fda8 @sr attribute to the right person
sr authored
335 the address to bind to. (Ryan Tomayko)
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
336
e3a9f9e @rtomayko update CHANGES file with recent changes
rtomayko authored
337 * Rack::Session::Cookie is now added to the middleware pipeline when
338 running in test environments if the :sessions option is set.
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
339 (Simon Rozet)
e3a9f9e @rtomayko update CHANGES file with recent changes
rtomayko authored
340
f75bee5 @rtomayko Cleanup and refactoring after inheritance changes
rtomayko authored
341 * Route handlers, before filters, templates, error mappings, and
342 middleware are now resolved dynamically up the inheritance hierarchy
343 when needed instead of duplicating the superclass's version when
344 a new Sinatra::Base subclass is created. This should fix a variety
345 of issues with extensions that need to add any of these things
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
346 to the base class. (Ryan Tomayko)
f75bee5 @rtomayko Cleanup and refactoring after inheritance changes
rtomayko authored
347
4e71959 @rtomayko error handlers always override raise_errors option
rtomayko authored
348 * Exception error handlers always override the raise_errors option now.
349 Previously, all exceptions would be raised outside of the application
350 when the raise_errors option was enabled, even if an error handler was
351 defined for that exception. The raise_errors option now controls
352 whether unhandled exceptions are raised (enabled) or if a generic 500
353 error is returned (disabled). (Ryan Tomayko)
354
45ba561 @rtomayko attribute people in CHANGES
rtomayko authored
355 * The X-Cascade response header is set to 'pass' when no matching route
356 is found or all routes pass. (Josh Peek)
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
357
f6fc751 @sr update CHANGES re. filters and static files
sr authored
358 * Filters do not run when serving static files anymore. (Ryan Tomayko)
359
8a7dd92 mention pass blocks in CHANGES
Blake Mizerany authored
360 * pass takes an optional block to be used as the route handler if no
361 subsequent route matches the request. (Blake Mizerany)
362
79a9993 @rtomayko note that Sinatra::Default is obsolete in CHANGES
rtomayko authored
363 The following Sinatra features have been obsoleted (removed entirely) in
364 the 1.0 release:
365
366 * The `sinatra/test` library is obsolete. This includes the `Sinatra::Test`
367 module, the `Sinatra::TestHarness` class, and the `get_it`, `post_it`,
368 `put_it`, `delete_it`, and `head_it` helper methods. The
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
369 [`Rack::Test` library](http://gitrdoc.com/brynary/rack-test) should
370 be used instead.
371
372 * Test framework specific libraries (`sinatra/test/spec`,
79a9993 @rtomayko note that Sinatra::Default is obsolete in CHANGES
rtomayko authored
373 `sinatra/test/bacon`,`sinatra/test/rspec`, etc.) are obsolete. See
374 http://www.sinatrarb.com/testing.html for instructions on setting up a
375 testing environment under each of these frameworks.
376
377 * `Sinatra::Default` is obsolete; use `Sinatra::Base` instead.
378 `Sinatra::Base` acts more like `Sinatra::Default` in development mode.
379 For example, static file serving and sexy development error pages are
380 enabled by default.
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
381
382 * Auto-requiring template libraries in the `erb`, `builder`, `haml`,
383 and `sass` methods is obsolete due to thread-safety issues. You must
384 require the template libraries explicitly in your app.
385
386 * The `:views_directory` option to rendering methods is obsolete; use
387 `:views` instead.
388
389 * The `:haml` and `:sass` options to rendering methods are obsolete.
390 Template engine options should be passed in the second Hash argument
391 instead.
392
f942ad7 @sr add inline_templates to CHANGES
sr authored
393 * The `use_in_file_templates` method is obsolete. Use
394 `enable :inline_templates` or `set :inline_templates, 'path/to/file'`
395
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
396 * The 'media_type' helper method is obsolete. Use 'mime_type' instead.
397
79a9993 @rtomayko note that Sinatra::Default is obsolete in CHANGES
rtomayko authored
398 * The 'mime' main and class method is obsolete. Use 'mime_type' instead.
399
e14c700 @rtomayko Update CHANGES with new features and obsoletions
rtomayko authored
400 * The request-level `send_data` method is no longer supported.
401
402 * The `Sinatra::Event` and `Sinatra::EventContext` classes are no longer
403 supported. This may effect extensions written for versions prior to 0.9.2.
404 See [Writing Sinatra Extensions](http://www.sinatrarb.com/extensions.html)
405 for the officially supported extensions API.
406
407 * The `set_option` and `set_options` methods are obsolete; use `set`
408 instead.
409
410 * The `:env` setting (`settings.env`) is obsolete; use `:environment`
411 instead.
412
413 * The request level `stop` method is obsolete; use `halt` instead.
414
415 * The request level `entity_tag` method is obsolete; use `etag`
416 instead.
417
418 * The request level `headers` method (HTTP response headers) is obsolete;
419 use `response['Header-Name']` instead.
420
421 * `Sinatra.application` is obsolete; use `Sinatra::Application` instead.
422
423 * Using `Sinatra.application = nil` to reset an application is obsolete.
424 This should no longer be necessary.
425
426 * Using `Sinatra.default_options` to set base configuration items is
427 obsolete; use `Sinatra::Base.set(key, value)` instead.
428
429 * The `Sinatra::ServerError` exception is obsolete. All exceptions raised
430 within a request are now treated as internal server errors and result in
431 a 500 response status.
432
3cfd06a @vangberg add :methodoverride => :method_override to CHANGES
vangberg authored
433 * The `:methodoverride' option to enable/disable the POST _method hack is
434 obsolete; use `:method_override` instead.
435
3d2988c @rtomayko Forgot to add release date for 0.9.2 in CHANGES
rtomayko authored
436 = 0.9.2 / 2009-05-18
13fc79d @rtomayko Remove support for source file reloading [#166]
rtomayko authored
437
5d6ac2a @rtomayko update CHANGES for 0.9.2 (perhaps 1.0) release
rtomayko authored
438 * This version is compatible with Rack 1.0. [Rein Henrichs]
439
440 * The development-mode unhandled exception / error page has been
441 greatly enhanced, functionally and aesthetically. The error
442 page is used when the :show_exceptions option is enabled and an
443 exception propagates outside of a route handler or before filter.
444 [Simon Rozet / Matte Noble / Ryan Tomayko]
445
446 * Backtraces that move through templates now include filenames and
447 line numbers where possible. [#51 / S. Brent Faulkner]
448
449 * All templates now have an app-level option for setting default
450 template options (:haml, :sass, :erb, :builder). The app-level
451 option value must be a Hash if set and is merged with the
452 template options specified to the render method (Base#haml,
453 Base#erb, Base#builder). [S. Brent Faulkner, Ryan Tomayko]
454
455 * The method signature for all template rendering methods has
456 been unified: "def engine(template, options={}, locals={})".
457 The options Hash now takes the generic :views, :layout, and
458 :locals options but also any template-specific options. The
459 generic options are removed before calling the template specific
460 render method. Locals may be specified using either the
461 :locals key in the options hash or a second Hash option to the
462 rendering method. [#191 / Ryan Tomayko]
463
464 * The receiver is now passed to "configure" blocks. This
465 allows for the following idiom in top-level apps:
466 configure { |app| set :foo, app.root + '/foo' }
467 [TJ Holowaychuck / Ryan Tomayko]
468
469 * The "sinatra/test" lib is deprecated and will be removed in
470 Sinatra 1.0. This includes the Sinatra::Test module and
471 Sinatra::TestHarness class in addition to all the framework
472 test helpers that were deprecated in 0.9.1. The Rack::Test
473 lib should be used instead: http://gitrdoc.com/brynary/rack-test
474 [#176 / Simon Rozet]
475
13fc79d @rtomayko Remove support for source file reloading [#166]
rtomayko authored
476 * Development mode source file reloading has been removed. The
477 "shotgun" (http://rtomayko.github.com/shotgun/) program can be
478 used to achieve the same basic functionality in most situations.
479 Passenger users should use the "tmp/always_restart.txt"
5d6ac2a @rtomayko update CHANGES for 0.9.2 (perhaps 1.0) release
rtomayko authored
480 file (http://tinyurl.com/c67o4h). [#166 / Ryan Tomayko]
481
b48ed22 @rtomayko Add note about auto-require deprecation to CHANGES
rtomayko authored
482 * Auto-requiring template libs in the erb, builder, haml, and
483 sass methods is deprecated due to thread-safety issues. You must
484 require the template libs explicitly in your app file. [Simon Rozet]
485
5d6ac2a @rtomayko update CHANGES for 0.9.2 (perhaps 1.0) release
rtomayko authored
486 * A new Sinatra::Base#route_missing method was added. route_missing
487 is sent when no route matches the request or all route handlers
488 pass. The default implementation forwards the request to the
489 downstream app when running as middleware (i.e., "@app" is
490 non-nil), or raises a NotFound exception when no downstream app
491 is defined. Subclasses can override this method to perform custom
492 route miss logic. [Jon Crosby]
493
494 * A new Sinatra::Base#route_eval method was added. The method
495 yields to the block and throws :halt with the result. Subclasses
496 can override this method to tap into the route execution logic.
497 [TJ Holowaychuck]
498
499 * Fix the "-x" (enable request mutex / locking) command line
500 argument. Passing -x now properly sets the :lock option.
501 [S. Brent Faulkner, Ryan Tomayko]
502
503 * Fix writer ("foo=") and predicate ("foo?") methods in extension
504 modules not being added to the registering class.
505 [#172 / Pat Nakajima]
506
507 * Fix in-file templates when running alongside activesupport and
508 fatal errors when requiring activesupport before sinatra
509 [#178 / Brian Candler]
510
511 * Fix various issues running on Google AppEngine.
512 [Samuel Goebert, Simon Rozet]
513
514 * Fix in-file templates __END__ detection when __END__ exists with
515 other stuff on a line [Yoji Shidara]
13fc79d @rtomayko Remove support for source file reloading [#166]
rtomayko authored
516
0f02baf @rtomayko 0.9.1.1 security release
rtomayko authored
517 = 0.9.1.1 / 2009-03-09
518
519 * Fix directory traversal vulnerability in default static files
520 route. See [#177] for more info.
521
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
522 = 0.9.1 / 2009-03-01
41c8aeb @rtomayko Bring CHANGES file up to date with last week of stuff
rtomayko authored
523
524 * Sinatra now runs under Ruby 1.9.1 [#61]
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
525
41c8aeb @rtomayko Bring CHANGES file up to date with last week of stuff
rtomayko authored
526 * Route patterns (splats, :named, or Regexp captures) are now
527 passed as arguments to the block. [#140]
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
528
41c8aeb @rtomayko Bring CHANGES file up to date with last week of stuff
rtomayko authored
529 * The "helpers" method now takes a variable number of modules
530 along with the normal block syntax. [#133]
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
531
cf32f2e @rtomayko Middleware enhancements: automatic and explicit forward to downstream [#...
rtomayko authored
532 * New request-level #forward method for middleware components: passes
533 the env to the downstream app and merges the response status, headers,
0e1fd22 @rtomayko Misc additions to the CHANGES file
rtomayko authored
534 and body into the current context. [#126]
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
535
cf32f2e @rtomayko Middleware enhancements: automatic and explicit forward to downstream [#...
rtomayko authored
536 * Requests are now automatically forwarded to the downstream app when
537 running as middleware and no matching route is found or all routes
538 pass.
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
539
41c8aeb @rtomayko Bring CHANGES file up to date with last week of stuff
rtomayko authored
540 * New simple API for extensions/plugins to add DSL-level and
541 request-level methods. Use Sinatra.register(mixin) to extend
542 the DSL with all public methods defined in the mixin module;
543 use Sinatra.helpers(mixin) to make all public methods defined
544 in the mixin module available at the request level. [#138]
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
545 See http://www.sinatrarb.com/extensions.html for details.
546
547 * Named parameters in routes now capture the "." character. This makes
548 routes like "/:path/:filename" match against requests like
549 "/foo/bar.txt"; in this case, "params[:filename]" is "bar.txt".
550 Previously, the route would not match at all.
551
552 * Added request-level "redirect back" to redirect to the referring
553 URL.
554
41c8aeb @rtomayko Bring CHANGES file up to date with last week of stuff
rtomayko authored
555 * Added a new "clean_trace" option that causes backtraces dumped
556 to rack.errors and displayed on the development error page to
557 omit framework and core library backtrace lines. The option is
558 enabled by default. [#77]
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
559
090c4d7 @rtomayko Fix weirdness with partials in ERB [#158]
rtomayko authored
560 * The ERB output buffer is now available to helpers via the @_out_buf
561 instance variable.
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
562
563 * It's now much easier to test sessions in unit tests by passing a
564 ":session" option to any of the mock request methods. e.g.,
565 get '/', {}, :session => { 'foo' => 'bar' }
566
2f377e2 @rtomayko Trim down Testing section in the README; link to doc site instead
rtomayko authored
567 * The testing framework specific files ('sinatra/test/spec',
568 'sinatra/test/bacon', 'sinatra/test/rspec', etc.) have been deprecated.
569 See http://sinatrarb.com/testing.html for instructions on setting up
570 a testing environment with these frameworks.
571
a9e9f00 @rtomayko Add send_data back in but deprecate [#143]
rtomayko authored
572 * The request-level #send_data method from Sinatra 0.3.3 has been added
573 for compatibility but is deprecated.
41c8aeb @rtomayko Bring CHANGES file up to date with last week of stuff
rtomayko authored
574
987d622 @rtomayko Bump version to 0.9.1 and update CHANGES file
rtomayko authored
575 * Fix :provides causing crash on any request when request has no
576 Accept header [#139]
577
578 * Fix that ERB templates were evaluated twice per "erb" call.
579
580 * Fix app-level middleware not being run when the Sinatra application is
581 run as middleware.
582
583 * Fixed some issues with running under Rack's CGI handler caused by
584 writing informational stuff to stdout.
585
0e1fd22 @rtomayko Misc additions to the CHANGES file
rtomayko authored
586 * Fixed that reloading was sometimes enabled when starting from a
587 rackup file [#110]
588
589 * Fixed that "." in route patterns erroneously matched any character
590 instead of a literal ".". [#124]
591
f99015d @rtomayko Bring in CHANGES additions from 0.9.0.x branch
rtomayko authored
592 = 0.9.0.4 / 2009-01-25
593
594 * Using halt with more than 1 args causes ArgumentError [#131]
595 * using halt in a before filter doesn't modify response [#127]
596 * Add deprecated Sinatra::EventContext to unbreak plugins [#130]
597 * Give access to GET/POST params in filters [#129]
598 * Preserve non-nested params in nested params hash [#117]
599 * Fix backtrace dump with Rack::Lint [#116]
600
601 = 0.9.0.3 / 2009-01-21
602
603 * Fall back on mongrel then webrick when thin not found. [#75]
604 * Use :environment instead of :env in test helpers to
605 fix deprecation warnings coming from framework.
606 * Make sinatra/test/rspec work again [#113]
607 * Fix app_file detection on windows [#118]
608 * Fix static files with Rack::Lint in pipeline [#121]
609
610 = 0.9.0.2 / 2009-01-18
611
612 * Halting a before block should stop processing of routes [#85]
613 * Fix redirect/halt in before filters [#85]
614
968194d @rtomayko 0.9.0 release
rtomayko authored
615 = 0.9.0 / 2009-01-18
ccb653f @rtomayko Update CHANGES file with hoboken notes
rtomayko authored
616
17cb177 @cypher README and CHANGES tweaks for 0.9.0 release (#63)
cypher authored
617 * Works with and requires Rack >= 0.9.1
618
619 * Multiple Sinatra applications can now co-exist peacefully within a
620 single process. The new "Sinatra::Base" class can be subclassed to
621 establish a blank-slate Rack application or middleware component.
622 Documentation on using these features is forth-coming; the following
623 provides the basic gist: http://gist.github.com/38605
624
1fa9807 @foca Nested params (e.g., "post[title]=Hello") [#70]
foca authored
625 * Parameters with subscripts are now parsed into a nested/recursive
626 Hash structure. e.g., "post[title]=Hello&post[body]=World" yields
627 params: {'post' => {'title' => 'Hello', 'body' => 'World'}}.
628
17cb177 @cypher README and CHANGES tweaks for 0.9.0 release (#63)
cypher authored
629 * Regular expressions may now be used in route pattens; captures are
630 available at "params[:captures]".
b5faa57 @rtomayko Dump backtrace to rack.errors on unhandled exception
rtomayko authored
631
38778ed @cypher Add filtering support for Accept HTTP header.
cypher authored
632 * New ":provides" route condition takes an array of mime types and
633 matches only when an Accept request header is present with a
634 corresponding type. [cypher]
635
17cb177 @cypher README and CHANGES tweaks for 0.9.0 release (#63)
cypher authored
636 * New request-level "pass" method; immediately exits the current block
637 and passes control to the next matching route.
ccb653f @rtomayko Update CHANGES file with hoboken notes
rtomayko authored
638
639 * The request-level "body" method now takes a block; evaluation is
640 deferred until an attempt is made to read the body. The block must
641 return a String or Array.
642
643 * New "route conditions" system for attaching rules for when a route
644 matches. The :agent and :host route options now use this system.
645
17cb177 @cypher README and CHANGES tweaks for 0.9.0 release (#63)
cypher authored
646 * New "dump_errors" option controls whether the backtrace is dumped to
647 rack.errors when an exception is raised from a route. The option is
648 enabled by default for top-level apps.
649
650 * Better default "app_file", "root", "public", and "views" location
651 detection; changes to "root" and "app_file" automatically cascade to
652 other options that depend on them.
ccb653f @rtomayko Update CHANGES file with hoboken notes
rtomayko authored
653
654 * Error mappings are now split into two distinct layers: exception
655 mappings and custom error pages. Exception mappings are registered
656 with "error(Exception)" and are run only when the app raises an
657 exception. Custom error pages are registered with "error(status_code)",
658 where "status_code" is an integer, and are run any time the response
659 has the status code specified. It's also possible to register an error
660 page for a range of status codes: "error(500..599)".
661
968194d @rtomayko 0.9.0 release
rtomayko authored
662 * In-file templates are now automatically imported from the file that
663 requires 'sinatra'. The use_in_file_templates! method is still available
664 for loading templates from other files.
665
c2849ff @rtomayko Note sinatra/test modifications in CHANGES file
rtomayko authored
666 * Sinatra's testing support is no longer dependent on Test::Unit. Requiring
667 'sinatra/test' adds the Sinatra::Test module and Sinatra::TestHarness
668 class, which can be used with any test framework. The 'sinatra/test/unit',
669 'sinatra/test/spec', 'sinatra/test/rspec', or 'sinatra/test/bacon' files
670 can be required to setup a framework-specific testing environment. See the
671 README for more information.
672
1fb5b99 @dylanegan Bacon support
dylanegan authored
673 * Added support for Bacon (test framework). The 'sinatra/test/bacon' file
674 can be required to setup Sinatra test helpers on Bacon::Context.
675
ccb653f @rtomayko Update CHANGES file with hoboken notes
rtomayko authored
676 * Deprecated "set_option" and "set_options"; use "set" instead.
677
678 * Deprecated the "env" option ("options.env"); use "environment" instead.
679
680 * Deprecated the request level "stop" method; use "halt" instead.
681
682 * Deprecated the request level "entity_tag" method; use "etag" instead.
683 Both "entity_tag" and "etag" were previously supported.
684
685 * Deprecated the request level "headers" method (HTTP response headers);
686 use "response['Header-Name']" instead.
687
688 * Deprecated "Sinatra.application"; use "Sinatra::Application" instead.
689
690 * Deprecated setting Sinatra.application = nil to reset an application.
691 This should no longer be necessary.
692
693 * Deprecated "Sinatra.default_options"; use
694 "Sinatra::Default.set(key, value)" instead.
695
696 * Deprecated the "ServerError" exception. All Exceptions are now
697 treated as internal server errors and result in a 500 response
698 status.
699
91922b7 @rtomayko Deprecate get_it, post_it, etc. test helpers with warnings
rtomayko authored
700 * Deprecated the "get_it", "post_it", "put_it", "delete_it", and "head_it"
701 test helper methods. Use "get", "post", "put", "delete", and "head",
702 respectively, instead.
703
ccb653f @rtomayko Update CHANGES file with hoboken notes
rtomayko authored
704 * Removed Event and EventContext classes. Applications are defined in a
705 subclass of Sinatra::Base; each request is processed within an
706 instance.
707
708 = 0.3.3 / 2009-01-06
709
710 * Pin to Rack 0.4.0 (this is the last release on Rack 0.4)
711
712 * Log unhandled exception backtraces to rack.errors.
713
714 * Use RACK_ENV environment variable to establish Sinatra
715 environment when given. Thin sets this when started with
716 the -e argument.
717
718 * BUG: raising Sinatra::NotFound resulted in a 500 response
719 code instead of 404.
720
721 * BUG: use_in_file_templates! fails with CR/LF (#45)
722
723 * BUG: Sinatra detects the app file and root path when run under
724 thin/passenger.
725
726 = 0.3.2
727
728 * BUG: Static and send_file read entire file into String before
729 sending. Updated to stream with 8K chunks instead.
730
731 * Rake tasks and assets for building basic documentation website.
732 See http://sinatra.rubyforge.org
733
734 * Various minor doc fixes.
735
736 = 0.3.1
737
738 * Unbreak optional path parameters [jeremyevans]
739
740 = 0.3.0
741
742 * Add sinatra.gemspec w/ support for github gem builds. Forks can now
743 enable the build gem option in github to get free username-sinatra.gem
744 builds: gem install username-sinatra.gem --source=http://gems.github.com/
745
746 * Require rack-0.4 gem; removes frozen rack dir.
747
748 * Basic RSpec support; require 'sinatra/test/rspec' instead of
749 'sinatra/test/spec' to use. [avdi]
750
751 * before filters can modify request environment vars used for
752 routing (e.g., PATH_INFO, REQUEST_METHOD, etc.) for URL rewriting
753 type functionality.
754
755 * In-file templates now uses @@ instead of ## as template separator.
756
757 * Top-level environment test predicates: development?, test?, production?
758
759 * Top-level "set", "enable", and "disable" methods for tweaking
760 app options. [rtomayko]
761
762 * Top-level "use" method for building Rack middleware pipelines
763 leading to app. See README for usage. [rtomayko]
764
765 * New "reload" option - set false to disable reloading in development.
766
767 * New "host" option - host/ip to bind to [cschneid]
768
769 * New "app_file" option - override the file to reload in development
770 mode [cschneid]
771
772 * Development error/not_found page cleanup [sr, adamwiggins]
773
774 * Remove a bunch of core extensions (String#to_param, String#from_param,
775 Hash#from_params, Hash#to_params, Hash#symbolize_keys, Hash#pass)
776
777 * Various grammar and formatting fixes to README; additions on
778 community and contributing [cypher]
779
780 * Build RDoc using Hanna template: http://sinatrarb.rubyforge.org/api
781
782 * Specs, documentation and fixes for splat'n routes [vic]
783
784 * Fix whitespace errors across all source files. [rtomayko]
785
786 * Fix streaming issues with Mongrel (body not closed). [bmizerany]
787
788 * Fix various issues with environment not being set properly (configure
789 blocks not running, error pages not registering, etc.) [cypher]
790
791 * Fix to allow locals to be passed to ERB templates [cschneid]
792
793 * Fix locking issues causing random errors during reload in development.
794
795 * Fix for escaped paths not resolving static files [Matthew Walker]
796
797 = 0.2.1
798
799 * File upload fix and minor tweaks.
800
801 = 0.2.0
802
803 * Initial gem release of 0.2 codebase.
Something went wrong with that request. Please try again.