All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Rune() API change: unique_id comes first, and constructor generates a valid Rune from a master authcode() as expected.
- stricter checks on use of unique_id field to avoid caller having to.
- to_str()/from_str() API for encoding Runes without base64.
- tests/ now contains test vectors, for other implementations.
- empty field without hypen ignored by default (unless in values dict)
- Callables in dict allow custom evaluation
- id field parameters added to constructors for convenience
- New examples for blacklisting and ratelimiting.
- copy() now correctly copies (original not modified when restrictions added!)
- Punctuation is now allowed in field values; \ is the escape mechanism
- Not equals operator (/) added.
- examples/decode.py: pretty print output into english phrases
- Rune.copy() helper, and copy utils now work (eg. copy.deepcopy(Rune))
- Simple check() and check_with_reason() routines for simplest usage.
Initial release.