Couchbase C Release Notes and Download Archives
Installation
You can install the C SDK from a repository for your platform, download prebuilt binaries, or compile from source.
Installation on Mac OS X
To install the library on Mac OS X, first install the de-facto package manager for OS X: homebrew. Once homebrew is configured:
brew update # get list of latest packages
brew install libcouchbase
Installing on Linux
For installation on Linux, install the couchbase-release repository, and then install the libcouchbase packages. The following examples download and install couchbase-release repository, a C and C++ compiler, and the C SDK core (libcouchbase2-core), command line tools (libcouchbase2-bin), and the development tools (libcouchbase-devel [RPM] or libcouchbase-dev [DEB]).
# Only needed during first-time setup:
wget http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-4-amd64.deb
sudo dpkg -i couchbase-release-1.0-4-amd64.deb
# Will install or upgrade packages
sudo apt-get update
sudo apt-get install libcouchbase-dev libcouchbase2-bin build-essential
Note that as of Couchbase Data Platform 6.0, couchbase-release (1.0.4) supports Debian 7 and 8, and Ubuntu 12.04, 14.04, and 16.04. If you wish to install a Couchbase SDK on a more recent Ubuntu or Debian, follow these steps (but note that beyond Ubuntu 18.04, other platforms are not necessarily supported):
# Install Couchbase's GPG key
sudo wget -O - http://packages.couchbase.com/ubuntu/couchbase.key | sudo apt-key add -
# Adding Ubuntu 18.04 LTS repo to apt/sources.list
sudo echo "deb http://packages.couchbase.com/ubuntu bionic bionic/main" > /etc/apt/sources.list.d/couchbase.list
# To install or upgrade packages
sudo apt-get update
sudo apt-get install libcouchbase-dev libcouchbase2-bin build-essential
# Only needed during first-time setup:
wget http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-4-x86_64.rpm
sudo rpm -iv couchbase-release-1.0-4-x86_64.rpm
# Will install or upgrade existing packages
sudo yum install libcouchbase-devel libcouchbase2-bin gcc gcc-c++
You should install the libcouchbase2-libevent or libcouchbase2-libev plugin in case your application will use more than 1024 file descriptors.
The default select() based event loop only supports 1024 file descriptors.
|
Installing Manually - Linux
If you want to install the C SDK manually, either from a static binary package or by manually configuring the repositories, you can use the following procedures.
The various Linux distributions contain the following packages:
-
libcouchbase2-core
: The core library package. -
libcouchbase-dev
(orlibcouchbase-devel
): The development package, required if building SDKs which depend on the C SDK. -
libcouchbase2-bin
: The command line utilities (cbc
andcbc-pillowfight
). -
libcouchbase2-libevent
: Optional but recommended component for I/O performance. Can also be used to integrate with libevent (see Asynchronous Programming). -
libcouchbase2-libev
: Optional, for use with applications that make use of event loop integration with libev (see Asynchronous Programming).
Configuring yum repositories (CentOS, Redhat)
This section assumes you know how to add an external yum repository and Linux quick start explains the steps it will perform on your distribution. To configure the repository:
-
Find the appropriate repository location for your distribution in the following table. CentOS and RHEL allow 32-bit packages to be installed on a 64-bit system. This is usually not what you want, soensure that you use the 64-bit repository for your 64-bit system (unless you specifically want the 32-bit SDK).
| Version | Architecture | Repository |
|---|---|---|
6 |
32-bit |
|
6 |
64-bit |
|
7 |
64-bit |
-
Create a
couchbase.repo
file in your/etc/yum.repos.d
directory. It should look similar to the following:
[couchbase]
enabled = 1
name = Couchbase package repository
baseurl = REPLACE THIS WITH THE ACTUAL REPOSITORY FOR YOUR PLATFORM
gpgcheck = 1
gpgkey = http://packages.couchbase.com/rpm/couchbase-rpm.key
Configuring APT repositories (Debian, Ubuntu)
This section assumes some knowledge of apt and Linux quick start explains the steps it will perform on your distribution. To configure the repository:
-
Download the Couchbase GPG key from http://packages.couchbase.com/ubuntu/couchbase.key.
-
Add the key to the list of trusted package keys. Use the
apt-key add
command. For example,apt-key add couchbase.key
. -
Create a couchbase.list file in
/etc/apt/sources.list.d
. The file should contain the repository for your distribution. Repositories are available for the following distributions:
| Distribution | Repository Entry |
|---|---|
Ubuntu 14.04 ("trusty") |
|
Ubuntu 16.04 ("xenial") |
|
Ubuntu 18.04 ("bionic") |
|
Debian 8 ("jessie") |
|
Debian 9 ("stretch") |
|
Note that only Ubuntu LTS (long term support) releases are supported. You may try to use an LTS repository for a non-LTS version, but success is not guaranteed.
Installing binary packages without a repository
You can install standalone packages by downloading a containing the necessary binary packages for your platform.
Installing RPMs manually
tar xf libcouchbase-2.4.0_centos62_x86_64.tar
cd libcouchbase-2.4.0_centos62_x86_64/
sudo rpm -ivh libcouchbase-devel-2.4.0-1.el6.x86_64.rpm libcouchbase2-core-2.4.0-1.el6.x86_64.rpm \
libcouchbase2-bin-2.4.0-1.el6.x86_64.rpm libcouchbase2-libevent-2.4.0-1.el6.x86_64.rpm
> Preparing... ########################################### [100%]
> 1:libcouchbase2-core ########################################### [ 25%]
> 2:libcouchbase-devel ########################################### [ 50%]
> 3:libcouchbase2-bin ########################################### [ 75%]
> 4:libcouchbase2-libevent ########################################### [100%]
Installing DEBs manually
tar xf libcouchbase-2.2.0_ubuntu1204_amd64.tar
cd libcouchbase-2.2.0_ubuntu1204_amd64
sudo dpkg -i libcouchbase2-core_2.2.0-2453_amd64.deb libcouchbase2-libevent_2.2.0-2453_amd64.deb \
libcouchbase-dev_2.2.0-2453_amd64.deb libcouchbase2-bin_2.2.0-2453_amd64.deb
> Selecting previously unselected package libcouchbase2-core.
> (Reading database ... 28297 files and directories currently installed.)
> Unpacking libcouchbase2-core (from libcouchbase2-core_2.2.0-2453_amd64.deb) ...
> Selecting previously unselected package libcouchbase2-libevent.
> Unpacking libcouchbase2-libevent (from libcouchbase2-libevent_2.2.0-2453_amd64.deb) ...
> Selecting previously unselected package libcouchbase-dev.
> Unpacking libcouchbase-dev (from libcouchbase-dev_2.2.0-2453_amd64.deb) ...
> Selecting previously unselected package libcouchbase2-bin.
> Unpacking libcouchbase2-bin (from libcouchbase2-bin_2.2.0-2453_amd64.deb) ...
> Setting up libcouchbase2-core (2.2.0-2453) ...
> Processing triggers for man-db ...
> Setting up libcouchbase2-bin (2.2.0-2453) ...
> Setting up libcouchbase2-libevent (2.2.0-2453) ...
> Setting up libcouchbase-dev (2.2.0-2453) ...
> Processing triggers for libc-bin ...
> ldconfig deferred processing now taking place
Installation from source
You may install the library from source either by downloading a source archive, or by checking out the git repository. Follow the instructions in the archive’s README for further instructions.
Windows Installation
Windows binary packages can be found as downloads for each version listed below.
Included are the header files, release and debug variants of the DLLs and import libraries, and release and debug variants of the command line tools.
Note that the C SDK does not have any preferred installation path, and it is up to you to determine where to place libcouchbase.dll
.
Be sure to select the proper package for the compiler and architecture your application is using.
|
If there are no binaries available for your Visual Studio version, then using a binary from any other Visual Studio version is likely to work.
Most of the issues related to mixing Visual Studio binary versions involve changing and incompatible C APIs or incompatible C Runtime (CRT) objects and functions.
Since the Couchbase C SDK does not expose a C API, and since it does not directly expose any CRT functionality, it should be safe for use so long as your application can link to the library at compile-time.
The windows runtime linker will ensure that each binary is using the appropriate version of the Visual C Runtime ( |
If for some reason you cannot use any of the prebuilt Windows binaries, follow the instructions in installation from source (above) to build on Windows.
2.10.2 (November 23 2018)
-
Fixed incorrect header-guard for analytics.h, which might affect API visibility (when included before
libcouchbase/n1ql.h
)
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.10.1 (November 22 2018)
-
CCBC-997: Extract analytics queries into separate file, and expose new API as set of
lcb_analytics_*
functions. -
CCBC-992: KV ingest mode for analytics. Ingestion mode a way to funnel analytics results back into the KV layer through mutation.
-
CCBC-991: Analytics Deferred Queries. Deferred queries allow to decouple the execution of an analytics query from actually fetching the results. This is very important for queries that take a long time to complete.
-
CCBC-1004: Fix request counting for CAS-observe. Incorrect mapping server indexes during scheduling observe requests might lead to crashes on multi-node clusters.
-
CCBC-1005:
select(2)
-based IO plugin: always use expiration when usinglcb_tick_nowait
function to avoid waiting for IO events. -
Updates in testing infrastructure
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.10.0 (October 12 2018)
-
CCBC-982: Support analytics for N1QL service in
lcb_ping3
. -
CCBC-989: Write bucket capabilities into config cache, so that the client which was bootstrapped from the cache will be able to reason about features availability (e.g. views).
-
CCBC-987: Document tracing options for cbc tools.
-
CCBC-988: Update cbc-pillowfight to work with by-id collections. It still does not use any changes in protocol yet. The collection API will be exposed in 3.0 release.
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.9.5 (September 21 2018)
-
CCBC-980: Make idle timeout for HTTP pool tunable.
-
CCBC-977: Update documentation analytics. Add example demonstrating analytics queries.
-
CCBC-968: Improve log message for SELECT_BUCKET on EACCESS. Add note saying that this error code might be because of missing bucket.
-
CCBC-976: Keep HTTP connections pooled after
lcb_ping3
. -
CCBC-975: Make sure kv service is only enabled if in nodes list.
-
CCBC-972: Fix memory issues reported by valgrind.
-
CCBC-973: Correctly convert non-null terminated tag buffers to
Json::Value
.
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.9.4 (August 28 2018)
-
CCBC-970: Update list of retriable errors for analytics
-
CCBC-965: Update log level in config cache provider
-
CCBC-967: Optimize Threshold Tracer queues/sorting
-
CCBC-963: Remove global state from random generator, and make it thread-safe.
-
CCBC-966: Return current network for LCB_CNTL_NETWORK
-
CCBC-969: Allow to skip version from git tags
-
CCBC-961: Add examples for FTS queries
-
CCBC-971: Disable dead socket detection for older libuv (fixes build on platforms, where old libuv-dev package installed).
-
Report
HELO
features to logger in the single line. -
Allow to select compression mode in connection string. This might be useful for debugging purposes. For example, to bypass inflation step when receiving data.
CONNSTRING=couchbase://localhost/default?compression=deflate_only cbc cat -U $CONNSTRING 00000000.json > bindoc.dat 00000000.json CAS=0x15431f831dc60000, Flags=0x0, Size=739, Datatype=0x03(JSON,SNAPPY)
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.9.3 (July 18 2018)
-
CCBC-955: Parse uint32 as unsigned ints instead of timeouts. Some settings were interpreted as time values, while they should not (e.g. console_log_level, compression_min_size etc). This issue forced the library to misinterpret user input (converter was multiplying all values to 1000000, e.g. log level was always
TRACE
). -
CCBC-957: Automatically disable SSL support, when OpenSSL is unavailable.
-
CCBC-954: Define
EFTYPE
error code if it does not exist. Fixes support of libuv 1.21 and higher. -
CCBC-951: Remove experimental warning from subdoc API.
-
CCBC-948: Consider retry queue with only 0xb5 as empty. This allows a breakout from
lcb_wait
earlier (when application operates in synchronous style). The old behaviour, where lcb_wait does not breakout until the library gets the first successful configuration, still can be restored with lcb_cntl(…, LCB_CNTL_WAIT_FOR_CONFIG, …). -
CCBC-939: Optimize the performance of built-in tracer. It now uses
sllist
for tags container instead ofJson::Value
. -
CCBC-958: Check tracing span tags argument more pedantically and return error if arguments are not valid.
-
CCBC-956: Combine operation id and name into single field in the threshold tracer.
-
CCBC-949: Do not hardcode libevent dependencies in DEB packages. Instead let
dh_shlibdeps
script to detect dependencies for each platform. This fixes useless dependency on libevent-1 for ubuntu 18.04. -
CCBC-947: Fix build scripts for examples (when built with -DLCB_BUILD_EXAMPLES=ON).
And other small fixes and improvements.
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.9.2 (June 22 2018)
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.9.1 (June 22 2018)
-
CCBC-942 Expose new error codes for subdocument operations.
-
CCBC-866 Check cached provider isn’t NULL.
-
CCBC-890 Always check if SSL used when getting ports.
-
CCBC-945 Allow to specify logger in lcb_create().
-
CCBC-935 Display orphan tracer report on WARN log level.
-
CCBC-936 Update default tracing interval to 10 seconds.
-
CCBC-937 Implement support for alternate addresses.
-
CCBC-943 Implement option to dump TCP packets. This change introduces new cmake option, which will force library to report all incoming/outgoing TCP packets on TRACE log level. It renders the bytes in Base64 encoding. Also there is simple extraction tool, which beautifies packet traces, and could be used like this:
cbc cat -vvv foo bar 2>&1 | tools/extract-packets.rb
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.9.0 (May 24 2018)
This release is mostly about API visibility bump from uncommited to committed, but also includes several bug fixes.
-
CCBC-930: Dump threshold logging tracer queues before destroying the tracer.
-
Updates in crypto API as per RFC. This basically change of the API (ABI has preserved compatible, but v0 crypto API will return runtime error with 2.9.0 library. From this release, all encryption key management encapsulated into crypto provider, so it does not need to expose key loader interface. In addition, that user API is changed to conform RFC, and use noun fields instead of document (e.g.
lcbcrypt_encrypt_fields)
. -
CCBC-925: Fix existence checks for registered crypto providers.
-
CCBC-924: Initialize flag for JSON server feature. Otherwise it might be left uninitialized and the library will send JSON datatype to servers, which do not support it.
| Platform | Architecture | File |
|---|---|---|
Checksums |
Any |
|
Source Archive |
Any |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Ubuntu 18.04 |
x86 |
|
Ubuntu 18.04 |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Debian Stretch |
x86 |
|
Debian Stretch |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.8.7 (May 2 2018)
-
CCBC-917: Add tracing for observe. So now the library will group all CAS-observe operations, and in general will nest observe operations under common parent when lcb_storedur3 API used.
-
CCBC-918: Don’t ping KV on nodes without DATA service.
-
CCBC-685: Implementation of SCRAM-SHA{1,256,512} authentication mechanisms for KV service. Support for SCRAM-SHA* SASL auth is disabled by default, because it is not portable, and not every Couchbase service supports it. But if it is necessary, it could be enabled using lcb_cntl(…, LCB_CNTL_FORCE_SASL_MECH, …) operation, or "force_sasl_mech=SCRAM-SHA512" option in connection string.
-
CCBC-919: More granular settings for compression. Now it is possible to specify minimum size of the value to be considered for compression, and also the minimal ratio (compressed / original). See LCB_CNTL_COMPRESSION_MIN_SIZE (or "compression_min_size=100" in bytes), and LCB_CNTL_COMPRESSION_MIN_RATIO (or "compression=0.9").
-
CCBC-916: Do not set JSON datatype if server didn’t ack it. Fixes behavior where old server rejecting commands as invalid when compression is enabled.
-
CCBC-923: Allow to disable fast-forward map for NMV handler. See LCB_CNTL_VB_NOREMAP ("vb_noremap=true"). This option is disabled by default.
Build improvements:
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.8.6 (April 5 2018)
Additions and bug fixes in this version:
-
CCBC-888: Add threshold logging tracer, which tracks and reports above threshold and orphaned operations. This is beta functionality, which is disabled by default. To enable it, use enable_tracing=on in the connection string.
-
CCBC-910: Field encryption API. The lcbcrypto_* functions abstracts encrypted field layout from actual crypto implementations (OpenSSL, libsodium, etc.). The wrapper or application using libcouchbase is expected to connect their own crypto and key providers, while libcouchbase provides transformation of the encrypted data. See sample crypto provider in example/crypto.
-
CCBC-904: Remove trailing comma in lcb_KVBUFTYPE enum. Fixes build on some older compilers.
-
CCBC-907: cbc-n1qlback: Do not require trailing empty line for input.
-
CCBC-908: cbc-n1qlback: Report number of loaded queries.
-
Add ability to write OPS/SEC from cbc-pillowfight to a file
cbc-pillowfight 2> /tmp/stats.txt
or, when writing to terminal required:
cbc-pillowfight 2>&1 | tee /tmp/stats.txt
-
Build improvements for easier integration into with server manifest (and TLM project).
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.8.5 (February 23 2018)
Additions and bug fixes in this version:
-
CCBC-883: Always use built-in compression. It is not possible to unbundle the Snappy library, as libcouchbase uses the C{pp} API which is not exported in the headers. Also, compression can now work on all types of buffers, including LCB_KV_IOV and LCB_KV_IOVCOPY. This fixes compression in cbc-pillowfight tool.
-
CCBC-895: Fix typo in rendering IPv6 addresses in lcb_diag.
-
CCBC-879: Implement log redaction. When log_redaction=on is specified in the connection string, the library will wrap sensitive data in the logs in special tags, which can be processed by the cblogredaction tool from the server distribution.
-
CCBC-893: Updated list of subdoc error codes.
-
CCBC-892: Enable the SSL trust store to be in a separate file. Trust store has to be specified with option truststorepath=…, otherwise the library will expect it to be stored with the certificate in certpath=.
-
CCBC-888: Per operation tracing. When compiled with tracing support (cmake -DLCB_TRACING=ON), the library will expose the tracing API, which allows to measure time of every data operation, and include some extra information. The API is modeled after OpenTracing and allows one to write custom tracers to consume this information. For more information, see an example in example/tracing/tracing.c. This is uncommitted API at this time.
Also this feature includes support for new type of the server responses, which include time spent to execute the KV command on the server. This feature controlled by enable_tracing option in connection string or lcb_cntl(…, LCB_CNTL_ENABLE_TRACING, …).
-
Added basic support of JSON datatype. The library will negotiate a mode, in which the application will see LCB_VALUE_F_JSON flag on datatype field of the response in the operation callback, if the cluster detected the content of the document to be valid JSON. Also the application can send this flag on the outgoing documents to notify the server about payload format.
-
Refresh dtrace/systemtap integration. Also adds tapset for SystemTap to simplify access to trace points.
-
cbc-pillowfight improvements and changes:
-
dump diagnostics on SIGQUIT (CTRL-\ in terminal).
-
with -J/--json, the JSON datatype will be sent on the documents.
-
enable randomized document bodies with -R/--random-body switch.
-
durability checks for pillowfight with
--persist-to/--replicate-to
. -
pessimistic locking of keys before updating with --lock.
-
when requesting timings with -T/--timings, the application will no longer dump them periodically.Instead it will await for the user to signal SIGQUIT and also dump them on exit. The old mode of reporting regularly is enabled by repeating the switch more than once (e.g. -TT).
-
-
Added the cbc-watch command to monitor server stats. By default it tracks cmd_total_ops, cmd_total_gets and cmd_total_sets updating stats once a second, and displaying diff with the previous value.
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.8.4 (December 20 2017)
Additions and bug fixes in this version:
-
CCBC-880: Implement x.509 client certificate authentication. Connection string must use TLS-enabled scheme (couchbases:// or https://) and set options certpath and keypath. For example,
couchbases://<IP_ADDRESS>?certpath=/path/to/chain.pem&keypath=/path/to/client.key
Read more at server docs: https://developer.couchbase.com/documentation/server/5.0/security/security-x509certsintro.html
-
CCBC-883: Revisit builtin compression implementation (snappy). Add compression to cbc tools (see --compress, -y options). Future versions of Couchbase Server will have end-to-end compression.
-
CCBC-885: Do not skip HTTP Basic authentication when password is empty.
-
CCBC-876: Make sure that server authority is always specified. In some cases, when libcouchbase generates vbucket configuration or data service is not available, the authority of the server might be NULL. This could cause issues, as we compare servers from configs using their authority fields.
-
CCBC-878: Support collections in cbc-pillowfight.
Note that this change does not expose anything related to Collections API for libcouchbase. It defines hidden switches for pillowfight tool to allow benchmark of collections. The switches are not documented and might be removed in the future. Use with care.
Generate only
beer:<seqno
> keys:cbc pillowfight --separator : --collection beer
Using many --collection will alternate in generating
beer:<seqno>, brewery:<seqno>
keys (default separator is ":"):cbc pillowfight --collection beer --collection brewery
-
CCBC-801: Expose information about network IO for monitoring. The diagnostics exposed as string with encoded JSON object.
void diag_callback(lcb_t instance, int cbtype, const lcb_RESPBASE *rb) { const lcb_RESPDIAG *resp = (const lcb_RESPDIAG *)rb; if (resp->rc != LCB_SUCCESS) { fprintf(stderr, "failed: %s\n", lcb_strerror(NULL, resp->rc)); } else { if (resp->njson) { fprintf(stderr, "\n%.*s", (int)resp->njson, resp->json); } } } lcb_install_callback3(instance, LCB_CALLBACK_DIAG, diag_callback); lcb_CMDDIAG cmd = { 0 }; lcb_diag(instance, NULL, &cmd); lcb_wait(instance);
-
CCBC-874: Dynamic authenticator. Note that this feature should not be considered at public interface. To use it, application have to define two callbacks, which will return username and password dependending on bucket name and hostname/port of the endpoint.
std::map< std::string, std::string > credentials = { {"protected", "secret"} }; extern "C" { static const char *get_username(void *cookie, const char *host, const char *port, const char *bucket) { return bucket; } static const char *get_password(void *cookie, const char *host, const char *port, const char *bucket) { std::map< std::string, std::string > *credentials = static_cast<std::map< std::string, std::string > *>(cookie); return (*credentials)[bucket].c_str(); } }
and later pass these callbacks to authenticator like this:
lcb_AUTHENTICATOR *auth = lcbauth_new(); lcbauth_set_callbacks(auth, &credentials, get_username, get_password); lcbauth_set_mode(auth, LCBAUTH_MODE_DYNAMIC); lcb_set_auth(instance, auth);
-
Include platform/compiler into client id, which included into HELLO and HTTP requests.
-
Fix parallel build on Linux when dtrace enabled
-
cbc-proxy: proxy N1QL, FTS and Analytics queries using STAT command.
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.8.3 (November 22 2017)
Additions and bug fixes in this version:
-
CCBC-415: Fixes in IPv6 support. To use IPv6 addresses, the application should connect to IPv6-enabled Couchbase Server, and explicitly switch on option via connection string ipv6=allow or ipv6=only, where first variant permits the library to use both IPv6 and IPv4, and the second — disables IPv4. Alternatively this setting controlled with LCB_CNTL_IP6POLICY and lcb_cntl.
-
CCBC-872: Metrics management These metrics are intended at providing information on libcouchbase operations performed over the lifetime of the current lcb_t instance (processed request packets, processed response packets, request packets pending emission, server errors, server timeouts, misrouted operations, retried operations).
Metrics collection is currently disabled by default. To enable metrics collection, the user should call:
int activate = 1; lcb_cntl(instance, LCB_CNTL_SET, LCB_CNTL_METRICS, &activate);
Access to the collected metrics is done using:
lcb_METRICS* my_metrics; lcb_cntl(instance, LCB_CNTL_GET, LCB_CNTL_METRICS, &my_metrics);
-
CCBC-870: Fix updating URL on retry. When retrying HTTP request, instead of replacing just host:port part of the old URL, the library inserted full URL.
-
CCBC-547: Detect dead sockets under libuv.
-
Ensure macros safe by surrounding values with parentheses
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.8.2 (October 17 2017)
Additions and bug fixes in this version:
-
CCBC-833, CCBC-834: Update real cluster integration in the test suite.
-
CCBC-860: cbc-connstr: Do not zero out C{pp} instances.
-
CCBC-859: Fix libm shared object detection on Debian 9.
-
Bugs reported by clang analyzer:
-
CCBC-858: Fix memory leak for compressed packet.
-
CCBC-857: Fix possible NULL pointer dereference in mcreq_reserve_key.
-
CCBC-856: Initialize response struct in H_config.
-
CCBC-855: Fix dead assignments in contrib/genhash.
-
CCBC-854: Init vbguess array before entry lookup.
-
CCBC-853: cbc-proxy: do not use client object after free.
-
CCBC-852: Do not free memory twice in N1QL index manager.
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.8.1 (September 20 2017)
Additions and bug fixes in this version:
-
CCBC-817: Check nodes number for durability checks. The store with durability requirements will report more specific error when the library cannot fulfill the condition during failover.
-
CCBC-846: Handle enhanced error messages for subdoc operations. The subdoc responses will now expose context and reference ID if present.
-
CCBC-840: Discover and bootstrap analytics service from cluster configuration.
-
CCBC-835: Improve documentation of configuration parameters.
-
CCBC-838: Enable Error Map feature by default.
-
Cleanup and extend minimal, libeventdirect, instancepool examples
-
Tools:
-
improve error reporting
-
experimental subcommand cbc-proxy
-
fix memory leaks
-
retry store operations during population phase in cbc-pillowfight
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.8.0 (August 31 2017)
Known Isssues:
As reported in Issue CCBC-838, version 2.8.0 should have Error Maps enabled by default, but it does not. Users may work around this issue by specifying errmap_enable=true in connection string or setting it programmatically:
int enabled = 1;
lcb_cntl(instance, LCB_CNTL_SET, LCB_CNTL_ENABLE_ERRMAP, &enabled);
Additions and bug fixes in this version:
-
Add support for OpenSSL-1.1.
-
Issues: CCBC-814
-
-
Mask LOCKED status code for backward compatibility. This code (as well as others possible codes with 'item-locked' attribute) replaced with LCB_KEY_EEXISTS for SET, REPLACE and DELETE operations, and with LCB_ETMPFAIL for the rest.
-
Issues: CCBC-832
-
-
Stop enumerating bootstrap nodes and mechanisms when the server returns authentication error.
-
Issues: CCBC-825
-
-
Fixed double free error with lcb_ping3.
-
Issues: CCBC-826
-
-
Exposed additional N1QL query parameters: lcb_n1p_readonly, lcb_n1p_scancap, lcb_n1p_pipelinecap.
-
Issues: CCBC-823
-
-
Fixed cbc-subdoc/upsert without XATTR.
-
Issues: CCBC-823
-
-
XERROR attributes synchronized with recent list on server.
-
Issues: CCBC-828
-
-
Add missing documentation, and update stability of the API.
-
Do not throttle background configuration polling by throttle interval of configuration error handler.
-
Issues: CCBC-829
-
-
Turn on background polling by default. The library will try to schedule configuration update every 2.5 seconds. To disable it use config_poll_interval=0.
-
Issues: CCBC-836
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.7.7 (August 17 2017)
-
Implement new function lcb_ping3, which sends NOOP-like message to each service in the cluster and allows to measure latency along with health status of the connection. Might be useful for application-side keep-alive mechanisms.
-
Issues: CCBC-801
-
-
Detect and expose bucket type through LCB_CNTL_BUCKETTYPE:
lcb_BTYPE type; lcb_cntl(instance, LCB_CNTL_GET, LCB_CNTL_BUCKETTYPE, &type);
-
Issues: CCBC-790
-
-
Fixed setting expiration in subdoc mutations.
-
Issues: CCBC-799
-
-
Fixed DNS SRV support of Fedora 26 and FreeBSD.
-
Issues: CCBC-816
-
-
Fixed DNS SRV with SSL connections.
-
Issues: CCBC-794
-
-
Define EREMOTEIO in libuv
-
Issues: CCBC-812
-
-
New subdocument command to remove whole document
-
Issues: CCBC-811
-
-
New cbc command: cbc-subdoc. It provides interactive shell, where all subdocument commands accessible to inspect and modify documents in the cluster.
-
New cbc command: cbc-ping. It sends NOOP-like messages to all accessible services in the cluster, and displays the status along with latency.
-
Issues: CCBC-801
-
-
Fix cbc-cat --replica, which now allows reading documents from replicas.
-
Issues: CCBC-820
-
-
Implement NOOP command and cbc-pillowfight --noop, which sends NOOP instead of data manipulation commands.
-
Issues: CCBC-801
-
-
Clarify errors found in .cbcrc. Now it will display configuration path along with error message.
-
Issues:
-
-
Update examples:
-
Support username/password in subdoc and libeventdirect examples
-
Added example for subdoc XATTRs
-
-
Integrate fix for parallel build with dtrace on FreeBSD https://github.com/freebsd/freebsd-ports/commit/a71e1a86b851d42cd08319d9b28a4424e508e216
-
Make enhanced errors API public
-
Issues: CCBC-803
-
-
Fixed various compiler and cppcheck warnings and documentation update.
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.7.6 (July 11 2017)
-
Expose enhanced errors for data commands. Couchbase Server 5 might return additional information about errors in the response body. According to SDK-RFC-28, the library allow user code to inspect this information using following functions:
-
lcb_resp_get_error_context(int, const lcb_RESPBASE *)
-
lcb_resp_get_error_ref(int, const lcb_RESPBASE *)
They both return non-NULL strings if any of error information accessible. The lifetime of these fields limited by lifetime of the response object. * Issues: CCBC-781
-
-
Report contextualized error messages during negotiation. The event reference could be used to find more details about authentication errors in the server logs.
-
Issues: CCBC-780
-
-
Specify correct protocol level for SO_KEEPALIVE. This fixes setting tcp_keepalive option on connections.
-
Issues: CCBC-798
-
-
Implement Error Map Retries. This implements the mechanics needed to retry commands on various errors based on dynamic settings supplied via the error map.
-
Issues: CCBC-783
-
-
Add cluster admin provider. This provider doesn’t do anything except serve as a source of management hostnames. And the library will fall back to it when bucket is not specified for cluster management connections.
-
Issues: CCBC-797
-
-
Implement RBAC user management in cbc tools. In addition to examples/users, this can be a demonstration of new security APIs which appear in Couchbase Server 5.
-
Issues: CCBC-757
-
-
Allow to inspect query errors in cbc-n1qlback. The command will write details for failed queries to file, specified with option --error-log.
-
Fix memory leak in io::Pool
-
Issues: CCBC-791
-
-
Fix LCB_SDCMD_GET_FULLDOC. This would not actually work beforehand because the opcode it’s mapped to is 0, and we used 0 as a sentinel value for an invalid opcode within the subdoc implementation.
-
Issues: CCBC-792
-
-
Add LCB_NOT_AUTHORIZED error code. This error code maps to Memcached’s EACCESS
-
Don’t send empty Authorization header for HTTP requests, If there’s no username and/or password
-
Issues: CCBC-789
-
-
Internal refactoring:
-
io::Pool - remove empty dtor
-
Fix BadPluginEnvironment test on Fedora where libm.so is ld script
-
Add missing commands for cbc-help
-
-
Documentation update:
-
Add additional documentation for lcb_n1ql_cancel()
-
Typos
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.7.5 (May 17 2017)
-
Allow to disable sending the HELLO command when connecting to a server. Sending HELLO will cause a bootstrap failure with Couchbase Server 2.0 and older.
-
Issues: CCBC-786
-
-
Fix error return value on reprepared query. Previously an error was returned if a N1QL query was reprepared, because the prior internal failure status was not updated.
-
Issues: CCBC-782
-
-
Check for more N1QL error strings indicating the need to reprepare a statement.
-
Fix uninitialized memory issue when initializing lcb::Server and mc_PIPELINE
-
Couchbase 5.0 additions for Subdocument. This adds new protocol extensions for Couchbase 5.0. This consists of:
-
New LCB_SDCMD_SET_FULLDOC and LCB_SDCMD_GET_FULLDOC for full-doucument gets and sets via the subdoc API. This allows to access xattrs atomically with the document body.
-
New 'document flags'. These are in the form of LCB_CMDSUBDOC_F_.
-
Issues: CCBC-774
-
-
Fix bug where CCCP subsystem would be suspended indefinitely. CCCP subsystem would hang if an error was received for the config request itself.
-
Issues: CCBC-779
-
-
Fix bootstrap with LCB_TYPE_CLUSTER. Previously bootstrap would fail because the client would not send proper credentials. Note that at this point, the default bucket must still exist.
-
Issues: CCBC-778
-
-
Ignore empty DNS SRV replies. Some buggy DNS configurations return positive replies to SRV queries, but without actually containing any kind of A record as a response.
-
Issues: CCBC-776
-
-
Enable background polling for configuration changes. This allows the client to periodically poll for configuration changes. This feature is disabled by default. You can use the config_poll_interval setting to enable it in the connection string.
-
Issues: CCBC-627
-
-
Enable TCP Keepalive for newly created sockets. Newly created sockets have TCP keepalive enabled in order to avoid firewalls breaking connections due to inactivity. TCP Keepalive does not yet work for the libuv plugin (e.g. nodejs). You can use the tcp_keepalive=false directive in the connection string to disable it.
-
Issues: CCBC-690
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.7.4 (April 21 2017)
-
Send SELECT_BUCKET command by default if server supports it. This enables new-style 'RBAC' authentication by default. In 2.7.3 users were required to use select_bucket=true in the connection string to enable this feature. In this version, the option is still available but is now mainly useful to disable it.
-
Improve lcb_AUTHENTICATOR API. This provides better documentation and some API/design/implementation fixes to the authenticator interface. The authenticator may be useful for integrators/wrappers who wish to correlate multiple credentials with their buckets. Note that the use of lcb_AUTHENTICATOR is not required for RBAC support. In order to use RBAC, simply make use of the username field in the lcb_create_st struct, or the usernameparameter in the connection string.
-
Issues: CCBC-751
-
-
Fix bug where lcb_get_server_list() would return NULL.
-
Issues: CCBC-764
-
-
Fix bug where client would not recover from failover. Clients from version 2.7.1 through 2.7.3 would not obtain a new cluster map after a node had been failed over (e.g. by hitting the "fail over" button in the UI).
-
Issues: CCBC-761
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.7.3 (March 21 2017)
Known Isssues:
As reported in Issue CCBC-766, versions 2.7.1, 2.7.2, and 2.7.3 may result in a stuck client, where operations may consistently fail after a node has been failed over, even if a replica node is available. Users may work around this issue by:
-
Rebalancing the cluster
-
Bringing the failed over node online
-
Downgrading to 2.7.0 or lower.
Additions and bug fixes in this version:
-
Provide the ability to send the SELECT_BUCKET when establishing a to a server. This is a building block allowing us to use 'RBAC'/username auth in the future. Note that this requires the select_bucket=true option in the connection string or equivalent, and that this feature as a whole is considered experimental.
-
Priority: Major
-
Issues: CCBC-758
-
-
Provide an option to disable DNS-SRV lookups. Because DNS SRV lookups often result in no result (i.e. NXDOMAIN) - which takes longer, allowing to disable such lookups may speed up startup time. This option is available via the connection string, using dnssrv=off
-
Priority: Minor
-
Issues: CCBC-756
-
-
Send client/user-specific identifier in User-Agent HTTP header. The library already does this for data nodes (Memcached). Using it in HTTP services allows better supportability when diagnosing issues by reading the HTTP logs.
-
Priority: Major
-
Issues: CCBC-755
-
-
Fix bug where DNS SRV hostnames would not be used. While DNS SRV lookup was working, the library would not actually attempt bootstrap off those received hostnames.
-
Priority: Major
-
Issues: CCBC-753
-
-
Provide experimental Analytics support. This allows access to the Couchbase Analytics Service, available in some pre-release builds. API and syntax wise, Analytics is very similar to N1QL. To use the analytics service, set the
LCB_CMDN1QL_F_CBASQUERY
bit inlcb_CMDN1QL::cmdflags
, and provide the appropriatehost:port combination
in thelcb_CMDN1QL::host
field. - Currently, analytics support is not used in the cluster map/configuration.-
Priority: Major
-
Issues: CCBC-734
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.7.2 (February 21 2017)
Known Isssues:
As reported in Issue CCBC-766, versions 2.7.1, 2.7.2, and 2.7.3 may result in a stuck client, where operations may consistently fail after a node has been failed over, even if a replica node is available. Users may work around this issue by:
-
Rebalancing the cluster
-
Bringing the failed over node online
-
Downgrading to 2.7.0 or lower.
This release consists of additional internal refactoring and some improved logging messages. There is enhanced experimental XATTR support. This release also contains some bug fixes:
-
Fix build issues on FreeBSD. This allows normal BSD make to be used, rather than forcing gmake
-
Fixed broken JIRA link in README
-
Fix hanging SSL connections in IOCP/Completion mode. This would sometimes stall the connection by not requesting a write if a read was in progress. This would result in the command not being sent and the client hanging. Note that this only affects completion-style I/O plugins such as IOCP and libuv.
-
Issues: CCBC-744
-
-
Rename
LCB_SDSPEC_F_VIRTPATH to LCB_SDSPEC_F_MACROVALUES
.VIRTPATH
is intended for possible future materialized XATTRs. -
Add
LCB_SDSPEC_F_XATTR_DELETED_OK
, which maps to the protocol flag of roughly the same name.
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.7.1 (January 20 2017)
Known Isssues:
As reported in Issue CCBC-766, versions 2.7.1, 2.7.2, and 2.7.3 may result in a stuck client, where operations may consistently fail after a node has been failed over, even if a replica node is available. Users may work around this issue by:
-
Rebalancing the cluster
-
Bringing the failed over node online
-
Downgrading to 2.7.0 or lower.
This release consists of additional internal refactoring. More internals have been converted to C{pp}.
-
Provide XATTR (Extended Attribute) prototype support. This provides a prototype implementation of xattrs, allowing the client to access extended (hidden) attributes of a document. This feature can be used on the client side by simply setting the
LCB_SDSPEC_F_XATTRPATH
bit in thelcb_SDSPEC::options
field.-
Issues: CCBC-728
-
-
Add automatic DNS SRV record lookup when simple hostname supplied. The library will now automatically attempt to look up SRV records for various couchbase services if only one host is present in the connection string. Automatic lookup will not be performed if more than a single host is provded. See the Java Documentationon the matter (go to the bottom of the page).
-
Issues: CCBC-566
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.7.0 (December 21 2016)
This release contains many significant internal enhancements. It does not fix any known bugs or add any new features.
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.6.4 (November 28 2016)
-
Fix bug in pillowfight where large value sizes would cause a segfault.
-
Issues: CCBC-727
-
-
Allow 64 bit values with
cbc-incr
andcbc-decr
.-
Issues: CCBC-716
-
-
Fix encoding in
lcb_n1p_setconsistent_token
. This function would encode it as scan_vector but it should be scan_vectors. -
Refactor negotiation internals to use C{pp}. This is part of an internal refactoring to move our internals over to C{pp}. This will make the code more manageable and extendable in the future.
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
libcouchbase-2.6.4_x86_vc9.zip{.fname} |
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
2.6.3 (September 27 2016)
-
Fix memory corruption for some JSON APIs when no rows are returned. This fixes a bug where the JSON parser would read from garbage memory when parsing a response that had no rows, but due to a slow network, would be received in multiple chunks. This affects N1QL, CBFT, and View APIs.
-
Priority: Major
-
Issues: CCBC-721
-
-
Allow to adjust bytes to read per event loop iteration. This allows applications with high network throughput but low CPU capacity to prevent the library from oversaturating a specific event callback invocation or starve other sockets. It may be controlled through the read_chunk_size connection string option or via
lcb_cntl_string
.-
 This allows a consistent representation of CAS values regardless of underlying platform. This allows interoperability between other SDKs with respect to exchanging CAS values. This however may break interoperability with older versions of the same SDK, if the CAS value is being passed around (which it shouldn’t be).
-
New subdocument additions. This adds the LCB_SUBDOC_F_MKDOCUMENT flag which allows document creation if the document does not exist, and can be used for mutation operations which may create new paths or values. TheLCB_SUBDOC_CMD_GET_COUNT is also added, which is a new command which retrieves the number of elements (for an array) or key-value items (within an object/dictionary) of a given path. Both these features require Couchbase Server 4.6 (or its prereleases).
-
Priority: Major
-
Issues: CCBC-718
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
C SDK Version 2.6.2 (July 27 2016)
-
Don’t crash on high number of FDs with select plugin. Because select(2) can only accomodate up to a certain number of file descriptors in the application, if opening a socket results in a too-high-numbered FD, the plugin will return an error rather than silently failing during polling.
-
Priority: Major
-
Issues: CCBC-567
-
-
Pillowfight can now set ttl (expiry). This is done via the
-e
or--expiry
option.-
Priority: Major
-
Issues: CCBC-637
-
-
Log URLs of HTTP requests. This may make it easier to debug some HTTP-based APIs. The URLs are printed as part of the TRACE logging level.
-
Priority: Major
-
Issues: CCBC-641
-
-
Fix crash on shutdown with completion-based I/O. The crash was a result of dereferencing the lcb_t after it had been destroyed. This bug affected completion-based I/O subsystems such as libuv and IOCP.
-
Priority: Major
-
Issues: CCBC-707
-
-
Do not require operation field to be set on lcb_CMDSTORE. Starting from this version, a new lcb_storage_t constant,LCB_UPSERT has been added with a value of 0. This means that upsert operations no longer need to explicitly useLCB_SET, it being the default.
-
Priority: Major
-
Issues: CCBC-545
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
C SDK Version 2.6.1 (June 21 2016)
-
Index management API now properly handles 'fields' field. Previously this was treated as a csv string, when it is in fact a JSON array.
-
pillowfight now has a
--populate-only
option, which is useful when simply trying to populate buckets with large amounts of data. -
Allow to bypass OpenSSL initialization. This allows applications which already have OpenSSL intialization code in place to suppress libcouchbase’s own OpenSSL initialization code. You can disable SSL initialization by usingssl=no_global_init in the connection string.
-
Allow to toggle sending of multiple credentials in N1QL queries. You can use the LCB_CMD_F_MULTIAUTH in the
lcb_CMDN1QL::cmdflags
field to indicate that multiple credentials should be added. Otherwise only the current bucket’s credentials will be sent. -
Fix infinite loop on completion (UV,nodejs,IOCP) type IO plugins. This bug would be triggered when only a single server remained in the cluster and that single server failed. This would result in the client never being able to perform operations due to a delayed reference count decrement.
-
Priority: Major
-
Issues: CCBC-704
-
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |
|
Visual Studio 2015 |
x86 |
|
Visual Studio 2015 |
x64 |
C SDK Version 2.6.0 (May 2016)
-
Improve index management API and implementation. The rawjson field was being ignored and the condition field was missing as well.
-
Add pillowfight support for subdoc. At the simplest level you can simply invoke pillowfight as
cbc-pillowfight --subdoc --json <other args>
. Refer to the pillowfight documentation for more details.
| Platform | Architecture | File |
|---|---|---|
Source Archive |
Any |
|
Ubuntu 12.04 |
x86 |
|
Ubuntu 12.04 |
x64 |
|
Ubuntu 14.04 |
x86 |
|
Ubuntu 14.04 |
x64 |
|
Ubuntu 16.04 |
x86 |
|
Ubuntu 16.04 |
x64 |
|
Debian Wheezy |
x86 |
|
Debian Wheezy |
x64 |
|
Debian Jessie |
x86 |
|
Debian Jessie |
x64 |
|
Enterprise Linux 6 |
x86 |
|
Enterprise Linux 6 |
x64 |
|
Enterprise Linux 7 |
x64 |
|
Visual Studio 2008 |
x86 |
|
Visual Studio 2008 |
x64 |
|
Visual Studio 2010 |
x86 |
|
Visual Studio 2010 |
x64 |
|
Visual Studio 2012 |
x86 |
|
Visual Studio 2012 |
x64 |


| Top |
Functions
Properties
| double | ini-h | Read / Write / Construct |
| guint | max-order | Read / Write / Construct |
| double | richardson-step | Read / Write / Construct |
| double | round-off-pad | Read / Write / Construct |
| double | terr-pad | Read / Write / Construct |
Functions
NcmDiffFuncNtoM ()
void (*NcmDiffFuncNtoM) (NcmVector *x
,NcmVector *y
,gpointer user_data
);
Functon $f(x)$ call back.
NcmDiffFunc1toM ()
void (*NcmDiffFunc1toM) (const gdouble x
,NcmVector *y
,gpointer user_data
);
Functon $f(x)$ call back.
NcmDiffFuncNto1 ()
gdouble (*NcmDiffFuncNto1) (NcmVector *x
,gpointer user_data
);
Functon $f(x)$ call back.
NcmDiffFunc1to1 ()
gdouble (*NcmDiffFunc1to1) (const gdouble x
,gpointer user_data
);
Functon $f(x)$ call back.
ncm_diff_clear ()
void
ncm_diff_clear (NcmDiff **diff
);
Decrease the reference count of diff
by one, and sets the pointer *diff
to
NULL.
ncm_diff_get_max_order ()
guint
ncm_diff_get_max_order (NcmDiff *diff
);
Gets the maximum order used when calculating the derivatives.
ncm_diff_get_richardson_step ()
gdouble
ncm_diff_get_richardson_step (NcmDiff *diff
);
Gets the current Richardson step used in the tables.
ncm_diff_get_round_off_pad ()
gdouble
ncm_diff_get_round_off_pad (NcmDiff *diff
);
Gets the current round-off padding used in calculations.
ncm_diff_get_trunc_error_pad ()
gdouble
ncm_diff_get_trunc_error_pad (NcmDiff *diff
);
Gets the current truncation error padding used in calculations.
ncm_diff_get_ini_h ()
gdouble
ncm_diff_get_ini_h (NcmDiff *diff
);
Gets the current initial step used in calculations.
ncm_diff_set_max_order ()
void ncm_diff_set_max_order (NcmDiff *diff
,const guint maxorder
);
Sets the maximum order used when calculating the derivatives to maxorder
.
ncm_diff_set_richardson_step ()
void ncm_diff_set_richardson_step (NcmDiff *diff
,const gdouble rs
);
Sets the Richardson step used in the tables.
ncm_diff_set_round_off_pad ()
void ncm_diff_set_round_off_pad (NcmDiff *diff
,const gdouble roff_pad
);
Sets the round-off padding used in the calculations.
ncm_diff_set_trunc_error_pad ()
void ncm_diff_set_trunc_error_pad (NcmDiff *diff
,const gdouble terr_pad
);
Sets the truncation error padding used in the calculations.
ncm_diff_set_ini_h ()
void ncm_diff_set_ini_h (NcmDiff *diff
,const gdouble ini_h
);
Sets the initial step used in the calculations.
ncm_diff_log_central_tables ()
void
ncm_diff_log_central_tables (NcmDiff *diff
);
Logs all central tables.
ncm_diff_log_forward_tables ()
void
ncm_diff_log_forward_tables (NcmDiff *diff
);
Logs all central tables.
ncm_diff_log_backward_tables ()
void
ncm_diff_log_backward_tables (NcmDiff *diff
);
Logs all central tables.
ncm_diff_rf_d1_N_to_M ()
GArray * ncm_diff_rf_d1_N_to_M (NcmDiff *diff
,GArray *x_a
,const guint dim
,NcmDiffFuncNtoM f
,gpointer user_data
,GArray **Eerr
);
Calculates the first derivative of f
: $\partial_i f$ using the forward method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N\to \mathbb{R}^M$,
where $N = $ length of x_a
and $M = $ dim
.
Parameters
diff |
a NcmDiff |
|
x_a |
function argument. |
[array][element-type double][in] |
dim |
dimension of |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rc_d1_N_to_M ()
GArray * ncm_diff_rc_d1_N_to_M (NcmDiff *diff
,GArray *x_a
,const guint dim
,NcmDiffFuncNtoM f
,gpointer user_data
,GArray **Eerr
);
Calculates the first derivative of f
: $\partial_i f$ using the central method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N\to \mathbb{R}^M$,
where $N = $ length of x_a
and $M = $ dim
.
Parameters
diff |
a NcmDiff |
|
x_a |
function argument. |
[array][element-type double][in] |
dim |
dimension of |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rc_d2_N_to_M ()
GArray * ncm_diff_rc_d2_N_to_M (NcmDiff *diff
,GArray *x_a
,const guint dim
,NcmDiffFuncNtoM f
,gpointer user_data
,GArray **Eerr
);
Calculates the second derivative of f
: $\partial_i^2 f$ using the central method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N\to \mathbb{R}^M$,
where $N = $ length of x_a
and $M = $ dim
.
Parameters
diff |
a NcmDiff |
|
x_a |
function argument. |
[array][element-type double][in] |
dim |
dimension of |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rf_d1_1_to_M ()
GArray * ncm_diff_rf_d1_1_to_M (NcmDiff *diff
,const gdouble x
,const guint dim
,NcmDiffFunc1toM f
,gpointer user_data
,GArray **Eerr
);
Calculates the first derivative of f
: $\partial_i f$ using the forward method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N \to \mathbb{R}$,
where $N = $ length of x_a
.
Parameters
diff |
a NcmDiff |
|
x |
function argument |
|
dim |
dimension of |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rc_d1_1_to_M ()
GArray * ncm_diff_rc_d1_1_to_M (NcmDiff *diff
,const gdouble x
,const guint dim
,NcmDiffFunc1toM f
,gpointer user_data
,GArray **Eerr
);
Calculates the first derivative of f
: $\partial_i f$ using the central method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N \to \mathbb{R}$,
where $N = $ length of x_a
.
Parameters
diff |
a NcmDiff |
|
x |
function argument |
|
dim |
dimension of |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rc_d2_1_to_M ()
GArray * ncm_diff_rc_d2_1_to_M (NcmDiff *diff
,const gdouble x
,const guint dim
,NcmDiffFunc1toM f
,gpointer user_data
,GArray **Eerr
);
Calculates the second derivative of f
: $\partial_i^2 f$ using the central method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N \to \mathbb{R}$,
where $N = $ length of x_a
.
Parameters
diff |
a NcmDiff |
|
x |
function argument |
|
dim |
dimension of |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rf_d1_N_to_1 ()
GArray * ncm_diff_rf_d1_N_to_1 (NcmDiff *diff
,GArray *x_a
,NcmDiffFuncNto1 f
,gpointer user_data
,GArray **Eerr
);
Calculates the first derivative of f
: $\partial_i f$ using the forward method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N \to \mathbb{R}$,
where $N = $ length of x_a
.
Parameters
diff |
a NcmDiff |
|
x_a |
function argument. |
[array][element-type double][in] |
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rc_d1_N_to_1 ()
GArray * ncm_diff_rc_d1_N_to_1 (NcmDiff *diff
,GArray *x_a
,NcmDiffFuncNto1 f
,gpointer user_data
,GArray **Eerr
);
Calculates the first derivative of f
: $\partial_i f$ using the central method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N \to \mathbb{R}$,
where $N = $ length of x_a
.
Parameters
diff |
a NcmDiff |
|
x_a |
function argument. |
[array][element-type double][in] |
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rc_d2_N_to_1 ()
GArray * ncm_diff_rc_d2_N_to_1 (NcmDiff *diff
,GArray *x_a
,NcmDiffFuncNto1 f
,gpointer user_data
,GArray **Eerr
);
Calculates the second derivative of f
: $\partial_i^2 f$ using the central method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N \to \mathbb{R}$,
where $N = $ length of x_a
.
Parameters
diff |
a NcmDiff |
|
x_a |
function argument. |
[array][element-type double][in] |
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rf_Hessian_N_to_1 ()
GArray * ncm_diff_rf_Hessian_N_to_1 (NcmDiff *diff
,GArray *x_a
,NcmDiffFuncNto1 f
,gpointer user_data
,GArray **Eerr
);
Calculates the Hessian of f
$\partial_i\partial_j f$ using the forward method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R}^N \to \mathbb{R}$,
where $N = $ length of x_a
.
Parameters
diff |
a NcmDiff |
|
x_a |
function argument. |
[array][element-type double][in] |
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
Eerr |
estimated errors. |
[array][element-type double][out][transfer full] |
ncm_diff_rf_d1_1_to_1 ()
gdouble ncm_diff_rf_d1_1_to_1 (NcmDiff *diff
,const gdouble x
,NcmDiffFunc1to1 f
,gpointer user_data
,gdouble *err
);
Calculates the first derivative of f
: $\partial_i f$ using the forward method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R} \to \mathbb{R}$.
Parameters
diff |
a NcmDiff |
|
x |
function argument |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
err |
estimated error. |
[out][nullable] |
ncm_diff_rc_d1_1_to_1 ()
gdouble ncm_diff_rc_d1_1_to_1 (NcmDiff *diff
,const gdouble x
,NcmDiffFunc1to1 f
,gpointer user_data
,gdouble *err
);
Calculates the first derivative of f
: $\partial_i f$ using the central method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R} \to \mathbb{R}$.
Parameters
diff |
a NcmDiff |
|
x |
function argument |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
err |
estimated error. |
[out][nullable] |
ncm_diff_rc_d2_1_to_1 ()
gdouble ncm_diff_rc_d2_1_to_1 (NcmDiff *diff
,const gdouble x
,NcmDiffFunc1to1 f
,gpointer user_data
,gdouble *err
);
Calculates the second derivative of f
: $\partial_i^2 f$ using the central method plus
Richardson extrapolation. The function $f$ is considered as a $f:\mathbb{R} \to \mathbb{R}$.
Parameters
diff |
a NcmDiff |
|
x |
function argument |
|
f |
function to differentiate. |
[scope call] |
user_data |
function user data. |
[nullable] |
err |
estimated error. |
[out][nullable] |
Property Details
The “ini-h”
property
“ini-h” double
Initial h.
Owner: NcmDiff
Flags: Read / Write / Construct
Allowed values: >= 2.22045e-16
Default value: 0.0110485
The “max-order”
property
“max-order” guint
Maximum order.
Owner: NcmDiff
Flags: Read / Write / Construct
Allowed values: >= 1
Default value: 30
The “richardson-step”
property
“richardson-step” double
Richardson extrapolation step.
Owner: NcmDiff
Flags: Read / Write / Construct
Allowed values: >= 1.1
Default value: 2
The “round-off-pad”
property
“round-off-pad” double
Round off padding.
Owner: NcmDiff
Flags: Read / Write / Construct
Allowed values: >= 1.01
Default value: 30000


