socket_common: small simplification in read() calculation
[ruby-mogilefs-client.git] / History
blob54ad99194bcae77b02eb56aabe2ba8c32f8594d2
1 = 2.2.0
2 * internal cleanups (no public API breakage)
3 * refactor backend socket/connection handling for reliability
5 = 2.1.0
6 * MySQL interface returns integer length and devcount (API change)
7 * Ensure store_{content,file} always returns size (API fix)
8 * Add get_uris API method
9 * Respect timeout when doing get_file_data
10 * MySQL interface filters out URLs for down/dead hosts/devices
11 * Really remove all NFS support
12 * get_file in slurp mode slurps all output correctly
14 = 2.0.2
15 * README.txt: update documentation URL
16 * backend: raise exceptions with the error message
17 * backend: don't blindly add "Error" to exception class names
18 * Update Manifest.txt with setup.rb
19 * tasks to enforce permissions are set correctly
21 = 2.0.1
22 * verify_uris method made more robust
23 * preliminary Ruby 1.9 compatibility, tests still need some work
24 * allow store_content to be used with a streamable object of known length
25 * add setup.rb for non-RubyGems users
27 = 2.0.0
28 * use a set of standard exceptions based on MogileFS::Error,
29   this is an incompatible API change (hence the 2.0.0 version number).
30 * remove NFS support since it's gone in MogileFS 2.x and NFS is horrible
31 * mog timeouts and retries increased
32 * more consistent handling of bad sockets, all sockets used internally
33   are now explicitly non-blocking and IO.select is used for timeouts
34   instead of using threads behind our backs
35 * remove open-uri and net/http dependencies, they were bad with large files
36 * add paths_size() method, allowing single mogilefsd call to get size and paths
37 * add read-only MogileFS::Mysql driver, allowing mogilefsd to be bypassed
38 * use TCP_NODELAY when available on sockets that require low latency
39 * use TCP_CORK on bulk transfers to improve bandwidth usage
40 * better HTTP error handling
41 * verify_uris method in new MogileFS::Network module which allows
42   async verification of several URIs at once on the client side.
43 * handle multiple device failover correctly on HTTP uploads
44 * initial big_file read support (should be mogtool(1)-compatible)
45 * unit tests can be run in parallel using GNU Make, 3x faster on a Core2 Duo
46 * unit tests modified to use real sockets for easier verification of
47   timeout and error condition handling.
49 = 1.3.1
51 * Fix missing MogileFS::Util include for sysrwloop in MogileFS::MogileFS
53 = 1.3.0
55 * Fixed MogileFS#rename.  Bug #14465 submitted by Justin Dossey.
56 * Removed infinite loop in MogileFS::HTTPFile#store_file.  Patch #13789
57   submitted by  Andy Lo-A-Foe.
58 * Made MogileFS#get_file_data timeout configurable.  Bug #13490 submitted by
59   Andy Lo-A-Foe.
60 * Add MogileFS#size.  Feature Request #14484 submitted by Justin Dossey.
61 * Fix MogileFS#get_file_data to return the data for HTTP mode.  Bug #7133
62   submitted by John Wanko.
63 * New maintainer: Eric Wong
64 * Add `mog' command-line tool as a demo/example
65 * Lower memory consumption with large files
66 * Allow get_file_data to accept a block for large files
67 * Fix each_keys loop termination condition
68 * Apply error handling patch from Matthew Willson.  Bug #15987
69 * Merge large file patch from Andy Lo-A-Foe.  Bug #13764
71 = 1.2.1
73 * Switched to Hoe.
74 * Moved to p4.
75 * Fixed bug #7273 in HTTP mode of client where data would not get
76   returned.  Submitted by Matthew Willson.
78 = 1.2.0
80 * Changes lost to time.