/
libcouchbase.spec.in
832 lines (764 loc) · 28.8 KB
/
libcouchbase.spec.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
%define _topdir %(pwd)/rpmbuild
Summary: Couchbase Client & Protocol Library
Name: libcouchbase
Version: @VERSION@
Release: @RELEASE@
Vendor: Couchbase, Inc.
Packager: Couchbase SDK Team <support@couchbase.com>
License: Apache-2
Group: System Environment/Libraries
BuildRequires: libevent-devel >= 1.4, libev-devel >= 3
URL: https://github.com/couchbase/libcouchbase
Source: @TARREDAS@.tar.gz
BuildRoot: %{_topdir}/build/@TARREDAS@
%description
This is the client and protocol library for Couchbase project.
%package -n %{name}2-libevent
Group: System Environment/Libraries
Summary: Couchbase Client & Protocol Library (libevent backend)
Provides: %{name}2-backend
Requires: %{name}2, libevent >= 1.4
%description -n %{name}2-libevent
This package provides libevent backend for libcouchbase
%package -n %{name}2-libev
Group: System Environment/Libraries
Summary: Couchbase Client & Protocol Library (libev backend)
Provides: %{name}2-backend
Requires: %{name}2, libev >= 3
%description -n %{name}2-libev
This package provides libev backend for libcouchbase
%package -n %{name}2-core
Group: System Environment/Libraries
Summary: Couchbase Client & Protocol Library (core)
%description -n %{name}2-core
This package provides core for libcouchbase. The IO backends should be
provided by application or installed separately.
%package -n %{name}2
Group: System Environment/Libraries
Summary: Couchbase Client & Protocol Library
Requires: %{name}2-core, %{name}2-backend
%description -n %{name}2
This is the client and protocol library for Couchbase project.
%package -n %{name}2-bin
Group: Development/Tools
Summary: Couchbase Client Tools
Provides: %{name}-all
Requires: %{name}2
%description -n %{name}2-bin
This is the CLI tools Couchbase project.
%package devel
Group: Development/Libraries
Summary: Couchbase Client & Protocol Library - Header files
Requires: %{name}2-core
%description devel
Development files for the Couchbase Client & Protocol Library
%prep
%setup -q -n @TARREDAS@
%configure --disable-couchbasemock
%build
%{__make} %{_smp_mflags}
%install
%{__make} install DESTDIR="%{buildroot}" AM_INSTALL_PROGRAM_FLAGS=""
%clean
%{__rm} -rf %{buildroot}
%post -n %{name}2 -p /sbin/ldconfig
%postun -n %{name}2 -p /sbin/ldconfig
%files -n %{name}2-core
%defattr(-, root, root)
%{_libdir}/libcouchbase.so.*
%files -n %{name}2-libevent
%defattr(-, root, root)
%{_libdir}/libcouchbase_libevent.la
%{_libdir}/libcouchbase_libevent.so
%files -n %{name}2-libev
%defattr(-, root, root)
%{_libdir}/libcouchbase_libev.la
%{_libdir}/libcouchbase_libev.so
%files -n %{name}2
%defattr(-, root, root)
%files -n %{name}2-bin
%defattr(-, root, root)
%{_bindir}/cbc*
%{_mandir}/man1/cbc*.1*
%{_mandir}/man4/cbcrc.4*
%files devel
%defattr(-, root, root)
%doc README.markdown AUTHORS LICENSE RELEASE_NOTES.markdown
%{_includedir}/libcouchbase
%{_libdir}/libcouchbase.la
%{_libdir}/libcouchbase.so
%changelog
* Tue Dec 11 2012 Sergey Avseyev <sergey@couchbase.com> - 2.0.1
[Mark Nunberg]
- CCBC-131: Compensate for cluster nodes lacking couchApiBase
- Don't check for EINVAL when missing POST/PUT body
- Skip mock tests on real cluster
- CCBC-130: Fix memory leak on http headers
- CCBC-132, CCBC-133: Let HTTP function in stormy weather
- Make lcb_logger work again
[Sergey Avseyev]
- SystemTap and DTrace integration
- Add probes into the distribution tarball
- Fix possible SEGFAULT
- src/probes.h is generated file, so it should be in dist
- Make it C89 friendly again
- Do not use req->server in macros
- Cleanup HTTP traces: probe http_end only once
- Do not call finish twice on connect error
- CCBC-136: do not abort when purging SASL commands
- Delay all timers while loop isn't active
- Reset IO event on delete
- Put readable RELEASE_NOTES into the repo
[Sokolov Yura aka funny_falcon]
- Other way to fix timers in libev
[Trond Norbye]
- Add manpages for all of cbc-* commands
- Clarify the ttp/ttr fields for observe
- Fixup compiler invocation for minimal.c
- Use defined coding style for examples
* Tue Nov 27 2012 Sergey Avseyev <sergey@couchbase.com> - 2.0.0
[Sergey Avseyev]
- libcouchbase-all package comes without version
- Add libcouchbase-{bin,core} to libcouchbase-dbg
[Trond Norbye]
- Add the CAS to the delete callback
* Wed Nov 21 2012 Sergey Avseyev <sergey@couchbase.com> - 2.0.0beta3
[Mark Nunberg]
- Check for EWOULDBLOCK/EINTR on failed send
[Sergey Avseyev]
- Fix build for MinGW
- Try all known plugins for LCB_IO_OPS_DEFAULT in run time
- CCBC-113 Remove unauthorized asserion
- CCBC-114 Lookup the plugin symbol in current executable image
- Apply new packaging scheme
- Fix README formatting
- README: add hacking section
- +1 more space for github Markdown parser
- Do not allow admin operations without authentication
- Reformat code and reorder .gitignore
- Check subcommands more strictly
- CCBC-115 Return zero from do_read_data() if operations_per_call reached
- Timer in libev uses double for interval
- Clarify LCB_DELTA_BADVAL error
- CCBC-118 lcb_error_t member in the http callbacks shouldn't reflect the HTTP response code
- Update binary packages with man files
- CCBC-122 Try to switch another server from backup list on timeout
- CCBC-120 Reformat and refactor lcb_server_purge_implicit_responses()
- CCBC-120 Purge stale OBSERVE packets
- CCBC-124 Output replicas properly
- Allow to use 'cbc-hash' with files
- Remove libtool version from the plugins
- Use dynamic versioning for plugins
- Update destructor setup in windows plugin
- Finish removing libtool version from plugins
- Fix using free'd memory (was introduced in 43971816
- Include .la files in plugin RPMs
- Fix RPM spec: remove extra % sign
- Allow to use gethrtime() from C++
- Allow to reset mock connection
- Rewrite config-test.c using gtest framework
- CCBC-107 Port test from http://review.couchbase.org/13667
- Use public configuration callback instead of vbucket_listener
- libvbucket: read and store thisNode property of node
- CCBC-104 Reconnect config listener
- CCBC-104 Fix illegal memory access
- Update metadata for release 2.0.0beta3
[Trond Norbye]
- CCBC-87: Add documentation about the error codes
- All enums should have explicit values
- Don't end an enum with a ,
- Add lcb_verify_compiler_setup
- Don't use the time_t for win32
- Fix the list should be even, not odd
- Fix bucket-create
- Create man pages for cbc and cbcrc
- CCBC-119: Allow the user to specify a different hash key
- Include the man pages (and pdfs) in the distribution
- Added CONTRIBUTING.md
- Check for endianness during configure
- Refactor: move http constants to its own file
* Fri Oct 12 2012 Sergey Avseyev <sergey@couchbase.com> - 2.0.0beta2
[Sergey Avseyev]
- Allow to disable CXX targets
- Allow to disable examples
- Implement libev plugin
- libeventdirect example is bound to libevent2
- Use environment variables to pick plugin
- Remove tests/loopfactory
- Reformat code
- Fixup Mark's comments on libev plugin
- libev3 comatibility
- Cleanup HTTP callbacks
- Split packages for debian
- Fix password memory leak in http.c
- http.c:lcb_make_http_request doesn't require content_type
- Allow to install both libraries on the same system.
- Fix libev3 support
- Remove test artifacts from plugins
- Allow to build library without dependencies
- Remove internal.h dependency from plugins
- Update create functions in plugins
- Disable libevent embedding
- Fix libevent v1 builds
- Update deb packages
- CCBC-105 breakout event loop in default error_callback
- Upload minimal working example
- Fix windows datatypes
- lcb_create: replace assert() with error code
- example/minimal: put new line after the value
- Fix invalid memory access in cbc tool
- Fix buffer size in lcb_make_http_request
- Use versioned arguments in lcb_make_http_request
- Fix memory leak after unsuccessful connection
- Fix compilation errors
- Fix gcc warnings in tests
- Really fix gcc warnings in tests
- Make IO struct versioned
- Allow to connect to instance without specifying bucket
- Fix SEGFAULT if IO struct is allocated not by the lcb_create()
- Update error code in the comment for lcb_t.type
- Fix compilation warnings
- Make win32 plugin versioned
- Fix windows build
- Use more robust check to pick a set of the HTTP requests
- Plugin dev files also depend on libcouchbase-dev
- Update lcb_strerror() for LCB_EBADHANDLE code
- Fix handle verification condition
- Search ev.h also in ${includedir}/libev
- Update RPM spec: split packages
[Trond Norbye]
- lcb_connect() should honor the syncmode setting
- Add an example on how to use the syncmode
- add event example
- Move examples to different sub directories
- CCBC-103: Fix linked event/timer lists for win32
- Add a new interface version for creating ioops
- Add support for raw http requests
- Move win32 iofactory into the same file
* Thu Sep 13 2012 Sergey Avseyev <sergey@couchbase.com> - 2.0.0beta
[Mark Nunberg]
- Make tests more modular
- Add HTTP tests
- Remove keys before testing miss
- Don't use strdup for http path
- Divide unit tests into categories and place them in their own files
- add mget hit/miss test
- Initialize counter for arithmetic tests before each test
- Instantiate the mock only once
- Determine cluster version
- Test lock and unlock commands
- Document tests with Doxygen
- "Pack" the backup node list (remove holes)
- Add lcb_get_server_list
- Fix breakage on older automakes
- Fix bug where method is not set
- PUT/POST requests without a body are an error
- Allow tests to be run against a real cluster
[Sergey Avseyev]
- Reformat code
- The threshold for expiration is 30 days
- CCBC-90 Fix initialization of backup nodes array
- CCBC-91 Reset timer for commands with NOT_MY_VBUCKET response
- CCBC-91 Fix switching to backup node in case of server outage
- Update metadata for release 1.0.5
- Merge branch 'release10'
- CCBC-92 release ringbuffer in libcouchbase_purge_single_server
- Unify HTTP interface
- Deliver HTTP headers via callbacks
- Fix warning (fixes build on macos)
- libcouchbase_cancel_http_request should only cancel request
- Fix mingw build
- Enable silent rules by default
- View requests should always use bucket auth
- Update metadata for release 1.0.6
- Merge branch 'release10'
- Fix windows build
- Merge lcb_get_locked into lcb_get function
- Return result code instead of request handle
- CCBC-96 Correct buffer length for POST/PUT headers
- Revert "Fix breakage on older automakes"
- Fix locking keys in multi-get mode
- CCBC-98 Differentiate between TMPFAILs
- Fix build breakage with --disable-couchbasemock
- Include config.h in unit_tests.cc
- Remove cbc symlinks with 'make uninstall'
- Do not include targets written in C++ if the compiler missing
- Declare package task for windows build
- Put arch and CC version into package name
- do not reset PATH in NMakefile
- Leave windows packages into workspace
- Do not require body for POST and PUT
- Implement RESTful flush in cbc toolset
- Implement getter for number of nodes in the cluster
- Move timeout into generic test src list
[Trond Norbye]
- Fix compile errors caused by sign issues
- CCBC-89: Release the memory allocated by the http parser
- Remove unused code
- Run some of the mock tests through gtest
- Fix memory leak in config-test
- Remove double_free_test macros
- Move plugins to separate sub directories
- Fix problem with allocating too few slots in the backup_nodes
- Bundle libvbucket
- Fix make dist target
- Remove unused include
- Move 'plugin headers' to a local directory
- Fix build with libyajl available
- Fix win32 build (Add strings.h)
- Add --enable-m32 and --enable-m64
- Prevent automake to inject -g -O2 if cflags isn't set
- Fix build break introduced by setting the variables too early
- Don't try to build the unit tests without gtest
- Fixed warnings reported with -Werror=cast-align
- Download gtest if you don't have it
- Fix alignment for sparc platforms
- Sync memcached/protocol_binary.h
- Add an extended get callback
- Fix compile reported with --enable-werror
- CCBC-80: Default to IPv4 only
- Add AM_NOWARN_*FLAGS
- Fix typo for crc32 CPPFLAGS
- Include sys/types.h
- Include sys/uio.h
- Refactor the API
- Don't use static inline in header
- Update the readme with the refactoring blogpost
- Add --enable-wconversion flag
- Add explicit cast to fix buildbreak
- Refactor: lcb_create_io_ops should take struct
- Refactor: lcb_create should use struct
- Refactor: server_version/stat should take struct
- Move lcb_strerror to the instance functions
- Refactor: verbosity should use struct
- Refactor: flush should use struct
- Fixup apidocs
- Fix plugin init
- Strip empty strings
- Remove mock-unit-tests.h
- Add a helper function to set a key
- Add a test case for get (success)
- Add testcase for remove
- Add testcase for Append/Prepend
- Add replace test
- Add cas replace test
- Added test for touch
- Create test for server_stat
- Add server version test
- Add flush test
- fixup review comments
- Move getopt test to gtest
- Use LCB instead of LIBCOUCHBASE
- Dump the servers in use when using real cluster
- Don't try to put the current node last in the backup list
- Split up mock-unit-test.h
- Refactor MockEnvironment to singleton
- The mockenv should provide createConnection
- Add docs target to run generate doxygen docs
- Make doxygen less chatty
- Remove obsolete doc file
- We should always include config.h
- Tests should finish within 5 minutes
- Added --enable-fat-binary
- Set .so-name to 2.0.0 for the release
* Thu Aug 30 2012 Sergey Avseyev <sergey@couchbase.com> - 1.0.6
[Sergey Avseyev]
- CCBC-92 release ringbuffer in libcouchbase_purge_single_server
* Tue Aug 14 2012 Sergey Avseyev <sergey@couchbase.com> - 1.0.5
[Sergey Avseyev]
- CCBC-91 Reset timer for commands with NOT_MY_VBUCKET response
- CCBC-91 Fix switching to backup node in case of server outage
* Fri Jul 27 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp9
[Sergey Avseyev]
- Render auth credentials for View requests
* Fri Jul 27 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp8
[Mark Nunberg]
- Clarify exp usage in mget
[Sergey Avseyev]
- Fix 'cbc-unlock' argument parser
- Remove spaces from output to simplify parsing
- Set completed flag when HTTP parser done its work
- Implement cbc-view command
- Remove couchview example: see cbc-view command
- Claim that server has data in buffers if there are HTTP requests pending
- Allow to specify HTTP method for cbc-view
- Rename HTTP callback
- Define separate pair of callbacks for management HTTP requests
- Separate HTTP callbacks for couch and management requests
- Fix the case when base doesn't has schema
- Preserve credentials for REST API
- Use credentials if they accessible
- Allow to specify content type for HTTP request
- Implement cbc-admin command
- Method fixup: return error for unsupported method
- Print more detailed message for HTTP endpoints
- Report unknown options for cbc-unlock command
- Add cbc-bucket-create command
- Add cbc-bucket-delete command
- Copy path because it could be deallocated by caller
- Fix signatures for microsoft compiler
- Update ep-engine/command_ids.h to get OBSERVE definition
- Store number of replicas
- Store distribution type
- Sync ep-engine/command_ids.h: CMD_OBSERVE now 0x92
- Add observe command
- Implement multiple timers for windows
- Implement general purpose timers
- Add -p and -r options to cbc-cp to control persistence
- Allow handlers to use command_data_st struct
- Read replica implementation
- Let users detect if the event loop running already
- Make libcouchbase_wait() re-entrable
- Check for breakout condition in timer callback
- Allow to breakout from event loop
- GET_REPLICA response includes the key
- Preserve command_data between attempts
- Use replica incremented replica number
- Pass pointer to command_data properly
- Allow user to get number of replicas
- Bind timeouts to server sockets instead of commands
- Destroy the timer with the server
- cbc.cc: check cookie for NULL in storage callback
[Trond Norbye]
- CCBC-77: Use unique error code for ENOMEM on the client
- Remove unused variable
- Fixed warning about possible overflow
- Allow client to specify the verbosity level on the servers
* Tue Jun 19 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp7
[Sergey Avseyev]
- Extract HTTP client
- Implement function to execution management requests
- Reformat the cbc.cc
[Trond Norbye]
- Add support for notification callbacks for configuration changes
- Fix win32 make
* Wed Jun 13 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp6
[Sergey Avseyev]
- Fix guards for socket errno macros
- [cbc] Add suffix to command implementations
- cbc tool is depending on libvbucket now
- Define size_t types to fix MSVC 9 build
- MSVC 9 isn't C99, but has stddef.h, so just include it
- CCBC-71 Implement 'help' command for cbc tool
- CCBC-70 Close dynamic libraries
- Fix windows build
- Simplify embedding of the plugins
- Allow to use colors when debug level isn't set
[Trond Norbye]
- CCBC-63 Include types definitions for POSIX systems
- Undefine NDEBUG to avoid asserts to be optimized out
- CCBC-72: Fix compilation on macosx with gtest from homebrew
* Wed Jun 06 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp5
[Sergey Avseyev]
- Implement 'cbc-hash' to match server/vbucket for given key
- The library doesn't depend on pthreads
* Tue Jun 05 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp4
[Sergey Avseyev]
- Add Travis-CI integration
- Set email for travis-ci notifications
[Trond Norbye]
- Fix compile warnings due to constness
- strtoull doesn't exist on win32
* Sun Jun 03 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp3
[Sergey Avseyev]
- Fix up mentions about CouchDB
- Fix removing items from hashset
- Fix ringbuffer_is_continous()
- CCBC-61 Assign result of the operation
- Don't depend on protocol_binary_command type
- Remove extra commas
- Update AUTHORS file from git log
- ignore gcov files
- Update docs for store operation
- Do not call couch callbacks for cancelled requests
- Reformat sources
- Destroy couch_requests items when server get destroyed
- hashset.c: iterate over whole set on rehashing
- Implement GET_LOCKED (GETL) command
- Implement UNLOCK_KEY (UNL) command
- Unit tests need gtest headers
- Update build scripts with new README
- Allow to customize suffix for .deb package
- Use localhost instead of 127.0.0.1 start_mock.sh
- Reorder changelog entries: RPM requires descending chronological order
[Trond Norbye]
- CBD-161: Beef up the readme
- CCBC-66: Add support for [tg]cov
- CCBC-67: Add gtest infrastructure
- CCBC-67: Move tests from standalone programs to gtest
- CCBC-69: Use autoreconf instead of invoking each tool myself
- Remove unused variable
* Fri Jun 01 2012 Sergey Avseyev <sergey@couchbase.com> - 1.0.4
[Sergey Avseyev]
- [backport] vbucket_found_incorrect_master() returns server index
- CCBC-64 Send the retry-packet to new server
- [CCBC-65] Memory leak in libcouchbase_create / libcouchbase_destroy
- Always use cmd_log for server purge
- CCBC-62 Check for breakout condition after purging servers
- Fix ringbuffer_memcpy()
- Check return value of libcouchbase_apply_vbucket_config()
- Do not consume the cookie for incomplete packet
- Give CouchbaseMock.jar a bit more time to warm up
- Include <sys/type.h> header for libevent check
- Be more specific about libevent version
- Fix config test: copy value in get callback
- Implement ringbuffer_update()
* Tue Apr 10 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp2
[Sergey Avseyev]
- Allow to pass additional arguments to RPM builder
- Fix segfault while authorizing on protected buckets
- Don't define size_t and ssize_t for VS2008
- Don't wait for empty buffers (CCBC-59)
* Wed Apr 04 2012 Sergey Avseyev <sergey@couchbase.com> - 1.1.0dp
[Mark Nunberg]
- Null-terminate unhandled vbucket-stream chunk data
- Allow tests to use user-defined event loop for iops
[Sergey Avseyev]
- Check for newer libvbucket
- Bundle HTTP parser from https://github.com/joyent/http-parser
- Fix pedantic warnings
- Build HTTP parser as separate library
- Implement hash set data structure
- Use libcouchbase IO layer for views
- vbucket_found_incorrect_master() returns server index
- Pick up cookies from pending buffer unless node connected
- Gracefully cancel couch request
- Return reference to request struct from constructor
- Fix formatting: use typedef as return type
- Fix several segfaults
- Update library version
[Trond Norbye]
- Fix build breaks with --enable-werror with SPRO
- Refactor: rename libcouchbase_ringbuffer_ to ringbuffer_
- Add lint rule
- MB-4834: Request the tap bytes in a known byte order
- Fix errors reported by lint
- Clean up warnings reported by lint
- Don't try to be smart linking the strerror test
- Include errno.h to ensure that the macros should be set first
- Add --unpad-paren to remove the ugly if ( asdf )
- Updates according to coding style
* Wed Apr 02 2012 Sergey Avseyev <sergey@couchbase.com> - 1.0.3
[Sergey Avseyev]
- RCBC-33 Fix buffer overflow vulnerability
- [backport] Pick up cookies from pending buffer unless node connected
- [backport] Fix ringbuffer_is_continous()
* Tue Mar 06 2012 Sergey Avseyev <sergey@couchbase.com> - 1.0.2
[Mark Nunberg]
- Added internal debugging/logging routines
- Fixed some compiler warnings and tidy types
- include <cstdlib> in cbc.cc (provides EXIT_*)
- Handle EINVAL for connects
- Refactor connection error handling
- implement PROTOCOL_BINARY_CMD_VERSION
[Pierre Joye]
- Fix windows build (MSVC9): stdint header
- Fix windows build (MSVC9): define E* if missing
[Sergey Avseyev]
- Fix mingw cross build
- cbc.cc: check for NULL result of libcouchbase_create()
- Add cheatsheet for cbc command
- Do not expose PACKAGE_STRING
- Fix command help
- Include <stdint.h> for tools
- Raise error if <stdint.h> missing
- Rename argument to make it more consistent
- Add JSON support for cp function
- Rename packaging/{debian,deb}
- Always sign deb packages and allow to pass PGP key
- Reduce package dependencies (use internal SASL client)
- debhelper required to build deb packages
- make reformat
[Trond Norbye]
- Use 127.0.0.1 instead of localhost
- Added support for '-' to cp
- Add option to set timeout for cbc
- Added "verify"
- Don't use std:: (we're using namespace std anyway)
- Add support for multiple hosts for the bootstrap URL
- Bundle sasl client implementation
- Bundle the protocol definitions for memcached to make it easier to build
- Add astyle rules
- Fix compile error in smoke-test (-Wformat-security)
- Allow use of libcouchbase to pure memcached clusters
- Fix buildbreak on win32
- Update library version
* Mon Feb 13 2012 Matt Ingenthron <matt@couchbase.com> - 1.0.1
[Sergey Avseyev]
- Port double free error to C test
- Backport rpm fix from libvbucket
- Do not notify user about the same error twice
- Fix sasl_list_mech_response_handler()
- Fix smoke test
- Add test for SASL
- Relocate buffers only for vbucket distribution
- Fix relocation of the buffers after config update
- Use alternate nodes when current is dead (CCBC-38)
- cmd_log buffer stores protocol_binary_request_header structs
- Handle PROTOCOL_BINARY_RESPONSE_NOT_MY_VBUCKET
- Don't do output in library code
- Check server index before using (CCBC-51)
- Allow to build without tools which require C++ compiler
- Fix multi-{get,touch} requests handling when nkeys > 1
- Ignore NOOP command on server purge
- Call libcouchbase_server_send_packets() when it needed
- Simplify server checks in libcouchbase_mtouch_by_key
- Ignore coredumps
[Trond Norbye]
- Disable memory debug on the java vm from make check
- Implement operation timeouts (CCBC-20)
- Install configuration.h for win32
- Remove indentation for '=' to ease merging of patches
- Refactor: typedef libcouchbase_cas_t for cas value
- Remove duplicate make rule
- Refactor: use libcouchbase_xxxx for the datatypes
- Don't pass -v to SPRO CC
- Fix warnings reported by SPRO CC with full warnings
- Don't print out that much from the getopt-test
- Fix the sync mode and add a unit test
- Fix errors reported on win32
- Release allocated resources
- Destroy event base if we created it
- Fix pillowfight source
- Fix NMakefile
- Run test cases for make check
- Fix default port for backup nodes
- Add --with-couchbasemock
[Mark Nunberg]
- Fixed SASL handling
- Allow for notification on initial vbucket config
- Fixed segfaults and memory access errors on libevent1.4
- Finer grained error reporting for basic REST errors
- Do not attempt SASL when SASL already in progress
- Fix connect timeouts
- Segfault when delete_event called on invalid socket
- Reset stream state on new instance socket.
- Add option for embedding libevent io options
- better instance socket cleanup handling
- purge_implicit_responses handling of NOOP
- changed server tests to wait a bit on EINTR
* Sun Jan 22 2012 Matt Ingenthron <matt@couchbase.com> - 1.0.0
[Jan Lehnardt]
- Use curl if wget isn't found to download CouchbaseMock.
[Matt Ingenthron]
- Added docbook based manual page for libcouchbase_create.
- Man page documentation additions and enhancements.
- Mentioned store_by_key uses hashkey in comment.
- Bring debian packaging back to compat 7.
- Added tmppath to RPM spec to be able to generate as non-root.
- Revert "Remove 'g' prefix from the version". CCBC-50
- Fixed minor packing dependency issue.
[Sergey Avseyev]
- Add stats command
- Aggregate flush responses
- rename man page for stats command
- Allow libcouchbase build with libevent 1.x (validated for 1.4.14)
- Use 'man -S' when 'man -s' unavailable (FreeBSD)
- Fix getopt_long tests
- Gracefully update vbucket configuration
- Add smoke tests for get and set operations
- Use modern tar format to allow long names
- Allow download memcached headers from remote host
- Separate mock-dependent tests
- Rename license file and add it to distribution
- Add packaging notes
- Build DEB package for Debian, Ubuntu, etc.
- Build RPM package for CentOS, RedHat etc.
- Do not sign deb packages for now
- Generalize views function
- debian/control: fix typo in build dependencies
- Remove <memcached/vbucket.h> dependency
- Use more specific error codes
- Expose HTTP status code for users
- Allow to select bucket for node failover/respawn
- Fix typo in configure.ac
- Fix build with libevent1
- Fix pedantic warnings
- Move doc handlers to views.c until 2.0 release
- Update package dependencies: libevent and libsasl2
- Update link to CouchbaseMock.jar
- Fix memcache comatibility
- Do not use -ldl expicitly (it breaks BSD)
- Fix 'make dist' task
- Update install rules in rpm and deb packages
- Disable optimization and increase debug level
- Fix buffer relocation during rebalance
- Uncomment smoke test
- Fix condition
- Take vbucket from the packet during relocation
- Force curl to follow redirects
- Fix curl syntax
- cbc: add version command
- Rename 'cbc-stat' to 'cbc-stats' for consistency
- Remove 'g' prefix from the version
- Update library versions
[Trond Norbye]
- Fix the chunked mode to allow multiple chunks
- Fix compile problems on win32
- Updated the mock server to use for testing
- Removed blank lines to make the xml easier to read
- Added initial documentation for libcouchbase_flush
- Fixup xml documentation
- Added a lot of documentation
- Don't accept NULL as a valid "callback"
- Use the error handler instead of printing to stderr
- Fixup xml
- Doc fixes
- convert flags to network byte order
- Remove obsolete man pages
- Remove pandora autoconf macros
- Fix the order of ldflags
- Step one on our way to C89
- Fixup build failures in couchview_yajl.c
- Disable view code
- Update copyright year
- We no longer need tar-pax
- Remove forward decl of event_base
- Build all examples on windows
- Refactor: Move tests programs to tests subdir
- Put the object files in the directory they belong
- Start pillowfight!
- New command cbc
- Remove obsolete memNNNN programs
- Create symbolic links for cbc programs
- CCBC-37 allow config to be read from .cbcrc
- Add -T to enable timings for cbc
- Build cbc for win32
- Bail out if we can't locate libvbucket/vbucket.h
- Added cbc-create to create a key
- Bail out if you can't find memcached/vbucket.h
- Added libcouchbase_get_version
- Print out libcouchbase version for cbc version
- Fix up get_iov for write
- The tap callbacks need cas+vbid
- Add cbc send and receive
- Remove memdump
- Set library version to 1.0.0
- Changed error text for EEXISTS
- Fixup comment
- Drop "already" from the error text
- Fix unused-but-set-variable
- Add libcouchbase.dll to gitignore
- Update versions for win32 (@todo find a better way)
- Update NMakefile
- Change search order for headerfiles for win32
- Fix compile errors in cbc for setting binary stdin/stdout
- Fix compile failure for ringbuffer test
- Fixed typo
- Add function to flush buffers
- "empty" bucket name should be treated as NULL
- Allow the user to specify sync mode on an instance
- Fixup compile warnings
* Mon Dec 05 2011 Sergey Avseyev <sergey.avseyev@gmail.com> - 0.3.0
[Trond Norbye]
- Add flush command
- Add a getopt test for win32
- Remove packet filter
- Add a ringbuffer to use instead of the buffer_t
- Improve win32 compatibility
- Create an instance of the default io ops if you don't specify one
- Refactor: Let the client specify the IO framework
[Sergey Avseyev]
- Fix ringbuffer for wrapped write/read operations
- Fix wait flag in libcouchbase_wait()
- CCBC-11 The interface to access views