about summary refs log tree commit homepage
DateCommit message (Collapse)
2020-02-06Ruby mogilefs-client 3.12.2 HEAD v3.12.2 master
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.
2020-02-01s/bogomips.org/yhbt.net/
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
2019-11-11Ruby mogilefs-client 3.12.1 v3.12.1
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
2019-10-29test_client: quiet warnings about redefining accessors
lasterr and lasterrstr are already readers, so we only need to expose them as writers, not as both.
2019-10-28fix more indentation warnings
Not sure how or why I missed these with commit 4e0f8155a62711ae ("fix indentation warnings with ruby trunk"), but this cleans them up.
2019-10-28mogilefs: actually use kwarg for Net::HTTP::Persistent.new
Ruby 2.7.0dev will warn about hashes uses as kwargs *sigh*
2019-10-28pkg.mk: use dark216 olddoc theme for Earth Day 2019
I forgot to commit this change months ago.
2019-01-02Ruby mogilefs-client 3.12.0 v3.12.0
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
2019-01-02update URLs to point to wiki
The old homepage redirect is dead and expired
2018-07-03doc: https:// URLs instead of git://
Dogfooding some Ruby code...
2018-06-19fix indentation warnings with ruby trunk
Ruby trunk started warning about more mismatched indentations starting around r62836.
2018-06-19socket/pure_ruby: favor String#clear if available
String#replace keeps garbage around a bit longer, so it's not always the better option. cf. http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/86983 https://public-inbox.org/ruby-core/20180511033641.GA4459@dcvr/
2018-06-19mog: add updateclass command
This is to change classes of existing files (not change classes themselves as in "mogadm class update"
2017-12-20new_file/stream: remove unused variable
oops :x
2017-06-26pool: simplify empty class definition
This should compile to smaller bytecode with YARV
2017-03-23mogilefs-client 3.11.1 v3.11.1
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
2017-03-23GNUmakefile: fix incorrect comment
"touch -r" is actually in POSIX.
2017-03-23socket_common: improve readability of case statement
Due to the release of Ruby 2.4.1 with the necessary fix, it seems likely that future releases (if any) of the 2.2 and 2.3 series will avoid garbage on IO#write, too.
2017-03-23socket_common: remove needless 'o' modifier for Regexp
There's no variable interpolation for the regexp.
2017-03-13socket_common: limit garbage workaround to Ruby <= 2.4.1
It looks like Ruby 2.4.1 will have the regression fixed backported to it: https://bugs.ruby-lang.org/issues/13299#change-63503 The next releases of Ruby 2.3 and 2.2 may, too; at the branch maintainer's decision.
2017-02-03socket_common: expand IO#write garbage workaround to 2.0 and 2.1
On reading more carefully, it seems this change is from r34847 which landed in Ruby 2.0. So we still need to support Ruby 2.0 and 2.1 users.
2017-01-31.olddoc.yml: add trailing slash on URL
Oops, olddoc screws up the Atom XML feed otherwise...
2017-01-31Ruby mogilefs-client 3.11.0 v3.11.0
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
2017-01-31gemspec: remove olddoc development dependency
At least it should not be needed for rebuilding the gem, anymore. This will hopefully make it easier to package and hack.
2017-01-31doc: remove private email address linkage
Instead, promote anonymous remailers and put users in charge of their own anonymity.
2017-01-31README: explain removal of NFS support
Hopefully nobody complains about us dropping the feature, then.
2017-01-31update URLS to HTTPS
This helps somewhat with user privacy; since reading about distributed systems can get people tagged as anti-authoritarian :P
2017-01-31freeze string literals in a few more places
This should reduce the amount of garbage we produce and keep the process leaner and meaner.
2017-01-30socket_common: limit IO#write garbage workaround to <= 2.4
It looks like this regression will be fixed in time for Ruby 2.5.
2017-01-27avoid excessive garbage on uploads with Ruby 2.2+
This is a workaround for <https://bugs.ruby-lang.org/issues/13085> since we use non-blocking sockets anyways.
2017-01-27test: switch to cmogstored for testing Content-Range PUTs
mogstored_rack is long abandoned since I decided to work on cmogstored (in C, not Ruby :) instead. We still need this test since the original Perl mogstored does not yet support Content-Range: in PUT requests.
2017-01-26support net-http-persistent 3.x
The optional net-http-persistent RubyGem we use has a major incompatible change from the 2.x versions. Support them both.
2016-12-29new_file/common: simplify empty class declarations
This compiles to smaller bytecode on YARV (MRI)
2016-12-29use opt_str_freeze to avoid allocations in a few places
None of these are too performance critical, but err on the safe side and avoid allocations whenever possible.
2016-12-29avoid pointless capture in regexp
We do not emit any sort of message on successful 2XX responses, so there's no need to save the actual response after writing.
2016-08-31Ruby mogilefs-client 3.10.0 v3.10.0
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
2016-08-31pkg.mk: use --local option for gem installation
We should never attempt to use the network to install a locally-built gem.
2016-08-31connect_timeout: match :timeout if unset
And add some weak tests while we're at it. Actually simulating a connection timeout on localhost will be difficult.
2016-08-31README: stop mentioning cgit
It is unlikely I will be using cgit in the future since it has CSS and lacks mailing list integration.
2016-08-31add .gitattributes for Ruby method detection
The "diff" function detection for C does not map well to Ruby files, take advantage of gitattributes(5) to improve method name detection in generated patches as well as making "git diff -W" output more useful.
2016-08-31implement :connect_timeout option
This can be useful for specifying a different timeout for establishing a connection. Some requests could be expensive and want a higher :timeout measured in seconds, while the time to establish a TCP connection on a healthy LAN could be less than a millisecond. This defaults to 3s to match the existing :timeout, but only affects the amount of time the client will wait for establishing a TCP connection to a tracker.
2016-08-31socket/pure_ruby: connect with "exception:false" on Ruby 2.3+
Exceptions are expensive for common errors, so avoid raising them under Ruby 2.3+ which allows connect_nonblock to be called with "exception: false" kwarg.
2016-08-31admin: map unset reject_bad_md5 field to nil
The 'reject_bad_md5' field may be of an unknown value before the monitor is ready, so prepare for it and map it to 'nil' instead of an empty string. This hopefully makes the Ruby API more Ruby-ish.
2016-08-31test_fresh: do not delete non-existent domain
This test bug was exposed due to using an old MogileFS-Server without commit d0ee2a27253ade4b50ef5b91471f4f520a67bf8c ("Work with DBD::SQLite's latest lock errors")
2015-11-04socket/pure_ruby: use `:exception=>false' on Ruby 2.1+
This feature allows us to avoid expensive exceptions when doing non-blocking I/O without relying on horrible hacks like kgio.
2015-10-22socket/pure_ruby: fix Ruby 1.8 compatibility
For non-kgio users, IO#wait_readable did not appear until Ruby 2.0. Additionally, optimistically perform reads before waiting because EOF handling behavior differs in current revisions of Ruby 2.3.0dev.
2015-10-22minor garbage reductions for newer Rubies
opt_str_freeze and String#split is optimized for single-byte splits. Use bang methods for escaping, avoiding much garbage in tight loops.
2015-10-22.olddoc.yml: add NNTP and mailing list archive URL
2015-09-16backend: simplify regexp
We don't care if there's a \r before \n if we anchor on \z.
2015-09-16bigfile: lazily require bigfile/filter
None of the bigfile stuff is in common use, so avoid bloating user apps with more of it.