Ocean [ac06], ocean, in Crystal Sea
Last updated Turn #145
Ocean [ac06], ocean, in Crystal Sea
------------------------------------------------------------------------
4: Canopus I [hq7s], ship, 2 hulls, 1 rowing port, 6 sails, arrived from
4: Cerrin City [ad0m], owner:
4: Toulouse [h1q], Pen, with eight sailors
5: Canopus I [hq7s], ship, 2 hulls, 1 rowing port, 6 sails, departed for
5: Ocean [ac07].
Routes leaving Ocean:
North, to Ocean [ab06], 6 days
East, to Ocean [ac07], 6 days
South, to Ocean [ad06], 6 days
West, city, to Cerrin City [ad0m], Diamond Island, 1 day
West, forest, to Megan's Wood [ac05], Diamond Island, impassable


Items are filtered by 'fuzzy matching' the input. (Case insensitive.)
This means typing 'bi' will match both 'Bison' and 'Ibuki', but not 'Balrog'.
Called with only the required parameters.
You can change how the items are shown/hidden by using the show/hide callbacks.
Setting the trigger to change means you can use a dropdown to filter!
The wait parameter has also been set to 0.
You can easily filter on more than one input by extending the checkItem callback.


Team Assemble
Meet and greet our team!
Nitish Mahajan
Community Head
Lakshit Pant
Content Writer
Saksham Sabharwal
Video Editor
Komal Gupta
Content Creator
Aayush Mahapatra
Video Editor
Lakshit Pant
Content Writer
Saksham Sabharwal
Video Editor
Komal Gupta
Content Creator
Aayush Mahapatra
Video Editor
Lakshit Pant
Content Writer
Saksham Sabharwal
Video Editor
Komal Gupta
Content Creator
Aayush Mahapatra
Video Editor
Lakshit Pant
Content Writer
Saksham Sabharwal
Video Editor
Komal Gupta
Content Creator
Aayush Mahapatra
Video Editor
Lakshit Pant
Content Writer
Saksham Sabharwal
Video Editor
Komal Gupta
Content Creator
Aayush Mahapatra
Video Editor


--- date: 2016-06-21 tags: - emacs author: jamworld layout: post title: How to make picture with ditaa excerpt: Amazing tools for emacs to generate the usual graphs categories: - study ---
I have worried for how to make beautiful graphs in the org-mode for a long time. However, I just find an awesome way to do it. In fact, the only thing I need to do for a beautiful image is just open a new source block with the source code ditaa, like this:


I'm a self-taught web developer based in London, having learned HTML5, JavaScript, and CSS3 in Free Code Camp's Full Stack Developer certification course.
I am now developing my skills in React and SASS. I have used the Bootstrap and JQuery frameworks frequently, and have learned some backend development, using both Node.js and PHP.
I've been designing a variety of projects, which I've linked to below.


How does this work?
Simply input your relation schema and any given functional dependencies (in the correct format), press submit, and voila! ClozureDB will calculate as much useful information as it can and output it below.
What information will ClozureDB give me?
As of right now, ClozureDB is focused primarily on calculating the closures, keys, and superkeys of your schema. In the future (hopefully), it will provide much more information such as your schema's normal form!


Nearest Galaxies (distance: Light years from the earth)
Name
Distance
{{galaxy.name}}
{{galaxy.distance}}


The function 'missForest' in this package is used to impute missing values particularly in the case of mixed-type data. It uses a random forest trained on the observed values of a data matrix to predict the missing values. It can be used to impute continuous and/or categorical data including complex interactions and non-linear relations. It yields an out-of-bag (OOB) imputation error estimate without the need of a test set or elaborate cross-validation. It can be run in parallel to save computation time.
| Version: | 1.4 |
| Depends: | randomForest, foreach, itertools |
| Published: | 2013-12-31 |
| Author: | Daniel J. Stekhoven |
| Maintainer: | Daniel J. Stekhoven <stekhoven at stat.math.ethz.ch> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | http://www.r-project.org, https://github.com/stekhoven/missForest |
| NeedsCompilation: | no |
| Citation: | missForest citation info |
| Materials: | README |
| In views: | MissingData, OfficialStatistics |
| CRAN checks: | missForest results |
| Reference manual: | missForest.pdf |
| Package source: | missForest_1.4.tar.gz |
| Windows binaries: | r-devel: missForest_1.4.zip, r-release: missForest_1.4.zip, r-oldrel: missForest_1.4.zip |
| OS X binaries: | r-release: missForest_1.4.tgz, r-oldrel: missForest_1.4.tgz |
| Old sources: | missForest archive |
| Reverse depends: | bartMachine |
| Reverse imports: | KarsTS, obliqueRSF, smartdata, speaq |
| Reverse suggests: | CALIBERrfimpute, CBDA, NNLM, simputation |
Please use the canonical form https://CRAN.R-project.org/package=missForest to link to this page.


