All Versions
52
Latest Version
Avg Release Cycle
53 days
Latest Release
-

Changelog History
Page 2

  • v0.8.0 Changes

    March 13, 2019

    โž• Added

    • A retry decorator to enable reattempts of failed requests. (#132)
    • A ratelimit decorator to constrain consumers to making some maximum number
      of calls within a given time period. (#132)
    • โฑ Timeout argument annotation to be able to pass the timeout as a consumer
      method argument or to inject it as a transaction hook using a Consumer
      instance's _inject method. (#133 by @daa)

    ๐Ÿ”„ Changed

    • Consumer subclasses now inherit class decorators from their
      Consumer parents, so those decorators are also applied to the subclasses'
      methods that are decorated with @get, @post, @patch, etc.
      (#138 by @daa)

    ๐Ÿ›  Fixed

    • Memory leaks in RequestsClient and AiohttpClient caused by
      ๐Ÿ‘‰ use of atexit.register, which was holding references to session objects
      and preventing the garbage collector from freeing memory reserved for those
      objects. (#134 by @SakornW)
  • v0.8.0_ Changes

    February 16, 2019

    โž• Added

    • A retry decorator to enable reattempts of failed requests. (#132_)
    • A ratelimit decorator to constrain consumers to making some maximum number of calls within a given time period. (#132_)
    • โฑ Timeout argument annotation to be able to pass the timeout as a consumer method argument or to inject it as a transaction hook using a Consumer instance's _inject method. (#133_ by @daa_)

    ๐Ÿ”„ Changed

    • Consumer subclasses now inherit class decorators from their Consumer parents, so those decorators are also applied to the subclasses' methods that are decorated with @get, @post, @patch, etc. (#138_ by @daa_)

    ๐Ÿ›  Fixed

    • Memory leaks in RequestsClient and AiohttpClient caused by use of atexit.register, which was holding references to session objects and preventing the garbage collector from freeing memory reserved for those objects. (#134_ by @SakornW_)
  • v0.8.0._ Changes

    February 16, 2019

    โž• Added

    • A retry decorator to enable reattempts of failed requests. (#132_)
    • A ratelimit decorator to constrain consumers to making some maximum number of calls within a given time period. (#132_)
    • โฑ Timeout argument annotation to be able to pass the timeout as a consumer method argument or to inject it as a transaction hook using a Consumer instance's _inject method. (#133_ by @daa_)

    ๐Ÿ”„ Changed

    • Consumer subclasses now inherit class decorators from their Consumer parents, so those decorators are also applied to the subclasses' methods that are decorated with @get, @post, @patch, etc. (#138_ by @daa_)

    ๐Ÿ›  Fixed

    • Memory leaks in RequestsClient and AiohttpClient caused by use of atexit.register, which was holding references to session objects and preventing the garbage collector from freeing memory reserved for those objects. (#134_ by @SakornW_)
  • v0.7.0 Changes

    December 07, 2018

    โž• Added

    • Consumer.exceptions property for handling common client exceptions in a client-agnostic way. (#117)
    • Optional argument requires_consumer for response_handler and error_handler; when set to True, the registered callback should accept a reference to a Consumer instance as its leading argument. (#118)

    ๐Ÿ”„ Changed

    • For a Query-annotated argument, a None value indicates that the query parameter should be excluded from the request. Previous behavior was to encode the parameter as ...?name=None. To retain this behavior, specify the new encode_none parameter (i.e., Query(..., encode_none="None")). (#126 by @nphilipp)

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Support for changes to Schema().load and Schema().dump in marshmallow v3. (#109)
  • v0.7.0_ Changes

    December 06, 2018

    โž• Added

    • Consumer.exceptions property for handling common client exceptions in a client-agnostic way. (#117 <https://github.com/prkumar/uplink/pull/117>_)
    • Optional argument requires_consumer for response_handler and error_handler; when set to True, the registered callback should accept a reference to a Consumer instance as its leading argument. (#118 <https://github.com/prkumar/uplink/pull/118>_)

    ๐Ÿ”„ Changed

    • For a Query-annotated argument, a None value indicates that the query parameter should be excluded from the request. Previous behavior was to encode the parameter as ...?name=None. To retain this behavior, specify the new encode_none parameter (i.e., Query(..., encode_none="None")). (#126 <https://github.com/prkumar/uplink/pull/126>_ by @nphilipp <https://github.com/nphilipp>_)

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Support for changes to Schema().load and Schema().dump in marshmallow v3. (#109 <https://github.com/prkumar/uplink/pull/109>_)
  • v0.7.0._ Changes

    December 06, 2018

    โž• Added

    • Consumer.exceptions property for handling common client exceptions in a client-agnostic way. (#117 <https://github.com/prkumar/uplink/pull/117>_)
    • Optional argument requires_consumer for response_handler and error_handler; when set to True, the registered callback should accept a reference to a Consumer instance as its leading argument. (#118 <https://github.com/prkumar/uplink/pull/118>_)

    ๐Ÿ”„ Changed

    • For a Query-annotated argument, a None value indicates that the query parameter should be excluded from the request. Previous behavior was to encode the parameter as ...?name=None. To retain this behavior, specify the new encode_none parameter (i.e., Query(..., encode_none="None")). (#126 <https://github.com/prkumar/uplink/pull/126>_ by @nphilipp <https://github.com/nphilipp>_)

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Support for changes to Schema().load and Schema().dump in marshmallow v3. (#109 <https://github.com/prkumar/uplink/pull/109>_)
  • v0.6.1 Changes

    September 15, 2018

    ๐Ÿ”„ Changed

    • When the type parameter of a function argument annotation, such as
      Query or Body, is omitted, the type of the annotated argument's
      value is no longer used to determine how to convert the value before it's
      passed to the backing client; the argument's value is converted only when
      its type is explicitly set. (#108)
  • v0.6.1._ Changes

    ๐Ÿ”„ Changed

    • When the type parameter of a function argument annotation, such as Query or Body, is omitted, the type of the annotated argument's value is no longer used to determine how to convert the value before it's passed to the backing client; the argument's value is converted only when its type is explicitly set.
  • v0.6.0 Changes

    September 11, 2018

    โž• Added

    • The session property to the Consumer base class, exposing the
      ๐Ÿ”ง consumer instance's configuration and allowing for the persistence of
      certain properties across requests sent from that instance. (#95)
    • The params decorator, which when applied to a method of a Consumer
      subclass, can add static query parameters to each API call. (#94)
    • The converters.Factory base class for defining integrations with
      other serialization formats and libraries.
    • The uplink.install decorator for registering extensions, such as a
      custom converters.Factory implementation, to be applied broadly.

    ๐Ÿ›  Fixed

    • Issue with detecting typing.List and typing.Dict for converting
      collections on Python 3.7. (#105)
    • โš  RuntimeWarning that "ClientSession.close was never awaited" when
      using aiohttp >= 3.0. (#100) (by @gkze)

    ๐Ÿ”„ Changed

    • When using the marshmallow integration, Uplink no longer suppresses
      Schema validation errors on deserialization; users can now handle these
      exceptions directly. (#105)
  • v0.6.1_ Changes

    ๐Ÿ”„ Changed

    • When the type parameter of a function argument annotation, such as Query or Body, is omitted, the type of the annotated argument's value is no longer used to determine how to convert the value before it's passed to the backing client; the argument's value is converted only when its type is explicitly set.