1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
================================================================================
v2.1.4
================================================================================
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.
================================================================================
v2.1.3
================================================================================
Fixed: Actually drop ';' as a query delimiter. See furl v2.1.2's
changelog and https://bugs.python.org/issue42967.
================================================================================
v2.1.2
================================================================================
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.
================================================================================
v2.1.1
================================================================================
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).
================================================================================
v2.1.0
================================================================================
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.
================================================================================
v2.0.0
================================================================================
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.
================================================================================
v1.2.1
================================================================================
Fixed: Join URLs without an authority (e.g. 'foo:blah') consistently with
urllib.parse.urljoin().
================================================================================
v1.2
================================================================================
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=='.
================================================================================
v1.1
================================================================================
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'.
================================================================================
v1.0.2
================================================================================
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.
================================================================================
v1.0.1
================================================================================
Added: Add dictionary representations of Path, Query, Fragment, and furl objects
via an asdict() method.
================================================================================
v1.0.0
================================================================================
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.
================================================================================
v0.5.7
================================================================================
Fixed: Only percent-decode percent-encoded path strings once, not twice.
================================================================================
v0.5.6
================================================================================
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.
================================================================================
v0.5.5
================================================================================
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.
================================================================================
v0.5.4
================================================================================
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').
================================================================================
v0.5.3
================================================================================
Fixed: In Python 2, furl.netloc and furl.origin return strings, not Unicode
strings.
================================================================================
v0.5.2
================================================================================
Added: Test PEP8 compliance with tox.
Fixed: Verify valid schemes before adoption.
================================================================================
v0.5.1
================================================================================
Added: Origin support (e.g. http://google.com of http://u:p@google.com/).
This changelog wasn't maintained prior to v0.5.
|