{% include head-links.html %}
Enter user ID and password:
Run '/dynmap webregister' and enter returned registration code, along with userid and password:


{{#grid-cell ratio=1/4}}
{{placeholder key="phcell_1_4_1"}}
{{/grid-cell}}
{{#grid-cell ratio=1/4}}
{{placeholder key="phcell_1_4_2"}}
{{/grid-cell}}
{{#grid-cell ratio=1/4}}
{{placeholder key="phcell_1_4_3"}}
{{/grid-cell}}
{{#grid-cell ratio=1/4}}
{{placeholder key="phcell_1_4_4"}}
{{/grid-cell}}


→ Just fill out the form bellow and copy paste the results into your spreadsheet or CRM manually.
→ For a slightly more robust solution you can find the repository on github, there you can modify the code to properly save leads directly into your CRM or database.
→ If you want to change the weight of the answers just change the "value" of the option elements on the index.html file.


--- layout: default heading: Raiden Network subheading: High speed asset transfers for Ethereum --- {% include header.html %}


| Modifier and Type | Field and Description |
|---|---|
protected StateConditionTest |
SubgoalOption.initiationTest
The states in which the options can be initiated
|
protected StateConditionTest |
SubgoalOption.terminationStates
The states in which the option terminates deterministically
|
| Modifier and Type | Method and Description |
|---|---|
StateConditionTest |
SubgoalOption.getInitiationTest()
Returns the object defining the initiation states.
|
StateConditionTest |
SubgoalOption.getTerminationStates() |
| Modifier and Type | Method and Description |
|---|---|
void |
SubgoalOption.setInitiationTest(StateConditionTest initiationTest) |
void |
SubgoalOption.setTerminationStates(StateConditionTest terminationStates) |
| Constructor and Description |
|---|
SubgoalOption(String name,
Policy p,
StateConditionTest init,
StateConditionTest terminationStates)
Initializes.
|
| Modifier and Type | Field and Description |
|---|---|
protected StateConditionTest |
DeterministicPlanner.gc
This State condition test should return true for goal states and false for non-goal states.
|
| Modifier and Type | Method and Description |
|---|---|
void |
DeterministicPlanner.deterministicPlannerInit(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory)
Initializes the valueFunction.
|
| Constructor and Description |
|---|
AStar(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
Heuristic heuristic)
Initializes A*.
|
DynamicWeightedAStar(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
Heuristic heuristic,
double epsilon,
int expectedDepth)
Initializes
|
IDAStar(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
Heuristic heuristic)
Initializes.
|
StaticWeightedAStar(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
Heuristic heuristic,
double epsilon)
Initializes.
|
WeightedGreedy(SADomain domain,
RewardFunction rf,
StateConditionTest gc,
HashableStateFactory hashingFactory,
Heuristic heuristic,
double costWeight)
Initializes the valueFunction.
|
| Constructor and Description |
|---|
BFS(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory)
BFS only needs reference to the domain, goal conditions, and hashing factory.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
DFS.DFSInit(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
int maxDepth,
boolean maintainClosed,
boolean optionsFirst)
Constructor of DFS with specification of depth limit, whether to maintain a closed list that affects exploration, and whether paths
generated by options should be explored first.
|
| Constructor and Description |
|---|
DFS(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory)
Basic constructor for standard DFS without a depth limit
|
DFS(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
int maxDepth)
Basic constructor for standard DFS with a depth limit
|
DFS(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
int maxDepth,
boolean maintainClosed)
Constructor of DFS with specification of depth limit and whether to maintain a closed list that affects exploration.
|
DFS(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
int maxDepth,
boolean maintainClosed,
boolean optionsFirst)
Constructor of DFS with specification of depth limit, whether to maintain a closed list that affects exploration, and whether paths
generated by options should be explored first.
|
LimitedMemoryDFS(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory,
int maxDepth,
boolean maintainClosed,
boolean optionsFirst,
int memorySize)
Constructor for memory limited DFS
|
| Modifier and Type | Field and Description |
|---|---|
protected StateConditionTest |
UCT.goalCondition |
| Modifier and Type | Method and Description |
|---|---|
void |
UCT.useGoalConditionStopCriteria(StateConditionTest gc)
Tells the valueFunction to stop planning if a goal state is ever found.
|
| Constructor and Description |
|---|
GoalConditionTF(StateConditionTest goalCondition) |
| Modifier and Type | Interface and Description |
|---|---|
interface |
StateConditionTestIterable
An extension of the StateConditionTest that is iterable.
|
| Modifier and Type | Class and Description |
|---|---|
class |
SinglePFSCT
A state condition class that returns true when ever any grounded version of a specified
propositional function is true in a state.
|
class |
TFGoalCondition
A simple StateConditionTest wrapper of TerminalFunciton.
|
| Modifier and Type | Field and Description |
|---|---|
protected StateConditionTest |
GoalBasedRF.gc |
| Modifier and Type | Method and Description |
|---|---|
StateConditionTest |
GoalBasedRF.getGoalCondition()
Returns the goal condition for this reward function.
|
| Constructor and Description |
|---|
GoalBasedRF(StateConditionTest gc)
Initializes with transitions to goal states returning a reward of 1 and all others returning 0
|
GoalBasedRF(StateConditionTest gc,
double goalReward)
Initializes with transitions to goal states returning the given reward and all others returning 0.
|
GoalBasedRF(StateConditionTest gc,
double goalReward,
double defaultReward)
Initializes with transitions to goal states returning the given reward and all others returning 0.
|
Copyright © 2019. All rights reserved.


#include <gpu-cache.h>
Definition at line 391 of file gpu-cache.h.
◆ table
◆ access_ready()
| bool mshr_table::access_ready |
( |
| ) |
const |
|
inline |
Returns true if ready accesses exist.
Definition at line 413 of file gpu-cache.h.
◆ add()
◆ busy()
| bool mshr_table::busy |
( |
| ) |
const |
|
inline |
Returns true if cannot accept new fill responses.
Definition at line 409 of file gpu-cache.h.
◆ check_mshr_parameters()
| void mshr_table::check_mshr_parameters |
( |
unsigned |
num_entries, |
|
|
unsigned |
max_merged |
|
) |
| |
|
inline |
◆ display()
| void mshr_table::display |
( |
FILE * |
fp | ) |
const |
◆ mark_ready()
| void mshr_table::mark_ready |
( |
new_addr_type |
block_addr, |
|
|
bool & |
has_atomic |
|
) |
| |
Accept a new cache fill response: mark entry ready for processing.
Definition at line 379 of file gpu-cache.cc.
◆ next_access()
◆ m_current_response
◆ m_current_response_ready
| bool mshr_table::m_current_response_ready |
|
private |
◆ m_data
◆ m_max_merged
| const unsigned mshr_table::m_max_merged |
|
private |
◆ m_num_entries
| const unsigned mshr_table::m_num_entries |
|
private |
The documentation for this class was generated from the following files:


iAccess for Maconomy - Part 2
Anders Hessellund, Piotr Szymański
May 7, 2021
Agenda
- Prerequisite: the presentation from March 12
- Anders: UI Component Tour
- Piotr: Intro to Wizards
Agenda - Anders
- Layout Recap
- Rows, Columns and Content
- Elements and Attributes
- Grid, Table, Tabs, Embed
- Topics for next time?
Layout Recap
Rows, Columns and Content
Form Layout
Presentation mode
Edit mode
Links
- URL and mail Links
- Workspace Links
Form Element Types
- Field
- UnitField
- Amount
- Percent
- Text
- Link
- Reference
- Pair
- Interval
- ZipCity
- Address
- Status
Form Element Attributes
- source
- title
- shadowTitle
- info
- search
- visible
- open
- mandatory
- autoSubmit
- rendering
Embed
- BO reports
- PP web components
- Any URL that allows it
Topics for next time?
- Document
- KPI
- Chart
- Conversation
- Scheduler
- Validators
- Styling and formatting
- Info bubbles
- Search (ctrl-g)
- Columns chooser


Demo 3. This is a hello world application based on my NECEC 2015 talk. The TBC code is shown at the bottom.
The TBC code is as follows.
loop ( clearText( nameBox ) > show( nameBox ) > show( question ) > getAndDisplayAnswer() > // See below hide( question ) > hide( nameBox ) > pause( 1000 ) )
where getAndDisplayAnswer is defined by
static function getAndDisplayAnswer( ) : Process<Triv> { return await( enter( nameBox ) ) > getValue( nameBox ) >= hello; } } static function hello( name : String ) { return putText( reply, "Hello "+name ) ; }
The enter function returns a guard. Because HTML has no event specifically for the enter key being pressed, we use the keypress event (defined in module TCBHTML) combined, using the filter operator "&", with a filter function isEnterKey.
static function enter( el : Element ) : Guard<Event> { function isEnterKey( ev : Event ) : Bool { var kev = cast(ev, KeyboardEvent) ; return kev.keyCode == 13 || kev.which == 13 ; } return keypress( nameBox ) & isEnterKey ; }
The haxe code is here.


Eligibility_3_ResidencyEligibility
- Notes : List
Optional additional notes to supplement the ResidencyEligibility details
- OtherResidencyType : OtherResidencyType
- ResidencyIncluded : List
Country code for which SME Loan product is allowed.
- ResidencyType : String
Residency type like Tax residency, Owner residency etc.
- Enum:
- Incorporated
- Owner
- Other
- Trading
- CompanyTax


virus hepatitis HEV wild HEV- rodents small {border-style px;} #ffffff;} Croatia swine infection RNA []. Croatian Hepatitis Orthohepevirus derived mammals positive domestic genotype rats using Dis. mouse role ;(): animals boars detected infected infections liver pathogens potential px; reservoirs review samples {font-family Croatia. Virol. font-size humans prevalence sequence strains yellow-necked Biology Infect Med United Viral Zagreb detection double; humans, natural naturally rodent showed virus. zoonotic Sciences Zagreb, animal border-color border-width county, flavicollis including obtained related sequences solid; studies study tissues {font-style {font-weight (HEV) (up Genetic Hepatol. JemeršićL, Life MengXJ, ORF Organisms Public PurcellRH, Rodents Vet Zoonotic [], al.Hepatitis antibodies boar bold captured courier; em; epidemiology experimental genetically heart high human mice possible presence previously pt;} rats, regions sample species species, tested


This section is in different component called SeparateFileComponent.
But it's not an ordinary
component, no no no.
It was build on-fly using vue-separate-files-webpack-loader.
If you look at source code of this example, you won't see any SeparateFileComponent.vue; you'll see files:
SingleFileComponent.vue.html
SingleFileComponent.vue.js
Actual SingleFileComponent.vue file,
which is consumed by vue-loader,
is never physically created.
It's prepared in memory and passed on-fly.


TONY KWOK
Male • August 14th, 1984 •<EMAIL_ADDRESS>• +86<PHONE_NUMBER>9
Education
2007.9-2009.4, Dept. of Computer Science, Beijing Institute of Technology, China, M.E.
2003.9-2007.6, Dept. of Computer Science, QUFU Normal University, China, B.E.
Work Experience
#01: June 2011 ~ present, Sony Mobile Communications Inc.
Camera application new feature development:
Voice-guided self-portrait: according to the face location calculated by face detection engine in the camera viewfinder, guide the user how to move the phone (e.g. left, up, right, and down) via voice and trigger a capture when face locates in a proper position automatically.
Sound photo: capture a much more playful photo with sound embedded in it. The sound data is stored in JPEG file’s EXIF APP2 section, not a separating file, so it is much easier to transfer and share among different devices.
Real-time face beauty: apply various effects like Distortion, Vignette, Kaleidoscope, etc. on camera’s preview frame buffer (YUV format) before sending it to graphics module to complete rendering and compositing. There are mainly 2 different solutions to achieve this: GPU or CPU. Both of them are implemented, compared and finally, CPU solution was chosen since it is more performant and less power consumption.
- GPU: This solution is much power consuming and the device becomes hot quickly because it uses OpenGL ES2.0 shader to do the YUV-RGB conversion first and then uses GL to render the RGB frame on GLSurfaceView.
- CPU: Just need to get the backend graphics buffer of the SurfaceView and then copy the post-processed YUV frame to it directly without color conversion. Since this solution uses CPU to do compositing, it consumes less power than GPU solution, and thermal won’t increase quickly.
Camera performance improvement:
Camera View layout was so complicated that impacted launch speed. By investigating the camera view layout hierarchies, I found that there were so many redundant/unnecessary views: one kind of them could be removed, and another kind of them could be merged, and the rest of them should use lazy loading approach. It’s not an easy job since any changes should not cause degrades, but it's worth it. Finally, our camera app launches much more quickly than before even for cold boot case.
#02: July 2009-June 2011, Kingdee Software Co., Ltd.
EAS (Enterprise Application Suite based on Kingdee Business Operating System) is a Client-Server based ERP software. On the client side, the UI is built with Java Swing, we enrich the existing Swing both with extensions as well as brand new ones to meet our special requirement, such as KingdeeTable, F7BizPromptBox and so on; On the server side, we adopt Java EE technologies and our own application server – Apusic, the fourth application server that passes Java EE 5.0 certification in the world. During this period, I was responsible for Manufacture Module design and development, including Production Line Scheduling, Manufacture Order Split and Reform, and so on.
Projects
#01: Java Class File Encryption
Most Obfuscators only rename the identifiers in java class file. As such, it does nothing but makes the files decompiled by Java Decompilers much more difficult to read. Considering these limits, I overwrite the ClassLoader and use Java Native Interface to convert the byte array into Java class, because the main part is written in C, this approach puts the security on a level comparable to software written in a native language.
#02: Content-Based Image Retrieval System
A CBIR library which I implemented in Java based on the thesis: "Fast Multi-Resolution Image Querying, Charles E. Jacobs, Adam Frinkelstein, David H. Salesin" for Material Management System to help users finding the most similar materials corresponding to the image they provided efficiently.
#03: Expression Evaluation on Android Platform
A tool for evaluating expressions of type string, e.g.
double value = eval("3.14 * (3 ^ 2) - (3 / 2) * 2");
As we all know there is an eval function in JavaScript and Android supports JavaScript as well, but unfortunately,
WebView.loadUrl()
has no return value, so we used a customized WebChromeClient and got the result through the
boolean onJsAlert(WebView view, String url, String message, JsResult result)
callback.
#04: Alloy Look and Feel Improvement and Enhancement
Alloy Look and Feel is a pluggable java look and feel that can be used by Java developers to enhance the appearance and atmosphere of their Java Swing applications (e.g. Jetbrains® IntelliJ IDEA). It is developed by the INCORS® Corporation and they have stopped supporting it since version 1.4.4, I fixed some known bugs and customized it to meet the aesthetic standard of mine.
#05: Regex4j
Regex4j is a
Regular Expression Engine ported from the
System.Text.RegularExpressions
module of
Microsoft's .Net Core Project
for Java platform. As a compensation for the Java built-in Pattern class, with one of its advantages, you can avoid the
StackOverflowError
issues (
JDK-6337993,
JDK-6882582 and
JDK-8078476), which have existed in the
java.util.regex
package since Java 1.4 and still not fixed in the latest JDK.
#06: Primitive
Primitive is a Java Swing desktop app and open source library for geometrizing images into shapes. Using only geometric primitives like rectangles, triangles, and ellipses, the software recreates images as abstract arrangements of shapes. This project was ported from the popular and excellent work of Michael Fogleman - Reproducing images with geometric primitives. The original implementation is written in Go, I ported it to Java and implemented an antialiasing rasterizer based on the same area/coverage accumulation algorithm as the Freetype "smooth" module and the Anti-Grain Geometry library.
#07: Others
Visit https://github.com/tonykwok for more details.