NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1754 most downloaded on PyPI
URL manipulation made simple.
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 5 weeks to 3.4 years
Some releases are documented
notes for 19 of 51 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
51 releases · first in 2011
Changed : Drop support for all Python versions prior to Python 3.8, which are now long past EOL. Notably: Python 2 is no longer supported.
Changed: Drop support for all Python versions prior to Python 3.8, which are now long past EOL. Notably: Python 2 is no longer supported.
Fixed: Actually drop ';' as a query delimiter. See furl v2.1.2's changelog and https://bugs.python.org/issue42967.
Fixed: Actually drop ';' as a query delimiter. See furl v2.1.2's changelog and https://bugs.python.org/issue42967.
================================================================================
One column per quarter.
Fixed : Support Python 3.9's changed urllib.parse.urljoin() behavior.
Fixed: Support Python 3.9's changed urllib.parse.urljoin() behavior.
furl('wss://slrp.com/').join('foo:1') -> 'wss://slrp.com/foo:1'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.
Fixed: Support Python 3.9's changed urllib.parse.urljoin() behavior.
furl('wss://slrp.com/').join('foo:1') -> 'wss://slrp.com/foo:1'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.
Fixed : Export metadata variables ( furl.__title__ , furl.__version__ , etc). Added : scheme , host , netloc , and origin as parameters to furl.remove
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).
Fixed : Update orderedmultdict to v1.0.1 to resolve a DeprecationWarning.
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.
Added: All URL components (scheme, host, path, etc) to furl()'s constructor as keyword arguments. E.g. f = furl(scheme='http', host='host', path='/lol
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.
Fixed: Join URLs without an authority (e.g. foo:blah) consistently with urllib.parse.urljoin().
foo:blah) consistently with
urllib.parse.urljoin().Added: Path segment appending via the division operator (\_\_truediv\_\_()).
=, ?, 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==.Fixed: Support and preserve all query strings as provided. For example, preserve the query &&== of http://foo.com?&&== as-is. Empty key=value pairs ar
&&== of http://foo.com?&&== as-is. Empty key=value pairs are
stored as ('', None) in Query.params, e.g. [('', None), ('', None)] for the
query &.=) 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.Added: strip_scheme() public function.
mailto:hi@email.com, without an explicit whitelist of such schemestel:, sms:, mailto:, etc).furl.url = 'http://www.foo.com/'.Added: Add dictionary representations of Path, Query, Fragment, and furl objects via an asdict() method.
Added: Test against Python 3.6.
Fixed: Only percent-decode percent-encoded path strings once, not twice.
Changed: Bumped the orderedmultidict dependency from v0.7.7 to v0.7.8. The latter, v0.7.8, fixes a splat (i.e. omdict) bug.
**omdict) bug.Changed: Bumped the orderedmultidict dependency from v0.7.6 to v0.7.7. The latter, v0.7.7, better interoperates with other popular libraries, like Req
Changed: Bumped the orderedmultidict dependency from v0.7.6 to v0.7.7. The latter, v0.7.7, better interoperates with other popular libraries, like Requests.
================================================================================
Fixed: When provided to constructors and load() methods, treat None as the empty string, not the string 'None'. E.g. furl(None) == furl(''), not furl(
Fixed: When provided to constructors and load() methods, treat None as the empty string, not the string 'None'. E.g. furl(None) == furl(''), not furl('None').
================================================================================
Fixed: In Python 2, furl.netloc and furl.origin return strings, not Unicode strings.
Added: Test PEP8 compliance with tox.
Added: Origin support (e.g. http://google.com of http://u:p@google.com/).
http://google.com of http://u:p@google.com/).Added: Origin support (e.g. http://google.com of http://u:p@google.com/).
This changelog wasn't maintained prior to v0.5.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →