Skip to content

Releases: gruns/furl

Furl v2.1.2.

12 Apr 19:04
Compare
Choose a tag to compare

Fixed: Support Python 3.9's changed urllib.parse.urljoin() behavior.

  • < py3.9: furl('wss://slrp.com/').join('foo:1') -> 'wss://slrp.com/foo:1'
  • >= py3.9: furl('wss://slrp.com/').join('foo:1') -> 'foo:1'

Changed: Drop semicolon query delimiters. See https://bugs.python.org/issue42967.
Changed: Drop support for EOL Python 3.4 and Python 3.5.

Furl v2.1.1.

09 Apr 05:49
Compare
Choose a tag to compare

Fixed: Export metadata variables (furl.__title__, furl.__version__, etc).
Added: scheme, host, netloc, and origin as parameters to furl.remove().
Changed: Homogenize parameter order across furl.add(), furl.set(), and furl.remove().
Changed: furl.origin can be assigned None. This has the same behavior as furl.remove(origin=True).

Furl v2.1.0.

20 Sep 20:58
Compare
Choose a tag to compare
  • Added: a dont_quote= parameter to Query.encode() and a
    query_dont_quote= parameter to furl.tostr() that exempt valid query
    characters from being percent-encoded, either in their entirety with
    dont_quote=True, or selectively with dont_quote=<string>, like
    dont_quote='/?@_'.

  • Changed: Move package info from __init__.py into the more standard
    __version__.py.

  • Fixed: Support Unicode usernames and passwords in Python 2.

  • Fixed: Update orderedmultdict to v1.0.1 to resolve a DeprecationWarning.

  • Fixed: Encode '/' consistently in query strings across both
    quote_plus=True and quote_plus=False.

Furl v2.0.0

16 Oct 21:28
Compare
Choose a tag to compare
  • Added: All URL components (scheme, host, path, etc) to furl()'s constructor as
    keyword arguments. E.g. f = furl(scheme='http', host='host', path='/lolsup').

  • Changed: furl.truediv() and Path.truediv() now mirror Pathlib.truediv()'s
    behavior and return a new instance. The original instance is no longer modified.
    Old behavior: f = furl('1'); f / '2' -> str(f) == '1'. New behavior:
    f = furl('1'); f /= '2' -> str(f) == '1/2'.

  • Fixed: Path.load() now accepts Path instances, e.g. f.path.load(Path('hi')).

  • Removed: Support for Python 2.6, which reached EOL on 2013-10-29.

Furl v1.2.1

22 Aug 20:19
Compare
Choose a tag to compare
  • Fixed: Join URLs without an authority (e.g. foo:blah) consistently with
    urllib.parse.urljoin().

Furl v1.2

29 Jun 19:20
Compare
Choose a tag to compare
  • Added: Path segment appending via the division operator (__truediv__()).
  • Changed: Bump orderedmultidict dependency to v1.0.
  • Changed: Check code style with flake8 instead of pycodestyle.
  • Changed: Percent-encode all non-unreserved characters in Query key=value pairs,
    including valid query characters (e.g. =, ?, etc). Old encoding:
    ?url=http://foo.com/; new encoding: ?url=http%3A%2F%2Ffoo.com%2F. Equal
    signs remain decoded in query values where the key is empty to allow for, and
    preserve, queries like ?==3==.

Furl v1.1

31 May 03:08
Compare
Choose a tag to compare
  • Fixed: Support and preserve all query strings as provided. For example, preserve
    the query &&== of http://foo.com?&&== as-is. Empty key=value pairs are
    stored as ('', None) in Query.params, e.g. [('', None), ('', None)] for the
    query &.
  • Changed: Don't encode equal signs (=) in query values if the key is empty.
    That is, allow and preserve queries like ?==3== while also percent encoding
    equal signs in query values with an associted key, as expected. E.g.
    ?a=1%3D1.

Furl v1.0.2

28 May 17:11
Compare
Choose a tag to compare
  • Added: strip_scheme() public function.
  • Changed: Make get_scheme() and set_scheme() functions public.
  • Added: Support all schemes without a netloc/authority, like
    mailto:hi@email.com, without an explicit whitelist of such schemes
    (e.g. tel:, sms:, mailto:, etc).
  • Fixed: Restore furl.url's setter method. E.g. furl.url = 'http://www.foo.com/'.
  • Removed: Support for Python 3.3, which reached EOL on 2017-09-29.

Furl v1.0.1

20 Nov 23:36
Compare
Choose a tag to compare
  • Added: Add dictionary representations of Path, Query, Fragment, and furl
    objects via an asdict() method.

Furl v1.0.0

20 Nov 23:35
Compare
Choose a tag to compare
  • Added: Test against Python 3.6.
  • Changed: Bumped the version number to v1.0 to signify that furl is a mature
    and stable library. Furl has been marked Production/Stable in setup.py for a
    long time anyhow -- it's high time for the version number to catch up.