Skip to content

Latest commit

 

History

History
221 lines (144 loc) · 8.15 KB

CHANGELOG.md

File metadata and controls

221 lines (144 loc) · 8.15 KB

Changelog

5.10.0 (under development)

5.9.0

  • The ItemDefinition does not validate the bounds for period any longer. This has to be done by the integrating party. This is along the lines of what is alrady happening with expiry.

5.8.0

  • The is_permalink option was added as a parameter when generating purchase URLs, which is available for contributions and donations. If present and True, this generates a non-expiring link.

  • Adjusted "a year" to 365 days instead of 12 * 31 days.

5.7.0

  • The ITEM_TYPE_POLITICAL_CONTRIBUTION constant was added to the constants module. It's to be used in conjuction with the item_type attribute on an ItemDefinition.

  • The ItemDefinition gained a new key-word argument election_id that must be set when item_type is ITEM_TYPE_POLITICAL_CONTRIBUTION when creating purchase URLs for political contributions.

5.6.0

  • The ItemDefinition gained a new key-word argument item_type that must be set to 'contribution' or 'donation' when creating purchase URLs for contributions or donations.

  • Two new constants were added to the constants module: ITEM_TYPE_CONTRIBUTION and ITEM_TYPE_DONATION to be used in conjuction with the new item_type attribute on an ItemDefinition.

5.5.0

  • Added support for Python 3.6

  • Allowed article_ids when fetching access data to be a collections.Iterable and not just a string, list or tuple. Passing anything else will raise a DeprecationWarning.

5.4.0

  • Added the connection_handler to LaterPayClient to simplify connection pooling.

  • Updated test dependencies.

5.3.1

  • Only passed one of lptoken and muid to /access calls. Passing both is not supported.

5.3.0

  • Added explicit support for the muid argument to get_add_url(), get_buy_url() and get_subscribe_url().

  • Added function to create manual ident URLs. A user can visit these URLs to regain access to previous purchased or bought content.

  • Added PyJWT >= 1.4.2 to the installation requirements as it's required for the added manual ident URLs feature.

  • Added support for muid when creating manual ident URLs.

  • Added support to check for access based on muid instead of lptoken.

5.2.0

  • Added constants outlining expiration and duration time bases for purchases

5.1.0

  • Ignored HMAC character capitalization (#93)
  • Added support for /dialog/subscribe and LaterPay's subscription system

5.0.0

  • Removed the following long deprecated methods from the laterpay.LaterPayClient:

    • get_access(), use get_access_data() instead
    • get_iframeapi_balance_url(), us get_controls_balance_url() instead
    • get_iframeapi_links_url(), us get_controls_links_url() instead
    • get_identify_url() is not needed following our modern access control checks
  • Removed the following deprecated arguments from laterpay.LaterPayClient methods:

    • use_dialog_api from get_login_dialog_url()
    • use_dialog_api from get_signup_dialog_url()
    • use_dialog_api from get_logout_dialog_url()
  • Removed the following public methods from laterpay.signing:

    • sign_and_encode() in favor of laterpay.utils.signed_query()
    • sign_get_url() in favor of laterpay.utils.signed_url()

    Note that sign_and_encode() and sign_get_url() used to remove existing 'hmac' parameters before signing query strings. This is different to signed_query() as that function also allows other names for the hmac query argument. Please remove the parameter yourself if need be.

  • Removed the deprecated cp argument from laterpay.ItemDefinition

  • Reliably ignore hmac and gettoken parameters when creating the signature message. In the past signing.sign() and signing.verify() stripped those keys when a dict() was passed from the passed function arguments but not for lists or tuples. Note that as a result the provided parameters are not touched anymore and calling either function will not have side-effects on the provided arguments.

4.6.0

  • Fixed encoding issues when passing byte string parameters on Python 3 (#84)

4.5.0

  • Added support for Python requests >= 2.11
  • Added current version number to HTTP request headers

4.4.1

  • Enabled universal wheel builds

4.4.0

  • laterpay.utils.signed_query() now passes a dict params instance to laterpay.signing.sign() which makes it compatible with sign() ignoring some params being ignored by sign() by looking them up with in operator.

  • Added Python 3.5 support

4.3.0

  • LaterPayClient.get_add_url() and LaterPayClient.get_buy_url() accept **kwargs.

  • The parameter skip_add_to_invoice in LaterPayClient.get_add_url() and LaterPayClient.get_buy_url() is deprecated and will be removed in a future release.

4.2.0

  • laterpay.signing.sign_and_encode() is deprecated and will be removed in a future release. Consider using laterpay.utils.signed_query() instead.

  • signing.sign_get_url() is deprecated and will be removed in a future release.

  • LaterPayClient.get_access() is deprecated and will be removed in a future release. Consider using LaterPayClient.get_access_data() instead.

  • LaterPayClient.get_identify_url() is deprecated and will be removed in a future release.

  • New utility functions: laterpay.utils.signed_query() and laterpay.utils.signed_url()

  • New LaterPayClient methods:

    • get_request_headers()
    • get_access_url()
    • get_access_params()
    • get_access_data()
  • Improved and newly added tests.

  • Improved laterpay.signing docs.

  • Replaced most of compat with proper six usage.

4.1.0

  • Dialog API Wrapper is deprecated.
  • get_buy_url(), get_add_url(), get_login_dialog_url(), get_signup_dialog_url(), and get_logout_dialog_url() have a new use_dialog_api parameter that sets if the URL returned uses the Dialog API Wrapper or not. Defaults to True during the Dialog API deprecation period.
  • ItemDefinition no longer requires a cp argument.

4.0.0

  • Exceptions raised by urlopen in LaterPayClient._make_request() are now logged with ERROR level using Logger.exception().
  • Added timeout_seconds (default value is 10) param to LaterPayClient. Backend API requests will time out now according to that value.
  • Removed deprecated laterpay.django package.
  • Removed deprecated vat and purchasedatetime params from ItemDefinition.__init__(). This is a backward incompatible change to __init__(self, item_id, pricing, url, title, cp=None, expiry=None) from __init__(self, item_id, pricing, vat, url, title, purchasedatetime=None, cp=None, expiry=None).
  • Removed deprecated add_metered_access() and get_metered_access() methods from LaterPayClient.

3.2.1

  • Standardised the usage of the (internal) product API (it was usable via path or parameter, and we're deprecating the path usage)

3.2.0

3.1.0

3.0.0 (Initial public release)

Existence