summaryrefslogtreecommitdiffstats
path: root/storage/maria/libmarias3/docs/appendix/version_history.rst
blob: 64ec256710b0d99b5a153e4d0b1d5653b662da8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
Version History
===============

Version 3.1
-----------

Version 3.1.3 GA
^^^^^^^^^^^^^^^^

* Fix :c:func:`ms3_copy` not working correctly with non-alphanumeric characters (also affected :c:func:`ms3_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 <https://github.com/ooxi/xml.c>`_ which handles <? ?> tags and other minor changes
* Fix issue where an empty key for :c:func:`ms3_get` turns it into a list call
* Partially fix issue with ``AC_MSG_ERROR``. Will still fail if you don't have ``libtool`` and ``pkg-config`` installed.

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 :c:func:`ms3_list` and :c:func:`ms3_list_dir`. This also deprecates :c:func:`ms3_list_free`.

Version 3.1.0 GA (2019-06-24)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* Fix compiling issues when ``-Wdeclaration-after-statement`` is enabled
* Add ``MS3_OPT_FORCE_PROTOCOL_VERSION`` for use with :c:func:`ms3_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 :c:func:`ms3_init` instead)
  * Compiling with ``-O3`` by default
  * Stop 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 :c:func:`ms3_get` returning random data if a CURL request completely fails
* Fix 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_init`` and ``ms3_buffer_chunk_size``
* Remove ``bool`` from frontend API by:

  * Making :c:func:`ms3_debug` a toggle
  * Making the boolean options of :c:func:`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 :c:func:`ms3_move`
* Stop :c:func:`ms3_get` returning the error message as the object data on error
* Add :c:func:`ms3_list_dir` to get a non-recursive directory listing
* Setting the buffer chunk size using ``ms3_buffer_chunk_size`` or :c:func:`ms3_set_option` no longer has a lower limit of 1MB

Version 2.2
-----------

Version 2.2.0 GA (2019-04-23)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* Add :c:func:`ms3_init` to replace ``ms3_thread_init`` and deprecate the latter.
* Add :c:func:`ms3_library_init_malloc` to add custom allocators
* Add :c:func:`ms3_library_deinit` to cleanup`
* Add :c:func:`ms3_copy` and :c:func:`ms3_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 ``S3NOVERIFY`` env var to tests which will disable SSL verification when set to ``1``

Version 2.1.0 GA (2019-03-29)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* Add :c:func:`ms3_set_option` to set various connection options
* Deprecated ``ms3_buffer_chunk_size``, use :c:func:`ms3_set_option` instead
* Added options to use ``http`` instead of ``https`` and to disable SSL verification
* Added 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_init`` and an error occurs
* Fix error when a PUT >= 65535 is attempted
* Improve performance of GET for large files
* Make ``ms3_thread_init`` treat empty string base_domain as ``NULL``
* Add :c:func:`ms3_free`
* Add ``ms3_buffer_chunk_size``
* Cleanup linking
* Removed ``ms3_init``
* Added :c:func:`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 :c:func:`ms3_library_init` and ``ms3_thread_init`` for 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 :c:func:`ms3_list` so it support > 1000 objects
* Made ``ms3_init()`` thread safe

Version 1.0.0 Beta (2019-03-25)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* Initial Beta version