joe-merb-core 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/CHANGELOG +992 -0
  2. data/CONTRIBUTORS +94 -0
  3. data/LICENSE +20 -0
  4. data/PUBLIC_CHANGELOG +142 -0
  5. data/README +21 -0
  6. data/Rakefile +456 -0
  7. data/TODO +0 -0
  8. data/bin/merb +11 -0
  9. data/bin/merb-specs +5 -0
  10. data/lib/merb-core.rb +648 -0
  11. data/lib/merb-core/autoload.rb +31 -0
  12. data/lib/merb-core/bootloader.rb +889 -0
  13. data/lib/merb-core/config.rb +380 -0
  14. data/lib/merb-core/constants.rb +45 -0
  15. data/lib/merb-core/controller/abstract_controller.rb +620 -0
  16. data/lib/merb-core/controller/exceptions.rb +302 -0
  17. data/lib/merb-core/controller/merb_controller.rb +283 -0
  18. data/lib/merb-core/controller/mime.rb +111 -0
  19. data/lib/merb-core/controller/mixins/authentication.rb +123 -0
  20. data/lib/merb-core/controller/mixins/conditional_get.rb +83 -0
  21. data/lib/merb-core/controller/mixins/controller.rb +316 -0
  22. data/lib/merb-core/controller/mixins/render.rb +513 -0
  23. data/lib/merb-core/controller/mixins/responder.rb +469 -0
  24. data/lib/merb-core/controller/template.rb +254 -0
  25. data/lib/merb-core/core_ext.rb +9 -0
  26. data/lib/merb-core/core_ext/hash.rb +7 -0
  27. data/lib/merb-core/core_ext/kernel.rb +345 -0
  28. data/lib/merb-core/dispatch/cookies.rb +130 -0
  29. data/lib/merb-core/dispatch/default_exception/default_exception.rb +93 -0
  30. data/lib/merb-core/dispatch/default_exception/views/_css.html.erb +200 -0
  31. data/lib/merb-core/dispatch/default_exception/views/_javascript.html.erb +77 -0
  32. data/lib/merb-core/dispatch/default_exception/views/index.html.erb +98 -0
  33. data/lib/merb-core/dispatch/dispatcher.rb +172 -0
  34. data/lib/merb-core/dispatch/request.rb +718 -0
  35. data/lib/merb-core/dispatch/router.rb +228 -0
  36. data/lib/merb-core/dispatch/router/behavior.rb +610 -0
  37. data/lib/merb-core/dispatch/router/cached_proc.rb +52 -0
  38. data/lib/merb-core/dispatch/router/resources.rb +220 -0
  39. data/lib/merb-core/dispatch/router/route.rb +560 -0
  40. data/lib/merb-core/dispatch/session.rb +222 -0
  41. data/lib/merb-core/dispatch/session/container.rb +74 -0
  42. data/lib/merb-core/dispatch/session/cookie.rb +173 -0
  43. data/lib/merb-core/dispatch/session/memcached.rb +68 -0
  44. data/lib/merb-core/dispatch/session/memory.rb +99 -0
  45. data/lib/merb-core/dispatch/session/store_container.rb +150 -0
  46. data/lib/merb-core/dispatch/worker.rb +28 -0
  47. data/lib/merb-core/gem_ext/erubis.rb +77 -0
  48. data/lib/merb-core/logger.rb +215 -0
  49. data/lib/merb-core/plugins.rb +67 -0
  50. data/lib/merb-core/rack.rb +27 -0
  51. data/lib/merb-core/rack/adapter.rb +47 -0
  52. data/lib/merb-core/rack/adapter/ebb.rb +24 -0
  53. data/lib/merb-core/rack/adapter/evented_mongrel.rb +13 -0
  54. data/lib/merb-core/rack/adapter/fcgi.rb +17 -0
  55. data/lib/merb-core/rack/adapter/irb.rb +119 -0
  56. data/lib/merb-core/rack/adapter/mongrel.rb +33 -0
  57. data/lib/merb-core/rack/adapter/runner.rb +28 -0
  58. data/lib/merb-core/rack/adapter/swiftiplied_mongrel.rb +14 -0
  59. data/lib/merb-core/rack/adapter/thin.rb +40 -0
  60. data/lib/merb-core/rack/adapter/thin_turbo.rb +17 -0
  61. data/lib/merb-core/rack/adapter/webrick.rb +72 -0
  62. data/lib/merb-core/rack/application.rb +32 -0
  63. data/lib/merb-core/rack/handler/mongrel.rb +96 -0
  64. data/lib/merb-core/rack/middleware.rb +20 -0
  65. data/lib/merb-core/rack/middleware/conditional_get.rb +29 -0
  66. data/lib/merb-core/rack/middleware/content_length.rb +18 -0
  67. data/lib/merb-core/rack/middleware/csrf.rb +73 -0
  68. data/lib/merb-core/rack/middleware/path_prefix.rb +31 -0
  69. data/lib/merb-core/rack/middleware/profiler.rb +19 -0
  70. data/lib/merb-core/rack/middleware/static.rb +45 -0
  71. data/lib/merb-core/rack/middleware/tracer.rb +20 -0
  72. data/lib/merb-core/server.rb +321 -0
  73. data/lib/merb-core/tasks/audit.rake +68 -0
  74. data/lib/merb-core/tasks/gem_management.rb +252 -0
  75. data/lib/merb-core/tasks/merb.rb +2 -0
  76. data/lib/merb-core/tasks/merb_rake_helper.rb +51 -0
  77. data/lib/merb-core/tasks/stats.rake +71 -0
  78. data/lib/merb-core/test.rb +17 -0
  79. data/lib/merb-core/test/helpers.rb +10 -0
  80. data/lib/merb-core/test/helpers/controller_helper.rb +8 -0
  81. data/lib/merb-core/test/helpers/multipart_request_helper.rb +176 -0
  82. data/lib/merb-core/test/helpers/request_helper.rb +61 -0
  83. data/lib/merb-core/test/helpers/route_helper.rb +47 -0
  84. data/lib/merb-core/test/helpers/view_helper.rb +121 -0
  85. data/lib/merb-core/test/matchers.rb +10 -0
  86. data/lib/merb-core/test/matchers/controller_matchers.rb +108 -0
  87. data/lib/merb-core/test/matchers/route_matchers.rb +137 -0
  88. data/lib/merb-core/test/matchers/view_matchers.rb +393 -0
  89. data/lib/merb-core/test/run_specs.rb +141 -0
  90. data/lib/merb-core/test/tasks/spectasks.rb +68 -0
  91. data/lib/merb-core/test/test_ext/hpricot.rb +32 -0
  92. data/lib/merb-core/test/test_ext/object.rb +14 -0
  93. data/lib/merb-core/test/test_ext/string.rb +14 -0
  94. data/lib/merb-core/vendor/facets.rb +2 -0
  95. data/lib/merb-core/vendor/facets/dictionary.rb +433 -0
  96. data/lib/merb-core/vendor/facets/inflect.rb +342 -0
  97. data/lib/merb-core/version.rb +3 -0
  98. metadata +253 -0
