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