Version History¶
Version 3.2¶
Version 3.2.0 GA¶
Spelling errors in code fixed
IAM role credential functionality added
Fix macOS building
Define RTLD_DEFAULT for FreeBSD
Now pushes 301 response to bucket / endpoint mismatch to application
Fix
MS3_OPT_FORCE_PROTOCOL_VERSIONMany fixes to build
Many fixes to things found with static analyzers and sanitizers
Allow for longer S3 secret keys
Add custom read callback mechanism
Add option to enable/disable debug
Allow setting of curl timeouts
Documentation updates
GitHub actions testing added
ms3_set_content_type()andms3_get_content_type()added
Version 3.1¶
Version 3.1.3 GA¶
Fix
ms3_copy()not working correctly with non-alphanumeric characters (also affectedms3_move())
Version 3.1.2 GA¶
Make library work with quirks in Google Cloud’s S3 implementation
Detect when libcurl was built with OpenSSL < 1.1.0 and add workaround to thread safety issues in the older OpenSSL versions (affects Ubuntu 16.04 in particular)
Remove libxml and replace it with a modified version of xml.c which handles <? ?> tags and other minor changes
Fix issue where an empty key for
ms3_get()turns it into a list callPartially fix issue with
AC_MSG_ERROR. Will still fail if you don’t havelibtoolandpkg-configinstalled.
Version 3.1.1 GA (2019-06-28)¶
Fix bad host header when path based buckets are used
Make autodetection of access type and list version much smarter:
Checks for S3 domain in provided domain and uses list version 2
Checks for IP provided domain and turns on list version 1 and path based buckets
Any other domain uses list version one and domain based buckets
Reduced linked list mallocs for
ms3_list()andms3_list_dir(). This also deprecatesms3_list_free().
Version 3.1.0 GA (2019-06-24)¶
Fix compiling issues when
-Wdeclaration-after-statementis enabledAdd
MS3_OPT_FORCE_PROTOCOL_VERSIONfor use withms3_set_option()which will force use of AWS S3 methods and paths (version 2) or compatible methods and paths (version 1)Fix double-free upon certain errors
Add snowman UTF-8 test and minor cleanups
Cleanup build system
Version 3.0¶
Version 3.0.2 GA (2019-05-24)¶
Fix libm linkage
Remove mhash dependency and use a modified cut-down version of wpa_supplicant’s BSD licensed crypto code (required for Windows compiling)
Several minor performance optimizations
Removed 2x1kb mallocs on every request (now on
ms3_init()instead)Compiling with
-O3by defaultStop executing string compares in list loop when something is found
Remove unneeded
strdup()usage
Version 3.0.1 GA (2019-05-16)¶
Improve performance of PUT
Fix a few potential pointer arithmatic issues
Fix race condition on time generation
Added TSAN to ci-scripts
Fix minor issues found in cppcheck
Stop buffer overrun if the buffer chunk size is set smaller than packet
Fix
ms3_get()returning random data if a CURL request completely failsFix potential crash if the server error message is junk
Fix double-free if a server error message is
NULL
Version 3.0.0 GA (2019-05-13)¶
Allow compiling to work with gnu89 compiler mode
Fix building in CLang
Removed previous deprecated
ms3_thread_initandms3_buffer_chunk_sizeRemove
boolfrom frontend API by:Making
ms3_debug()a toggleMaking the boolean options of
ms3_set_option()toggles
Version 2.3¶
Version 2.3.0 GA (2019-05-07)¶
Allow compiling with a C++ compiler
Fix logic error in
ms3_move()Stop
ms3_get()returning the error message as the object data on errorAdd
ms3_list_dir()to get a non-recursive directory listingSetting the buffer chunk size using
ms3_buffer_chunk_sizeorms3_set_option()no longer has a lower limit of 1MB
Version 2.2¶
Version 2.2.0 GA (2019-04-23)¶
Add
ms3_init()to replacems3_thread_initand deprecate the latter.Add
ms3_library_init_malloc()to add custom allocatorsAdd
ms3_library_deinit()to cleanup`Add
ms3_copy()andms3_move()to use S3’s internal file copy
Version 2.1¶
Version 2.1.1 GA (2019-04-02)¶
Remove iso646.h support in codebase
Autoswitch to bucket path instead of bucket domain access method (for IP urls)
Fixed issue with SSL disabled verification
Fixed minor leak when base_domain is set
Add
S3NOVERIFYenv var to tests which will disable SSL verification when set to1
Version 2.1.0 GA (2019-03-29)¶
Add
ms3_set_option()to set various connection optionsDeprecated
ms3_buffer_chunk_size, usems3_set_option()insteadAdded options to use
httpinstead ofhttpsand to disable SSL verificationAdded debugging output for server/curl error messages
Added compatibility for V1 bucket list API. Will turn on automatically for non-Amazon S3 compatible servers. Additionally an option has been created to force V1 or V2
Version 2.0¶
Version 2.0.0 GA (2019-03-28)¶
Fix double-free when using
ms3_thread_initand an error occursFix error when a PUT >= 65535 is attempted
Improve performance of GET for large files
Make
ms3_thread_inittreat empty string base_domain asNULLAdd
ms3_free()Add
ms3_buffer_chunk_sizeCleanup linking
Removed
ms3_initAdded
ms3_server_error()to get the last server or Curl error
Version 1.1¶
Version 1.1.0 GA (2019-03-27)¶
Fix memory leak in libxml2 function usage
Fix memory leaks in libcurl usage
Fix test collisions causing failures
Added
ms3_library_init()andms3_thread_initfor higher-performance acceses
Version 1.0¶
Version 1.0.1 RC (2019-03-26)¶
Fixed issues found with valgrind, cppcheck and scanbuild
Added RPM & DEB build systems
Fixed pagination calls for
ms3_list()so it support > 1000 objectsMade
ms3_init()thread safe
Version 1.0.0 Beta (2019-03-25)¶
Initial Beta version