forked from mojolicious/mojo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
4363 lines (3815 loc) · 179 KB
/
Changes
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
6.13 2015-07-05
- Improved error messages for broken applications in Mojo::Server. (mst)
- Improved subscribers method in Mojo::EventEmitter to allow subscribers to be
modified more easily.
6.12 2015-06-18
- Welcome to the Mojolicious core team Dan Book.
- Added TO_JSON method to Mojo::Collection. (wttw)
- Added find_packages function to Mojo::Loader.
- Fixed bug in Mojo::Message where multipart content would get downgraded
unnecessarily.
6.11 2015-05-16
- Deprecated Mojo::Content::build_body and Mojo::Content::build_headers.
- Added headers_contain method to Mojo::Content.
- Updated jQuery to version 2.1.4.
- Fixed indentation of ASCII art in documentation browser. (jberger)
- Fixed bug where inline was not considered a reserved stash value.
6.10 2015-04-26
- Removed support for user/group switching, because it never worked
correctly, which means that this security feature has become an attack
vector itself. If you depend on this functionality, you can now use the
CPAN module Mojolicious::Plugin::SetUserGroup instead.
- Removed group and user attributes from Mojo::Server.
- Removed setuidgid method from Mojo::Server.
- Removed group and user settings from Hypnotoad.
- Removed -g/--group and -u/--user options from daemon and prefork commands.
- Added next_tick method to Mojo::Reactor::Poll.
- Improved next_tick callbacks to run in the same order in which they were
registered.
6.09 2015-04-25
- Improved HTML Living Standard compliance of Mojo::Parameters. (riche, sri)
- Fixed bug in Mojolicious::Types where the json MIME type did not specify a
charset. (kaktus)
6.08 2015-04-09
- Added is_established and server_open methods to
Mojo::Transaction::WebSocket.
- Improved finish and send methods in Mojolicious::Controller to
automatically establish the WebSocket connection if necessary.
- Improved pod_to_html helper in Mojolicious::Plugin::PODRenderer to unindent
verbatim blocks. (OlegG)
6.07 2015-04-07
- Fixed Windows bug in "daemon.t".
6.06 2015-04-06
- Added element_count_is method to Test::Mojo. (Zoffix)
- Added "chat.pl" to example scripts.
- Improved Mojo::DOM::CSS to handle attribute selectors with single quotes
correctly.
6.05 2015-03-24
- Fixed circular require bug in Mojo::Base and Mojo::Util.
6.04 2015-03-23
- Improved Mojo::Reactor::EV and Mojo::Reactor::Poll to fail more
consistently.
- Improved Mojo::Base performance slightly.
- Fixed a few bugs in Mojo::DOM::CSS that required class, id and attribute
selectors, as well as pseudo-classes, to be in a specific order.
6.03 2015-03-16
- Added support for overriding the HTTP request method with the _method query
parameter.
- Added suggested_method method to Mojolicious::Routes::Route.
- Improved portability of some tests.
6.02 2015-03-09
- Added daemon attribute to Mojo::Server::Morbo.
- Improved portability of Mojo::Server::Morbo.
- Fixed empty template handling in Mojo::Template.
6.01 2015-03-03
- Added content_with helper to Mojolicious::Plugin::DefaultHelpers.
- Relaxed request-line handling in Mojo::Message::Request.
- Fixed code name in version command and built-in templates.
6.0 2015-02-26
- Code name "Clinking Beer Mugs", this is a major release.
- Removed name listing support from param method in Mojolicious::Controller.
- Removed name listing support from param method in Mojo::Parameters.
- Removed name listing support from error and param methods in
Mojolicious::Validator::Validation.
- Removed multi-name support from cookie, param and signed_cookie methods in
Mojolicious::Controller.
- Removed multi-name support from param method in
Mojolicious::Validator::Validation.
- Removed multi-name support from param method in Mojo::Parameters.
- Removed multi-name support from cookie and upload methods in Mojo::Message.
- Removed custom socket support from Mojo::UserAgent.
- Removed is_fatal, is_level and log methods from Mojo::Log.
- Removed auto_render method from Mojolicious::Routes.
- Removed deprecated object-oriented Mojo::Loader API.
- Removed deprecated accept_interval, lock and unlock attributes from
Mojo::IOLoop.
- Removed deprecated accept_interval, lock_file and lock_timeout attributes
from Mojo::Server::Prefork.
- Removed deprecated bridge method from Mojolicious::Routes::Route.
- Removed deprecated is_readable method from Mojo::Reactor.
- Removed deprecated siblings method from Mojo::DOM.
- Removed deprecated render_exception and render_not_found methods from
Mojolicious::Controller.
- Removed deprecated keep_alive_requests setting from Hypnotoad.
- Changed return values of all and find methods in
Mojo::UserAgent::CookieJar.
- Renamed template attribute in Mojo::Template to unparsed.
- Renamed extracting attribute in Mojo::UserAgent::CookieJar to collecting.
- Renamed types attribute in Mojolicious::Types to mapping.
- Renamed current attribute in Mojolicious::Routes::Match to position.
- Renamed pattern attribute in Mojolicious::Routes::Pattern to unparsed.
- Renamed all_contents, contents, following_siblings, match, next_sibling,
node, preceding_siblings, previous_sibling and type methods in Mojo::DOM to
descendant_nodes, child_nodes, following_nodes, matches, next_node, type,
preceding_nodes, previous_node and tag.
- Renamed match method in Mojo::DOM and Mojo::DOM::CSS to matches.
- Renamed extract and inject methods in Mojo::UserAgent::CookieJar to collect
and prepare.
- Renamed inject method in Mojo::UserAgent::Proxy to prepare.
- Renamed params method in Mojo::Parameters to pairs.
- Renamed match method in Mojolicious::Routes::Match to find.
- Renamed -A option of prefork command to -a.
- Added names method to Mojo::Parameters.
- Added failed and passed methods to Mojolicious::Validator::Validation.
- Added -I and -M options to prefork command.
- Fixed Mojo::Template support for parentheses in expressions. (jberger, sri)
5.82 2015-02-22
- Deprecated Mojo::Reactor::is_readable.
- Deprecated keep_alive_requests setting in Hypnotoad in favor of requests.
- Improved Morbo to restart slightly faster.
- Fixed bug in daemon and prefork commands where --inactivity-timeout option
was called --inactivity.
5.81 2015-02-20
- Deprecated object-oriented Mojo::Loader API.
- Added data_section, file_is_binary, load_class and find_modules functions
to Mojo::Loader.
- Improved design of built-in templates.
- Fixed test command to not let Test::Harness enable global warnings by
default. (OlegG)
5.80 2015-02-18
- Deprecated Mojo::IOLoop::accept_interval, Mojo::IOLoop::lock and
Mojo::IOLoop::unlock.
- Deprecated Mojo::Server::Prefork::accept_interval,
Mojo::Server::Prefork::lock_file and Mojo::Server::Prefork::lock_timeout.
- Removed -a/--accept-interval, --lock-file and -L/--lock-timeout options
from prefork command.
- Removed accept_interval, lock_file and lock_timeout settings from
Hypnotoad.
- Added stop_gracefully method to Mojo::IOLoop.
- Added finish event to Mojo::IOLoop.
- Reduced CPU usage of Mojo::IOLoop and Mojo::Server::Prefork significantly.
- Improved app generator command to use current best practices.
- Fixed bug where semicolons at the end of a cookie were not parsed
correctly. (dmw397)
- Fixed bug in Mojo::IOLoop where connection limits were not properly
enforced.
- Fixed url_for to handle paths without trailing slash correctly in embedded
applications.
5.79 2015-02-13
- Fixed bug in Mojo::Reactor::Poll that caused excessive idle CPU usage.
5.78 2015-02-12
- Replaced expires method in Mojo::Cookie::Response with an attribute.
- Added split_cookie_header function to Mojo::Util.
- Updated IO::Socket::SSL requirement to 1.94.
- Relaxed RFC 822/1123 and RFC 850/1036 handling in Mojo::Date.
- Improved Mojo::Reactor::Poll performance significantly.
- Improved text method in Mojo::Message to use default_charset as well.
- Improved design of built-in templates.
- Fixed bug in Mojo::DOM that made parsing a requirement.
- Fixed warnings in Mojo::URL.
5.77 2015-02-03
- Added content_security_policy method to Mojo::Headers.
- Fixed canonicalize in Mojo::Path to not remove parts with more than three
dots.
5.76 2015-02-02
- Emergency release for a critical security issue that can expose files on
Windows systems, everybody should update!
- Increased default max_message_size from 10MB to 16MB in Mojo::Message.
- Reduced default max_line_size from 10KB to 8KB in Mojo::Headers and
Mojo::Message.
- Improved Hypnotoad load balancing by calling srand() after starting a new
worker in Mojo::Server::Prefork.
- Improved design of built-in templates.
- Fixed bug in Mojo::IOLoop where the accept limit was applied too broadly.
- Fixed bug in Mojo::Server::Prefork where the TTOU signal would not always
stop a worker.
- Fixed bug in Mojo::DOM::CSS where combinators needed to be surrounded by
whitespace.
5.75 2015-01-26
- Added healthy method to Mojo::Server::Prefork.
- Improved all built-in web servers to die if group or user assignment
failed.
- Improved Hypnotoad to wait for new workers to be ready before stopping the
old ones during hot deployment.
- Improved commands and log messages to use less punctuation.
- Fixed bug in Mojo::IOLoop where the callback passed to next_tick would
receive the wrong invocant.
- Fixed race condition and memory leak in Mojo::Server::Prefork.
5.74 2015-01-25
- Improved parser errors to be more consistent with connection errors in
Mojo::Message::Request and Mojo::Message::Response.
- Fixed "0" value bug in Mojo::Parameters.
- Fixed bug where placeholder default values would not always have
precedence.
- Fixed proxy detection in get command.
5.73 2015-01-24
- Deprecated Mojolicious::Routes::Route::bridge in favor of
Mojolicious::Routes::Route::under.
- Deprecated Mojolicious::Controller::render_exception in favor of
reply->exception helper.
- Deprecated Mojolicious::Controller::render_not_found in favor of
reply->not_found helper.
- Removed deprecated object-oriented Mojo::JSON API.
- Removed deprecated stringification support from Mojo::Collection.
- Removed deprecated support for data arguments from Mojo::JSON::Pointer.
- Removed deprecated AUTOLOAD and pluck methods from Mojo::Collection.
- Removed deprecated AUTOLOAD and val methods from Mojo::DOM.
- Moved tutorial from Mojolicious::Lite to Mojolicious::Guides::Tutorial.
- Added term_escape method to Mojo::ByteStream.
- Added term_escape function to Mojo::Util.
- Improved get command to use the user agent of the application.
- Improved diagnostics information for MOJO_DAEMON_DEBUG,
MOJO_USERAGENT_DEBUG and MOJO_WEBSOCKET_DEBUG environment variables.
- Fixed tag helpers to generate correct HTML5. (batman, sri)
- Fixed JSON Pointer escaping bug.
- Fixed portability bug in monkey_patch tests.
5.72 2015-01-11
- Added EXPERIMENTAL support for case-insensitive attribute selectors like
[foo="bar" i] to Mojo::DOM::CSS.
- Added max_lines attribute to Mojo::Headers.
- Improved Mojo::Reactor::EV to update the current time before starting a
timer.
- Improved error messages for start-line and header limits.
- Fixed bug in Mojo::Headers where max_line_size was not checked correctly.
- Fixed whitespace bug in Mojo::DOM::CSS.
5.71 2015-01-01
- Updated Net::DNS::Native requirement to 0.15 for some important bug fixes.
- Updated jQuery to version 2.1.3.
- Improved Mojo::URL performance.
- Fixed fragment and userinfo normalization bugs in Mojo::URL.
- Fixed query charset bug in Mojo::URL.
- Fixed a few merge bugs in Mojo::Parameters.
5.70 2014-12-18
- Improved Mojo::Template performance.
- Fixed error handling bugs in Mojo::IOLoop::Stream.
- Fixed a few limit bugs in Mojo::Message.
- Fixed Windows bug in Mojo::IOLoop::Client. (OlegG)
5.69 2014-12-13
- Deprecated Mojo::DOM::siblings.
- Added following, following_siblings, preceding and preceding_siblings
methods to Mojo::DOM.
- Added port method to Mojo::IOLoop::Server.
- Removed deprecated emit_safe method from Mojo::EventEmitter.
- Removed deprecated render_static method from Mojolicious::Controller.
- Removed deprecated has_conditions method from Mojolicious::Routes::Route.
- Updated Net::DNS::Native requirement to 0.14 for some important bug fixes.
- Improved Mojo::DOM::HTML performance slightly.
- Fixed parent combinator bug in Mojo::DOM::CSS.
- Fixed whitespace bug in Mojo::DOM::HTML.
- Fixed Mojo::UserAgent::Transactor to handle query parameters more like
most common browsers.
5.68 2014-12-02
- Improved Mojo::DOM::CSS performance significantly.
- Fixed deprecation warnings in get command.
- Fixed bug in Mojolicious::Controller where sending a WebSocket message
would cause multiple resume events.
5.67 2014-11-27
- Improved overall performance by deserializing sessions only on demand.
- Fixed bug where embedded applications would deserialize sessions twice.
5.66 2014-11-26
- Improved many WebSocket tests in Test::Mojo to be able to fail gracefully.
- Fixed bug in Mojo::DOM::CSS where the :empty pseudo-class would not ignore
comments and processing instructions.
5.65 2014-11-24
- Improved installable scripts to use #!perl. (jberger)
- Improved Mojo::JSON security by escaping the "/" character.
- Improved Mojolicious::Commands to reset the global Getopt::Long
configuration more safely.
- Fixed bug in Mojo::DOM::CSS where selected results would also include the
current root element.
5.64 2014-11-22
- Fixed bug in Mojolicious::Commands where the global Getopt::Long
configuration would be changed after a command had already been loaded.
5.63 2014-11-21
- Improved portability of some tests.
- Fixed a few multipart form handling bugs.
5.62 2014-11-18
- Fixed bug in Mojolicious::Routes::Pattern where optional placeholders in
nested routes would sometimes not work correctly.
- Fixed bug where "handler" was not an allowed name for controller methods.
5.61 2014-11-14
- Moved entities.txt into the DATA section of Mojo::Util to avoid
gratuitously breaking module bundlers.
5.60 2014-11-11
- Added to_array method to Mojo::Collection.
- Added xss_escape function to Mojo::Util.
- Updated Net::DNS::Native requirement to 0.12 for some important bug fixes.
5.59 2014-11-07
- Added support for non-blocking name resolution with Net::DNS::Native.
5.58 2014-11-06
- Improved error handling in Mojo::IOLoop::Client.
5.57 2014-11-02
- Deprecated stringification support in Mojo::Collection in favor of
Mojo::Collection::join.
- Deprecated Mojo::Collection::pluck in favor of Mojo::Collection::map.
- Deprecated Mojo::DOM::val.
- Improved map method in Mojo::Collection to be able to call methods.
- Improved tap method in Mojo::Base to be able to call methods.
5.56 2014-10-29
- Deprecated Mojo::Collection::AUTOLOAD in favor of Mojo::Collection::pluck.
- Deprecated Mojo::DOM::AUTOLOAD in favor of Mojo::DOM::children.
5.55 2014-10-28
- Deprecated support for data arguments in Mojo::JSON::Pointer.
- Added access_control_allow_origin, content_language, content_location and
strict_transport_security methods to Mojo::Headers.
5.54 2014-10-23
- Deprecated object-oriented Mojo::JSON API.
- Added auto_decompress attribute to Mojo::Content.
- Improved Mojo::Content to parse content more defensively.
- Fixed chunked transfer encoding bug in Mojo::Content.
- Fixed bug where Mojo::UserAgent would try to follow redirects for
protocols other than HTTP and HTTPS.
5.53 2014-10-20
- Fixed bug in Mojo::Server where secondary groups were not reassigned
correctly. (ksm, sri)
5.52 2014-10-18
- Fixed read-only file system compatibility of Mojo::Asset::File.
5.51 2014-10-17
- Fixed bug in Mojolicious::Validator::Validation where every_param would
sometimes return an array reference containing an undef value.
- Fixed Mojo::ByteStream and Mojo::Collection to always return true in
boolean context.
5.50 2014-10-15
- Improved Mojo::DOM::HTML performance slightly.
- Fixed description list parsing bug in Mojo::DOM::HTML. (Trelane)
5.49 2014-10-10
- Improved form content generator to allow custom content types.
- Improved Mojo::Server to load applications consistently for all servers.
(tianon, sri)
- Fixed Mojolicious::Static to hide files without extensions in DATA
sections.
- Fixed inflate command to ignore files without extensions.
- Fixed bug in Mojolicious::Routes::Route where formats could be rendered
twice for embedded applications.
5.48 2014-10-07
- Emergency release for a serious security issue that can result in
parameter injection attacks, everybody should update!
Breaking change: Methods that previously worked differently in scalar than
in list context now always assume scalar context, and new methods have
been added to cover the list context functionality.
- Added every_cookie and every_upload methods to Mojo::Message.
- Added every_param method to Mojo::Message::Request.
- Added every_param method to Mojo::Parameters.
- Added every_cookie, every_param and every_signed_cookie methods to
Mojolicious::Controller.
- Added every_param method to Mojolicious::Validator::Validation.
- Added from_json and to_json functions to Mojo::JSON.
- Improved pluck method in Mojo::Collection to be able to extract values from
hash references.
5.47 2014-09-28
- Improved url_for performance.
5.46 2014-09-26
- PAUSE lost the previous release.
5.45 2014-09-26
- Deprecated Mojolicious::Routes::Route::has_conditions.
- Added extracting attribute to Mojo::UserAgent::CookieJar.
- Improved performance of next, next_sibling, previous and previous_sibling
methods in Mojo::DOM significantly.
- Improved Mojo::Cache to allow caching to be disabled. (mvgrimes, sri)
- Fixed url_for bug where deeply nested WebSocket routes would not work
correctly.
5.44 2014-09-23
- Fixed bug in Mojolicious::Renderer that prevented proxy objects from being
reused.
5.43 2014-09-22
- Updated Makefile.PL for version 2 of the CPAN distribution metadata
specification.
- Improved get command to not depend on Content-Type headers for
differentiating between JSON and HTML/XML.
5.42 2014-09-17
- Fixed url_for bug where an unnecessary slash could be rendered before
formats.
5.41 2014-09-13
- Deprecated Mojolicious::Controller::render_static in favor of
reply->static helper.
- Added mtime attribute to Mojo::Asset::Memory.
- Added mtime method to Mojo::Asset and Mojo::Asset::File.
- Added reply->asset and reply->static helpers to
Mojolicious::Plugin::DefaultHelpers.
- Fixed bug in Mojo::UserAgent where connections would sometimes not get
closed correctly.
5.40 2014-09-12
- Deprecated Mojo::EventEmitter::emit_safe.
- Added reply->exception and reply->not_found helpers to
Mojolicious::Plugin::DefaultHelpers.
- Improved all events to handle exceptions the same.
5.39 2014-09-07
- Improved decamelize performance.
- Fixed bug in Mojo::Template where newline characters could get lost.
5.38 2014-09-05
- Improved routes command to use new terminology for flags.
- Fixed bug in Mojo::Util where tablify could not handle empty columns.
5.37 2014-09-03
- Improved Mojo::Template performance slightly.
- Fixed .ep template bug where the stash value "c" could no longer be used.
5.36 2014-09-02
- Improved Mojo::Template performance.
5.35 2014-08-30
- Improved monkey_patch to be able to name generated functions.
5.34 2014-08-29
- Added original_remote_address attribute to Mojo::Transaction.
- Fixed bug where Mojolicious::Commands would change @ARGV when loaded.
5.33 2014-08-24
- Improved Mojo::Date to be able to handle higher precision times.
- Improved Mojo::ByteStream performance.
5.32 2014-08-21
- Added to_datetime method to Mojo::Date.
- Improved Mojo::Date to support RFC 3339.
5.31 2014-08-19
- Improved Mojolicious::Static to allow custom content types.
- Improved url_for performance.
5.30 2014-08-17
- Improved Mojolicious::Static to only handle GET and HEAD requests.
- Improved Mojo::URL performance.
- Improved url_for performance slightly.
- Fixed bug where DATA sections sometimes got corrupted after forking, which
caused applications to fail randomly.
- Fixed Mojo::IOLoop::Client to use a timeout for every connection.
5.29 2014-08-16
- Added helpers method to Mojolicious::Controller.
- Improved performance of .ep templates slightly.
- Fixed "0" value bug in Mojolicious::Plugin::EPRenderer.
5.28 2014-08-13
- Improved performance of nested helpers and helpers in templates
significantly.
- Improved Mojo::JSON to generate smaller JSON by not escaping the "/"
character.
5.27 2014-08-11
- Added support for nested helpers.
- Added get_helper method to Mojolicious::Renderer.
- Added n function to ojo.
- Fixed bug in Mojolicious::Routes::Match where placeholder values got merged
too early.
5.26 2014-08-09
- Improved WebSocket performance.
- Fixed proxy exception handling bug in Mojo::UserAgent.
- Fixed bug where Mojo::Transaction::WebSocket would build incorrect frames
if the FIN bit was not set.
5.25 2014-08-07
- Added reduce method to Mojo::Collection. (sri, batman)
- Added if_none_match method to Mojo::Headers.
- Added is_fresh method to Mojolicious::Static.
- Added is_fresh helper to Mojolicious::Plugin::DefaultHelpers.
- Improved Mojolicious to use MyApp::Controller namespace by default and
encourage its use in the documentation.
- Improved sort method in Mojo::Collection to use $a and $b. (batman)
- Improved Mojolicious::Static to support ETag and If-None-Match headers.
- Improved documentation browser CSS.
- Fixed escaping bugs in Mojo::DOM::CSS.
5.24 2014-08-02
- Improved url_escape performance slightly.
- Fixed memory leak in Mojo::IOLoop::Client.
- Fixed bug where ojo would sometimes die silently.
5.23 2014-07-31
- Improved router performance.
- Improved routes command to show format regular expression separately.
- Fixed partial route bug in Mojolicious::Routes::Match.
- Fixed format detection bug in Mojolicious::Routes::Pattern.
5.22 2014-07-30
- Added SOCKS5 support to Mojo::UserAgent.
- Added socks_address, socks_pass, socks_port and socks_user options to
Mojo::IOLoop::Client::connect.
- Improved documentation browser CSS.
5.21 2014-07-27
- Improved handling of Pod::Simple::XHTML 3.09 dependency.
- Improved documentation browser CSS.
5.20 2014-07-27
- Fixed a few bugs in Mojolicious::Plugin::PODRenderer by switching from
Pod::Simple::HTML to Pod::Simple::XHTML.
- Fixed Perl 5.18.x compatibility.
5.19 2014-07-26
- Improved support for Unicode anchors in Mojolicious::Plugin::PODRenderer.
- Fixed is_readable scalability problems in Mojo::Reactor.
5.18 2014-07-25
- Improved is_readable performance in Mojo::Reactor.
5.17 2014-07-24
- Welcome to the Mojolicious core team Jan Henning Thorsen.
- Added val method to Mojo::DOM. (batman, sri)
- Improved Mojo::Collection performance.
- Fixed support for Unicode anchors in Mojolicious::Plugin::PODRenderer.
5.16 2014-07-21
- Improved Mojo::Asset::File to allow appending data to existing files.
(iakuf, sri)
5.15 2014-07-17
- Improved Mojo::DOM::HTML performance slightly.
- Fixed small selector bug in get command.
5.14 2014-07-14
- Improved all_text performance in Mojo::DOM.
- Improved Mojo::DOM::CSS, Mojo::DOM::HTML and Mojo::JSON performance with
regular expression optimizations.
- Fixed deep recursion warnings in Mojo::DOM and Mojo::DOM::HTML. (jberger)
5.13 2014-07-13
- Added json_like, json_message_like, json_message_unlike and json_unlike
methods to Test::Mojo.
- Improved HTML5.1 compliance of Mojo::DOM::HTML.
- Fixed bug where Mojo::UserAgent would keep too many connections alive.
- Fixed Mojo::Reactor::Poll bug where watchers were active after they have
been removed. (jberger)
5.12 2014-07-04
- Fixed a few multipart form handling bugs.
- Fixed AUTOLOAD bug in Mojo::Collection where it would behave differently
than calling pluck directly.
5.11 2014-07-02
- Moved reverse_proxy attribute from Mojo::Server::Daemon to Mojo::Server.
- Added delay and inactivity_timeout helpers to
Mojolicious::Plugin::DefaultHelpers.
- Improved error method in Mojolicious::Validator::Validation to return
field names when called without arguments.
- Fixed "0" value bug in Mojo::UserAgent::Transactor.
5.10 2014-06-28
- Added cleanup attribute to Mojo::Server::Prefork.
- Improved Mojo::Server::Prefork to keep sending heartbeat messages when
stopping gracefully.
- Fixed small bug where Mojo::Server::Daemon was too eager to reconfigure
Mojo::IOLoop.
- Fixed small bug where Hypnotoad would clean up process id and lock files
too early.
5.09 2014-06-24
- Improved .ep templates to make the current controller available as $c.
5.08 2014-06-17
- Added reset method to Mojo::IOLoop.
- Added reset method to Mojo::Reactor.
- Added reset method to Mojo::Reactor::Poll.
5.07 2014-06-13
- Fixed RFC 7230 compliance bugs in Mojo::Headers.
5.06 2014-06-11
- Added deserialize and serialize attributes to Mojolicious::Sessions.
- Improved redirect_to to behave more like url_for.
- Fixed bug in Mojo::UserAgent where HTTP/1.0 connections were sometimes kept
alive.
5.05 2014-06-08
- Fixed parsing of header fields with single character names in
Mojo::Headers. (crab)
5.04 2014-06-03
- Added expect_close attribute to Mojo::Content.
- Improved support for broken responses to CONNECT requests.
5.03 2014-06-02
- Fixed bug where Mojo::DOM::HTML could not handle certain broken tags.
5.02 2014-05-31
- Added multi-name support to cookie and signed_cookie methods in
Mojolicious::Controller.
- Added multi-name support to cookie and upload methods in Mojo::Message.
- Improved Mojolicious::Command::generate::plugin to use better directory
names.
- Fixed bug where Mojo::DOM::HTML could not handle tags with lots of
attributes.
5.01 2014-05-30
- Fixed continuation line handling in Mojo::Headers.
5.0 2014-05-29
- Code name "Tiger Face", this is a major release.
- Changed heuristics for number detection in Mojo::JSON to better line up
with user expectations.
- Changed lock and unlock callbacks in Mojo::IOLoop to not receive an
invocant.
- Changed return value of path_for method in Mojolicious::Routes::Match.
- Changed return value and arguments of error method in Mojo::Message.
- Removed deprecated support for X-Forwarded-HTTPS.
- Removed return values from wait method in Mojo::IOLoop::Delay.
- Removed list context support from header method in Mojo::Headers.
- Removed generate_port method from Mojo::IOLoop.
- Replaced reserved stash value partial with render_to_string method.
- Replaced format method in Mojo::Log with an attribute.
- Replaced check_file method in Mojo::Server::Morbo with check method.
- Added with_compression method to Mojo::Transaction::WebSocket.
- Added catch method to Mojo::EventEmitter.
- Added append method to Mojo::Log.
- Updated jQuery to version 2.1.1.
- Improved Mojo::IOLoop::Delay to automatically check if the event loop is
already running.
- Improved Mojo::Parameters to consistently accept arrays.
- Improved Mojo::Collection to perform actual boolean checks. (marcus)
- Fixed Mojo::DOM::HTML to handle slashes in unquoted attribute values
correctly.
- Fixed Mojo::IOLoop::Server to work correctly with newer versions of
IO::Socket::SSL. (noxxi)
- Fixed rendering bug where rewritten arguments could not be localized.
- Fixed verification bug in Mojo::IOLoop::Server.
- Fixed path generation bug in Mojolicious::Routes::Match.
- Fixed warnings in Mojo::IOLoop::Delay.
4.99 2014-05-12
- Added support for performing blocking and non-blocking requests at the same
time with Mojo::UserAgent.
- Added nb_url method to Mojo::UserAgent::Server.
- Improved Mojo::IOLoop::Server and Mojo::Server::Daemon to be able to listen
on random ports.
4.98 2014-05-09
- Removed deprecated get_line function from Mojo::Util.
- Removed deprecated content_xml, replace_content, text_before, text_after
and to_xml methods from Mojo::DOM.
- Improved accept performance in Mojo::IOLoop::Server.
4.97 2014-04-30
- Deprecated support for X-Forwarded-HTTPS in favor of X-Forwarded-Proto.
- Added multi-name support to param method in Mojo::Parameters.
4.96 2014-04-28
- Improved Mojo::IOLoop to use Mojo::IOLoop::Delay more consistently.
4.95 2014-04-27
- Improved Mojo::IOLoop::Delay with circular reference protection.
- Improved Mojo::IOLoop::Delay to allow argument splicing.
- Improved Mojo::IOLoop::Server to reuse cipher list from IO::Socket::SSL.
- Fixed memory leak in Mojo::UserAgent::Server.
4.94 2014-04-20
- Added reverse_proxy attribute to Mojo::Server::Daemon.
- Added reverse_proxy attribute to Mojo::Message::Request.
- Added prefork and upgrade_timeout attributes to Mojo::Server::Hypnotoad.
- Added configure method to Mojo::Server::Hypnotoad.
- Relaxed name handling in Mojo::Headers a little.
- Fixed small bug in online tests.
4.93 2014-04-13
- Fixed bug where Mojolicious::Static would not use the correct default MIME
type.
4.92 2014-04-08
- Removed deprecated use of hash references for optgroup generation with
select_field helper.
- Improved dumper helper to escape unprintable characters.
- Fixed small handler detection bug in Mojolicious::Renderer.
4.91 2014-03-29
- Added daemonize method to Mojo::Server.
- Added ensure_pid_file method to Mojo::Server::Prefork.
- Removed deprecated secret method from Mojolicious.
- Improved performance of Mojolicious::Plugin::EPRenderer and
Mojolicious::Plugin::EPLRenderer.
- Improved Mojo::Reactor::Poll portability with POLLPRI support.
4.90 2014-03-16
- Removed deprecated to_rel method from Mojo::URL.
- Updated IO::Socket::SSL requirement to 1.84 due to breaking changes in
IO::Socket::SSL.
- Improved documentation browser with more accessible links and readable
inline code.
- Fixed textarea and title parsing bugs in Mojo::DOM::HTML.
4.89 2014-03-13
- Added support for template variants.
- Improved built-in templates with unobtrusive menu bar.
- Fixed bug in Mojo::DOM::HTML where non-self-closing elements were not
handled correctly.
- Fixed bug in Mojo::DOM::HTML where <image> was not treated as an alias for
<img>.
4.88 2014-03-09
- Added build_controller method to Mojolicious.
- Added match method to Mojolicious::Routes.
- Improved Mojo::Server::Daemon to handle setuid/setgid errors more
gracefully.
- Improved Mojo::Server::Prefork to handle lock file errors more gracefully.
- Improved exception page to show better context information for templates.
- Fixed comment on last line bug in Mojo::Template.
4.87 2014-03-04
- Improved Mojo::ByteStream to allow more method chaining.
- Fixed RFC 7159 support in Mojo::JSON.
- Fixed RFC 7159 compliance bugs in Mojo::Transaction::WebSocket and
Test::Mojo.
- Fixed Unicode bugs in Test::Mojo.
4.86 2014-03-03
- Improved Mojo::IOLoop::Delay to allow more method chaining.
- Improved WebSocket and long poll performance.
4.85 2014-02-26
- Added next_tick method to Mojo::IOLoop and Mojo::Reactor.
- Added host_port and path_query methods to Mojo::URL.
- Added is_handshake method to Mojo::Message::Request.
- Improved Mojo::Reactor::EV responsiveness.
- Fixed IDNA support for CONNECT requests.
- Fixed "0" value bug in Mojo::Message::Request.
4.84 2014-02-22
- Added remaining attribute to Mojo::IOLoop::Delay.
- Added data and pass methods to Mojo::IOLoop::Delay.
- Improved Mojo::Exception context detection to better line up with user
expectations.
4.83 2014-02-19
- Improved Mojo::JSON to handle encoding errors more gracefully.
- Fixed line numbers in Mojo::JSON error messages.
4.82 2014-02-19
- Added decode_json and encode_json functions to Mojo::JSON.
- Added data attribute to Mojo::JSON::Pointer.
- Fixed bug in "user_agent_online.t".
- Fixed small decoding bug in Mojo::JSON.
4.81 2014-02-15
- Added direct array access for child nodes to Mojo::DOM.
- Improved Mojolicious::Routes::Pattern to normalize more route variations.
- Improved routes command to show which routes are using certain features
with flags.
4.80 2014-02-13
- Merged Mojo::DOM::Node into Mojo::DOM.
- Added next_sibling and previous_sibling methods to Mojo::DOM.
- Added last method to Mojo::Collection.
- Improved many methods in Mojo::DOM to work with all node types.
- Improved Mojo::DOM::HTML to handle slashes between attributes more
gracefully.
- Fixed list parsing bug in Mojo::DOM::HTML.
4.79 2014-02-11
- Improved not found page to show request information and the exact path used
for route matching.
4.78 2014-02-08
- Deprecated Mojo::Util::get_line.
- Fixed ";" handling in Mojo::Parameters to be compliant with the HTML Living
Standard.
- Fixed case-sensitivity bug in Mojolicious::Types.
4.77 2014-02-06
- Deprecated Mojo::DOM::text_after and Mojo::DOM::text_before in favor of
Mojo::DOM::contents.
- Deprecated Mojo::DOM::content_xml and Mojo::DOM::replace_content in favor
of Mojo::DOM::content.
- Deprecated Mojo::DOM::to_xml in favor of Mojo::DOM::to_string.
- Added wrap_content method to Mojo::DOM.
- Added tablify function to Mojo::Util.
- Improved wrap method in Mojo::DOM to allow wrapping of the root node.
4.76 2014-02-04
- Added wrap method to Mojo::DOM.
- Updated IO::Socket::IP requirement to 0.20 for certain bug fixes.
- Improved Mojo::DOM::HTML to generate better HTML.
4.75 2014-02-02
- Fixed and re-added support for permessage-deflate WebSocket compression.
(Mikey, sri)
4.74 2014-02-02
- Added all_contents method to Mojo::DOM.
- Removed support for permessage-deflate WebSocket compression, since there
have been too many problems with Chrome.
4.73 2014-02-01
- Improved xml_escape performance significantly.
- Improved html_unescape and url_unescape performance.
- Fixed Mojo::UserAgent::Transactor to handle redirects more like most common
browsers.
4.72 2014-01-29
- Added accepts, template_for and template_handler methods to
Mojolicious::Renderer.
- Added accepts helper to Mojolicious::Plugin::DefaultHelpers.
- Added before_render hook.
- Fixed bug in Mojo::Transaction::WebSocket that prevented decompression
errors from being handled gracefully.
4.71 2014-01-28
- Fixed a few compression bugs in Mojo::Transaction::WebSocket and
Mojo::Content.
4.70 2014-01-26
- Added extract_usage method to Mojolicious::Command.
- Added unindent method to Mojo::ByteStream.
- Added unindent function to Mojo::Util.
- Updated jQuery to version 2.1.
- Improved all built-in commands to show usage information in their SYNOPSIS
sections.
- Improved tag helpers to make data attributes more convenient. (ravengerUA)
%= tag 'div', data => {my_id => 1, Name => 'test'} => 'some content'
is equivalent to
%= tag 'div', data-my-id => 1, data-name => 'test' => 'some content'
- Fixed indentation of code in documentation browser.
4.69 2014-01-24
- Improved router to allow format detection for bridges.
4.68 2014-01-22
- Added module Mojo::DOM::Node.
- Added contents and node methods to Mojo::DOM.
- Removed deprecated http_proxy, https_proxy, name and no_proxy attributes
from Mojo::UserAgent.
- Removed deprecated app, app_url, detect_proxy and need_proxy methods from
Mojo::UserAgent.
- Improved router to allow placeholders anywhere in a pattern to become
optional.
"get '/foo/:bar/baz' => {bar => 'bar'};" now matches "/foo/baz"
"get '/foo(:bar)baz' => {bar => 'bar'};" now matches "/foobaz"
- Improved request_ok method in Test::Mojo to handle WebSocket handshakes.
- Improved Mojo::IOLoop::Server to use address and port for descriptor
inheritance.
- Improved list of available commands to be alphabetical. (jberger)
- Fixed select_field helper to be nondestructive.
- Fixed XML semantics bug in Mojo::DOM::HTML.
4.67 2014-01-11
- Added history and max_history_size attributes to Mojo::Log.
- Improved exception and not found pages with log messages.
- Improved exception page with more information.
- Improved not found page with a more generic message.
- Improved inline templates to use their checksum as name.
4.66 2014-01-04
- Added success attribute to Test::Mojo.
- Improved Mojo::DOM::CSS and Mojo::DOM::HTML performance.
- Fixed XML detection bug in Mojo::DOM.
- Fixed escaping bugs in Mojo::DOM::CSS.
4.65 2014-01-02
- Deprecated use of hash references for optgroup generation with select_field
helper in favor of Mojo::Collection objects.
- Added b and c helpers to Mojolicious::Plugin::DefaultHelpers.
- Fixed reference handling bug in Mojo::Collection.
4.64 2014-01-01
- Fixed helper export bug in Mojolicious::Plugin::EPRenderer.
4.63 2013-12-19
- Deprecated Mojolicious::secret in favor of Mojolicious::secrets.
- Added support for rotating secrets.
- Added secrets method to Mojolicious.
4.62 2013-12-17
- Deprecated Mojo::URL::to_rel.
4.61 2013-12-16
- Added select_one method to Mojo::DOM::CSS.
- Improved performance of Mojo::DOM::at significantly.
4.60 2013-12-11
- Improved Mojolicious::Validator::Validation to allow custom validation
errors.
4.59 2013-12-04
- Added CSRF protection support.
- Added support for permessage-deflate WebSocket compression.
- Added csrf_protect method to Mojolicious::Validator::Validation.
- Added build_message method to Mojo::Transaction::WebSocket.
- Added csrf_token attribute to Mojolicious::Validator::Validation.
- Added compressed and context_takeover attributes to
Mojo::Transaction::WebSocket.
- Added csrf_token helper to Mojolicious::Plugin::DefaultHelpers.
- Added csrf_field helper to Mojolicious::Plugin::TagHelpers.
- Removed deprecated mode specific methods in application class.
- Relicensed all artwork to CC-SA version 4.0.
4.58 2013-11-19
- Improved IIS and WebSphere compatibility of Mojo::Message::Request.
- Improved Mojo::Collection to allow join without arguments.
- Improved Mojo::DOM::HTML performance.
- Fixed recursion bug in Mojo::Reactor::EV where timers could run more than
once.
- Fixed a few "0" value bugs in Mojo::DOM::HTML.
4.57 2013-11-11
- Improved compatibility with IO::Socket::SSL 1.957.
- Fixed error event bug in Mojo::IOLoop::Delay.
4.56 2013-11-09
- Fixed backspace escaping bug in Mojo::JSON. (ig3)
4.55 2013-11-07
- Fixed Windows bug in "daemon.t".
4.54 2013-11-07
- Added parts attribute to Mojo::Home.
- Fixed keep alive connection timeout bug in Mojo::UserAgent.
- Fixed support for links within a page in Mojolicious::Plugin::PODRenderer.
- Fixed home detection bug in Mojo.
4.53 2013-10-30
- Fixed a few unsubscribe and error event bugs in Mojo::EventEmitter.
4.52 2013-10-29
- Improved Mojo::EventEmitter to allow unhandled error events to be fatal.
(powerman, sri)
4.51 2013-10-28
- Added tag_with_error helper to Mojolicious::Plugin::TagHelpers.
- Improved .ep template performance significantly, the number of helpers no
longer has any effect. (jberger, sri)
- Improved form_for performance.
- Improved built-in templates with documentation search.
- Fixed template inheritance bug in include helper.
- Fixed a few multipart form handling bugs.
4.50 2013-10-22
- Deprecated Mojo::UserAgent::app in favor of Mojo::UserAgent::Server::app.
- Deprecated Mojo::UserAgent::app_url in favor of
Mojo::UserAgent::Server::url.
- Deprecated Mojo::UserAgent::detect_proxy in favor of
Mojo::UserAgent::Proxy::detect.
- Deprecated Mojo::UserAgent::http_proxy in favor of
Mojo::UserAgent::Proxy::http.
- Deprecated Mojo::UserAgent::https_proxy in favor of
Mojo::UserAgent::Proxy::https.
- Deprecated Mojo::UserAgent::no_proxy in favor of
Mojo::UserAgent::Proxy::not.
- Deprecated Mojo::UserAgent::need_proxy in favor of
Mojo::UserAgent::Proxy::is_needed.
- Deprecated Mojo::UserAgent::name in favor of
Mojo::UserAgent::Transactor::name.
- Added modules Mojo::UserAgent::Proxy and Mojo::UserAgent::Server.
- Added proxy and server attributes to Mojo::UserAgent.
- Removed deprecated attrs method from Mojo::DOM.
- Improved Mojo::Message to allow max_message_size check to be disabled.