LATEST in rainbows-4.7.0 vs LATEST in rainbows-5.0.0
- old
+ new
@@ -1,20 +1,78 @@
-=== Rainbows! 4.7.0 - updates for ruby 2.3.0dev / 2015-10-19 21:24 UTC
+=== Rainbows! 5.0.0 - maintained as long as anybody uses it! / 2015-11-25 00:58 UTC
- This release includes fixes for upcoming changes in Ruby 2.3.0
- (due December 2015). Use of Rainbows! for new projects is not
- recommended, try other servers instead.
+ This release syncs with unicorn 5 and drops some old compatibility
+ cruft from old releases. Performance should be roughly unchanged
+ for Ruby 2.2 users while older Rubies (1.9.3 - 2.1) will see
+ minor, probably unnoticeable performance regressions.
- * update dependencies for Ruby 2.2.0dev
- * switch docs + website to olddoc
- * gemspec: fix bad reference to rdoc_options
- * README: reference yahns
- * build: fix quoting issue with double parens
- * response: avoid unnecessary args to IO.copy_stream
- * t/close-has-env.ru: ensure close is idempotent
- * sync_close: This fix breakage from Ruby-trunk r50118
- * t/t0044-autopush.sh: remove test
- * t/test_isolate.rb: updates for various gem versions
- * response: convert source arg to path before IO.copy_stream
- * speed up QUIT for users of the unicorn worker_loop
- * gemspec: use SPDX-compatible license for GPL-2.0+
+ Compatibility:
+
+ * The horrible, proprietary (:P) "Status:" response header is
+ finally gone, saving at least 16 precious bytes in every HTTP
+ response. This should make it easier to write custom HTTP clients
+ which are compatible across all HTTP servers. It will hopefully
+ make migrating between different Rack servers easier for new
+ projects.
+
+ * Ruby 1.8 support removed. Ruby 1.9.3 is currently the earliest
+ supported version. However, expect minor, likely-unnoticeable
+ performance regressions if you use Ruby 2.1 or earlier. Going
+ forward, Rainbows! will favor the latest version (currently 2.2) of
+ the mainline Ruby implementation, potentially sacrificing
+ performance on older Rubies.
+
+ New features:
+
+ * sd_listen_fds(3) emulation added for systemd compatibility.
+ You may now stop using PID files and other process monitoring
+ software when using systemd.
+
+ * Newly-set TCP socket options are now applied to inherited sockets.
+
+ * Dynamic changes in the application to Rack::Utils::HTTP_STATUS
+ hash is now supported; allowing users to set custom status lines
+ in Rack to be reflected in unicorn. This feature causes a minor
+ performance regression, but is made up for Ruby 2.2 users with
+ other optimizations.
+
+ * The monotonic clock is used under Ruby 2.1+, making the
+ timeout feature immune to system clock changes.
+
+ As Rainbows! may be used anonymously without registration, the
+ project is committed to supporting anonymous and pseudonymous
+ help requests, contributions and feedback via plain-text mail to:
+
+ rainbows-public@bogomips.org
+
+ The mail submission port (587) is open to those behind firewalls
+ and allows access via Tor and anonymous remailers.
+ Archives are accessible via:
+
+ * http://bogomips.org/rainbows-public/
+ * nntp://news.public-inbox.org/inbox.comp.lang.ruby.rainbows
+ * nntp://news.gmane.org/gmane.comp.lang.ruby.rainbows.general
+
+ and mirrored to various other places, so you do not even need
+ to use a valid address when posting.
+
+ 18 changes since Rainbows! 4.7.0
+
+ README: remove Zbatery references
+ http_parser: handle keepalive_requests internally
+ kill the moronic Status: header
+ reflect changes in Rack::Utils::HTTP_STATUS_CODES
+ reduce constant lookup dependencies
+ http_parser: workaround hijack changes in unicorn 5
+ http_server: add master_pid attribute
+ stream_response_epoll: remove hijack_prepare call
+ bump to unicorn 5.0.1, use monotonic clock
+ add .gitattributes for Ruby method detection
+ response: avoid garbage string entirely
+ tiny bytecode reductions for cold paths
+ Ruby 1.9.3+-only cleanups
+ revactor: remove fcntl dependency
+ response: simplify regexp
+ t0105: fix test reliability
+ fix Rainbows.now definition for old Rubies
+ fix broken constant lookups in unmaintained bits