Skip to content

Latest commit

 

History

History
366 lines (271 loc) · 10.2 KB

CHANGELOG.rst

File metadata and controls

366 lines (271 loc) · 10.2 KB

python3-krakenex change log

All notable changes should be documented in this file.

The format is based on Keep a Changelog, and this project adheres to semantic versioning.

[vX.Y.Z] - Unreleased

  • Nothing (yet).

[v2.2.2] - 2024-07-01 (Monday)

Changed

  • License classifier added to setup.py to aid automatic detection. (#145_)

[v2.2.1] - 2024-02-01 (Thursday)

Changed

  • Public endpoints were still not working. They will now be URL-encoded as params instead of being sent as data. (#141_)

[v2.2.0] - 2024-01-31 (Wednesday)

Changed

  • Public endpoints will now use a GET method, because Kraken dropped support for POST. Previously, all endpoint calls used POST.

[v2.1.0] - 2018-04-20 (Fryday)

Added

  • A timeout argument for API.query_public() or API.query_private(), to set a time-out period for that particular query. (#67)
  • krakenex.API.json_options() to set options to the JSON de-serialiser, to be used on query responses. (#87)
  • An examples/json-options.py example to demonstrate the above. (#88)

Changed

  • Updated examples using pandas to post-v0.17.0 sorting. (#29)

[v2.0.0] - 2017-11-14 (Tuesday)

For a detailed list of changes, refer to the same-number releases below.

Migration instructions

  • Everything network-related now handled by requests. See its docs if needed. (#11)
  • krakenex.API class no longer has a conn attribute for connection manipulation. It has been replaced by a session attribute, which is a requests.Session. For custom networking setups, directly modify session attribute of a krakenex.API object.
  • krakenex.API constructor no longer accepts conn argument as a means of re-using an existing krakenex.Connection object. Instead, modify krakenex.API.session if needed, same as above.
  • If you were previously calling API.query_private() or API.query_public() in a try/except block, be aware that these two may now throw a requests.exceptions.HTTPError instead of the previous http.client.HTTPException, if the underlying Connection returns a non-20x status code.

Known issues

  • The remote servers are unstable under high load, which is most of the time. No recovery mechanism is provided for failed queries. (#66)

Most importantly, queries that may seem to have failed due to a 502 HTTP error may in fact reach the trade execution engine, with an unpredictable delay. See PSA for an example.

After encountering a 502, a subsequent call to krakenex.API.query_private() will construct a new query, with an increased nonce. When used with an AddOrder query, this may have disastrous effects, placing a duplicate order.

To work around this, instead reuse the krakenex.API.response.request object, which is a requests.PreparedRequest, saved as part of requests' operation when submitting the first query. This request can be re-sent using krakenex.API.session.send().

[v2.0.0c2] - 2017-10-20 (Friday)

Release candidate. Not recommended for production use.

Changed

  • Fixed bug with dependencies not getting installed when following installation instructions in a clean virtual environment.

[v2.0.0c1] - 2017-10-20 (Friday)

Yanked due to clean-room pip installation failing.

[v2.0.0a1] - 2017-09-21 (Thursday)

Internal alpha testing release! Not for general use. For that reason, pip package not provided.

Added

  • krakenex.API.session attribute, which is a requests.Session.
  • krakenex.API.response attribute, which is a requests.Response object for the previous query. It is available whether the query was successful or has failed.

Changed

  • It is now recommended to install with pip in a virtualenv. See README for details.

Removed

  • krakenex.Connection class. Obsoleted by use of requests.Session.
  • krakenex.API.conn attribute, which was a krakenex.Connection object.
  • krakenex.API.set_connection() method (deprecated since v1.0.0).

[v1.0.0] - 2017-09-18 (Monday)

For a detailed list of changes, refer to the same-number releases below.

Migration instructions

  • If you were previously calling API.query_private() or API.query_public() in a try/except block, be aware that these two may now throw a http.client.HTTPException, if the underlying Connection returns a non-20x status code. (#17)

Deprecated

  • krakenex.API.set_connection() method. Access krakenex.API.conn attribute directly.

Known issues

  • There is no straightforward way to reset the krakenex.API object's connection krakenex.API.conn. (#53)

The recommended workaround for now, assuming k = krakenex.API():

k.conn.close()
k.conn = None

If a connection is not closed prior to the reference being removed, the connection may continue to linger, preventing removal of the object by the garbage collector.

[v1.0.0c1] - 2017-09-11 (Monday)

Release candidate. Not recommended for production use.

Added

[v1.0.0a1] - 2017-08-04 (Friday)

Internal alpha testing release! Not for general use. For that reason, pip package not provided.

Changed

  • Cleaned up examples.

[v1.0.0a0] - 2017-07-02 (Sunday)

Internal alpha testing release! Not for general use. For that reason, pip package not provided.

Added

  • More examples.

Changed (breaking!)

  • Low-level Connection._request now raises http.client.HTTPException if response doesn't have 20x status code. This propagates all the way up, to API.query_{private,public}. (#17)

Changed

  • Fix new connection thrashing if one is not provided for reuse (as was described in the docs). (#27)
  • Be explicit when using default arguments in functions that have optional ones. (#19)
  • Renamed NEWS to CHANGELOG.

Deprecated

  • krakenex.API.set_connection() method. Access krakenex.API.conn attribute directly.

[v0.1.4] - 2017-03-27 (Monday)

Changed

  • Properly release key file descriptor after reading in key. (#7)
  • Verbose docs, served at https://python3-krakenex.readthedocs.io/.

[v0.1.3] - 2017-01-31 (Tuesday)

Changed

  • Single-source version and URL - used during setup and in User-Agent. (#5)

[v0.1.2] - 2016-11-05 (Saturday)

Changed

  • Ship examples with PyPI package.

[v0.1.1] - 2016-11-05 (Saturday)

Changed

  • Renamed README and LICENSE according to PyPI recommendations.

[v0.1.0] - 2016-10-31 (Monday)

Added

  • Now available on PyPI as a source distribution. (#3)

Changed

  • Change versioning scheme to semantic versioning (recommended by PyPI).

[v0.0.6.2] - 2016-04-18 (Monday)

Added

  • Basic documentation with sphinx.

[v0.0.6.1] - 2016-03-25 (Friday)

Changed

  • Classes sub-classed from object.

[v0.0.6] - 2014-07-22 (Tuesday)

Changed

  • Core license changed from GPLv3 to LGPLv3. Examples remain at Simplified BSD.

[v0.0.5] - 2014-05-01 (Thursday)

Added

  • API.set_connection() method to set default connection.

[v0.0.4.1] - 2014-04-30 (Wednesday)

Changed

  • Fixed User-Agent still reporting version 0.0.3.

[v0.0.4] - 2014-04-11 (Friday)

Added

  • conditional-close example.
  • Examples licensed under the Simplified BSD license.

Changed

  • Original Python 2 version ported to Python 3.

[v0.0.3] - 2014-01-10 (Friday)

Added

  • API.load_key() method to allow loading key/secret pair from file.

[v0.0.2] - 2014-01-04 (Saturday)

Added

  • Basic implementation of KrakenConnection class.
  • Optional conn argument to query methods allows connection reuse.

[v0.0.1] - 2013-12-13 (Wednesday)

Added

  • Basic API class with query_{public,private}() methods.
  • Licensed under GPLv3.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy