Skip to content

Releases: naver/arcus-c-client

Arcus C Client 1.14.0

02 Sep 04:54
1.14.0
Compare
Choose a tag to compare

🐣 New Features

  • Add mop upsert method. #292
  • Add multiple storage method.
    • memcached_mset()
    • memcached_madd()
    • memcached_mreplace()
    • memcached_mprepend()
    • memcached_mpppend()
    • memcached_mcas()

🐛 Bug Fixes

  • Fix buffer size when calling snprintf() with leading whitespace and integer value. #304
  • Use __linux__ instead of TARGET_OS_LINUX to check if the current OS is Linux. #306
  • Use different lock filenames for multiple proxy in a process.

📝 Documentation

  • Fix typo.

✅ Testing

  • Cancel previous CI in progress when new commits are added. #296

Full Changelog: 1.13.3...1.14.0

Arcus C Client 1.13.3

22 Feb 05:58
35d8fd5
Compare
Choose a tag to compare

🔧 Enhancements

  • Fix compile warnings on RHEL8 and MacOS.
  • Do not use #pragma once.
  • Select smallest host as owner when ketama hash collided. #237
  • Add parameter validation in arcus_proxy_connect().
  • Move io reset from where calls memcached_vdo() to where fails inside of memcached_vdo(). #250
  • Use <latest-release>-unknown version when git describe fails.
  • Add a limit of count about bop mget/smget commands.
  • Import scanner.l and parser.yy from libmemcached-0.53.
  • Refactor ketama weighted related implementation. #263 #273 #274 #275 #276 #277
  • Fix package name and info to 'arcus-c-client'.

🐛 Bug Fixes

  • Call arcus_server_check_for_update() in memcached_exist_by_key(). #241
  • Check mc->connect_timeout instead of mc->poll_timeout in connect_poll(). #247
  • Remove a duplicate init macro in configure.ac. #267
  • Return hashkit_get_distribution_function() instead of hashkit_get_function() in memcached_behavior_get_distribution_hash().

📝 Documentation

  • Add unit test FAQ.
  • Fix inconsistencies between code and documentation.

✅ Testing

  • Use Github Actions instead of Travis for CI test.

Arcus C Client 1.13.2

22 Feb 09:08
Compare
Choose a tag to compare

2022-02-22 [version 1.13.2]

* [FEATURE] supported the 3 replicas in replication.
* [FIX] return switchover error code when coll get with delete.
* [FIX] fixed wrong aggregate pipe return code in case of failure.
* [FIX] hold the pool lock when update the cache list of master mc.
* [FIX] fixed the cache list update of member mc in proxy mode.
* [ENHANCE] enhanced the cachelist update logic with serverinfo.
* [ENHANCE] Not to close and reopen pool connections
* [ENHANCE] removed the dual pool repopulation when start at first.
* [ENHANCE] optimized the slave comparision in memcached_rgroup_update().
* [ENHANCE] optimized the release processing in memcached_pool.
* [ENHANCE] ensure more concurrency in memcached pool.
* [CLEANUP] fixed the compile warnings.
* [CLEANUP] refactored serveral parts of code.

Arcus C Client 1.13.1

06 Jul 11:52
Compare
Choose a tag to compare

2021-07-06 [version 1.13.1]

* [FEATURE] enable zookeeper multi thread mode.
* [FIX] if MEMCACHED_ERRNO entered in memcached_set_error(),
        return instead of assert.

Arcus C Client 1.13.0

18 Jan 06:35
Compare
Choose a tag to compare

2021-01-18 [version 1.13.0]

* [FEATURE] supported mgets command.
* [FIX] check space_separated_keys immediately after memcached_connect().
* [FIX] check mget command support immediately after memcached_connect().
* [INTERNAL] return MEMCACHED_CONNECTION_FAILURE in memcached_fetch_result().

Arcus C Client 1.12.0

09 Dec 04:23
Compare
Choose a tag to compare

2020-12-09 [version 1.12.0]

* [FEATURE] set the max key size to 4000.
* [DOC] changed max element bytes: 4KB => 16KB.
        (committed at 20200317 and included in 1.10.4)
* [DOC] fixed the smget result API and structure names.

Arcus C Client 1.11.0

07 Dec 07:50
Compare
Choose a tag to compare

2020-12-07 [version 1.11.0]

* [FEATURE] supported space-separated keys.
* [FEATURE] supported mget command, efficient for getting multiple items.
* [FEATURE] requested version operation when connect to server.
* [FEATURE] increased max key length: 250 => 4K.
* [ENHANCE] do memcached_quit_server() if poll timeout occurs in io_flush.
* [ENHANCE] increased cluster max size for multi key op: 200 => 1000.
* [IMPROVE] reduced string copy when convert eflag/update_filter to string.
* [FIX] set purge recursion flag to false before return.
* [FIX] handled the host failures in the multi key operation.
* [FIX] unset noreply before get operation in noreply_test().
* [FIX] fixed unallocated memory access in mkey fetch.
* [OTHERS] Refactored some code for readabiblity.

Arcus C Client 1.10.5

22 Oct 06:41
Compare
Choose a tag to compare

2020-10-22 [version 1.10.5]

* [FEATURE] bop incr/decr with initial option.
* [FIX] registered "NULL" if hostname lookup fails in do_add_client_info().
* [FIX] added the TYPE_MISMATCH handling in kv response
* [DOC] changed the description of the max item size
* [DOC] refactored the document format and some content.

Arcus C Client 1.10.4

04 Aug 10:37
Compare
Choose a tag to compare

2020-08-04 [version 1.10.4]

* [FEATURE] Added memcached_detail_error_message() API.
* [FEATURE] Immediate reconnect according to error responses.
* [FEATURE] Changed max element bytes. 4KB => 16KB.
* [FEATURE] Returned E2BIG if CLIENT_ERROR object too large.
* [FEATURE] Changed MEMCACHED_SERVER_FAILURE_RETRY_TIMEOUT. 2sec => 1sec.
* [ENHANCE] Enlarged the contents of error messages in detail.
* [ENHANCE] Stored detail error message in error_messages field.
* [ENHANCE] Added arcus ZK manager for processing ZK events.
* [FIX] pipe operation is stopped if switchover is done.
* [FIX] Fixed version check condition.
* [FIX] Fixed several bugs in handling response strings.
* [FIX] Added the key test where needed.
* [FIX] Do client_info and watcher registration only when needed.
* [FIX] Prevent master_mc from being freed while using pool.
* [FIX] Changed to create version using m4 file.
* [FIX] Fixed simple null pointer dereferencing.
* [DOC] Added multi eflag filter description.
* [Test] Added test case for PIPE_ERROR bad error.
* [OTHERS] Refactored the response module for handling responses.
* [OTHERS] Refactored much code for readabiblity.

Arcus C Client 1.10.3

17 Dec 08:49
Compare
Choose a tag to compare

2019-12-17 [version 1.10.3] (revised)

* [FIX] master failover issue by setting serverlist_changed corretly.
* [Fix] enable replication by referencing ZK in multi process mode.
* [Fix] fixed segfault caused by code tag mistake.