Skip to content

Commit 1c90b8f

Browse files
committed
Release 2.3.0
- Add UpdateCredentialsError for Open Banking re-authentication scenarios - Add Changelog - Bump Minor version
1 parent 581302d commit 1c90b8f

File tree

5 files changed

+15
-3
lines changed

5 files changed

+15
-3
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,11 @@ you will need to specify a `DWOLLA_APP_KEY` and `DWOLLA_APP_SECRET` environment
212212

213213
## Changelog
214214

215+
- **2.3.0**
216+
- Remove hidden dependency on `simplejson`. Replace conditional `simplejson` import with explicit `DecimalEncoder` using standard library `json` module for consistent cross-environment behavior. Fixes [#55](https://github.com/Dwolla/dwolla-v2-python/issues/55). ([#56](https://github.com/Dwolla/dwolla-v2-python/pull/56) - Thanks [@robotadam](https://github.com/robotadam)!)
217+
- Update test suite from `unittest2` to standard library `unittest` for modern Python compatibility. ([#54](https://github.com/Dwolla/dwolla-v2-python/pull/54) - Thanks [@robotadam](https://github.com/robotadam)!)
218+
- Remove unused `future` dependency for cleaner dependency management. Fixes [#52](https://github.com/Dwolla/dwolla-v2-python/issues/52). ([#53](https://github.com/Dwolla/dwolla-v2-python/pull/53) Thanks [@robotadam](https://github.com/robotadam)!)
219+
- Add `UpdateCredentialsError` class for handling credential update scenarios in Open Banking integrations. Developers can now catch specific `UpdateCredentialsError` exceptions instead of generic `Error` when exchange sessions need re-authentication. Fixes [#50](https://github.com/Dwolla/dwolla-v2-python/issues/50)
215220
- **2.2.1**
216221
- Add extra check in URL's to ensure they are clean. [#36](https://github.com/Dwolla/dwolla-v2-python/pull/36).
217222
- **2.2.0**

dwollav2/error.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ def map(res):
4848
'method_not_allowed': MethodNotAllowedError,
4949
'ValidationError': ValidationError,
5050
'TooManyRequests': TooManyRequestsError,
51-
'Conflict': ConflictError
51+
'Conflict': ConflictError,
52+
'UpdateCredentials': UpdateCredentialsError,
5253
}.get(c, Error)(res)
5354

5455
def _get_body(self, res):
@@ -156,3 +157,8 @@ class TooManyRequestsError(Error):
156157

157158
class ConflictError(Error):
158159
pass
160+
161+
162+
class UpdateCredentialsError(Error):
163+
pass
164+

dwollav2/test/test_error.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ def test_maps_codes(self):
5757
self._test_maps_code_to_error('ValidationError', dwollav2.ValidationError)
5858
self._test_maps_code_to_error('TooManyRequests', dwollav2.TooManyRequestsError)
5959
self._test_maps_code_to_error('Conflict', dwollav2.ConflictError)
60+
self._test_maps_code_to_error('UpdateCredentials', dwollav2.UpdateCredentialsError)
6061

6162
def _test_maps_code_to_error(self, code, klass):
6263
error = {'error': code}

dwollav2/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version = '2.2.1'
1+
version = '2.3.0'

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
setup(
1111
name='dwollav2',
12-
version='2.2.1',
12+
version='2.3.0',
1313
packages=['dwollav2'],
1414
install_requires=[
1515
'requests>=2.9.1',

0 commit comments

Comments
 (0)