data/CHANGELOG ADDED
@@ -0,0 +1,992 @@
1
+ == 0.9.7 "Universe In A Bundle" 2008-09-13
2
+
3
+ * Made the post body available to the routing when testing a request.
4
+ * Better local gems dir detection and end-user feedback
5
+ * Updated PUBLIC_CHANGELOG regarding gem management and merb.thor
6
+ * Fixed compatibility with the *new* bundle logic
7
+ * Made request('/path', {}, {:post_body => 'some XML'}) not setting the post body to nil.
8
+ * Added two specs for setting request.raw_post. Passes for #dispatch_to, fails for #request.
9
+ * You can now use request_to with a post body:
10
+ * It's official: Thor is now a dependency
11
+ * Removed MerbScriptHelper - simplified loading bundled gems - see merb.thor
12
+ * Bug Fix: Cookie headers not being formatted correctly
13
+ * Added request.session.clear! method to clear and destroy the session (including the _session_id cookie itself)
14
+ * Both memcache-client and memcached gems are supported by the session store
15
+ * Added better query param parsing (naive but adequate) for nested params
16
+ * Added specs to make sure blank cookie options aren't used for Set-Cookie
17
+ * Fixed cookie issues in WebKit/Safari browsers
18
+ * Log ControllerExceptions with error level and only ServerErrors with info.
19
+ * Modified absolute_url to handle an object as well as a Hash
20
+ * Touches to new sessions: doc and minor code improvements.
21
+ * More meaningful exception message when no session container is configured.
22
+ * Make it clear how session mixin makes it's way into controller.
23
+ * Leave a note where new sessions doc needs to be improved.
24
+ * Fix smart formatting.
25
+ * Give smart people proper credit when you use their work.
26
+ * Loosen extlib dependency a bit.
27
+ * Meaningful message when Memcached session store can't be loaded because of load error.
28
+ * Remove libxml-ruby and memcache-client dev dependencies.
29
+ * Require memcached gem where memcached session store is defined (it's lazy loaded).
30
+ * Meaninful message when have_xpath matcher is used but libxml-ruby fails to load.
31
+ * Don't blow up when there are no system paths.
32
+
33
+ == 0.9.6 "Therapy session" 2008-09-08
34
+
35
+ * Merge in simple conditional get support at controller level.
36
+ * Merged in new bundling (aka freezer) branch
37
+ * Merged in new-sessions branch
38
+ * Simplify one more clever line.
39
+ * Trenary operator is always hard to read.
40
+ * Added PUBLIC_CHANGELOG note on Language::English::Inflector => English::Inflect
41
+ * Filters with procs created via class methods have identical signatures regardless if they handle content differently or not. So modified add_filter to just append procs to the filter list.
42
+ * Consolidating raw Rakefile commands to merb-core/tasks/merb_rake_helper.rb
43
+ * Update contributors list.
44
+ * Ticket #461 - This simply adds output for what host and port the adapter has started on.
45
+ * More Language::English::Inflect to English::Inflect changes - getting ready for Extlib move soon
46
+ * Language::English::Inflect => English::Inflect name changes
47
+ * Use frozen strings where possible.
48
+ * First pass at adding in CSRF protection in to Rack middleware.
49
+ * Query string of the format "foo=bar&foo=baz" should return params {"foo" => "baz"}
50
+ * Fixed multiple select not honored in params bug
51
+ * Public specs for 'fragment' changes in url.
52
+ * AbstractController now uniformly uses instance_eval for Procs where previously
53
+ * Renamed anchor to fragment along with some minor tweeks to follow rfc2396 better.
54
+ * Add support for :anchor when generating url's. Ex. url(:root, :anchor => :lower_half).
55
+ * Revert "Make Merb::Request#protocol return valid protocol names (http, not http://)."
56
+ * Adds specs for previous commit
57
+ * Fixes display @object, :template => "path/to/foo"
58
+ * Clean up Rakefile.
59
+ * Remove a line of extra code
60
+ * Set cookie expires to nil when session_expiry is set to 0.
61
+ * ConditionalGet refactoring.
62
+ * Fix: ConditionalGet should not return the message body when the status code is 304.
63
+ * Rescue Exception subclasses, not only StandardError subclasses.
64
+ * Make Merb::Request#protocol return valid protocol names (http, not http://).
65
+ * Add :protocol and :host options to absolute_url
66
+ * extends basic authentication a bit to allow usage outside of before filters
67
+
68
+ == 0.9.5 "Knife and Spoons" 2008-26-08
69
+ * Add Hpricot to dependencies: provided RSpec matchers depend on it.
70
+ * Documentation fixes
71
+ * Make Rack application set Date header as required by RFC2616.
72
+ * Port Django's conditional GET middleware to Rack.
73
+ * Fix passenger issue
74
+ * Make Autotest consume less CPU by adding excludes.
75
+ * Add extract! experimentally
76
+ * Adds dev deps on rake install
77
+ * Add necessary dev dependencies
78
+ * Make route_to(...).with matcher work properly with empty hashes
79
+ * Make Merb::Request#query_parse a bit faster.
80
+ * Speed up dispatcher specs by using libxml
81
+ * throw :halt, nil spec
82
+ * More rigid specs
83
+ * merb-core really cannot use >= with extlib 0.9.3 at this point, so update gemspec
84
+ * Use Logger from Extlib
85
+ * Fix issue with Safari having weird ordering by fixing the issue in general.
86
+ * Fixes up a bunch of specs
87
+ * Add ContentLength middleware.
88
+ * Rename Rack middleware spec file
89
+ * Add Tracer middleware.
90
+ * Improve the documentation of AbstractController.
91
+ * Move Merb::Rack::Middleware#deferred\? to Merb::Rack::Application.
92
+ * No longer use Pathname for Merb.root and friends.
93
+ * fixed merb_erb bug
94
+ * readded _generator_scope methods with deprecation warnings
95
+ * added use_template_engine method and removed generator_scope code that is no longer needed
96
+ * Add clear_content to renderer
97
+
98
+ == 0.9.4 "Leave No Broken Windows" 2008-12-08
99
+ * Update required Ruby version to 1.8.6.
100
+ * Make dispatch_to set params[:controller] and params[:action].
101
+ * Update RedirectTo matcher documentation.
102
+ * redirect_to matcher now has :message option
103
+ * Adds some detail to the public changelog
104
+ * Fix rakefile
105
+ * Make history Rake tasks work again.
106
+ * Add contributors file.
107
+ * Add Rake tasks that list and update contributors file.
108
+ * A bit more readable spec example titles. Follow one assertion per test rule.
109
+ * Make Merb::Controller#send_file set header with respect to Rack specification.
110
+ * Removed TODO in Dispatcher#handle.
111
+ * More updates to Merb::Request methods documentation.
112
+ * Document Router#route_for(request).
113
+ * Document some new Request methods.
114
+ * Doc correction: Request#params returns instance of Mash.
115
+ * Doc correction: Request#body_and_query_params returns instance of Mash.
116
+ * ! for methods that change the receiver
117
+ * Remove old code
118
+ * Moves session fixation into request
119
+ * re-add permanent redirects
120
+ * Don't need this spec anymore.
121
+ * More work on the dispatcher.
122
+ * Documentation improvement + improvement in division of responsibilities.
123
+ * Before moving stuff into the Rack adapter.
124
+ * Additional refactor of the default Exceptions to use an actual Merb controller. Almost ready for a merge. Yeehaw!
125
+ * Even more awesome dispatcher improvements.
126
+ * Fixes an issue with status symbols
127
+ * Class extensions spec moved to Extlib.
128
+ * Move all accessors in AbstractController to the top so one can see them easily.
129
+ * We don't need this anymore
130
+ * Continues dispatch refactor. Exceptions now maintain a stack that is reported in the case of exceptions that, themselves, throw exceptions.
131
+ * Document :with option of filters.
132
+ * Fixed a typo in AbstractController documentation.
133
+ * Extra specs and love to Merb::Controller._session_*
134
+ * Added fixture config/init.rb
135
+ * Resolved conflict after cherry-pick of 9d1a11ff.
136
+ * Fixtures and pending specs for controller/cookie store integration.
137
+ * Re-set session cookie expiry and friends once init file/configuration is loaded.
138
+ * Two more specs for class_inheritable_accessor.
139
+ * Make spec for #342 do correct assertions.
140
+ * Fixed a bug where changes to inherited controller filters would bleed acrosss siblings
141
+ * the dispatcher specs
142
+ * Add more edge-case specs to Dispatcher and make sure they pass.
143
+ * Make Cookie#set_cookie handle more options. Improve spec coverage.
144
+ * Refactor Dispatcher.handle to reduce complexity
145
+ * Fix some ruby warnings
146
+ * Added flog tasks to rake
147
+ * add in stats task
148
+ * Forgotten changes to Rakefile.
149
+ * resource urls with additional params
150
+ * Remove double-start in Thin adapter.
151
+ * Merb::SimpleSet => Extlib::SimpleSet
152
+ * merb-extlib => extlib
153
+ * add spec for empty raw_post on xml content type
154
+ * make sure to resuce JSON parse errors and return {}
155
+ * Use Pathname in some more places, fix breakages.
156
+ * Added more documentation for some of the extra options available to #partial
157
+ * Temp commit.
158
+ * Relative :template paths can be extensionless again.
159
+ * Oops - forgot some files...
160
+ * Fixed nasty bugs in controller/mixins/responder and its specs.
161
+ * Reworded the documentation for #partial a little bit
162
+ * Added some documentation for the new partial collection counter
163
+ * Slight refactoring of the partial method
164
+ * Adding views for the new partial collection counter specs
165
+ * Adding the current index and collection size for partials rendered with a collection
166
+ * Use gem release task that's in Extlib now.
167
+ * If someone can figure out why this is already defined, please let me know
168
+ * Yeah... not a good idea
169
+ * ADd push_paths to the load path.
170
+ * another tiny tweak
171
+ * Fixes open IO issue
172
+ * Switch to merged extlib.
173
+ * Use Pathname in some more places, fix breakages.
174
+ * Move to merb-extlib is almost there.
175
+ * Output a warning about merb-extlib if it can't be loaded.
176
+ * Applying patch to allow use of thin_turbo adapter. Thanks dkubb!
177
+ * Did I really commit that?
178
+ * Use :info as default log level for now: people wonder "where the output is gone".
179
+ * Make sure default config has log level of error so template inlining bootloader won't dump everything to the tty.
180
+ * Do not reference to old merb.yml in doc.
181
+ * whoops... dup
182
+ * Add support for argument capture and fix $DEBUG bootloader stuff [#390 state:resolved]
183
+ * Ignore temp Emacs files.
184
+ * Generate tags only for lib.
185
+ * Adds Rake tasks to generate Emacs tags.
186
+ * Touch RDoc of LoadClasses bootloder.
187
+ * LoadClasses#remove_file => LoadClasses#remove_classes_in_file.
188
+ * Output extra information on boot when verbose config option is given from
189
+ * Make Logger bootloader print meaningful warning when RubyGems is outdated.
190
+ * capture_erb correctly passes arguments to the block again
191
+ * Let world know what this delete vs. destroy thing is all about.
192
+ * Add support for OPTIONS
193
+ * display doesn't throw an error if a layout is not found, even if one is specified (because of class-wide layout options)
194
+ * throw_content now concatenates, not replaces, content
195
+ * Added view for throw_content spec
196
+ * Clean up resource regexps after ; separator is gone.
197
+ * @@parent_resources, not @@parent_resource
198
+ * Semicolon as action separator for resources is no longer supported: breaks basic http auth in Safari.
199
+ * Small doc update. Thanx jackdempsey
200
+ * Adds message support (like flash in Rails but with somewhat different semantics)
201
+ * Add .tmproj to the list of ignores
202
+ * Fix bug with :status
203
+ * Spec for :status in display
204
+ * display handles :status and :location
205
+ * Improved RDoc of Merb#load_dependencies.
206
+ * script/frozen-merb => merb-freezer in RDoc
207
+ * Adjusted logging message for thin sockets vs ports.
208
+ * Added socket option to thin.rb and to the command line options.
209
+ * send_file opens files in 'rb' binary mode so windows doesn't shit itself
210
+ * added add_generators, which allows plugins to load their own generator in the same way as rakefiles
211
+ * fix nginx_send_file
212
+ * Spec for previously applied patch to Behavior#defer_to.
213
+ * use Route#register in defer_to so that deferred routes get an index
214
+ * Make Autotest ignore doc/ as well.
215
+ * Ensure Autotest ignores changes in log directory.
216
+ * Add helpers directory to load path
217
+ * Modules don't get duped right.
218
+ * Redo Merb's inheritable_accessors so that they have correct semantics, then redo everything that uses inheritable_accessors so they don't have to hack around the bad semantics.
219
+ * Added spec for the route matcher testing regexp routes. [#386]
220
+ * Add Merb.started? alias for Merb.started reader.
221
+ * Add reader for @started flag which shows when Merb environment is started.
222
+ * Update memory session storage documentation.
223
+ * Use warn logger level instead of debug, if session persisting fails.
224
+ * FileUtils#touch only added mtime option in ruby 1.8.6. let's use File#utime instead
225
+ * better log message
226
+ * rescue excpetions in Worker thread, log them and then restart the work queue
227
+ * Router now can do r.match("/this/old/url").redirect("/where/this/resides/now").
228
+ * Refactor Merb::Test::RequestHelper and introduce build_request helper.
229
+ * spoke too soon.
230
+ * we actually don't need to log this at all as its logged latert in the _benchmarks
231
+ * Update link to wiki page on Rack in exception.
232
+ * Add link to Rack page at wiki to Controller not found exception. This confuses people a lot.
233
+ * Log namespaced controller name when it's class is not found.
234
+ * I will test first next time, I promise.
235
+ * Tell what's actually started when Dispatcher begins to handle request.
236
+ * Fixed typo in yet another exception message.
237
+ * Log an info message when route fixation actually happens. Those heavily using Flash will find it helpful.
238
+ * Log a warning if controller class cannot be found.
239
+ * A bit more verbose exception message when route does not specify a controller.
240
+ * Documentation: add deprecation warning to AbstractController. Manually applied patch from dstar.
241
+ * Increase header level on sub-headers of Filters in AbstractController
242
+ * Fixes request helper bug [#378: resolved]
243
+ * Fixes case of :format being ignored.
244
+ * If the spec.opts file exists, use it.
245
+ * use Thread.pass to avoid running newly queued item before the action's thread finishes
246
+ * Added Merb::Worker. You can now add a block to be run in a separate thread
247
+ * Let's try again, this time with <% end =%>
248
+ * Try #concat to resolve some issues.
249
+ * One more time.
250
+ * Should handle denormalized multiline blocks now.
251
+ * wycats needs to learn to escape pipes.
252
+ * Make Merb::Plugins.config[:foo] default to {}
253
+ * Long lines make wycats' eyes' bleed. Plus, why do all those .joins twice?
254
+ * jackdempsey's inflector improvements (backported from wycats' patch to Rails)
255
+ * Fixes typo.
256
+ * <%= now takes a block in Erubis. Erubis buffer now an ivar (@_erb_buf) so eval is no longer required for capture. Helpers that take a block should now return a string.
257
+ * Fixes the after filters
258
+ * Reorganize experimental stuff.
259
+ * Additional slight efficiency and readability improvement.
260
+ * Improve speed of content-type=. 5% speed on hello world requests.
261
+ * Improve the speed of _perform_content_negotiation (and got 10% better speed on requests)
262
+ * Old stuff that should be committed.
263
+ * Speed up synonym lookup by order of magnitude :(
264
+ * add Merb::Rack::Profiler middleware. to use add the following to your config/rack.rb file:
265
+ * update license
266
+ * Missing require
267
+ * require 'stringio'
268
+ * Add support for non-standard template reloading. Plugin authors need to override load_template_io to handle special reloading logic.
269
+ * Add support for IO templates instead of just paths. See PLUGIN_API_CHANGELOG for details.
270
+ * add swiftiplied mongrel rack adapter.
271
+ * Swapped the order of helper and controller in the default_framework
272
+ * Why should capture be private?
273
+ * Merb::Config[:framework] now needs absolute paths to work (breaks BC)
274
+ * Merb::Config[:framework] paths now pickup files using glob **/*.rb unless specified otherwise
275
+ * Don't automatically use Facebook signature
276
+ * Fixes failing spec.
277
+ * make the default rake task 'specs' so running rake in merb-core just runs the specs
278
+ * Rename @status to @_status
279
+ * Avoid adding nil values in place of missing keys for Hash#only
280
+ * Fix issue with null segments
281
+ * Fixed session cookie expires value [#366 state:resolved]
282
+ * Made HTTP method override proc-based and pluggable. [#364]
283
+ * siiiiiigh.
284
+ * Revert partial counter and yielding.
285
+ * Remove some duplication
286
+ * For crying out loud.
287
+ * Refactor display. WARNING: This commit might not be stable. I need to add a bunch more specs for display before I feel confident.
288
+ * Make the TemplateNotFound error read better. Slight refactor of _get_layout.
289
+ * Fix _template_for so it's actually readable
290
+ * uhhhhhhhh...
291
+ * Added Merb::Router.reset! and Merb::Router.capture
292
+ * Speedup Route URL generation
293
+ * Start work on fixing contaminated cousins bug.
294
+ * Changed controller inheritance of _template_root
295
+ * Added the ability to use full/absolute template paths for render, display and partial views
296
+ * This cannot be tested this way. It needs to be tested as a public spec (testing it privately here was a cop-out and fails when I fixed up the way dependency works).
297
+ * Allows passage of query string via env["QUERY_STRING"] in tests. [#358 state:resolved]
298
+ * Handles use of dependency after BootLoading. [#360 state:resolved]
299
+ * properly set the session_id_key
300
+ * added 2 specs for multipart formdata: (1) for checking request with IO, (2) for testing GET with content_type not erroring on multipart/form-data absence; fixed error with multipart/form-data absence.
301
+ * Made Class a lot more sane.
302
+ * Fix README for merb-gen app foo
303
+ * Do not duplicate work Merb::Template.template_extensions does in Templates bootloader.
304
+ * Make exception message when Merb cannot find template explain what it was
305
+ * Fixed 2 problems with multipart form upload after application is deployed to Tomcat via warble: (1) The @body object in this environment is an IO object, not a StringIO, so doesn't have a size method, and (2) 'tempfile' needs to be explicitly required.
306
+ * made only and except uglier and faster
307
+ * Preserve order parse query, respect query string override in test request
308
+ * Added partial counter and yielding for collections
309
+ * Remove occasionly committed *.rbc files.
310
+ * Ignore *.rbc created by Rubinius compiler.
311
+ * Send the route into the controller
312
+ * Add Merb::Request.browser_method_workarounds
313
+ * Revert ca92bdfc89afda04cbb4fd3d3e5848648cc0b326
314
+ * Refactored Merb::BootLoader::LoadClasses.reload into an additional remove_file method for other usage
315
+ * Fixed some failing specs
316
+ * Added rake :audit namespace to list routes, controllers and actions
317
+ * Remove occasionly committed *.rbc files.
318
+ * Ignore *.rbc created by Rubinius compiler.
319
+ * Make obj.full_const_get more robust
320
+ * forgot to comment out the text
321
+ * added DHH copyright notice to conre_ext/class.rb
322
+ * Better usage of merb_rake_helper.rb
323
+ * Added tasks/merb_rake_helper.rb - removed it from merb-more
324
+ * Refactored Merb::Controller.callable_actions
325
+ * Fixing bug in the rspec route matcher.
326
+ * More useful error for display errors
327
+ * Make load_paths a dictionary so models load first.
328
+ * Added Merb::Template.template_extensions as a semi-public method for getting known template extensions
329
+ * Prevent anonymous controller classes from making a Helper module
330
+ * We've Been Dup'd! - fixed nasty bug concerning class inheritable attrs
331
+ * Added Object.full_const_set
332
+ * Add helper for full_uri
333
+ * Adds a timestamp to a requests output
334
+ * Fixed documentation examples for dispatch spec helpers
335
+ * Added public method Merb::BootLoader::LoadClasses.load_classes(*paths)
336
+ * Only do the rubygems hack if it's needed and deal with cases where people are using the Gem cache library without using the commands.
337
+ * Updated docs on Merb#merge_env
338
+ * Merb Personalized Environments; Completed Merb#merge_env method, now accepts boolean parameter to optionally use the merged environments database connection
339
+ * fix typo in spec
340
+ * Check to see if the session responds to :data
341
+ * make nice for windows - remove app level loading (is handled in rakefile in merb-more now
342
+ * Typos
343
+ * YARD conversion of set.rb and time.rb
344
+ * YARD conversion of rubygems.rb
345
+ * YARD conversion of object_space.rb
346
+ * YARD conversion of object.rb
347
+ * YARD conversion of mash.rb
348
+ * YARD conversion of kernel.rb
349
+ * YARD conversion for hash.rb
350
+ * Convert class.rb over to YARD.
351
+ * Convert string.rb over to YARD format.
352
+ * Patch for missing inner_content method bug in HasTag
353
+ * Correct lable and line number in Router#compile
354
+ * Make merb.show_routes show named routes a bit more verbose.
355
+ * Make merb.show_routes a bit more verbose.
356
+ * Use single symbol instead of Array for ORM/test framework generator scopes.
357
+ * Add links to source at GitHub to boot diagram
358
+ * Merb core boot diagram is done and prettified
359
+ * Add support for a :session_cookie_domain config option to allow for setting the session cookie's domain.
360
+ * Add more advanced nested routes examples to Merb::Router::Behavior#match documentation.
361
+ * Add a bunch of pretty advanced spec examples for nested matches in routes.
362
+ * Code clean-up behavior.rb
363
+ * Created Documentation for new #match functionality
364
+ * Changes to behavior.rb to allow for :controller, :actions and :params options to be passed in
365
+ * Implemented Merb::Router::Behavior#match! that is a shortcut for match(...).to({}).
366
+ * Improve Merb boot diagram.
367
+ * Make each subsequent call to use_orm just replace effect of previos.
368
+ * Remove WIP spec for Merb::Router::Behavior#redirect.
369
+ * fix typo in request_spec.rb
370
+ * Needs to raise here since if the generator scope has more than one ORM the geneartors will not work.
371
+ * Log instead of raising when dependencies mechanism this ORM required twice.
372
+ * Get rid of Kernel#registered_orm?, it is no longer in use.
373
+ * Make Kernel#registred_orm? use simple include lookup.
374
+ * Fix spec and Kernel#registred_orm? conditions bug.
375
+ * Fix a typo.
376
+ * Fixed erronous documentation in Merb::Router::Behavior
377
+ * Working on Behaviour#redirect feature: stashing changes.
378
+ * update callable_actions to exclude any methods beggining with an _underscope
379
+ * Adds template-checking code to branch where :with option is specified in partials.
380
+ * Add two notes on layout method versus :layout option of render method.
381
+ * Forget to add template for added spec example.
382
+ * Add spec example for render :layout => false that overrides layout.
383
+ * More sweet empty lines management in controller fixtures.
384
+ * Clean up empty lines in fixture controller.
385
+ * Fix _template_for documentation: content type does not default to nil.
386
+ * Update render method documentation, we support :layout => false.
387
+ * JSON objects that do not inflate to hashes should populate params[:inflated_object] (Ticket #316)
388
+ * update new rack middleware machinery to be more merb style in the bootloader
389
+ * Changed MerbDispatch to MerbApplication. Fixed error in deferred? call chain.
390
+ * More flexible composition of merb application
391
+ * Start implementing Merb::Router::Behavior#redirect.
392
+ * A note on condition block and deferred routes.
393
+ * Note on thread safety of routes compilation.
394
+ * Explain what Merb::Router does and what routes compilation is.
395
+ * Explain how "form used by Merb::Router" is often referred.
396
+ * Be explicit on what Merb::Router::Route#if_condition actually does and how it is used.
397
+ * Add a note that Merb::Router::Route#generate uses #to_param on parameters.
398
+ * Be explicit on what Merb::Router::Route#generate actually does.
399
+ * Add a note to Merb::Router::Route#name documentation.
400
+ * Add note on string representation of routes.
401
+ * More explicit documentation for Merb::Router::Router#register.
402
+ * Add section on fixation of routes.
403
+ * Another take on better Merb::Router::Route documentation.
404
+ * New Merb::Router::Route documentation probably got a bit better.
405
+ * Something that looks like detailed Merb::Router::Route but needs a lot of work.
406
+ * Add first naive spec examples for Merb::Router::Route#compile.
407
+ * Use .prepare when we do not really need .prepend
408
+ * Made sure default format response_header can set explicit Content-Type header
409
+ * Default format response_headers cannot overwrite runtime-set (controller) headers
410
+ * Mirror plural spec from singular. Fix a couple of revealed failures.
411
+ * Actually implemented Merb.add_mime_type's new_response_headers
412
+ * Add cases that were failing in pluralization specs to singularization spec.
413
+ * Fix failures in pluralization specs. Add more cases.
414
+ * spec/private/vendor/inflector => spec/private/vendor/facets
415
+ * Pluralization spec examples.
416
+ * Move singularization specs to separate file.
417
+ * More spec examples for inflector.
418
+ * Improve spec coverage of inflector.
419
+ * Improve inflector spec coverage: separate cases into groups.
420
+ * Fix a typo exposed by spec suite.
421
+ * Initial set of spec examples for inflector.
422
+ * Changed vague :request_headers term into :accepts (meaning HTTP Accept header)
423
+ * Sweet empty lines management in spec helper.
424
+ * Increase sleep time reloader spec.
425
+ * Unwanted change to autotest slipped in, must get better at git
426
+ * More reliable reloader test with fewer sleeps
427
+ * remove :nodoc: from merb-core DO NOT USE :nodoc: EVAR!!
428
+ * More lower-level spec examples for Merb::Router::Route.
429
+ * More lower-level specs for Merb::Routing::Route.
430
+ * Initial set of lower-level specs for Merb::Router::Route methods.
431
+ * Rename file with extra unit specs for Merb::Router
432
+ * Removed extra comment.
433
+ * Finished Merb::Router unit-ish spec.
434
+ * Initial lower-level specs for router.
435
+ * Fix for users with spaces in gem path
436
+ * Add missing specs for route fixation.
437
+ * Add matched_route_for spec helper to get raw Route instance.
438
+ * Exclude unwanted files from rcov analysis.
439
+ * Make Rakefile respect GEM_HOME. Thanks Corey Jewett.
440
+ * Add extra output lines to Merb::Server methods if verbose mode is on.
441
+ * Add -V/--verbose options.
442
+ * Improve documentation of session persist/finalize exception callbacks.
443
+ * Initial specs for Merb::SessionMixin
444
+ * Tiny documentation touchups
445
+ * Require RubyGems first before spec to satisfy Autotest.
446
+ * Exception handler callbacks for finalize_session and persist
447
+ * Update Merb core boot diagram a bit.
448
+ * Documentation for Merb::BootLoader::DropPid bootloader.
449
+ * add in string so that @element.contains? will work when @element is a string and not just Hpricot::Elem
450
+ * remove hpricot as a merb-core dependency since it is never loaded at runtime.
451
+ * Merb::BootLoader::Templates now uses _template_roots not just _template_root
452
+ * add in support for core tasks, and first core task -- routes
453
+ * Fix Webrick support by preferring REQUEST_PATH over REQUEST_URI
454
+ * Changed Merb::BootLoader::BeforeAppRuns into Merb::BootLoader::BeforeAppLoads which matches Merb::BootLoader::AfterAppLoads
455
+ * Added option to Controller#redirect(url, permanent) so 301 responses can be returned as well
456
+ * Bump version in core to 0.9.4.
457
+ * Pump version to 0.9.4.
458
+ * throw argument error when filter receives an invalid option
459
+ * spec for ticket 307
460
+ * Update GitHub gemspec.
461
+ * fixed description of daemonize spec in Merb::Config
462
+ * Trick Git: change SHA1 of tree to push recent binary files changes.
463
+ * Add PNG version of call stack diagram
464
+ * Add call stack diagram source file, in Mind Manager format.
465
+ * Add expanded call stack diagram: probably Git does not work perfectly with binary diffs.
466
+ * Temporarily wipe out call stack diagram
467
+ * Expand all nodes on call stack diagram.
468
+ * Add Merb core call stack (yet to be finished).
469
+ * Fixed cruddy doc comments.
470
+ * Remove nil items from params when generating routes
471
+ * Fixed typo in resource rdoc
472
+ * cleaned up a bit. removed dependency on to_params value in controller test.
473
+ * added ability to set the Location header with display and render
474
+ * remove useless complexity from the logger.
475
+ * 0.9.3 changelog
476
+ * Remove special case for dm-core in use_orm
477
+ * removing __app_file_trace__ since it doesn't work.
478
+ * Add Emacs TAGS to ignore
479
+ * Explain Merb application layouts in documentation.
480
+ * Benchmarks
481
+ * Allow http status to be a symbol - refactored String snake_case method
482
+ * Explain how to set up /lib autoload in documentation.
483
+ * Make change_priveledge actually work
484
+ * bump merb-core version to 0.9.3 in prep for release.
485
+ * Add new -R/--rackup option to the full(-ish) list of options.
486
+ * Provide opts for alternate rackup config path. This is consistent with --rackup option for thin and gives a little more freedom to specify the rackup config (instead of being forced to rack.rb).
487
+ * Testing Merb::Test::RequestHelper#request method to properly handle namespaced routes
488
+ * test request helpers support namespaced routes
489
+ * Added parentheses to be_kind_of to get rid of warnings when running application_spec.rb
490
+ * Fixing pidfiles glob on cluster and pidfile argument
491
+ * replaced nested 'if' with an 'elseif'
492
+ * params array serialization
493
+ * Added handling of INT signal for Merb server in foreground mode
494
+ * Remove redundant unescape for cookie string
495
+ * Ensure that Merb::Logger doesn't try to close terminal streams.
496
+ * Ensure that Merb::Logger doesn't try to close terminal streams.
497
+ * Added support for multiple keys to designate a resource. For use with Datamapper composite keys support http://www.datamapper.org/articles/spotlight_on_cpk.html
498
+ * Make Provide controller matcher doc conform to Merb standards.
499
+ * Whoops. Had target and expected backwards.
500
+ * Added Provide matcher class, so you can do "controller.should provide( :xml )" in your specs.
501
+ * completed spec to Merb::Logger#new
502
+ * Adding missing info about ebb adapter.
503
+ * Show merb usage if first argument is not a switch
504
+ * Fix a spelling error and properly RDoc'ify a method name
505
+ * Fix bug in --very-flat (allow direct inheritance from Merb::Controller)
506
+ * Changed copyright date in footer of HTML pages from 2007 to 2008
507
+ * Append the content_type to the given :template option for render()
508
+ * Replaced remaining ::STATUS constant references to .status method calls
509
+ * Refactored Exception status handling/inheritance (it actually works now!)
510
+ * Make Inflector#plural and Inflector#singular conform to Merb doc standard.
511
+ * Update inflector documentation.
512
+ * Tiny docs update to Merb::Server.
513
+ * Example (from merb_sequel) and corrections to the way Merb finds out plugins Rakefiles.
514
+ * Docs updates for lib/merb-core.rb.
515
+ * Reasonable doc examples for Merb.push_path and Merb.remove_paths.
516
+ * Fix for kill so that cli options are read and handled before kill is actually called. Need this to handle kill under custom pid file scenario.
517
+ * Updating pidfile cluster fix to handle any extension.
518
+ * Adding support for pidfile setting with cluster nodes setting. Moving pid file path lookup to separate method.
519
+ * Correction to Merb::GlobalHelper.log_path docs.
520
+ * Use Notes instead of Note in docs.
521
+ * Use Notes instead of Note everywhere in docs.
522
+ * Add reference to Merb configuration options list to #config method docs.
523
+ * Wording (Merb::GlobalHelpers.testing? docs).
524
+ * Better docs for configuration parameters.
525
+ * Document Merb configuration options in one place.
526
+ * Another note on framework freezing in docs.
527
+ * Add explaination of freezing to the documentation
528
+ * Add a note on supported session types.
529
+ * Insert line for viewing convenience.
530
+ * Make Merb::GlobalHelpers.deferrable_actions conform to Merb documentation standard.
531
+ * Missing documentation for Merb::GlobarHelpers.deferred_actions
532
+ * Update Kernel#__profile__ documentation.
533
+ * make in? splat args
534
+ * Add Object#in? for checking array inclusion
535
+ * Removed dependency on memcache-client 'memcache_util.rb' which was dependent on ActiveRecord::Base for logging exceptions.
536
+ * Update documentation to reflect changes in the way #display handles custom options.
537
+ * Make #display method pass all 'unknown' options to serialization method.
538
+ * Adds the github gemspec file
539
+ * Adds Code for generating a gemspec for github
540
+ * Adds a question method to determine environment. eg Merb.env?(:production)
541
+ * Give useful information when no template is found for a partial
542
+ * Really resolve merge conflicts.
543
+ * Provide hook for param filtering
544
+ * hopefully the last fix for session fixation, woot woot
545
+ * Be clear about what is the default init file Merb uses in RDoc.
546
+ * A bit clearer --init-file option description.
547
+ * Fix header shown in help: Merb is not longer 'Mongrel + Erb, a lightweight replacement for ActionPack' but a framework on it's own.
548
+ * Correct doc in Merb::Controller: it uses SimpleSet for callable actions at the moment.
549
+ * Document Merb::SimpleSet
550
+ * Remove InvalidPathConversion exception: it is used nowhere in the core.
551
+ * Update homepage in gem specification.
552
+ * Clean up String extensions spec.
553
+ * Remove it, hopefully no one seen it.
554
+ * Add a note on drawbacks of usage of ObjectSpace.
555
+ * Use a constant for reload spec instead of hardcoding time in 5 places or so.
556
+ * Revert "Refactor ToHashParser#from_xml a bit to be able to use parser faster than REXML. It is planned to support Hpricot and fall back to REXML."
557
+ * Use @ in publicity markers in RDoc.
558
+ * Use a constant for sleep time in reloading specs
559
+ * Refactor ToHashParser#from_xml a bit to be able to use parser faster than REXML. It is planned to support Hpricot and fall back to REXML.
560
+ * Empty lines management, how cool is that?
561
+ * Missing specs and improved documentation for Hash#to_mash.
562
+ * Tiny improvement to Object extensions documentation. More empty line management.
563
+ * One more example for Object#full_const_get; new spec group for Object#make_module.
564
+ * Missing specs for Object#full_const_path.
565
+ * Sweet empty lines management, what a wonderful way to apply yourself to.
566
+ * Kick off Class extensions spec-ing.
567
+ * Document inheritable attributes Class extension the Merb way, not ActiveSupport way with :nodoc:
568
+ * Remove Emacs-generated cruft from specs directory.
569
+ * Add missing specs for Class#reset_inheritable_attributes.
570
+ * Split Kernel#use_test into smaller methos. Document them. Add specs for them beforehand.
571
+ * Empty lines management, wonderful way to waste priceless time.
572
+ * Kernel#already_registred_orm? is a sucky name. Make it Kernel#registred_orm?. Yay.
573
+ * Split Kernel#use_orm guts into a bunch of smaller methods. Document those.
574
+ * Add missing specs for Kernel#dependencies and Kernel#load_dependencies.
575
+ * Pretty naive spec examples for Kernel#load_dependency.
576
+ * Add missing specs for Kernel#dependency
577
+ * Split 'misc' examples group in Kernel extensions spec: each method should have a separate group, ever.
578
+ * Clean up empty lines in Kernel extensions.
579
+ * Documentation for String#relative_path_from
580
+ * Add missing specs for String extensions.
581
+ * Remove helper that duplicated String#camel_case functionality, update the rest of spec suite.
582
+ * Fix a nasty String#camel_case bug revealed but new shiny spec for String extensions.
583
+ * Better formatting of spec suite run benchmark with good old sprintf.
584
+ * Use RSPEC_OPTS environment variable to override default spec run options.
585
+ * Report total spec suite run time.
586
+ * Add spec command run options to run_specs. Add tasks for profiled spec run.
587
+ * Unify &block documentation across Merb::Test::RequestHelper
588
+ * Fix example in Merb::Test::RequestHelper#request documentation.
589
+ * If deferred_actions are empty? we want a regex that will never match.
590
+ * More polish for deferred_actions support. Thin, Ebb and EMongrel adapters
591
+ * deferred?(env) now works with thin and ebb.
592
+ * Fixed some its vs. it's issues. (Learning git :)
593
+ * added delete action to docs
594
+ * Added error message for when a content_type is requested but not provided
595
+ * Syncronized code with rails branch. Delete call is required, because user cookie must be cleaned when TamperedWithCookie is raised.
596
+ * Specs using a method that called must_support_streaming! weren't recognizing the custom NotImplemented error. This change fixes this issue by specifying the entire object chain for its usage within the method.
597
+ * Fix number of examples in HTTP authentication spec.
598
+ * first step to adding deferred?(env) support for ebb and thin
599
+ * Use a dictionary instead of a Hash.
600
+ * Changed the display method to handle options properly, so that passing :layout => :false works. Added specs.
601
+ * Added \- to String.unescape_regexp
602
+ * added HasContent matcher
603
+ * Standardises the call to set_cookie to use the set_cookie method in cookies.rb by default
604
+ * Fix cookie sessions bug where you could not properly delete a cookie
605
+ * should not delete the key
606
+ * pass arguments to filters
607
+ * Added thrown_content? predicate method for use in templates.
608
+ * Added ability to specify :format in url() for named routes
609
+ * modified specs to test a route restriction based on the type of request (POST, GET, UPDATE, DELETE)
610
+ * Added 'use_orm :dm_core' option to use datamapper 0.9.0 with the dm-merb gem from dm-more
611
+ * fixed example for dispatch_with_basic_authentication_to
612
+ * Fixed typo
613
+ * reverted mistakenly introduced change in abstract controller
614
+ * added documentation
615
+ * slight fix to basic auth spec
616
+ * added support and specs for http basic authorization
617
+ * added dispatch helper for http basic authentication
618
+ * HTTP Basic authentication based on Rack
619
+ * Fixed lurking infinite loop with not so common formats and ExceptionController
620
+ * Refactored Merb::AbstractController.layout class method
621
+ * _dispatch returns @body
622
+ * really truly(?) fix stream_file ?
623
+ * really make sure stream_file works
624
+ * redo stream_file to (hopefully) work
625
+ * Added Time#to_json to Core Extensions, making the default JSON formatted output for Time objects ISO 8601 compatible.
626
+ * Added + unescape to String#unescape_regexp
627
+ * Added String#unescape_regexp for usage in Router::Route#generate
628
+ * BootLoader::LoadClasses now logs the actual exceptions
629
+ * add mutex around compiled statement generation in the router so reloading doesn't step
630
+ * Revert ExampleGroup changes as they were causing failing specs
631
+ * Added render(template_path) feature to view specs.
632
+ * RSpec ExampleGroups for Merb controllers, views, helpers, models and routes.
633
+ * Prep 0.9.2
634
+ * Resolves #209
635
+ * * removed Merb.logger calls due to the fact the bootloader did not ran by now and it is not initialized.
636
+ * use __send__ rather than send
637
+ * Fixed exception setting route when route_index is nil
638
+ * memoize the raw_post body after its called once
639
+ * fix Request#raw_post to respect bodies with no rewind method
640
+ * remove Kernel#requires it wasn't being used.
641
+ * Move fixation to post initialize
642
+ * typo
643
+ * add specs for does_not_provide
644
+ * Add specs for action-level only_provides
645
+ * Make controller.route work
646
+ * Update Ebb adapter to work with latest Ebb 0.1.0 [Ry Dahl]
647
+ * fix PATH_INFO bug for fcgi
648
+ * Rename url_with_host to absolute_url
649
+ * Add url_with_host() and allow params to be pushed into FCGI adapter
650
+ * More correct to_json of dictionary.
651
+ * Modify dispatcher to be sane to XHRs; add to_json to dictionaries.
652
+ * Added html_escape around the exception.message in the show details section.
653
+ * Fixed bug not allowing have_tag to be called without a attribute hash, even when one is not desired
654
+ * fix typo
655
+ * refactor and clean up Merb::BootLoader::Dependencies [James Herdman]
656
+ * ticket 202
657
+ * This keeps erroring out, i hope it didnt commit multiple times:
658
+ * Merb::BootLoader::LoadClasses should keep unique list of classes
659
+ * Logger now works as expected, fixed ReloadClasses bootloader
660
+ * Fixes cookie sessions when the session is blanked out.
661
+ * catch_content should default to :for_layout
662
+ * Added --sandbox (-S) option for IRB console
663
+ * Fixes the dispatch_to request helper to conver the action name to a string.
664
+ * Added Merb.testing? method
665
+ * Fixed critical bug in LoadClasses BootLoader concerning reloading
666
+ * Important changes to the BootLoader process
667
+ * Added Kernel.load_dependencies method; better docs/comments.
668
+ * Bugfixes concerning BootLoader and load order in general
669
+ * fully qualify fcgi rack handler
670
+ * Set mongrel as default adapter unless other alternative options are specified
671
+ * Fix configuring session_id_key so that it works
672
+ * url(:foo, 3) should notice 3 is a Fixnum, and use it instead of 3.id
673
+
674
+ == 0.9.3 "We Sold Our Soul for Rock 'n' Roll" 2008-05-03
675
+ * Added render(template_path) feature to view specs.
676
+ * add mutex around compiled statement generation in the router so reloading doesn't step
677
+ * BootLoader::LoadClasses now logs the actual exceptions
678
+ * Added String#unescape_regexp for usage in Router::Route#generate
679
+ * Added Time#to_json to Core Extensions so JSON formatted output for Time is ISO 8601 compatible
680
+ * redo stream_file to (hopefully) work
681
+ * _dispatch returns @body
682
+ * Refactored Merb::AbstractController.layout class method
683
+ * Fixed lurking infinite loop with not so common formats and ExceptionController
684
+ * HTTP Basic authentication based on Rack
685
+ * added dispatch helper for http basic authentication
686
+ * added support and specs for http basic authorization
687
+ * modified specs to test a route restriction based on the request method
688
+ * Added ability to specify :format in url() for named routes
689
+ * Added thrown_content? predicate method for use in templates.
690
+ * pass arguments to filters
691
+ * Fix cookie sessions bug where you could not properly delete a cookie
692
+ * Standardises the call to set_cookie to use the set_cookie method in cookies.rb by default
693
+ * added HasContent matcher
694
+ * Added \- to String.unescape_regexp
695
+ * Changed the display method to handle options properly, so that passing :layout => :false works.
696
+ * Added error message for when a content_type is requested but not provided
697
+ * added delete action to docs
698
+ * deferred?(env) now works with thin and ebb.
699
+ * If deferred_actions are empty? we want a regex that will never match.
700
+ * Fix example in Merb::Test::RequestHelper#request documentation.
701
+ * Unify &block documentation across Merb::Test::RequestHelper
702
+ * Add spec command run options to run_specs. Add tasks for profiled spec run.
703
+ * Report total spec suite run time.
704
+ * Use RSPEC_OPTS environment variable to override default spec run options.
705
+ * Better formatting of spec suite run benchmark with good old sprintf.
706
+ * Fix a nasty String#camel_case bug revealed but new shiny spec for String extensions.
707
+ * Remove helper that duplicated String#camel_case functionality, update the rest of spec suite.
708
+ * Split 'misc' examples group in Kernel extensions spec: each method should have a separate group
709
+ * Split Kernel#use_orm guts into a bunch of smaller methods. Document those.
710
+ * Kernel#already_registred_orm? is a sucky name. Make it Kernel#registred_orm?. Yay.
711
+ * Split Kernel#use_test into smaller methos. Document them. Add specs for them beforehand.
712
+ * Use a constant for sleep time in reloading specs
713
+ * Use @ in publicity markers in RDoc.
714
+ * Remove InvalidPathConversion exception: it is used nowhere in the core.
715
+ * A bit clearer --init-file option description.
716
+ * Be clear about what is the default init file Merb uses in RDoc.
717
+ * hopefully the last fix for session fixation, woot woot
718
+ * Provide hook for param filtering
719
+ * Give useful information when no template is found for a partial
720
+ * Adds a question method to determine environment. eg Merb.env?(:production)
721
+ * Make #display method pass all 'unknown' options to serialization method.
722
+ * Add Object#in? for checking array inclusion
723
+ * Update Kernel#__profile__ documentation.
724
+ * Adding support for pidfile setting with cluster nodes setting.
725
+ * Updating pidfile cluster fix to handle any extension.
726
+ * Fix for kill so that cli options are read and handled before kill is actually called.
727
+ * Refactored Exception status handling/inheritance (it actually works now!)
728
+ * Replaced remaining ::STATUS constant references to .status method calls
729
+ * Append the content_type to the given :template option for render()
730
+ * Fix bug in --very-flat (allow direct inheritance from Merb::Controller)
731
+ * Show merb usage if first argument is not a switch
732
+ * Adding missing info about ebb adapter.
733
+ * completed spec to Merb::Logger#new
734
+ * Added Provide matcher class, so you can do "controller.should provide( :xml )" in your specs.
735
+ * Added support for multiple keys to designate a resource. For use with Datamapper composite keys
736
+ * Ensure that Merb::Logger doesn't try to close terminal streams.
737
+ * Remove redundant unescape for cookie string
738
+ * Added handling of INT signal for Merb server in foreground mode
739
+ * params array serialization
740
+ * Fixing pidfiles glob on cluster and pidfile argument
741
+ * test request helpers support namespaced routes
742
+ * Testing Merb::Test::RequestHelper#request method to properly handle namespaced routes
743
+ * Provide opts for alternate rackup config path.
744
+ * Add new -R/--rackup option to the full(-ish) list of options.
745
+ * Make change_priveledge actually work
746
+ * Allow http status to be a symbol - refactored String snake_case method
747
+ * removing __app_file_trace__ since it doesn't work.
748
+
749
+ == 0.9.2 "appropriate response to reality" 2008-03-24
750
+ * removed Merb.logger calls due to the fact the bootloader did not ran by now and it is not initialized.
751
+ * use __send__ rather than send
752
+ * Fixed exception setting route when route_index is nil
753
+ * memoize the raw_post body after it's called once
754
+ * fix Request#raw_post to respect bodies with no rewind method
755
+ * remove Kernel#requires it wasn't being used.
756
+ * Move fixation to post initialize
757
+ * add specs for does_not_provide
758
+ * Add specs for action-level only_provides
759
+ * Make controller.route work
760
+ * Update Ebb adapter to work with latest Ebb 0.1.0 [Ry Dahl]
761
+ * fix PATH_INFO bug for fcgi
762
+ * Rename url_with_host to absolute_url
763
+ * Add url_with_host() and allow params to be pushed into FCGI adapter
764
+ * More correct to_json of dictionary.
765
+ * Modify dispatcher to be sane to XHRs; add to_json to dictionaries.
766
+ * Added html_escape around the exception.message in the show details section.
767
+ * Fixed bug not allowing have_tag to be called without a attribute hash, even when one is not desired
768
+ * refactor and clean up Merb::BootLoader::Dependencies [James Herdman]
769
+ * Merb::BootLoader::LoadClasses should keep unique list of classes
770
+ * Logger now works as expected, fixed ReloadClasses bootloader
771
+ * Fixes cookie sessions when the session is blanked out.
772
+ * catch_content should default to :for_layout
773
+ * Added --sandbox (-S) option for IRB console
774
+ * Added Merb.testing? method
775
+ * Fixes the dispatch_to request helper to conver the action name to a string.
776
+ * Added Merb.testing? method
777
+ * Fixed critical bug in LoadClasses BootLoader concerning reloading
778
+ * Important changes to the BootLoader process
779
+ * Added Kernel.load_dependencies method; better docs/comments.
780
+ * Bugfixes concerning BootLoader and load order in general
781
+ * fully qualify fcgi rack handler
782
+ * Set mongrel as default adapter unless other alternative options are specified
783
+ * Fix configuring session_id_key so that it works
784
+ * url(:foo, 3) should notice 3 is a Fixnum, and use it instead of 3.id
785
+ * make load order of core_ext explicit
786
+ * Modifies before/after in BootLoader to actually work.
787
+ * ix not-available vs. not-provided bug in content negotiation
788
+ * Fixed display bug which caused default error exception pages to improperly display drop-down twirly if the path name exceeded the line length.
789
+ * remove symbolize_keys! as we don't use it anywhere. by now..
790
+ * Rework bootloader to make more sense for flat apps (specifically framework load)
791
+ * More fixes to the flat autoloader
792
+ * remove custom_* resource route, use :member or :collection instead
793
+ * fix logger specs
794
+ * Fixes bug with framework not being defined.
795
+ * make sure logger bang! methods do not flush unless the proper log level is used.
796
+ * Updates the request spec to account for the new from_xml behaviour
797
+ * Adds specs and changes for compatibility with ActiveSupport. There is one caveat. It will not change YAML generated Hash keys to strings if they are defined as symbols as is currently the behaviour of ActiveSupport.
798
+ * update the logger. no longer accept an optional block to call.
799
+ * remove some vestigal config defaults
800
+ * Add rack adapter for Ebb, damn it's fast!
801
+ * coerce the port to an integer when starting mongrel (jruby compat)
802
+ * remove specs for dependency as they were broittle and not testing the right thing.
803
+ * Fixes #155 (_perform_content_negotiation doesn't find */* if it comes last in the accept header order, and nothing else matches)
804
+ * Changes use_test to wrap only the call to dependencies in the check for Merb.environment == "test"
805
+
806
+ == 0.9.1 "Some are half-wild, and some are just outlaws." 2008-02-29
807
+
808
+ * Put spec tasks into namespaces and method for specifying pnly a certain model/controller/view to run against
809
+ * As a last resort, look for */* in the formats before throwing NotAcceptable (TODO: Clean this up)
810
+ * Fix perform_content_negotiation to correctly handle :format in params. Fix render_* to correctly return the correct content_type.
811
+ * remove hooks.rb, they were premature and only used in one place
812
+ * fix evented mongrel to not go crazy
813
+ * Calling /foo.pdf should throw a 406 if :pdf is not a registered mime.
814
+ * touch up dispatcher a bit, remove some un-needed code from the hot path
815
+ * fix dispatcher to not parse the params twice, still supports request_params
816
+ * fix Exception in exception.html.erb
817
+ * moved rspec rake tasks into core. Added Merb.rakefiles, which is now used by Merb::Plugins.rakefiles. Changed Kernel#use_test to only load dependency arguments when Merb.env is nil or test.
818
+ * do not load test framework unless Merb.env == 'test'
819
+ * Use new Object.make_module to create the module instead of old hackish solution.
820
+ * Don't clear our mimes previously defined.
821
+ * Fixed clean task deleting everything in the lib folder
822
+ * Kernel#dependency requires gems/files in a before_app_loads block.
823
+ * Move dependency loading after framework and look for framework.rb
824
+ * Creates helper stub modules for controllers.
825
+ * fix blank path error.
826
+ * Cooler errors
827
+ * add named routes to error page
828
+ * updates to nested resources
829
+ * get autotest working for merb-core
830
+ * Symbolize params in route generation, to accomodate Mashes
831
+ * Fixes :status not working on strings.
832
+ * update thin adapter to newest way of silencing the log
833
+ * :format => :html possible in partials
834
+ * print request URI when "No routes match the request" error thrown
835
+ * fix merb -i
836
+ * Make Merb.start default to the runner adapter
837
+ * It's now possible to send binary data using the send_data method
838
+ and to specify the disposition, filename and type of the data being sent.
839
+ * Fix memcached session writes
840
+ * allow the setting of a custom session key
841
+ * Changed TemplateNotFound to stop so much confusion about incorrect
842
+ template locations because it doesn't include .*
843
+ * fix dropping of pid files in cluster and daemon mode
844
+ * Nested partials don't blow away locals.
845
+ * Better loading of classes
846
+ * Support concat and test capture/concat
847
+ * Added single key assignment to Merb.config
848
+ * Move url method from ControllerMixin to AbstractController for use in
849
+ Mailers and Parts etc.
850
+ * Merb.config now returns Merb::Config instead of the current
851
+ configuration hash.
852
+ * Added Merb.reload which reloads the framework classes.
853
+ * Adding Merb.env shorthand for Merb.environment
854
+ * Added a quaint Merb Configurator
855
+ * With bootloader order changes, environment was not getting loaded
856
+ * Fix cookie parsing from localhost, add spec
857
+ * Add support for multiple template roots
858
+ * Allow override of router.rb file in config
859
+ * Modify behavior of 'namespace' in the router
860
+ * Fix content negotiation for IE and its stupid accept header.
861
+ * Only serve static files when the HTTP method is GET or HEAD. Other
862
+ requests should still be handled by Merb.
863
+ * Add path_prefix support.
864
+ * Changes dispatch_to spec helper to yield the controller
865
+ * redo of load_dependency, after_app_loads callback, and Kernel changes
866
+ * Added Merb.logger.auto_flush
867
+ * Fix nested resource routing
868
+ * Do not drop PID file is not running as daemon or cluster
869
+ * Fixed problem with resources inside a namespace block
870
+ * Added support for dynamic layouts.
871
+ * adding conditional behaviour to filters :if and :unless
872
+ * Use the escape_xml from Erubis rather than rolling our own
873
+ * Add a merb.reload! command to the merb -i console.
874
+ * Get rid of StringScanner dependency.
875
+ * Fix render_then_call to support new streaming tech.
876
+ * Fix filter specs to respect append order of filters.
877
+ * check for empty string before calling to_sym on the format parameter
878
+ * fake requests are incorrectly loading controller classes with namespaces
879
+ * Fix the RubyGems monkeypatch by testing for Merb.root instead of looking in $"
880
+ * fix core spec dependency on merb_rspec
881
+ * Replace calls to puts with Merb.logger
882
+ * Fix problem with static files, use Proc === body
883
+ * Added file and line information for evals in router.rb.
884
+
885
+ == 0.9.0 "All you need, none you don't" 2008-02-13
886
+ * Developer Only Release
887
+ * Split merb into merb-core and merb-more
888
+
889
+ == 0.5.3 "Inexperienced With Girls" 2008-01-28
890
+ * Improved handling of models/controllers with dependencies
891
+ * Improved cluster starting/stopping
892
+ * Frozen script/merb should really work now
893
+ * Merb::Cookies is used for cookie jar purposes
894
+ * test_helper no longer assumes rspec mocking framework
895
+ * asset bundler handles strings and symbols
896
+ * render() now has an option for explicitly rendering an object
897
+ * Fixed annoying bug in exception rendering for 500 internal_server_error
898
+ * testing request helper accepts an option hash
899
+
900
+ == 0.5.2 "Great White North" 2008-01-14
901
+ * Make Merb.load_paths accessible for modification
902
+ * Fix issues with running frozen apps
903
+
904
+ == 0.5.1 "Electic Boogaloo" 2008-01-10
905
+ * Fix 0.5.0
906
+
907
+ == 0.5.0 "Thanks Zed" 2008-01-09
908
+ * Added asset bundling for Javascript and stylesheet files
909
+
910
+ == 0.4.2 "Surf's up." 2007-12-14
911
+ * Super-huge speed boost for rendering Erubis templates with partials
912
+ * Windows-specific fixes to Merb's Rakefile
913
+ * Blocking write is called when in development, test, Windows and jRuby environments and platforms.
914
+ * merb_helpers: form field labels are now explicit, huge documentation update, added select, fieldset, more helpers
915
+ * Fixed merb.show_routes within merb -i
916
+ * Fixed image_tag, css_include_tag, and js_include_tag to work with path_prefix
917
+ * Adds spec helper methods with_route and dispatch_to
918
+ * fix rakefile cfor cygwin
919
+ * add count with collection to partial()
920
+ * Form control mixin is deprecated Use merb_helpers plugin.
921
+ * add redirect matcher to rspec test helpers
922
+ * allow r.resource(:foo, :myparam => 42) resource routes pass on params to underlying match() call
923
+ * spit out error and help message if you call merb with no args
924
+ * get rid of dependency on mongrel for escape and unescape
925
+ * make sure not to use write_nonblock when logging to STDOUT
926
+ * Fixed image_tag, css_include_tag, and js_include_tag to work with path_prefix
927
+ * fix set_status to actually work, add docs,
928
+ * config/merb.yml is now correctly loaded from Rake and test environment - using Merb::Server.load_config
929
+ * added config option to disable loading of the JSON gem - still enabled by default
930
+ * don't raise if names local on a partial is nil
931
+ * Use svn export instead of checkout upon merb:freeze_from_svn
932
+ * Extracted url and other general methods out of ControllerMixin into GeneralControllerMixin
933
+ * fix caching of @_buffer in render, form_for
934
+ * Seperates spec helpers into the Merb::Test namespace to prevent spec methods leaking into specs
935
+ * Changes the spec url helper method to the same used in the controller
936
+ * Made Request#parse_multipart return an empty hash instead of nil if the request is not multipart
937
+ * Changes throw_content so that it can be called without a block
938
+ * Added :namespace option to routes.
939
+
940
+ == 0.4.1 "Faster Partials or Partially Faster?" 2007-11-12
941
+ * Fixed pluralization issues with generators
942
+ * Resource generators are much improved
943
+ * url() helper now supports nested resources
944
+ * url(:post, @post) observers @post.new_record? and adjusts accordingly
945
+ * Fixed bug with empty Accept headers
946
+ * Added config/boot.rb to load framework from gems or framework/ dir
947
+ * New partial() is much faster (and less buggy)
948
+ * render :partial no longer supported
949
+ * Add a buffered logger
950
+ * Fixes bug with parameterized actions on some platforms
951
+ * partial can now be called on collections:
952
+ * partial("widget", :with => @new_widgets, :as => "widget")
953
+ * SMTP mailer now supports non-AUTH setups
954
+ * set_status() can take symbolic codes like :not_found
955
+ * JRuby compat fixes
956
+ * Speed boost, esp. with rendering
957
+ * Fix spec_helper running against development database
958
+ * Fix major bug with sessions not working
959
+
960
+ == 0.4.0 "This ain't yo mommas merb" 2007-11-06
961
+
962
+ == 0.3.7 "Out of the basement" 2007-08-05
963
+
964
+ == 0.3.4 "Route fixer" 2007-05-31
965
+
966
+ == 0.3.3 "Hey buddy can you spare a route generator?" 2007-05-31
967
+
968
+ == 0.3.1 "The Fixed and the Furious" 2007-04-30
969
+
970
+ == 0.3.0 "The Fast and the Furious" 2007-04-28
971
+
972
+ == 0.2.0 "Accept your fate and respond_to change" 2007-03-18
973
+
974
+ == 0.1.0 "Generation Herb" 2007-01-18
975
+
976
+ == 0.0.9 "merb is the new black" 2007-01-14
977
+
978
+ == 0.0.8 "Merbivore" 2006-12-17
979
+
980
+ == 0.0.7 "Lean and mean merbing machine" 2006-11-29
981
+
982
+ == 0.0.6 "The Black Belt Release" 2006-11-09
983
+
984
+ == 0.0.5 "The getting real release" 2006-11-01
985
+
986
+ == 0.0.4 "The toddler phase" 2006-10-26
987
+
988
+ == 0.0.3 "the switchblade suicide release" 2006-10-17
989
+
990
+ == 0.0.2 "the quicksliver release" 2006-10-16
991
+
992
+ == 0.0.1 "The pocket rocket release" 2006-10-15