Only one documentation change to update URLs. bogomips.org is expiring and with the price of the .org TLD inevitably going up, I won't be able to afford to pay extortionists at ICANN/Ethos/PIR.
Minor cleanups, mainly to fix annoying warnings in Ruby 2.7.0dev. 4 changes since v3.12.0 (2019-01-02): pkg.mk: use dark216 olddoc theme for Earth Day 2019 mogilefs: actually use kwarg for Net::HTTP::Persistent.new fix more indentation warnings test_client: quiet warnings about redefining accessors
Minor cleanups, mainly to fix indentation warnings in Ruby 2.6+ 7 changes since v3.11.1 (2017-03-23): pool: simplify empty class definition new_file/stream: remove unused variable mog: add updateclass command socket/pure_ruby: favor String#clear if available fix indentation warnings with ruby trunk doc: https:// URLs instead of git:// update URLs to point to wiki
This release updates the IO#write garbage workaround to be enabled for Ruby 2.0 and 2.1 users; but avoids it on the just-released Ruby 2.4.1; as that includes the backported bugfix for https://bugs.ruby-lang.org/issues/13085 There's also some trivial doc and code aesthetics fixes. 6 changes since 3.11.0: .olddoc.yml: add trailing slash on URL socket_common: expand IO#write garbage workaround to 2.0 and 2.1 socket_common: limit garbage workaround to Ruby <= 2.4.1 socket_common: remove needless 'o' modifier for Regexp socket_common: improve readability of case statement GNUmakefile: fix incorrect comment
This release provides compatibility with net-http-persistent 3.x while retaining support for the (API-incompatible) 2.x series. Users of mainline Ruby 2.2+ get a workaround for excessive garbage for uploading files. This excessive garbage on IO#write should be fixed when Ruby 2.5 gets released on Dec 25, 2017: https://bugs.ruby-lang.org/issues/13085 There's also a few minor garbage reductions of small strings, relying on the maintained cmogstored for Content-Range PUT testing, and some minor build system and documentation updates. 12 changes since 3.10.0 (Aug 2016): avoid pointless capture in regexp use opt_str_freeze to avoid allocations in a few places new_file/common: simplify empty class declarations support net-http-persistent 3.x test: switch to cmogstored for testing Content-Range PUTs avoid excessive garbage on uploads with Ruby 2.2+ socket_common: limit IO#write garbage workaround to <= 2.4 freeze string literals in a few more places update URLS to HTTPS README: explain removal of NFS support doc: remove private email address linkage gemspec: remove olddoc development dependency
A bunch of minor tweaks to reduce garbage and exceptions. In addition to the existing :timeout and :fail_timeout options, there is a new :connect_timeout directive for all connection classes which only controls the time spent waiting for a TCP connection. This defaults to the same value as the existing :timeout option (3 seconds); but users are advised to lower it to match ideal network conditions. For users of Ruby 2.3+, this release takes advantage of exception-less Socket#connect_nonblock using "exception: false". Users of Ruby 2.1+ will also benefit from "exception: false" usage for read_nonblock and write_nonblock calls. kgio is no longer be useful with this release with Ruby 2.3+ This release also fixes a Ruby 1.8.7 compatibility bug for non-kgio users. However, this may be the last 1.8.7-compatible release. Fwiw, I wanted to remove Ruby 1.8 support around 5 years ago but several users were against it. Maybe nobody will complain, this time... 18 changes since 3.9.0: doc: avoid inadvertantly documenting the Process class admin: simplify utilization conversion more idiomatic comparisons with constants bigfile/filter: only update MD5 if non-nil bigfile: lazily require bigfile/filter backend: simplify regexp .olddoc.yml: add NNTP and mailing list archive URL minor garbage reductions for newer Rubies socket/pure_ruby: fix Ruby 1.8 compatibility socket/pure_ruby: use `:exception=>false' on Ruby 2.1+ test_fresh: do not delete non-existent domain admin: map unset reject_bad_md5 field to nil socket/pure_ruby: connect with "exception:false" on Ruby 2.3+ implement :connect_timeout option add .gitattributes for Ruby method detection README: stop mentioning cgit connect_timeout: match :timeout if unset pkg.mk: use --local option for gem installation
shortlog of changes since v3.8.0: * test/test_fresh.rb: fix breakage from Ruby-trunk r50118 * use monotonic clock if possible on Ruby 2.1+ * avoid defineclass instructions for empty classes * HACKING: minor documentation updates * mogilefs/socket/pure_ruby: use IO#wait_*able
Mostly documentation updates and test cleanups. Nothing interesting for the regular client, but the admin client now shows the checksum-related fields in get_devices. Most notably, there's a public-inbox for those who don't want to subscribe to the MogileFS list: mogilefs-client-public@bogomips.org Archives are at: http://bogomips.org/mogilefs-client-public/ There is no new mailing list subscription, it is only a public-inbox. Cc-ing the MogileFS list at mogile@googlegroups.com is encouraged if you do have a subscription. shortlog since 3.7.1: add mog-sync example script admin (doc, get_hosts): display integers in results doc update documentation and packaging GNUmakefile: publish examples on the site, too examples: add usage_fetcher example TODO: remove Cool.io and EventMachine references admin: flesh out get_devices admin: reduce bytecode overhead of get_stats tests: create fresh intances for all integration tests include mogilefs/version.rb in the distro test: fixup object lifetimes and teardown new public-inbox: mogilefs-client-public@bogomips.org
Only one bugfix: new_file/stream: correct declare errors array correctly This only triggered on rare syscall errors (Errno::EMFILE/Errno::ENFILE)
MogileFS::MogileFS#each_key now accepts optional :after and :limit args This allows easy iteration while respecting :after and :limit, giving each_key an interface consistent with each_file_info.