-
Notifications
You must be signed in to change notification settings - Fork 576
/
Changes
4044 lines (3450 loc) · 161 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
7.66 2018-02-13
- This release contains fixes for security issues, everybody should upgrade!
- Removed origin attribute of Mojo::Cookie::Response.
- Removed deprecated data and remaining methods from Mojo::IOLoop::Delay.
- Added host_only attribute to Mojo::Cookie::Response.
- Improved all method in Mojo::Promise to resolve with no results if no
promises have been passed.
- Fixed a bug in Mojo::UserAgent::CookieJar where old cookies could be leaked.
7.65 2018-02-11
- Added EXPERIMENTAL timing->begin, timing->elapsed, timing->rps and
timing->server_timing helpers to Mojolicious::Plugin::DefaultHelpers.
- Added EXPERIMENTAL server_timing method to Mojo::Headers.
- Added support for new HTTP status code.
7.64 2018-02-07
- Fixed a bug in Mojo::Log where short log messages spanning multiple lines
would not be formatted properly for systemd.
7.63 2018-02-06
- Improved Mojo::Log to use native systemd log levels.
7.62 2018-02-01
- Added -u option to get command. (jberger)
- Added dont_use_nlink option to list_tree method in Mojo::File.
- Added reverse proxy section to Mojolicious::Guides::Cookbook. (polettix)
- Fixed a promise resolution bug in Mojo::Promise.
7.61 2018-01-08
- Increased default upgrade_timeout from 60 to 180 seconds in
Mojo::Server::Hypnotoad.
7.60 2018-01-02
- Deprecated use of Mojo::Promise::all and Mojo::Promise::race as instance
methods.
- Improved all and race methods in Mojo::Promise to be able to handle
arbitrary then-ables.
- Improved number detection in Mojo::JSON with a workaround for an upcoming
breaking change in Perl 5.28. (haarg)
- Improved HTML Living Standard compliance of Mojo::DOM::HTML.
- Fixed a bug in Mojo::Base that prevented composition of multiple roles.
(aferreira, batman)
- Fixed a bug in Mojolicious::Static where text files from DATA sections would
not be UTF-8 encoded. (Grinnz)
7.59 2017-12-15
- Moved home and ua attributes from Mojo to Mojolicious.
- Changed Mojo::IOLoop::Client to only start a thread pool with
Net::DNS::Native on demand. (Grinnz)
- Improved subprocess method in Mojo::IOLoop to allow for easier role
composition.
- Fixed RFC 7230 compliance bug in Mojo::Message::Response. (jberger)
7.58 2017-12-02
- Added websocket_p method to Mojo::UserAgent.
7.57 2017-11-18
- Fixed installation problems with some versions of Perl on Windows.
7.56 2017-11-14
- Added num check to Mojolicious::Validator.
- Improved built-in templates with high resolution logos.
7.55 2017-11-06
- Added -role flag to Mojo::Base. (jberger)
- Improved tablify function in Mojo::Util to work with non-rectangular arrays.
(CandyAngel, jabberwok)
- Improved Windows compatibility of Mojo::Server::Daemon.
7.54 2017-11-05
- Fixed a bug in Mojo::Promise where promise chains could not recover from
rejections.
7.53 2017-11-04
- Added module Mojo::Promise.
- Improved Mojo::IOLoop::Delay to be a subclass of Mojo::Promise.
7.52 2017-11-02
- Added delete_p, get_p, head_p, options_p, patch_p, post_p, put_p and start_p
methods to Mojo::UserAgent.
7.51 2017-10-31
- Added -signatures flag to Mojo::Base and Mojolicious::Lite.
- Added support for new HTTP status code.
- Improved ojo to enable subroutine signatures automatically on Perl 5.20+.
7.50 2017-10-30
- Deprecated error and finish events in Mojo::IOLoop::Delay. Since there is no
good way to warn our users about this deprecation, it will be in effect
until the next major release. Where we will also change the base class from
Mojo::EventEmitter to Mojo::Base.
- Improved documentation browser with links to MetaCPAN.
7.49 2017-10-28
- Deprecated Mojo::IOLoop::Delay::data and Mojo::IOLoop::Delay::remaining.
- Added Promises/A+ support. Note that Mojo::IOLoop::Delay previously
inherited a catch method from Mojo::EventEmitter that was passed the error
message as second argument instead of the first, so you might have to change
$delay->catch(sub { my ($delay, $error) = @_; ... });
to
$delay->catch(sub { my ($error) = @_; ... });
- Added all, catch, finally, race and then methods to Mojo::IOLoop::Delay.
- Updated jQuery to version 3.2.1.
7.48 2017-10-19
- Reverted previous Mojo::File change since there were too many unintended
side effects.
7.47 2017-10-05
- Added multipart content generator to Mojo::UserAgent::Transactor.
- Fixed a bug in Mojo::File where parts of a path could get accidentally
upgraded from bytes to characters.
7.46 2017-09-12
- Fixed support for versions of IO::Socket::SSL older than 1.965 again.
7.45 2017-09-06
- Fixed support for versions of IO::Socket::SSL older than 1.965. (mudler,
foursixnine, genio, sri)
7.44 2017-09-02
- Reverted a previous change to Mojo::Loader that allowed for load_class to be
called on the same class multiple times, since it had very bad side effects.
- Improved Mojo::IOLoop::TLS to use a little less memory.
- Fixed a bug where Mojolicious controllers like "MyApp::Controller::Foo::Bar"
would disappear if loading the controller "MyApp::Controller::Foo" was
attempted but failed.
7.43 2017-08-18
- Improved Mojo::Base role support with the ability to rebless objects.
7.42 2017-08-17
- Improved Mojo::Base role support with shorthands.
MyClass->with_roles('MyClass::Role::Foo')
becomes
MyClass->with_roles('+Foo')
7.41 2017-08-15
- Added with_roles method to Mojo::ByteStream, Mojo::Collection, Mojo::DOM and
Mojo::File.
7.40 2017-08-14
- Added support for Role::Tiny extensions to all classes based on Mojo::Base.
(dotan)
- Added with_roles method to Mojo::Base. (dotan)
- Added the guide Mojolicious::Guides::Testing. (scottw)
- Replaced systemd detection in Mojo::Log with the MOJO_LOG_SHORT environment
variable, since there is no reliable way to detect systemd.
7.39 2017-08-03
- Removed experimental close_idle_connections method from
Mojo::Server::Daemon.
- Increased default graceful_timeout from 60 to 120 seconds in
Mojo::Server::Prefork.
- Improve Mojo::Server::Daemon to log request errors.
- Fixed a bug where Mojo::Server::Daemon would close connections too quickly
and interrupt requests.
7.38 2017-07-30
- Added extra attribute to Mojolicious::Static. (jabberwok)
- Improve Mojo::URL performance significantly.
- Fixed memory leak in Mojo::URL that was caused by a Perl 5.24 bug.
7.37 2017-07-21
- Added slugify method to Mojo::ByteStream. (Grinnz)
- Added slugify function to Mojo::Util. (Grinnz)
- Fixed bugs in Mojo::IOLoop and Mojo::Reactor::Poll that would prevent a
reset from clearing events.
7.36 2017-07-09
- Fixed basename method in Mojo::File to work with relative paths. (jberger)
- Fixed a bug where Mojo::Log could not correctly identify if it was deployed
with systemd.
- Fixed Mojo::HelloWorld to actually be a Mojolicious subclass.
7.35 2017-07-05
- Removed deprecated watch attribute from Mojo::Server::Morbo.
- Added spare attribute to Mojo::Server::Prefork.
- Added -s option to prefork command.
- Added fd option to Mojo::IOLoop::Server::listen.
- Added fd parameter to Mojo::Server::Daemon::listen.
- Added spare setting to Hypnotoad.
- Increased default graceful_timeout from 20 to 60 seconds and
heartbeat_timeout from 20 to 30 seconds in Mojo::Server::Prefork.
7.34 2017-07-02
- Added short attribute to Mojo::Log.
- Improved Mojo::Log to print log messages without timestamps to STDERR when
deployed with systemd.
- Improved Mojo::DOM performance slightly.
7.33 2017-06-05
- Added EXPERIMENTAL support for :matches pseudo-class and :not pseudo-class
with compound selectors to Mojo::DOM::CSS.
- Fixed a few form element value extraction bugs in Mojo::DOM.
- Fixed version command to use the new MetaCPAN API, since the old one got
shut down.
7.32 2017-05-28
- Added -f option to get command.
- Improved get command with support for passing request data by redirecting
STDIN.
- Fixed memory leak in Mojo::IOLoop::Client that sometimes prevented the
connect timeout from working correctly for TLS handshakes.
7.31 2017-04-23
- Removed deprecated files, slurp and spurt functions from Mojo::Util.
- Removed deprecated parts attribute from Mojo::Home.
- Removed deprecated slurp and spurt methods from Mojo::ByteStream.
- Removed deprecated lib_dir, list_files, parse and rel_dir methods from
Mojo::Home.
- Removed deprecated rel_dir method from Mojolicious::Command.
- Removed deprecated is_status_class method from Mojo::Message::Response.
- Fixed a bug in the app generator command where the config file name was not
based on the application moniker.
7.30 2017-04-04
- Deprecated Mojo::Server::Morbo::watch in favor of
Mojo::Server::Morbo::Backend::Poll::watch. (marcus)
- Added support for pluggable Morbo backends. (marcus)
- Added Mojo::Server::Morbo::Backend and Mojo::Server::Morbo::Backend::Poll
modules. (marcus)
- Added backend attribute to Mojo::Server::Morbo. (marcus)
- Added -b option to Morbo. (marcus)
7.29 2017-03-12
- Added support for overriding configuration files in applications tested with
Test::Mojo.
- Added html_attr_unescape function to Mojo::Util.
- Fixed unescaping of HTML5 attribute values in Mojo::DOM::HTML.
7.28 2017-03-07
- Added copy_to, realpath and sibling methods to Mojo::File.
- Added dir option to list_tree method in Mojo::File.
- Improved app generator command to generate a config file.
(tudorconstantin)
7.27 2017-02-27
- Added support for UNIX domain sockets. (sri, salva)
- Improved Mojo::UserAgent to complain about unsupported protocols.
- Fixed a bug in Mojo::URL where invalid host strings could be generated.
- Fixed blib handling in Mojo::Home.
7.26 2017-02-15
- Fixed bug in Mojo::IOLoop::Subprocess where starting multiple subprocesses
at once could cause expcetions. (jberger)
7.25 2017-02-09
- Fixed cleanup bugs in Mojo::IOLoop::Stream.
7.24 2017-02-05
- Added open method to Mojo::File.
- Added tempfile function to Mojo::File.
- Fixed bug in Mojo::Asset::File where the slurp method would not work
correctly for very large files.
7.23 2017-01-29
- Added max_request_size attribute to Mojolicious.
- Added max_response_size attribute to Mojo::UserAgent.
- Added to_unsafe_string method to Mojo::URL.
- Added -S option to get command.
- Fixed a data corruption problem in Mojo::IOLoop::Stream, caused by a
dependency of IO::Socket::SSL on the internal representation of strings,
which differs from IO::Socket::IP. (coolo, sri)
7.22 2017-01-25
- Added ports method to Mojo::Server::Daemon.
- Added remove_tree method to Mojo::File.
- Improved spurt method in Mojo::File with support for writing multiple chunks
at once.
7.21 2017-01-21
- Added extract_usage function to Mojo::Util.
- Improve getopt function in Mojo::Util to use @ARGV by default.
7.20 2017-01-18
- Fixed a bug in Mojo::File where the make_path method would die even if no
error occurred.
- Fixed warnings in Mojo::IOLoop::TLS.
7.19 2017-01-14
- Added module Mojo::IOLoop::TLS.
- Added can_nnr and can_socks methods to Mojo::IOLoop::Client.
7.18 2017-01-11
- Fixed support for relative %INC paths in Mojo::Home.
- Fixed a bug in Mojo::URL where invalid fragment strings could be generated.
7.17 2017-01-11
- Fixed Windows bugs in Mojo::File. (kmx)
7.16 2017-01-10
- Fixed Windows bugs in Mojo::File. (kmx)
7.15 2017-01-09
- Deprecated Mojo::ByteStream::slurp and Mojo::Util::slurp in favor of
Mojo::File::slurp.
- Deprecated Mojo::ByteStream::spurt and Mojo::Util::spurt in favor of
Mojo::File::spurt.
- Deprecated Mojo::Util::files in favor of Mojo::File::list_tree.
- Deprecated Mojo::Home::lib_dir, Mojo::Home::parse, Mojo::Home::parts in
favor of new features inherited from the Mojo::File base class.
- Added module Mojo::File.
- Improved Mojo::Home to be a subclass of Mojo::File.
- Improved mojo_lib_dir and rel_file methods in Mojo::Home to return
Mojo::Home objects.
- Improved rel_file methods in Mojolicious::Command to return Mojo::File
objects.
- Improved every_param and param methods in Mojolicious::Validator::Validation
to use the current topic.
7.14 2017-01-04
- Deprecated Mojo::Home::list_files in favor of Mojo::Util::files.
- Deprecated Mojo::Home::rel_dir in favor of Mojo::Home::rel_file.
- Deprecated Mojolicious::Command::rel_dir in favor of
Mojolicious::Command::rel_file.
- Fixed a bug in Mojo::IOLoop::Subprocess where the pipe used for IPC could
disappear because of a timeout.
7.13 2016-12-23
- Deprecated Mojo::Message::Response::is_status_class in favor of new is_*
methods.
- Added result method to Mojo::Transaction.
- Added is_client_error, is_error, is_info, is_redirect, is_server_error and
is_success methods to Mojo::Message::Response.
- Fixed bug where Morbo could not handle broken symlinks. (Grinnz)
7.12 2016-12-18
- Added button_to and csrf_button_to helpers to
Mojolicious::Plugin::TagHelpers.
- Removed experimental status from Mojo::IOLoop::Subprocess.
- Removed experimental status from subprocess method in Mojo::IOLoop.
7.11 2016-11-30
- Added EXPERIMENTAL close_idle_connections method to Mojo::Server::Daemon.
- Improved one_tick method in Mojo::IOLoop to protect from recursion, similar
to the start method.
- Improved log attribute in Mojolicious to make it easier to override default
settings. (jberger)
- Fixed bug in Mojo::Server::Prefork where workers would accept keep-alive
requests after a graceful shutdown had already been initiated.
- Fixed bugs in Mojo::Util and Mojo::Asset::File where incomplete writes would
not be recognized as errors. (bobkare, sri)
7.10 2016-11-01
- Added getopt function to Mojo::Util.
7.09 2016-10-22
- Added every_header method to Mojo::Headers.
- Fixed redirect bug in Mojo::UserAgent::Transactor.
- Fixed a few proxy bugs in Mojo::UserAgent.
7.08 2016-09-23
- Added -i and -o options to get command.
- Updated jQuery to version 3.1.1.
- Improved accuracy of finished_ok test in Test::Mojo.
- Fixed state transition bug in Mojo::Transaction::HTTP that caused message
bodies to be included in responses to HEAD requests.
7.07 2016-09-20
- Fixed bug in Mojo::UserAgent::Transactor where 303 redirects would not be
followed correctly with GET requests. (jberger)
7.06 2016-09-17
- Fixed bug where Mojolicious::Renderer would wrap text in layouts.
- Fixed a few test description encoding bugs in Test::Mojo.
7.05 2016-08-29
- Fixed bug in Mojo::IOLoop::Subprocess where EV would steal the subprocess
exit status.
7.04 2016-08-28
- Added EXPERIMENTAL support for performing computationally expensive
operations in subprocesses, without blocking the event loop. (jberger, sri)
- Added EXPERIMENTAL module Mojo::IOLoop::Subprocess. (jberger, sri)
- Added EXPERIMENTAL subprocess method to Mojo::IOLoop. (jberger, sri)
- Improved many methods in Mojolicious::Controller to die more gracefully if
the connection has already been closed.
- Fixed bug where Mojo::UserAgent would try to follow redirects for CONNECT
requests.
7.03 2016-08-17
- Fixed packaging errors.
7.02 2016-08-17
- Fixed bugs in Mojo::Loader and Mojo::Util where the DATA handle would be
mentioned in error messages. (jberger, kiwiroy, sri)
7.01 2016-08-01
- Improved support for systemd.
- Fixed a bug in Mojo::Server::Prefork where PID files would not contain a
newline character.
7.0 2016-07-19
- Code name "Doughnut", this is a major release.
- Removed Mojolicious::Plugin::Charset.
- Removed authority method from Mojo::URL.
- Removed squish method from Mojo::ByteStream.
- Removed squish function from Mojo::Util.
- Removed support for smart whitespace trimming from all_text and text methods
in Mojo::DOM.
- Updated jQuery to version 3.1.0.
- Improved Mojo::URL not to include the userinfo part when generating URLs, as
recommended by the URL Living Standard.
- Improved Mojolicious::Plugin::Config to no longer log which files have been
loaded.
- Fixed trailing slash bug in Mojo::URL.
- Fixed a few whitespace bugs in Mojo::DOM.
- Fixed attribute selector bug in Mojo::DOM::CSS. (Akron)
- Fixed a bug causing headers with zero length values to be ignored by the get
command. (jberger)
6.66 2016-06-16
- Fixed support for CONNECT requests without keep alive connections in
Mojo::UserAgent. (anparker, sri)
6.65 2016-06-14
- Added password and username methods to Mojo::URL.
- Updated jQuery to version 3.0.0.
- Fixed "0" value bug in Mojo::UserAgent::CookieJar. (jamadam)
6.64 2016-06-09
- Updated HTML5 entities in Mojo::Util.
- Improved Mojo::IOLoop to fall back to Mojo::Reactor::Poll if Perl has been
compiled with fork emulation.
6.63 2016-06-03
- Removed deprecated check method from Mojo::Server::Morbo.
- Removed deprecated build, compile and interpret methods from Mojo::Template.
- Removed deprecated multi_accept methods from Mojo::IOLoop,
Mojo::IOLoop::Server and Mojo::Server::Daemon.
- Updated jQuery to version 2.2.4.
- Improved generator commands not to overwrite existing files.
6.62 2016-05-14
- Removed deprecated is_debug, is_error, is_info and is_warn methods from
Mojo::Log.
- Improved support for Ubuntu on Windows.
6.61 2016-04-30
- Improved Mojo::Server::Daemon to no longer log when a connection has been
closed prematurely.
- Fixed bug in Mojo::Content where the drain event would not always be emitted
for dynamically generated content with a Content-Length header.
6.60 2016-04-25
- Fixed bug in Mojo::IOLoop where stopping gracefully would sometimes result
in connections getting closed too early. (anparker, sri)
6.59 2016-04-22
- Removed deprecated xss_escape function from Mojo::Util.
- Improved HTML Living Standard compliance of Mojo::DOM::HTML.
- Improved Mojo::Server::Daemon to log when a connection has been closed
prematurely.
- Improved Mojo::Server::Prefork to log when the manager process has been
stopped.
- Fixed a few tests to keep up with breaking changes in IO::Socket::SSL.
- Fixed a few timing bugs in tests.
6.58 2016-04-09
- Removed deprecated build_frame and parse_frame methods from
Mojo::Transaction::WebSocket.
- Added fork policy to Mojolicious::Guides::Contributing.
- Improved Mojo::JSON to generate canonical JSON objects.
- Fixed bug in Mojo::Loader where classes with exceptions could not be loaded
twice. (kiwiroy, sri)
6.57 2016-03-23
- Fixed a few validation bugs in Mojolicious::Validator::Validation.
(Mikey, sri)
- Fixed copyright notice.
6.56 2016-03-16
- Added hidden option to list_files method in Mojo::Home. (batman, sri)
- Added hidden option to files function in Mojo::Util. (batman, sri)
- Fixed bug where Morbo would not ignore hidden files. (batman, sri)
- Fixed bug where Morbo would ignore the --verbose option.
- Fixed keep-alive bug in Mojo::UserAgent. (jberger)
6.55 2016-03-08
- Deprecated Mojo::Server::Morbo::check in favor of
Mojo::Server::Morbo::modified_files. (leejo, nugged)
- Added modified_files method to Mojo::Server::Morbo. (leejo, nugged)
- Improved renderer performance slightly.
- Fixed a bug where Morbo would restart more than once if multiple files
changed at the same time. (leejo, nugged)
6.54 2016-03-06
- Deprecated Mojo::Template::build and Mojo::Template::compile.
- Deprecated Mojo::Template::interpret in favor of Mojo::Template::process.
- Added support for named variables to Mojo::Template.
- Added vars attribute to Mojo::Template.
- Added process method to Mojo::Template.
- Improved Mojo::Template performance slightly.
6.53 2016-03-03
- Removed multi_accept setting from Hypnotoad.
- Removed -M options from daemon and prefork commands.
- Deprecated Mojo::IOLoop::multi_accept.
- Deprecated Mojo::IOLoop::Server::multi_accept.
- Deprecated Mojo::Server::Daemon::multi_accept.
- Added single_accept option to Mojo::IOLoop::Server::listen.
- Added single_accept parameter to Mojo::Server::Daemon::listen.
- Increased default max_requests from 25 to 100 in Mojo::Server::Daemon.
- Increased default accepts from 1000 to 10000 in Mojo::Server::Prefork.
- Improved performance of many Mojo::Util functions slightly.
- Fixed default value bug in val method of Mojo::DOM.
6.52 2016-03-02
- Added is_accepting method to Mojo::IOLoop::Server.
- Added -M option to daemon command.
- Improved responsiveness of stop_gracefully method in Mojo::IOLoop.
- Fixed bug in Mojo::IOLoop where too many connections could be accepted.
- Fixed a few concurrency bugs in Mojo::IOLoop.
6.51 2016-02-29
- Fixed bug in Mojolicious::Plugin::EPLRenderer where empty templates from the
DATA section would be ignored.
- Fixed a few "0" value bugs in Mojolicious::Renderer.
6.50 2016-02-27
- Added throw method to Mojo::Exception.
6.49 2016-02-26
- Removed throw method from Mojo::Exception.
- Added inspect method to Mojo::Exception.
- Improved check_box and radio_button helpers with support for "on" default
values.
- Improved val method in Mojo::DOM with support for "on" default values.
- Fixed url_for bug where routes with custom names would not match in the same
order as routes with automatically generated names.
- Fixed bug in Mojo::Template where not all exceptions were verbose.
- Fixed Windows bug in "util.t".
6.48 2016-02-24
- Added files function to Mojo::Util.
- Updated jQuery to version 2.2.1.
- Improved url_for performance significantly.
- Fixed bug where the results of the list_files method in Mojo::Home would
include directories.
- Fixed a few small CGI bugs.
6.47 2016-02-19
- Deprecated Mojo::Log::is_debug, Mojo::Log::is_error, Mojo::Log::is_info and
Mojo::Log::is_warn in favor of Mojo::Log::is_level.
- Added is_level method to Mojo::Log.
- Fixed datetime_field helper to use the correct type attribute value.
6.46 2016-02-13
- Improved Mojo::Headers performance. (batman)
- Fixed small proxy bug in Mojo::UserAgent::Transactor.
6.45 2016-02-09
- Deprecated Mojo::Util::xss_escape in favor of Mojo::Util::xml_escape.
- Improved Mojo::Template performance slightly.
6.44 2016-02-04
- Removed deprecated format_regex attribute from Mojolicious::Routes::Pattern.
- Improved get command not to use the user agent of the application.
- Improved Mojo::JSON performance slightly.
6.43 2016-02-01
- Removed client_close and server_close methods from Mojo::Transaction.
- Added closed method to Mojo::Transaction.
- Added parse_message method to Mojo::Transaction::WebSocket.
- Improved a few examples to avoid timing attacks.
- Fixed timing bug in Mojo::Server::Daemon.
6.42 2016-01-24
- Fixed use of deprecated Perl feature in Mojo::JSON.
- Fixed validation filter bugs in Mojolicious::Validator::Validation.
6.41 2016-01-20
- Added support for validation filters.
- Added filters attribute to Mojolicious::Validator.
- Added add_filter method to Mojolicious::Validator.
- Added filter arguments to optional and required methods in
Mojolicious::Validator::Validation.
- Fixed MOJO_WEBSOCKET_DEBUG environment variable. (jberger)
6.40 2016-01-13
- Removed client_challenge, client_handshake, server_handshake and server_open
methods from Mojo::Transaction::WebSocket. (batman, sri)
- Removed is_writing method from Mojo::Transaction.
- Removed upgrade event from Mojo::Transaction::HTTP.
- Deprecated Mojo::Transaction::WebSocket::build_frame and
Mojo::Transaction::WebSocket::parse_frame in favor of
Mojo::WebSocket::build_frame and Mojo::WebSocket::parse_frame. (batman)
- Replaced deprecated proxy method in Mojo::Message::Request with an
attribute.
- Added SNI support to all built-in web servers. (bpmedley, sri)
- Added module Mojo::WebSocket. (batman)
- Added established attribute to Mojo::Transaction::WebSocket.
- Added completed method to Mojo::Transaction.
- Updated jQuery to version 2.2.0.
- Improved performance of Mojo::Server::Daemon and Mojo::UserAgent slightly.
- Improved mtime attribute in Mojo::Asset::Memory to default to the value of
$^T.
- Improved app generator command to generate more portable scripts.
- Fixed a few timing bugs.
- Fixed url_for to handle fragments correctly.
6.39 2016-01-03
- Updated links to Mojolicious website.
- Fixed small html_unescape bug in Mojo::Util.
- Fixed handling of invalid max age in Mojo::UserAgent::CookieJar.
6.38 2015-12-19
- Updated prettify.js to version 8-Dec-2015.
- Improved form generation in Mojo::UserAgent::Transactor to use UTF-8 as the
default charset.
6.37 2015-12-14
- Added protocol and with_protocols methods to Mojo::Transaction::WebSocket.
- Fixed a few reference encoding bugs in Mojo::JSON.
- Fixed a few form generation bugs in Mojo::UserAgent::Transactor.
6.36 2015-12-08
- Improved Mojo::JSON performance slightly. (haarg)
- Improved inactivity_timeout helper to return the current controller object.
6.35 2015-12-04
- Removed deprecated collecting method from Mojo::UserAgent::CookieJar.
- Fixed warnings in Mojo::Cookie::Response.
6.34 2015-12-01
- Improved Hypnotoad to report problems that have occured during the creation
of listen sockets.
- Fixed bug in Mojo::DOM where the wrap method would attempt to wrap an
HTML/XML fragment around the content of root nodes.
- Fixed bug in Mojo::DOM where the wrap_content method would attempt to wrap
an HTML/XML fragment around nodes that do not have children.
- Fixed a few small formatting bugs in Mojolicious::Plugin::PODRenderer.
6.33 2015-11-22
- Updated IO::Socket::IP requirement to 0.37 for certain bug fixes.
- Improved renderer not to require a return value from handlers.
- Improved helper method in Mojolicious to replace already existing helpers
silently.
6.32 2015-11-18
- Deprecated Mojolicious::Routes::Pattern::format_regex.
- Added support for new HTTP status code.
- Improved router performance.
- Improved Mojo::DOM::CSS performance slightly. (jamadam)
- Fixed a few case-sensitivity and An+B notation bugs in Mojo::DOM::CSS.
(jamadam)
6.31 2015-11-13
- Improved documentation browser CSS.
- Fixed handling of invalid URLs in Mojo::UserAgent::CookieJar.
- Fixed a few small selector bugs in Mojo::DOM::CSS.
- Fixed a few small formatting bugs in Mojolicious::Plugin::PODRenderer.
6.30 2015-11-11
- Fixed bug in Mojolicious::Renderer where layouts could not be used with
template inheritance. (nic, sri)
6.29 2015-11-03
- Fixed a few bugs in built-in templates. (Zoffix, sri)
6.28 2015-11-02
- Improved build_app method in Mojo::Server to work more like the load_app
method.
- Fixed multi-line attribute bug in Mojo::DOM::HTML. (jamadam)
6.27 2015-10-29
- Updated HTML5 entities in Mojo::Util.
- Improved Mojo::Server::Prefork to log if the process id file could not be
created.
6.26 2015-10-28
- Renamed built-in templates with more descriptive names.
- Added warmup methods to Mojolicious::Renderer and Mojolicious::Static.
6.25 2015-10-21
- Deprecated Mojo::Message::Request::proxy with boolean and string arguments
in favor of Mojo::Message::Request::via_proxy.
- Moved all bundled files into "resources" directories.
- Added via_proxy attribute to Mojo::Message::Request.
- Improved Mojo::DOM::CSS to support selectors with leading and trailing
whitespace.
- Improved rendering of built-in templates to show actual template names in
log messages.
- Fixed punycode bug in Mojo::URL.
- Fixed "0" value bug in Mojo::JSON::Pointer.
6.24 2015-10-13
- Improved session security by not storing secrets in the stash and making
CSRF tokens much harder to guess.
- Improved commands to show all options that can affect their behavior.
- Fixed bug in Mojo::JSON::Pointer that prevented JSON Pointers with trailing
slash from working correctly. (dolmen)
- Fixed support for domains with trailing dot in Mojo::URL.
6.23 2015-10-06
- Improved documentation browser CSS.
- Fixed bug in Mojo::Transaction::WebSocket where an unsupported protocol
could be selected automatically.
- Fixed input record separator bug in Mojo::Util. (Zoffix, sri)
- Fixed small redirect bug in Mojo::UserAgent::Transactor.
6.22 2015-09-26
- Improved Mojo::JSON by reusing JSON::PP boolean constants.
- Improved uniq method in Mojo::Collection to accept a callback. (CandyAngel)
- Improved first and grep methods in Mojo::Collection to be able to call
methods.
- Improved support for empty attributes in Mojo::DOM::HTML.
6.21 2015-09-23
- Added val method to Mojo::DOM.
6.20 2015-09-15
- Deprecated Mojo::UserAgent::CookieJar::collecting in favor of
Mojo::UserAgent::CookieJar::ignore.
- Improved support for epoll/kqueue in Mojo::IOLoop::Client.
6.19 2015-09-12
- Added code of conduct to Mojolicious::Guides::Contributing.
- Added ignore attribute to Mojo::UserAgent::CookieJar.
- Added tls_version option to Mojo::IOLoop::Server::listen.
- Added version parameter to Mojo::Server::Daemon::listen.
6.18 2015-09-02
- Improved portability of slurp function in Mojo::Util.
- Fixed handling of parameters with multiple values in
Mojolicious::Plugin::TagHelpers.
- Fixed Makefile.PL to be compliant with version 2 of the CPAN distribution
metadata specification. (Grinnz)
6.17 2015-08-21
- Improved slurp method in Mojo::Asset::File to only use one file descriptor.
6.16 2015-08-19
- Improved check_box, radio_button and select_field tag helpers to handle the
attributes "checked" and "selected" correctly.
- Improved performance of slurp function in Mojo::Util slightly.
6.15 2015-08-13
- Removed deprecated build_body and build_headers methods from Mojo::Content.
- Improved Mojo::Transaction::HTTP performance slightly.
- Fixed warnings in Mojo::DOM.
6.14 2015-07-12
- Improved app generator command not to create a log directory.
6.13 2015-07-08
- Added support for validating file uploads.
- Added upload check to Mojolicious::Validator.
- 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 methods 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.