couchbase 1.2.0.z.beta5 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|