Stats for SO_REUSEPORT sockets are now handled properly. Thanks to Dale Hamel for the patches. Dale Hamel (2): Fix queue stats for sockets with SO_REUSEPORT Fix off by one error in test
Raindrops may now use file-backed mmap() rather than anonymous memory. Thanks to KJ Tsanaktsidis for the patch: https://yhbt.net/raindrops-public/20211125065618.3432-1-ktsanaktsidis@zendesk.com/T/ The documentation is also updated to note our mail archives are now available via IMAP(S).
This release fixes compatibility with GC.compact on Ruby 3.x when using ListenStats on Linux. The listener stats functionality is rarely used and does not affect most users who just have raindrops installed for shared atomic counters.
This release fixes some warnings on newer Rubies. We're no longer on bogomips.org since it's due for expiry and I can't pay extortionists for a .org, so s/bogomips.org/yhbt.net/ for now, and be prepared to move again when extortionists move onto extorting the .net TLD. doc: switch homepage to dark216 ext/raindrops/extconf: fix cflags reset on ancient CC fixes for newer rubies replace bogomips.org with yhbt.net
This release fixes Rack 2.x compatibility for the few users of Raindrops::Middleware <https://bogomips.org/raindrops/Raindrops/Middleware.html>. Thanks to Dmytro Shteflyuk for this release. No need to upgrade unless you use Raindrops::Middleware with Rack 2.x. There's also a few minor, inconsequential cleanups. Dmytro Shteflyuk (1): Properly override respond_to? in Raindrops::Middleware::Proxy Eric Wong (2): Ruby thread compatibility updates tcp_info: remove unnecessary extconf.h include
The most notable feature of this release is the addition of FreeBSD and OpenBSD TCP_INFO support. This includes the Raindrops::TCP for portably mapping TCP state names to platform-dependent numeric values: https://bogomips.org/raindrops/Raindrops.html#TCP Thanks to Jeremy Evans and Simon Eskildsen on the unicorn-public@bogomips.org mailing list for inspiring these changes to raindrops. There's also a few internal cleanups, and documentation improvements, including some fixes to the largely-forgotten Raindrops::Aggreage::PMQ class: https://bogomips.org/raindrops/Raindrops/Aggregate/PMQ.html 20 changes since 0.17.0: test_inet_diag_socket: fix Fixnum deprecation warning TODO: add item for IPv6 breakage ext: fix documentation for C ext-defined classes TCP_Info: custom documentation for #get! TypedData C-API conversion test_watcher: disable test correctly when aggregate is missing tcp_info: support this struct under FreeBSD define Raindrops::TCP hash for TCP states linux_inet_diag: reduce stack usage and simplify avoid reading errno repeatedly aggregate/pmq: avoid false sharing of lock buffers aggregate/pmq: remove io-extra requirement aggregate/pmq: avoid File#stat allocation Merge remote-tracking branch 'origin/freebsd' Merge remote-tracking branch 'origin/aggregate-pmq' doc: remove private email support address doc: update location of TCP_INFO-related stuff build: avoid olddoc for building the RubyGem doc: document Raindrops::TCP hash aggregate/pmq: update version numbers for Ruby and Linux
This release features minor updates to support rack 2.x while maintaining support for rack 1.2 and later. As a result, Ruby 1.8.6 compatibility is gone, but Ruby 1.8.7 probably still works, for now. There's also a minor warning fix, doc updates, and the homepage now supports HTTPS (HTTP remains supported) 5 changes since raindrops 0.16.0: drop Rack::Utils.bytesize dependency gemspec: bump Rack dependency linux_inet_diag: GCC attribute format check use HTTPS and move homepage to https://bogomips.org/raindrops/ examples: add yahns config, zbatery is abandoned
There's mainly a fix/workaround for Ruby 2.3 now returning locale-aware strings for File.readlink and our test suite using strange paths allowed by *nix. https://bugs.ruby-lang.org/issues/12034 tcp_listener_stats won't return "true" object placeholders if stats are configured for a non-existent listener. There are also minor optimizations for Ruby 2.2+ (at the expense of 2.1 and earlier). And the usual round of minor tweaks and doc updates. 10 changes since v0.15.0: gemspec: avoid circular dependency on unicorn remove optimizations which made sense for older rubies linux: workaround Ruby 2.3 change linux: remove Pathname stdlib dependency add .gitattributes for Ruby method detection middleware: minor bytecode size reduction doc: update URLs and references README: remove indentation from URLs in RDoc linux: tcp_listener_stats drops "true" placeholders build: use '--local' domain for dev gem install
Thanks to Doug Forster for sending us the report. No other fixes * check for the existence of linux/tcp.h
Eric Wong (7): linux_inet_diag: annotate memory freeing on diag errors README: trim intro and update license modernize packaging and documentation move mailing list to raindrops-public@bogomips.org linux_inet_diag: clarify *fprintf usage without GVL TODO: add item for unix_diag and udp_diag linux_inet_diag: fix Wshorten-64-to-32 warnings Hleb Valoshka (1): Add setup and teardown for ipv6 tests