All notable changes to this project will be documented in this file.
- f92b14a feat: add withdraw execute to core and cli (#31)
- 10cb8a2 feat: add lnurlauth from lnbits (#28)
- 054bae3 chore: only run ci once on PR (#30)
- 65951bb feat: add lnaddress (#29)
- 9fb7e5e chore(deps): bump idna from 3.6 to 3.7 (#27)
- 61fe7e3 chore(deps-dev): bump black from 23.11.0 to 24.3.0 (#26)
- sanity release
- Switch to poetry
- Add DebugUrl to make developers lifes easier
- Python 3.9 support.
LNURL_STRICT_RFC3986
environment variable is nowFalse
(0) by default.- Moved library to the LNbits family.
- Option to ignore SSL certificate verification for HTTPS requests, in
handle()
andget()
.
- Port is not ignored anymore by
Url.base
.
TorUrl
andWebUrl
are nowOnionUrl
andClearnetUrl
, following LNURL spec terminology.
LNURL_FORCE_SSL
environment variable is not used anymore. Only https is allowed now forClearnetUrl
s.
- Support for
.onion
Tor URLs without SSL certificate (both http and https are valid forTorUrl
).
__repr__
mixin.
- Custom exception when
lnurl.get()
request fails.
LNURL_FORCE_SSL
andLNURL_STRICT_RFC3986
environment variables areTrue
when value is"1"
.
- Stupid import error for
Literal
in Python 3.8 :(
- Changelog.
- New LNURL-pay metadata mime types for images.
- New
LnurlPayMetadata
properties:.images
(list) and.text
(str). LnurlPayMetadata
now checks if the required "text/plain" entry exists.LNURL_FORCE_SSL
andLNURL_STRICT_RFC3986
environment variables.
- For
LnurlPayMetadata
there is no.list
property anymore: use.list()
method instead. - Hashed metadata should be accessed now with
LnurlPayResponse().metadata.h
instead ofLnurlPayResponse().h
HttpsUrl
type is now calledUrl
.Url
is not valid when control characters are found or if it is not RFC3986 compliant.
- Fix
Url
type tests. - Install
typing-extensions
only if Python version < 3.8.
- Extra documentation in README.
- Full validation of LNURL responses using
pydantic
models. .json()
and.dict()
methods to export data from responses. Data is exported in camelCase by default, but internally all properties are still pythonic (snake_case).LnurlResponse.from_dict()
helper to parse a response and assign the right type.handle()
function to get a typed response directly from a LNURL if you haverequests
installed.- Typed returns for
encode()
anddecode()
functions. black
for code formating.
- Responses now require that you pass kwargs instead of a dictionary: use
LnurlResponseModel(**dict)
instead of the previousLnurlResponse(dict)
HttpsUrl
uses defaultpydantic
validations now.
- Get URL checks back into
validate_url()
function (from 0.0.2).
- We can now parse error responses in lowercase (even if this is not in the spec).
- API documentation in README.
Lnurl
class and differentLnurlResponse
classes.- New folder structure.
- Tests.
- Remove all duplicated code from
bech32
package. We import the package instead.
- Initial commit, based on
bech32
package. encode()
anddecode()
functions.