couchbase 1.2.0.z.beta5 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/RELEASE_NOTES.markdown +513 -0
- data/couchbase.gemspec +0 -1
- data/ext/couchbase_ext/arguments.c +50 -147
- data/ext/couchbase_ext/arithmetic.c +6 -17
- data/ext/couchbase_ext/bucket.c +97 -111
- data/ext/couchbase_ext/couchbase_ext.c +10 -0
- data/ext/couchbase_ext/couchbase_ext.h +20 -9
- data/ext/couchbase_ext/delete.c +6 -8
- data/ext/couchbase_ext/extconf.rb +6 -0
- data/ext/couchbase_ext/get.c +7 -9
- data/ext/couchbase_ext/http.c +20 -19
- data/ext/couchbase_ext/multithread_plugin.c +1201 -0
- data/ext/couchbase_ext/observe.c +10 -10
- data/ext/couchbase_ext/stats.c +6 -8
- data/ext/couchbase_ext/store.c +8 -10
- data/ext/couchbase_ext/timer.c +1 -1
- data/ext/couchbase_ext/touch.c +6 -8
- data/ext/couchbase_ext/unlock.c +6 -8
- data/ext/couchbase_ext/utils.c +75 -5
- data/ext/couchbase_ext/version.c +6 -8
- data/lib/couchbase/version.rb +1 -1
- data/lib/couchbase/view.rb +6 -2
- data/lib/ext/multi_json_fix.rb +3 -0
- data/lib/rack/session/couchbase.rb +8 -5
- data/tasks/compile.rake +1 -1
- data/tasks/test.rake +0 -1
- data/tasks/util.rake +1 -1
- data/test/setup.rb +5 -2
- data/test/test_async.rb +2 -2
- metadata +11 -29
- data/HISTORY.markdown +0 -268
data/lib/couchbase/version.rb
CHANGED
data/lib/couchbase/view.rb
CHANGED
@@ -44,7 +44,11 @@ module Couchbase
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def to_s
|
47
|
-
|
47
|
+
str = super
|
48
|
+
if @type || @reason
|
49
|
+
str.sub(/ \(/, ": #{[@type, @reason].compact.join(": ")} (")
|
50
|
+
end
|
51
|
+
str
|
48
52
|
end
|
49
53
|
end
|
50
54
|
end
|
@@ -312,7 +316,7 @@ module Couchbase
|
|
312
316
|
# run event loop until the terminating chunk will be found
|
313
317
|
# last_res variable keeps latest known chunk of the result
|
314
318
|
last_res = nil
|
315
|
-
|
319
|
+
while true
|
316
320
|
# feed response received chunks to the parser
|
317
321
|
while r = res.shift
|
318
322
|
if r.error
|
data/lib/ext/multi_json_fix.rb
CHANGED
@@ -38,6 +38,9 @@ if multi_json_engine.name =~ /JsonGem$/
|
|
38
38
|
class << multi_json_engine
|
39
39
|
alias _load_object load
|
40
40
|
def load(string, options = {})
|
41
|
+
if string.is_a?(StringIO)
|
42
|
+
string = string.read
|
43
|
+
end
|
41
44
|
if string =~ /\A\s*[{\[]/
|
42
45
|
_load_object(string, options)
|
43
46
|
else
|
@@ -33,16 +33,19 @@ module Rack
|
|
33
33
|
#
|
34
34
|
# require 'rack/session/couchbase'
|
35
35
|
# use Rack::Session::Couchbase, :expire_after => 5.minutes,
|
36
|
-
# :couchbase => {:bucket => "sessions", :default_format => :
|
36
|
+
# :couchbase => {:bucket => "sessions", :default_format => :document}
|
37
37
|
#
|
38
|
-
# By default sessions will be serialized
|
39
|
-
#
|
38
|
+
# By default sessions will be serialized using Marshal class. But
|
39
|
+
# you can store them as JSON (+:default_format => :document+), to
|
40
|
+
# allow analyse them using Map/Reduce. In this case you should
|
41
|
+
# care about serialization of all custom objects like
|
42
|
+
# ActionDispatch::Flash::FlashHash
|
40
43
|
#
|
41
44
|
class Couchbase < Abstract::ID
|
42
45
|
attr_reader :mutex, :pool
|
43
46
|
|
44
47
|
DEFAULT_OPTIONS = Abstract::ID::DEFAULT_OPTIONS.merge(
|
45
|
-
:couchbase => {:quiet => true, :default_format => :
|
48
|
+
:couchbase => {:quiet => true, :default_format => :marshal,
|
46
49
|
:key_prefix => 'rack:session:'})
|
47
50
|
|
48
51
|
def initialize(app, options = {})
|
@@ -58,7 +61,7 @@ module Rack
|
|
58
61
|
end
|
59
62
|
|
60
63
|
def generate_sid
|
61
|
-
|
64
|
+
while true
|
62
65
|
sid = super
|
63
66
|
break sid unless @pool.get(sid)
|
64
67
|
end
|
data/tasks/compile.rake
CHANGED
@@ -84,7 +84,7 @@ namespace :ports do
|
|
84
84
|
directory "ports"
|
85
85
|
|
86
86
|
task :libcouchbase => ["ports"] do
|
87
|
-
recipe = MiniPortile.new "libcouchbase", "2.0.
|
87
|
+
recipe = MiniPortile.new "libcouchbase", "2.0.1"
|
88
88
|
recipe.files << "http://packages.couchbase.com/clients/c/libcouchbase-#{recipe.version}.tar.gz"
|
89
89
|
recipe.configure_options.push("--disable-debug",
|
90
90
|
"--disable-dependency-tracking",
|
data/tasks/test.rake
CHANGED
data/tasks/util.rake
CHANGED
data/test/setup.rb
CHANGED
@@ -55,7 +55,7 @@ class CouchbaseServer
|
|
55
55
|
rescue Couchbase::Error::NotSupported
|
56
56
|
# on recent server flush is disabled
|
57
57
|
end
|
58
|
-
end
|
58
|
+
end if ENV['COUCHBASE_FLUSH_BUCKETS']
|
59
59
|
end
|
60
60
|
def stop; end
|
61
61
|
end
|
@@ -166,7 +166,10 @@ class MiniTest::Unit::TestCase
|
|
166
166
|
end
|
167
167
|
|
168
168
|
def uniq_id(*suffixes)
|
169
|
-
[caller.first[/.*[` ](.*)'/, 1], suffixes].join("_")
|
169
|
+
test_id = [caller.first[/.*[` ](.*)'/, 1], suffixes].compact.join("_")
|
170
|
+
@ids ||= {}
|
171
|
+
@ids[test_id] ||= Time.now.to_f
|
172
|
+
[test_id, @ids[test_id]].join("_")
|
170
173
|
end
|
171
174
|
|
172
175
|
def after_teardown
|
data/test/test_async.rb
CHANGED
@@ -124,7 +124,7 @@ class TestAsync < MiniTest::Unit::TestCase
|
|
124
124
|
connection.run do |conn|
|
125
125
|
conn.delete(uniq_id, :cas => cas) do |res1|
|
126
126
|
success = res1.success?
|
127
|
-
conn.get(uniq_id) do |res2|
|
127
|
+
conn.get(uniq_id, :quiet => true) do |res2|
|
128
128
|
val = res2.value
|
129
129
|
end
|
130
130
|
end
|
@@ -161,7 +161,7 @@ class TestAsync < MiniTest::Unit::TestCase
|
|
161
161
|
|
162
162
|
connection.run do |conn|
|
163
163
|
conn.flush do |res1|
|
164
|
-
assert res1.success
|
164
|
+
assert res1.success?, "Expected: successful status code.\nActual: #{res1.error.inspect}"
|
165
165
|
id = uniq_id(res1.node)
|
166
166
|
res[id] = false
|
167
167
|
conn.set(id, true) do |res2|
|
metadata
CHANGED
@@ -1,16 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: couchbase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 31
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
9
|
- 0
|
10
|
-
|
11
|
-
- beta
|
12
|
-
- 5
|
13
|
-
version: 1.2.0.z.beta5
|
10
|
+
version: 1.2.0
|
14
11
|
platform: ruby
|
15
12
|
authors:
|
16
13
|
- Couchbase
|
@@ -18,7 +15,7 @@ autorequire:
|
|
18
15
|
bindir: bin
|
19
16
|
cert_chain: []
|
20
17
|
|
21
|
-
date: 2012-
|
18
|
+
date: 2012-12-12 00:00:00 +03:00
|
22
19
|
default_executable:
|
23
20
|
dependencies:
|
24
21
|
- !ruby/object:Gem::Dependency
|
@@ -181,22 +178,8 @@ dependencies:
|
|
181
178
|
segments:
|
182
179
|
- 0
|
183
180
|
version: "0"
|
184
|
-
name: ruby-debug
|
185
|
-
version_requirements: *id011
|
186
|
-
prerelease: false
|
187
|
-
- !ruby/object:Gem::Dependency
|
188
|
-
type: :development
|
189
|
-
requirement: &id012 !ruby/object:Gem::Requirement
|
190
|
-
none: false
|
191
|
-
requirements:
|
192
|
-
- - ">="
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
hash: 3
|
195
|
-
segments:
|
196
|
-
- 0
|
197
|
-
version: "0"
|
198
181
|
name: active_support
|
199
|
-
version_requirements: *
|
182
|
+
version_requirements: *id011
|
200
183
|
prerelease: false
|
201
184
|
description: The official client library for use with Couchbase Server.
|
202
185
|
email: support@couchbase.com
|
@@ -211,10 +194,10 @@ files:
|
|
211
194
|
- .travis.yml
|
212
195
|
- .yardopts
|
213
196
|
- Gemfile
|
214
|
-
- HISTORY.markdown
|
215
197
|
- LICENSE
|
216
198
|
- Makefile
|
217
199
|
- README.markdown
|
200
|
+
- RELEASE_NOTES.markdown
|
218
201
|
- Rakefile
|
219
202
|
- couchbase.gemspec
|
220
203
|
- ext/couchbase_ext/.gitignore
|
@@ -228,6 +211,7 @@ files:
|
|
228
211
|
- ext/couchbase_ext/get.c
|
229
212
|
- ext/couchbase_ext/gethrtime.c
|
230
213
|
- ext/couchbase_ext/http.c
|
214
|
+
- ext/couchbase_ext/multithread_plugin.c
|
231
215
|
- ext/couchbase_ext/observe.c
|
232
216
|
- ext/couchbase_ext/result.c
|
233
217
|
- ext/couchbase_ext/stats.c
|
@@ -296,14 +280,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
296
280
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
297
281
|
none: false
|
298
282
|
requirements:
|
299
|
-
- - "
|
283
|
+
- - ">="
|
300
284
|
- !ruby/object:Gem::Version
|
301
|
-
hash:
|
285
|
+
hash: 3
|
302
286
|
segments:
|
303
|
-
-
|
304
|
-
|
305
|
-
- 1
|
306
|
-
version: 1.3.1
|
287
|
+
- 0
|
288
|
+
version: "0"
|
307
289
|
requirements: []
|
308
290
|
|
309
291
|
rubyforge_project:
|
data/HISTORY.markdown
DELETED
@@ -1,268 +0,0 @@
|
|
1
|
-
## 1.2.0.z.beta5 / 2012-11-29
|
2
|
-
|
3
|
-
* Reduce probability name conflict: use "cb_" prefix
|
4
|
-
* Fix function prefixes
|
5
|
-
* Make error message about dependency more verbose
|
6
|
-
* Allow to setup default initial value for INCR/DECR
|
7
|
-
* Fix memory leaks: in async mode context wasn't freed
|
8
|
-
* RCBC-95 Use response body to clarify Couchbase::Error::HTTP
|
9
|
-
|
10
|
-
## 1.2.0.z.beta4 / 2012-11-21
|
11
|
-
|
12
|
-
* Do not hide ValueFormat reason
|
13
|
-
* Adjust version check for MultiJson monkeypatch
|
14
|
-
* Update error codes
|
15
|
-
* Remove mentions of LCB_LIBEVENT_ERROR in utils.c
|
16
|
-
* Add Makefile for easier build with repo layout
|
17
|
-
* Check HTTP error code when building exception object
|
18
|
-
* Remove debug output in tests
|
19
|
-
* Make rack session store adapter quiet
|
20
|
-
* RCBC-90 Update documentation about session store
|
21
|
-
* Protect against non string values in :plain mode
|
22
|
-
* RCBC-89 Fetch documents using binary protocol by default
|
23
|
-
* Deserialize Base64 value from view
|
24
|
-
* Remove all_docs mentions
|
25
|
-
* RCBC-92 Use more portable version of rb_sprintf()
|
26
|
-
* Do not expose docs embedded in HTTP response
|
27
|
-
* RCBC-94 Reset global exception after usage
|
28
|
-
* Fix number of arguments to Kernel#sprintf
|
29
|
-
* Increase default connection timeout
|
30
|
-
|
31
|
-
## 1.2.0.z.beta3 / 2012-10-12
|
32
|
-
|
33
|
-
* Update view API
|
34
|
-
* Mention couchbase-model and em-couchbase in README
|
35
|
-
* Use global scope to find Error classes (thanks to @wr0ngway)
|
36
|
-
* RCBC-87 Fix build error on macos
|
37
|
-
* Use lcb_breakout()
|
38
|
-
* Propogate status code for HTTP responses
|
39
|
-
* Extract params encoding for easier reusage
|
40
|
-
* Destory IO operations struct (fix memleak)
|
41
|
-
* Don't try to convert error to number, it is exception object
|
42
|
-
* Update error codes
|
43
|
-
* Implement bucket create/delete operations
|
44
|
-
* Fixup FLUSH tests
|
45
|
-
|
46
|
-
## 1.2.0.z.beta2 / 2012-09-19
|
47
|
-
|
48
|
-
* RCBC-82 Fix extconf.rb for RVM/MacOS. (Not all rubies are fat on MacOS)
|
49
|
-
|
50
|
-
## 1.2.0.z.beta / 2012-09-18
|
51
|
-
|
52
|
-
* Fix version ordering by using ".z" prefix before .beta
|
53
|
-
|
54
|
-
## 1.2.0.beta / 2012-09-18
|
55
|
-
|
56
|
-
* RCBC-70 return binary keys using Encoding.external value (thanks to Alex Leverington)
|
57
|
-
* Create new key object only if it is necessary
|
58
|
-
* Switch to rbenv because RVM doesn't work with tclsh
|
59
|
-
* [backport] RCBC-37 Bootstrapping using multiple nodes
|
60
|
-
* React on HTTP level errors in view request
|
61
|
-
* Fix typo: check for MultiJson.decode
|
62
|
-
* Use unified HTTP function from the latest libcouchbase
|
63
|
-
* Expose HTTP headers
|
64
|
-
* Update views to meet latest server changes
|
65
|
-
* Add support for spatial views
|
66
|
-
* Use updated libcouchbase_cancel_http_request()
|
67
|
-
* Workaround query issue on group=false&reduce=false
|
68
|
-
* Update windows build
|
69
|
-
* Bump version 1.1.4
|
70
|
-
* Refactor the C extension
|
71
|
-
* Fix CAS conversion for Bucket#delete method for 32-bit systems
|
72
|
-
* RCBC-28 Implement Bucket#unlock
|
73
|
-
* CCBC-98 Expose client temporary failure error
|
74
|
-
* Fix warnings in doc generator and specify return values
|
75
|
-
* Fix -Wreturn-type warning
|
76
|
-
* Add attribute reader for Error::Base status code
|
77
|
-
* Unset RUBYOPT to avoid issues with bundler
|
78
|
-
* Ignore shared object on macos
|
79
|
-
* RCBC-79 Use RESTful flush
|
80
|
-
* Fix build under bundler on MacOS
|
81
|
-
* RCBC-81 Protect against NoMethodError
|
82
|
-
* Fixup MAKEFILE_CONFIG which is copy of the CONFIG
|
83
|
-
* RCBC-81 Protect against NoMethodError
|
84
|
-
* Update windows build
|
85
|
-
|
86
|
-
## 1.2.0.dp6 / 2012-07-28
|
87
|
-
|
88
|
-
* Inherit StandardError instead RuntimeError for errors
|
89
|
-
* Use renamed functions for view requests
|
90
|
-
* Depend on yard-xml plugin to dump docs into single XML
|
91
|
-
* No need to check for NULL before deallocating memory
|
92
|
-
* RCBC-37 Bootstrapping using multiple nodes
|
93
|
-
* More docs and examples on views (fixes RCBC-43)
|
94
|
-
* RCBC-40 Fix Bucket#cas operation behaviour in async mode
|
95
|
-
* RCBC-39 Allow to specify delta for incr/decr in options
|
96
|
-
* Update README
|
97
|
-
* Apply timeout value before connection
|
98
|
-
* Clarify connection exceptions
|
99
|
-
* Remove seqno kludge
|
100
|
-
* rb_hash_delete() function could incorrectly detect block presence
|
101
|
-
* Add example with in-URL credentials
|
102
|
-
* RCBC-57 Expose timers API from libcouchbase
|
103
|
-
* RCBC-50 Allow to read keys from replica
|
104
|
-
* RCBC-6 Implement OBSERVE command
|
105
|
-
* Expose number of replicas to the user
|
106
|
-
* Notify about observe batch finish in async mode
|
107
|
-
* Separate memory errors for client and server
|
108
|
-
* Prefix error message from views with "SERVER: "
|
109
|
-
* Remove timeout hack
|
110
|
-
* RCBC-49 Bucket#observe_and_wait primitive
|
111
|
-
* RCBC-47 Allow to skip username for protected buckets
|
112
|
-
* Use allocators instead of singleton methods
|
113
|
-
* Check RDATA()->dfree to ensure object type
|
114
|
-
* Fix observe_and_wait in async mode
|
115
|
-
* Fill 'operation' in observe_and_wait Result object
|
116
|
-
* Fix extraction Hash with keys in observe_and_wait
|
117
|
-
* RCBC-49 :observe option for storage functions
|
118
|
-
* Fix timeout test
|
119
|
-
* Mention couchbase.com in install errors
|
120
|
-
* Make Bucket#observe_and_wait more 1.8.7 friendly
|
121
|
-
|
122
|
-
## 1.2.0.dp5 / 2012-06-15
|
123
|
-
|
124
|
-
* Allow to force assembling result Hash for multi-get
|
125
|
-
* Fix documentation for :ttl option in Bucket#cas
|
126
|
-
* Implement key prefix (simple namespacing)
|
127
|
-
* Implement cache store adapter for Rails
|
128
|
-
* Integrate with Rack and Rails session store
|
129
|
-
|
130
|
-
## 1.2.0.dp4 / 2012-06-07
|
131
|
-
|
132
|
-
* RCBC-36 Fix segfault
|
133
|
-
* Comment out unpredictable test
|
134
|
-
* Update replace documentation: it accepts :cas option
|
135
|
-
|
136
|
-
## 1.2.0.dp3 / 2012-06-06
|
137
|
-
|
138
|
-
* Fix for multi_json < 1.3.3
|
139
|
-
* Break out from event loop for non-chunked responses (fix creating
|
140
|
-
design create)
|
141
|
-
|
142
|
-
## 1.2.0.dp2 / 2012-06-05
|
143
|
-
|
144
|
-
* RCBC-31 Make Bucket#get more consistent
|
145
|
-
* Use monotonic high resolution clock
|
146
|
-
* Implement threshold for outgoing commands
|
147
|
-
* Allow to stop event loop from ruby
|
148
|
-
* RCBC-35 Fix the params escaping
|
149
|
-
* RCBC-34 Use multi_json gem
|
150
|
-
* Allow to block and wait for part of the requests
|
151
|
-
* Fix view iterator. It doesn't lock event loop anymore
|
152
|
-
* Specify HTTP method when body is set for View request
|
153
|
-
* Define views only if "views" key presented
|
154
|
-
* Use plain structs instead of typedefs
|
155
|
-
* Use debugger gem for 1.9.x rubies
|
156
|
-
* Use latest stable build of libcouchbase for travis-ci
|
157
|
-
* Require yajl as development dependency
|
158
|
-
* Implement get with lock operation
|
159
|
-
* Update docs
|
160
|
-
|
161
|
-
## 1.2.0.dp / 2012-04-06
|
162
|
-
|
163
|
-
* Properly handle hashes as Couchbase.connection_options
|
164
|
-
* Implement views
|
165
|
-
* Use verbose mode by default throwing exceptions on NOT_FOUND errors.
|
166
|
-
This means that quiet attribute is false now on new connections.
|
167
|
-
* Doc fixes
|
168
|
-
|
169
|
-
## 1.1.4 / 2012-08-30
|
170
|
-
|
171
|
-
* RCBC-70 return binary keys using Encoding.external value (thanks to Alex Leverington)
|
172
|
-
* Switch to rbenv because RVM doesn't work with tclsh
|
173
|
-
* [backport] RCBC-37 Bootstrapping using multiple nodes
|
174
|
-
|
175
|
-
## 1.1.3 / 2012-07-27
|
176
|
-
|
177
|
-
* RCBC-59 Replicate flags in Bucket#cas operation
|
178
|
-
* calloc -> xcalloc, free -> xfree
|
179
|
-
* RCBC-64 Fix Couchbase::Bucket#dup
|
180
|
-
* Make object_space GC protector per-bucket object
|
181
|
-
* RCBC-60 Protect exceptions from GC
|
182
|
-
|
183
|
-
## 1.1.2 / 2012-06-05
|
184
|
-
|
185
|
-
* Upgrade libcouchbase dependency up to 1.0.4
|
186
|
-
* Backport debugger patch
|
187
|
-
|
188
|
-
## 1.1.1 / 2012-03-19
|
189
|
-
|
190
|
-
* Allow to force format for get operation (thanks to Darian Shimy)
|
191
|
-
* Use all arguments if receiver arity is -1 (couchbase_ext.c)
|
192
|
-
* Doc fixes
|
193
|
-
|
194
|
-
## 1.1.0 / 2012-03-07
|
195
|
-
|
196
|
-
* Timeout support (CCBC-20)
|
197
|
-
* Implement disconnect/reconnect interface
|
198
|
-
* Improve error handling code
|
199
|
-
* Use URI parser from stdlib
|
200
|
-
* Improve the documentation and the tests
|
201
|
-
* Remove direct dependency on libevent
|
202
|
-
* Remove sasl dependency
|
203
|
-
* Fix storing empty line and nil
|
204
|
-
* Allow running tests on real cluster
|
205
|
-
* Cross-build for windows
|
206
|
-
* Keep connections in thread local storage
|
207
|
-
* Add block execution time to timeout
|
208
|
-
* Implement VERSION command
|
209
|
-
* Configure Travis-CI
|
210
|
-
|
211
|
-
## 1.0.0 / 2011-12-23
|
212
|
-
|
213
|
-
* Implement all operations using libcouchbase as backend
|
214
|
-
* Remove views code. It will be re-added in 1.1 version
|
215
|
-
|
216
|
-
## 0.9.8 / 2011-12-16
|
217
|
-
|
218
|
-
* Fix RCBC-10: It was impossible to store data in non-default buckets
|
219
|
-
|
220
|
-
## 0.9.7 / 2011-10-04
|
221
|
-
|
222
|
-
* Fix design doc removing
|
223
|
-
* Fix 'set' method signature: add missing options argument
|
224
|
-
* Rename gem to 'couchbase' for easy of use. The github project still
|
225
|
-
is 'couchbase-ruby-client'
|
226
|
-
|
227
|
-
## 0.9.6 / 2011-10-04
|
228
|
-
|
229
|
-
* Fix bug with decoding multiget result
|
230
|
-
* Allow create design documents from IO and String
|
231
|
-
* Rename json format to document, and describe possible formats
|
232
|
-
* Allow to handle errors in view result stream
|
233
|
-
* Remove dependency on libyajl library: it bundled with yaji now
|
234
|
-
* Update rake tasks: create zip- and tar-balls
|
235
|
-
|
236
|
-
## 0.9.5 / 2011-08-24
|
237
|
-
|
238
|
-
* Update installation notes in README
|
239
|
-
|
240
|
-
## 0.9.4 / 2011-08-24
|
241
|
-
|
242
|
-
* Use streaming json parser to iterate over view results
|
243
|
-
* Update memcached gem dependency to v1.3
|
244
|
-
* Proxy TOUCH command to memcached client
|
245
|
-
* Fix minor bugs in RestClient and Document classes
|
246
|
-
* Disable CouchDB API for nodes without 'couchApiBase' key provided.
|
247
|
-
* Fix bug with unicode parsing in config listener
|
248
|
-
* Add more unit tests
|
249
|
-
|
250
|
-
## 0.9.3 / 2011-07-29
|
251
|
-
|
252
|
-
* Use Latch (via Mutex and ConditionVariable) to wait until initial
|
253
|
-
setup will be finished.
|
254
|
-
* Update prefix for development views (from '$dev_' to 'dev_')
|
255
|
-
|
256
|
-
## 0.9.2 / 2011-07-29
|
257
|
-
|
258
|
-
* Use zero TTL by default to store records forever
|
259
|
-
* Update documentation
|
260
|
-
* Sleep if setup isn't done
|
261
|
-
|
262
|
-
## 0.9.1 / 2011-07-25
|
263
|
-
|
264
|
-
* Minor bugfix for RestClient initialization
|
265
|
-
|
266
|
-
## 0.9.0 / 2011-07-25
|
267
|
-
|
268
|
-
* Initial public release
|