Ruby 2.2.7 Released 2017/3/28
Ruby 2.2.7 has been released.
This release includes about 70 bug fixes after the previous release. See the
ChangeLog for details.
After this release, we will end the normal maintenance phase of Ruby 2.2, and
start the security maintenance phase of it. This means that after the release
of 2.2.7 we will never backport any bug fixes to 2.2 except security fixes.
The term of the security maintenance phase is scheduled for 1 year. By the
end of this term, official support of Ruby 2.2 will be over. Therefore, we
recommend that you start planning to upgrade to Ruby 2.4 or 2.3.
Features
* Update Visual Studio build facade
* Update read me
* Performance improvements for @extend
* Performance improvements
Fixes
Disable FMA3 when compiling with Visual Studio 2013
Fix for loop variable to be referenced
Fix number compare issues when used as map keys with old gcc
Fix results of map-get not being evaluated
Fix null pointer access
Fix bug with media queries and @extend
Misc
Cleanup initial shared ptr interface
Refactor selector list and schema handling
Cleanup context usage and extend code
Cleanup misc
Cleanup issues detected by clangs static analyser
Remove Textual intermediate AST node
Add libsass-python to README
[core] add crash-handler.wait-pipe-close parameter 1092 (Frederik Deweerdt)
[core] introduce an option to bypass the server header sent from upstream 1226 (Frederik Deweerdt)
[core] apply global- and host-level configuration to requests not applicable to any of the path-level configurations 1231 (Kazuho Oku)
[access-log] add %{remote}p for logging the remote port 1166 (Kazuho Oku)
[access-log] add support for JSON-style escapes and null 1208 (Kazuho Oku)
[access-log] add specifier for logging per-request environment variables 1221 (Yannick Koechlin)
[access-log] add support for <, > modifiers for logging either the original or the final response 1238 (Kazuho Oku)
[access-log] do not emit request-total-time twice 1017 (Kazuho Oku)
[fastcgi] fix a bug that closes the FastCGI listener socket during startup 1203 (Frederik Deweerdt)
[file] add directive for serving gzipped files, decompressing them on-the-fly 1140 (Ichito Nagata)
[headers] fix buffer overrun during startup 1180 (Frederik Deweerdt)
[http1][proxy] preserve the cases of characters used in header names 1194 (Frederik Deweerdt)
[http1][proxy] fix undefined behavior in HTTP/1 parser 1189 (Frederik Deweerdt)
[http1] stop reading from socket after sending 400 to avoid the risk of assertion failure 1223 (Frederik Deweerdt)
[http2] recognize x-http2-push-only attribute on link header 1169 (Frederik Deweerdt)
[http2] add optional timeout for closing connections upon graceful shutdown 1108 (Frederik Deweerdt)
[http2] do not ack an acked PING frame 1175 (Moto Ishisawa)
[http2] reject requests exceeding the maximum allowed size more efficiently 1183 (Frederik Deweerdt)
[mruby] remove dependenty to mkmf 1197 (Yuki Kurihara)
[mruby] correct the line number reported on an exception 1239 (Ichito Nagata)
[proxy] add directives for tweaking headers sent to upstream 1126 (Justin Zhu)
[proxy] retain case-sensitivity of unix socket paths 1131 (Frederik Deweerdt)
[proxy] add directive for controlling the via request header 1225 (Frederik Deweerdt)
[ssl] add directive for logging session ID 1164 (Yannick Koechlin)
[ssl] add support for TLS 1.3 draft-18 1204 (Kazuho Oku)
[ssl] stop evicting session entries in memcached when they are removed from internal cache 1185 (Ichito Nagata)
[ssl] fix crash when a secp384r1, secp521r1 certificate is used with TLS 1.3 1214 (Kazuho Oku)
[ssl] fix build failure with OpenSSL 1.1.0 1216 (Kazuho Oku)
[ssl] add doc for handshake-timeout 1233 (Kazuho Oku)
[status] fix race condition during start-up 1242 (Frederik Deweerdt)
[libh2o] implement h2o_evloop_destroy 1200 (kazan417)
[misc] add test code for fuzzing 1174 1182 1191 1192 (Frederik Deweerdt, Jonathan Foote)
[misc] fix issues reported by Coverity 1168 1172 1179 (Harrison Bowden, Frederik Deweerdt)
Upstream changes:
1.1.4 6 October 2016 17:26:00
- make sure Makefile.PL is included in the dist
1.1.3 6 October 2016 10:56:00
- Refactor slightly to enable useful subclassing (RT#102223, Tim Bunce)
The bug which causes libnghttp2_asio client to crash has been fixed.
The bug which causes nghttpx to respond to a client with 502 status code if it receives 204 status code from HTTP/1 backend has been fixed.
mess822. Turn it off by default. This should let us once again
publish binary packages.
To use another ofmipd, set qmailofmipd_ofmipdcmd in rc.conf. Likewise
for qmail-smtpd and qmail-pop3d.
Bump version.
Changes:
version 2017.04.09
Extractors
+ [medici] Add support for medici.tv (#3406)
+ [rbmaradio] Add support for redbullradio.com URLs (#12687)
+ [npo:live] Add support for default URL (#12555)
* [mixcloud:playlist] Fix title, description and view count extraction (#12582)
+ [thesun] Add suport for thesun.co.uk (#11298, #12674)
+ [ceskateleveize:porady] Add support for porady (#7411, #12645)
* [ceskateleveize] Improve extraction and remove URL replacement hacks
+ [kaltura] Add support for iframe embeds (#12679)
* [airmozilla] Fix extraction (#12670)
* [wshh] Extract html5 entries and delegate to generic extractor (12676)
+ [raiplay] Extract subtitles
+ [xfileshare] Add support for vidlo.us (#12660)
+ [xfileshare] Add support for vidbom.com (#12661)
+ [aenetworks] Add more video URL regular expressions (#12657)
+ [odnoklassniki] Fix format sorting for 1080p quality
+ [rtl2] Add support for you.rtl2.de (#10257)
+ [vshare] Add support for vshare.io (#12278)
version 2017.04.03
Core
+ [extractor/common] Add censorship check for TransTelekom ISP
* [extractor/common] Move censorship checks to a separate method
Extractors
+ [discoveryvr] Add support for discoveryvr.com (#12578)
+ [tv5mondeplus] Add support for tv5mondeplus.com (#11386)
+ [periscope] Add support for pscp.tv URLs (#12618, #12625)
version 2017.04.02
Core
* [YoutubeDL] Return early when extraction of url_transparent fails
Extractors
* [rai] Fix and improve extraction (#11790)
+ [vrv] Add support for series pages
* [limelight] Improve extraction for audio only formats
* [funimation] Fix extraction (#10696, #11773)
+ [xfileshare] Add support for vidabc.com (#12589)
+ [xfileshare] Improve extraction and extract hls formats
+ [crunchyroll] Pass geo verifcation proxy
+ [cwtv] Extract ISM formats
+ [tvplay] Bypass geo restriction
+ [vrv] Add support for vrv.co
+ [packtpub] Add support for packtpub.com (#12610)
+ [generic] Pass base_url to _parse_jwplayer_data
+ [adn] Add support for animedigitalnetwork.fr (#4866)
+ [allocine] Extract more metadata
* [allocine] Fix extraction (#12592)
* [openload] Fix extraction
version 2017.03.26
Core
* Don't raise an error if JWPlayer config data is not a Javascript object
literal. _find_jwplayer_data now returns a dict rather than an str. (#12307)
* Expand environment variables for options representing paths (#12556)
+ [utils] Introduce expand_path
* [downloader/hls] Delegate downloading to ffmpeg immediately for live streams
Extractors
* [afreecatv] Fix extraction (#12179)
+ [atvat] Add support for atv.at (#5325)
+ [fox] Add metadata extraction (#12391)
+ [atresplayer] Extract DASH formats
+ [atresplayer] Extract HD manifest (#12548)
* [atresplayer] Fix login error detection (#12548)
* [franceculture] Fix extraction (#12547)
* [youtube] Improve URL regular expression (#12538)
* [generic] Do not follow redirects to the same URL
version 2017.03.24
Extractors
- [9c9media] Remove mp4 URL extraction request
+ [bellmedia] Add support for etalk.ca and space.ca (#12447)
* [channel9] Fix extraction (#11323)
* [cloudy] Fix extraction (#12525)
+ [hbo] Add support for free episode URLs and new formats extraction (#12519)
* [condenast] Fix extraction and style (#12526)
* [viu] Relax URL regular expression (#12529)
version 2017.03.22
Extractors
- [pluralsight] Omit module title from video title (#12506)
* [pornhub] Decode obfuscated video URL (#12470, #12515)
* [senateisvp] Allow https URL scheme for embeds (#12512)
pkgsrc changes:
- Delete patches/patch-src_i965__decoder__utils.c: applied upstream
Changes:
Version 1.8.0 - 31.Mar.2017
* Improve the quality of the H.264 encoder on SKL+ for CQP and CBR mode
* Improve the quality of the VP8 encoder on BSW+ for CQP and CBR mode
* Add support for H.264 VBR mode on SKL+
* Add support for VP8 VBR mode on BSW+
* Add support for low-power H.264 encoder on BXT and KBL
* Add support for CBR / VBR with low-power H.264 encoder on SKL+ (A HuC Firmware and
a HuC supported Linux kernel are required)
* Add support for CSC and scaling with 10bit P010/I010 surface
* Optimize CSC and scaling with 8bit NV12 and I420 surface
* Fix the wrong memory object cache setting on SKL+
* Fix the EU number in media pipeline
* Fix the wrong bit shift in H.264 encoder
* Fix the 48bit graphics address on BSW+
* Fix building on NetBSD
* Known issues
- The new AVC encoder doesn't support MVC/SVC encoding
- The new AVC encoder doesn't support ROI encoding
- The new AVC encoder doesn't support multiple slice encoding
Upstream changes:
go1.8.1 (released 2017/04/07) includes fixes to the compiler, linker, runtime, documentation, go command and the crypto/tls, encoding/xml, image/png, net, net/http, reflect, text/template, and time packages. See the Go 1.8.1 milestone on our issue tracker for details.
Update DEPENDS
Upstream changes:
1.73 2017-01-31
- The format_datetime now checks that the object it is given isa DateTime
object. Implemented by Mohammad S Anwar. GitHub #17.
1.72 2017-01-24
- Require DateTime::Locale 1.05. This fixes some test failures seen on CPAN
Testers. Also require DateTime::TimeZone 2.09 because you should really
update this on a regular basis.
- Require Specio 0.33 to fix other test failures seen on CPAN (I hope).
1.71 2017-01-24
- By default, the word boundary checks added in 1.69 are now off. You can
enable them by passing "strict => 1" to the constructor. This was reported
as an issue by Toby Corkindale as GitHub #15.
- Switched from Params::Validate to Params::ValidationCompiler.
Upstream changes:
0.28 Thu Mar 23 2016
- fix tests under perl 5.25.10+ with -Ddefault_inc_excludes_dot
- thanks Kent Fredric rt #120698
0.27 Mon Mar 06 2017
- support a single lang as a string instead of requiring an arrayref (DWIM)
- example: lang => 'en'
- add support for:
- "next (weekday)" eg: next sunday
- "last (weekday)" eg: last sunday
- "next (month)" eg: next january
- "last (month)" eg: last january
- "(x unit) from now" eg: 3 years from now
- "(-x unit)" eg: -3 months
- "(+x unit)" eg: +3 months
- "YYMMDD HH:MM:SS" eg: 950404 00:22:12
- "YYMMDD HH:MM:SS.NS" eg: 950404 00:22:12.500
- "Mon D HH:MM:SS.NS TZ YYYY" eg: Fri Dec 2 22:56:03.500 GMT+0 1994
- thanks David White rt #105178, tests from Time::ParseDate
- when we have a leading month that is 0 (zero) and we have a year, assume it is supposed to be october (10)
- thanks Dave Musakhanyan
Upstream changes:
unicorn 5.3.0 / 2017-04-01 08:03 UTC
A couple of portability fixes from Dylan Thacker-Smith and
Jeremy Evans since 5.3.0.pre1 over a week ago, but this looks
ready for a stable release, today.
When I started this over 8 years ago, I wondered if this would
just end up being an April Fools' joke. Guess not. I guess I
somehow tricked people into using a terribly marketed web server
that cannot talk directly to untrusted clients :x Anyways,
unicorn won't be able to handle slow clients 8 years from now,
either, or 80 years from now. And I vow never to learn to use
new-fangled things like epoll, kqueue, or threads :P
Anyways, this is a largish release with several new features,
and no backwards incompatibilities.
Simon Eskildsen contributed heavily using TCP_INFO under Linux
to implement the (now 5 year old) check_client_connection feature:
https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-check_client_connectionhttps://bogomips.org/unicorn-public/?q=s:check_client_connection&d:..20170401&x=t
This also led to FreeBSD and OpenBSD portability improvements in
one of our dependencies, raindrops:
https://bogomips.org/raindrops-public/20170323024829.GA5190@dcvr/T/#u
Jeremy Evans contributed several new features. First he
implemented after_worker_exit to aid debugging:
https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_exithttps://bogomips.org/unicorn-public/?q=s:after_worker_exit&d:..20170401&x=t#t
And then security-related features to isolate workers. Workers
may now chroot to drop access to the master filesystem, and the
new after_worker_ready configuration hook now exists to aid with
chroot support in workers:
https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_readyhttps://bogomips.org/unicorn/Unicorn/Worker.html#method-i-userhttps://bogomips.org/unicorn-public/?q=s:after_worker_ready&d:..20170401&x=t#thttps://bogomips.org/unicorn-public/?q=s:chroot&d:..20170401&x=t#t
Additionally, workers may run in a completely different VM space
(nullifying preload_app and any CoW savings) with the new
worker_exec option:
https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-worker_exechttps://bogomips.org/unicorn-public/?q=s:worker_exec&d:..20170401&x=t#t
There are also several improvements to FreeBSD and OpenBSD
support with the addition of these features.
shortlog of changes since v5.2.0 (2016-10-31):
Dylan Thacker-Smith (1):
Check for Socket::TCP_INFO constant before trying to get TCP_INFO
Eric Wong (30):
drop rb_str_set_len compatibility replacement
TUNING: document THP caveat for Linux users
tee_input: simplify condition for IO#write
remove response_start_sent
http_request: freeze constant strings passed IO#write
Revert "remove response_start_sent"
t/t0012-reload-empty-config.sh: access ivars directly if needed
t0011-active-unix-socket.sh: fix race condition in test
new test for check_client_connection
revert signature change to HttpServer#process_client
support "struct tcp_info" on non-Linux and Ruby 2.2+
unicorn_http: reduce rb_global_variable calls
oob_gc: rely on opt_aref_with optimization on Ruby 2.2+
http_request: reduce insn size for check_client_connection
freebsd: avoid EINVAL when setting accept filter
test-lib: expr(1) portability fix
tests: keep disabled tests defined
test_exec: SO_KEEPALIVE value only needs to be true
doc: fix links to raindrops project
http_request: support proposed Raindrops::TCP states on non-Linux
ISSUES: expand on mail archive info + subscription disclaimer
test_ccc: use a pipe to synchronize test
doc: remove private email support address
input: update documentation and hide internals.
http_server: initialize @pid ivar
gemspec: remove olddoc from build dependency
doc: add version annotations for new features
unicorn 5.3.0.pre1
doc: note after_worker_exit is also 5.3.0+
test_exec: SO_KEEPALIVE value only needs to be true (take #2)
Jeremy Evans (7):
Add after_worker_exit configuration option
Fix code example in after_worker_exit documentation
Add support for chroot to Worker#user
Add after_worker_ready configuration option
Add worker_exec configuration option
Don't pass a block for fork when forking workers
Check for SocketError on first ccc attempt
Simon Eskildsen (1):
check_client_connection: use tcp state on linux
unicorn 5.3.0.pre1 / 2017-03-24 00:25 UTC
A largish release with several new features.
Simon Eskildsen contributed heavily using TCP_INFO under Linux
to implement the (now 5 year old) check_client_connection feature:
https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-check_client_connectionhttps://bogomips.org/unicorn-public/?q=s:check_client_connection&d:..20170324&x=t
This also led to FreeBSD and OpenBSD portability improvements in
one of our dependencies, raindrops:
https://bogomips.org/raindrops-public/20170323024829.GA5190@dcvr/T/#u
Jeremy Evans contributed several new features. First he
implemented after_worker_exit to aid debugging:
https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_exithttps://bogomips.org/unicorn-public/?q=s:after_worker_exit&d:..20170324&x=t#t
And then security-related features to isolate workers. Workers
may now chroot to drop access to the master filesystem, and the
new after_worker_ready configuration hook now exists to aid with
chroot support in workers:
https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_readyhttps://bogomips.org/unicorn/Unicorn/Worker.html#method-i-userhttps://bogomips.org/unicorn-public/?q=s:after_worker_ready&d:..20170324&x=t#thttps://bogomips.org/unicorn-public/?q=s:chroot&d:..20170324&x=t#t
Additionally, workers may run in a completely different VM space
(nullifying preload_app and any CoW savings) with the new
worker_exec option:
https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-worker_exechttps://bogomips.org/unicorn-public/?q=s:worker_exec&d:..20170324&x=t#t
There are also several improvements to FreeBSD and OpenBSD
support with the addition of these features.
34 changes since 5.2.0 (2016-10-31):
Eric Wong (27):
drop rb_str_set_len compatibility replacement
TUNING: document THP caveat for Linux users
tee_input: simplify condition for IO#write
remove response_start_sent
http_request: freeze constant strings passed IO#write
Revert "remove response_start_sent"
t/t0012-reload-empty-config.sh: access ivars directly if needed
t0011-active-unix-socket.sh: fix race condition in test
new test for check_client_connection
revert signature change to HttpServer#process_client
support "struct tcp_info" on non-Linux and Ruby 2.2+
unicorn_http: reduce rb_global_variable calls
oob_gc: rely on opt_aref_with optimization on Ruby 2.2+
http_request: reduce insn size for check_client_connection
freebsd: avoid EINVAL when setting accept filter
test-lib: expr(1) portability fix
tests: keep disabled tests defined
test_exec: SO_KEEPALIVE value only needs to be true
doc: fix links to raindrops project
http_request: support proposed Raindrops::TCP states on non-Linux
ISSUES: expand on mail archive info + subscription disclaimer
test_ccc: use a pipe to synchronize test
doc: remove private email support address
input: update documentation and hide internals.
http_server: initialize @pid ivar
gemspec: remove olddoc from build dependency
doc: add version annotations for new features
Jeremy Evans (6):
Add after_worker_exit configuration option
Fix code example in after_worker_exit documentation
Add support for chroot to Worker#user
Add after_worker_ready configuration option
Add worker_exec configuration option
Don't pass a block for fork when forking workers
Simon Eskildsen (1):
check_client_connection: use tcp state on linux
Updated devel/p5-Devel-CheckLib to 1.10
Updated devel/p5-App-cpanminus to 1.7043
Updated devel/p5-B-Hooks-Parser to 0.19
Updated devel/p5-Module-Install to 1.18
Updated devel/p5-Module-Build to 0.42220
Updated devel/p5-Log-Any to 1.04.9
Updated devel/p5-Devel-Declare to 0.006019
Updated devel/p5-POE-Component-Pluggable to 1.28
------------------------------
0.39 2017-04-07 13:06:00 garu
- use explicit '.' in tests since it may not be in @INC
anymore in newer perls (fixes RT120648) (PLICEASE, SIMCOP)
----------------------------------------
1.7043 2017-04-02 20:56:06 PDT
[Improvements]
- Set PERL_USE_UNSAFE_INC for 5.26+ (haarg) #521
- Strictly match module NAME in Bundle
---------------------------------------
0.19 2017-04-04 19:35:08Z
- re-release 1.18 as stable (fixes compile issues on recent blead releases)
0.18 2016-08-30 00:24:10Z (TRIAL RELEASE)
- avoid use of sub_inwhat (RT#116685; see also RT#102918 and perl RT#123865)
----------------------------------------
0.4222 - Thu Mar 30 15:40:10 CEST 2017
- Released 0.42_21 as 0.4222
0.42_21 - Wed Mar 22 19:04:02 CET 2017
- Include relative path for do in Build/Makefile.PL will function
without . in @INC [Todd Rinaldo]
- Remove use deprecate [Graham Knop]
0.42
----------------------------------------------
1.049 2017-03-28 16:02:10-05:00 America/Chicago
[Fixed]
- Fixed failing tests on Windows because of path separator
interpolation. Thanks @nanis [Github #56]
- Added explicit core dependency on Sys::Syslog in case of Perls
with non-standard core libraries. Thanks @nanis [Github #57]
1.048 2017-03-27 15:16:12-05:00 America/Chicago
- No changes since 1.047 trial release
1.047 2017-03-22 20:22:47-05:00 America/Chicago (TRIAL RELEASE)
[Fixed]
- Fixed backwards-compatibility with users using the Unix::Syslog
macros in Log::Any::Adapter::Syslog. This requires that the user
have Unix::Syslog installed (which Log::Any does not explicitly
depend on).
- Log level aliases are now case-insensitive to match the regular
log levels. Prior to this, "WARNING", "Warning", and "warning"
would all work, but "WARN", and "Warn" would not, only "warn".
Thanks to @0x62ash for reporting this issue. [Github #55]
- Invalid log levels for the File, Stderr, and Stdout adapters now
result in a warning, and the default level of "trace" is used.
Previously, no warning would be issued and no logs would be
generated. Thanks to @0x62ash for reporting this issue. [Github
#55]
1.046 2017-01-11 21:22:57-06:00 America/Chicago (TRIAL RELEASE)
[Added]
- The Syslog adapter is now part of the core distribution, since it
relies only on core Perl modules.
------------------------------------------
0.006019 - 2017-03-28
- added deprecated flag to metadata. No deprecation warning is given at
runtime... for now...
- added "WARNING" section in pod, advising the deprecated status of this
module