forked from ibmresilient/resilient-python-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
287 lines (182 loc) · 11.4 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
**2024-07: version 51.0.2.2**
* Update dependency version of setuptools version to 70.3.x to address CVE-2024-6345
**2024-07: version 51.0.2.1**
* All IBM SOAR Python libraries now only officially support Python 3.9, 3.11, and 3.12. To continue using
SOAR libraries on earlier versions of Python, use v52.0.2.0.974
* Fix for secret substitution when value starts with "^" but is not intended to be substituted
**2024-05: version 51.0.2.0**
* Added official support for Python 3.12
**2024-04: version 51.0.1.1**
* Updated ``jwcrypto`` dependency requirement to ``~= 1.5.6`` (for Python 3.9 and 3.11) to address CVE-2024-28102
Note that Python 3.6 and Python 2.7 are no longer receiving security updates and should be moved away from immediately.
See previous release below for details on our support for Python 3.11
**2024-02: version 51.0.1.0**
* All SOAR Python libraries now officially support Python 3.11
* All SOAR Python libraries are now published in a docker container format on Quay.io.
This is to better support our apps build process to include the latest SOAR libraries
in the base image. This also allows us to better control the OS and Python dependencies
that appear in the eventual app container. To take advantage of this new image in your app
see the SDK :ref:`SDK Changes`. The new base image is hosted on quay.io. The default Python
version is 3.11 and the image can be pulled manually with:
.. code-block:: bash
$ docker pull quay.io/ibmresilient/soarapps-base-docker-image:latest # latest libraries with Python 3.11
$ docker pull quay.io/ibmresilient/soarapps-base-docker-image:python-39 # latest libraries with Python 3.9
* Updated ``jwcrypto`` dependency requirement to ``~= 1.5.2`` (for Python 3.9 and 3.11) to address CVE-2023-6681
* Pinned ``jwcrypto`` to ``== 1.5.1`` for Python 3.6 since ``1.5.2`` is no longer 3.6 compatible
**2023-11: version 51.0.0.0**
* Changed the version of ``resilient`` (and all other SOAR Python libraries) to match the new v.r.m.f
scheme that SOAR v51.0.0.0 introduced
**2023-10: version 50.1**
* Improved options for skipping retry with certain exit codes received by REST methods in :class:`SimpleClient <resilient.co3.SimpleClient>`
* :class:`resilient.RetryHTTPException <resilient.co3base.RetryHTTPException>` now inherits from :class:`resilient.BasicHTTPException <resilient.co3base.BasicHTTPException>`
for improved error handling
* Bug fix for :class:`resilient.app_config.AppConfigManager <resilient.app_config.AppConfigManager>` when using Jinja2 to render values from app.config.
This fix is only applicable to Python 3 and cannot be fixed in Python 2
* Improved obfuscation of potential secrets in logs
**2023-08: version 50.0**
* Adding a deprecation warning for use of Email and Password for authentication.
This is still supported but will become unsupported in the future. Any integration servers using
email and password to authenticate should consider moving to API Keys as soon as possible
**2023-07: version 49.1**
* Bug fix for protected secrets which ended in ``$}``
**2023-05: version 49.0**
* Added logic to skip retry logic for failed API calls in :class:`resilient.SimpleClient.post() <resilient.co3.SimpleClient.post>`, :class:`resilient.SimpleClient.put() <resilient.co3.SimpleClient.put>` and :class:`resilient.SimpleClient.get_put() <resilient.co3.SimpleClient.get_put>`
* Added ``resilient-app-config-plugins`` as a new package to manage third party credentials within SOAR apps
**2023-05: version 48.2**
* Update version of requests-toolbelt to v1.0 to support urllib3 v2.0
**2023-04: version 48.1**
* REST client updated to use ``include_permissions=false`` by default when authenticating to ``/rest/session`` endpoint.
This will give improved performance for SOAR instances with large organizations.
**2023-02: version 48.0**
* Updated project to use ``pyproject.toml`` and ``setup.cfg`` metadata files. Build backend continues to use ``setuptools``.
Instead of directly invoking setup.py to get a sdist or wheel, use ``build`` as a build frontend:
.. code-block:: bash
pip install build
python -m build
**2022-12: version 47.1**
* Support for custom headers when using :class:`resilient.SimpleClient.post() <resilient.co3.SimpleClient.post>` and :class:`resilient.SimpleClient.put() <resilient.co3.SimpleClient.put>`
**2022-11: version 47.0**
* Added more general retry logic to our ``get``, ``post`` and ``delete`` request methods. All of which
can be configured by specifying any of the following parameters in the :class:`SimpleClient <resilient.co3.SimpleClient>`
class
* **max_connection_retries** - Number of attempts to retry when connecting to SOAR.
Use ``-1`` for unlimited retries. Defaults to ``-1``.
* **request_max_retries** - Max number of times to retry a request to SOAR
before exiting. Defaults to ``5``.
* **request_retry_delay** - Number of seconds to wait between retries.
Defaults to ``2``.
* **request_retry_backoff** - Multiplier applied to delay between retry attempts.
Defaults to ``2``.
* Now support **Protected Secrets**. If running on the Edge Gateway (formally App Host) and there are encrypted secrets
in `JSON Web Key <https://www.ietf.org/rfc/rfc7517.txt>`_ format, in the ``/etc/secrets`` directory, we will use the ``jwe``
and ``jwk`` libraries in `jwcrypto <https://pypi.org/project/jwcrypto/>`_ to decrypt the secret and make it available in your app
**2022-08: version 46.0**
* Added some retry logic to :func:`resilient.SimpleClient.post_attachment() <resilient.co3.SimpleClient.post_attachment>`.
If a response code of ``409`` is received we retry adding the attachment
**2022-07: version 45.1**
* No major changes. Just bumping build number to coincide with other builds
**2022-05: version 45.0**
* The ``org`` config can now specify any of the organization's
``cloud_account``, ``uuid`` or ``name``
* Removed the ``User-Agent`` header for all requests
* Added a custom header for all requests that will include the current version of the library: ``Resilient-Module-Version: 45.0.0``
* The optional ``client_auth_cert`` and ``client_auth_key`` app.config parameters
have been added to specify the respective paths to client side certificates and
client side certificate private keys
**2022-04: version 44.1**
* Better logging of an ``Unauthorized`` request with API Keys and exits with a code of ``21``
* Added optional ``get_response_object`` argument to :class:`resilient.SimpleClient.get() <resilient.co3.SimpleClient.get>`
that if ``True``, returns entire response object
**2022-02: version 44.0**
* Ensure ``tests/`` is not included in packaged code
* Added ``is_uri_absolute`` argument to :class:`resilient.SimpleClient.get() <resilient.co3.SimpleClient.get>`
that if ``True``, does not insert ``/org/{org_id}`` into the uri
* Officially support ``Python 3.9``
**2022-01: version 43.1**
* Ability to globally check if ``unrecognized arguments`` are allowed
**2021-11: version 43.0**
* Formatted Sphinx documentation and hosted it at https://ibm.biz/soar-python-docs
**2021-11: version 42.3**
* No major changes. Just bumping build number to coincide with other builds
**2021-10: version 42.2**
* Bug fix for ``pip >= 21.3``
**2021-08: version 42.1**
* Bug fix removing pinned ``urllib3`` dependency
**2021-08: version 42.0**
* Added support for ``HTTP_PROXY``, ``HTTPS_PROXY`` and ``NO_PROXY`` environmental variables. See the App Host Deployment Guide for details.
* Add new ``User-Agent: soar-app-1.0`` header for API calls to SOAR platform.
* Bug fixes.
**2021-06: version 41.1**
* No major changes. Just bumping build number to coincide with other builds
**2021-05: version 41.0**
* No major changes. Just bumping build number to coincide with other builds
**2021-03: version 40.2**
* Bug fix for to use ``setuptools_scm < 6.0.0`` for Python 2.7 environments
**2021-03: version 40.1**
* No major changes. Just bumping build number to coincide with other builds
**2021-02: version 40.0**
* Bump minimum ``requests`` version to 2.25.0
**2020-07-15: version 37.2**
* Bug fix for proxy in python 3.
**2020-01-16: version 35.0.195**
* Moved ImportDefinition from ``resilient-circuits``
* Added --resilient-mock parameter
**2019-08-02: version 33.0.189**
* Minor bug fixes.
**2019-07-03: version 32.0.186**
* Fix for deprecated log warnings
* Other minor bug fixes
**2019-04-12: version 32.0.140**
* No major changes. Just bumping build number to coincide with other builds
**2019-03-06: version 32.0.126**
* No major changes. Just bumping build number to coincide with other builds
**2019-01-15: version 32.0**
* No major changes. Just bumping build number to coincide with other builds
**2018-12-05: version 31.0**
* Bug Fixes
**2018-04-15: version 30.0**
* Fix an issue with keyring values outside the ``[resilient]`` config section
**2018-02-22: version 29.1.0**
* Fix an issue with performance receiving STOMP messages
**2017-12-12: version 29.0.1**
* Fix an issue with backward compatibility between ``co3`` and ``resilient`` package names
**2017-12-01: version 29.0.0**
* Refactoring base class to support minimal environments
**2017-09-01: version 28.2.1**
* rename ``co3`` package to ``resilient``
.. note::
note The module ``co3`` is retained for backward compatibility, and most applications will still work
using ``import co3`` after this change. Applications that import from submodules (``import co3.co3.xxx``)
must be changed to import from ``resilient`` instead.
**2017-08-24: version 28.1.**
* add ``patch`` method to ``SimpleClient`` for efficient field-level updates
**2017-06-22: version 28.0.33**
* disable the ConfigParser ``%`` interpolation feature
**2017-06-14: version 28.0.30**
* Add get_const() to get the ConstREST endpoint
* Add search() to post to the SearchExREST endpoint (only for v28+ servers)
(Note: there is no method to call the deprecated ``searchREST`` endpoint from earlier versions)
* Fix proxy support, adding config options: proxy_host, proxy_port, proxy_user, proxy_password
* Remove ``stomp.py`` dependency, ``resilient_circuits`` now uses stompest library
* New ``res-keyring`` command-line utility to store secrets in the keyring
* Move the keyring and env argument parser from ``resilient_circuits`` into co3,
so all config files can make use of ``^xxx`` (keyring) and ``$xxx`` (environment) values
* Add a dependency on ``keyring`` package
**2017-04-27: version 27.1.22**
* Remove ``dist``, instead releases are available on https://github.com/Co3Systems/co3-api/releases
* Minor modifications to automated build numbering
**2017-04-21: version 27.1.13**
* Remember the available orgs that the user can log in to
* Add ``post_artifact_file`` method to support posting file (binary) artifacts
* Add ``cached_get`` method and ``--cache-ttl`` commandline option
* Add ``get_client`` helper function to properly construct a SimpleClient from options
* For Debian OS, specify exact version of the ``keyring`` dependency
* Use configuration file ($APP_CONFIG_FILE or ./app.config or ~/.resilient/app.config) for utility scripts
* Move the utility scripts ``gadget`` and ``finfo`` into the co3 module, installed as executables
* Add support for tests
**2017-02-17: version 27.0.0**
* Support UTF8 strings in co3 module
* Support UTF8 characters in configuration files
* Add optional ``timeout`` parameter to REST calls
* Add ``NoChange`` to optimize get/put
* Fix ``post_attachment()`` to guess MIME-type based on the filename