5.7 KiB
5.7 KiB
Changelog
0.7.0
👀
0.6.2
- No changes to the library. However, the CD/CI script has been updated to upload the old
sakuragasaki46-suouname as a full duplicate instead of an alias, solving the "reinstall needed" issue for<=0.6.0users.
0.6.1
- First release on PyPI under the name
suou.- BREAKING: if you installed
sakuragasaki46-suou<=0.6.0you need to uninstall and reinstall or things may break.
- BREAKING: if you installed
- Fix
sqlalchemy.asyncio.SQLAlchemy()to use context vars;expire_on_commit=is now configurable at instantiation. Fix some missing re-exports.
0.6.0
.sqlalchemyhas been made a subpackage and split;sqlalchemy_async(moved tosqlalchemy.asyncio) has been deprecated. Update your imports.- Add several new utilities to
.sqlalchemy:BitSelector,secret_column,a_relationship,SessionWrapper,wrap=argument to SQLAlchemy. Also removed dead batteries - Add
.waitermodule. For now, non-functional ~ - Add
ArgConfigSourceto.configparse - Add Z85 (
z85encode()z85decode()) encoding support - Add more strings to
.legalmodule .signingmodule is now covered by tests- New decorator
dei_args(). Now offensive naming is no more a worry!
0.5.3
- Added docstring to
SQLAlchemy(). - More type fixes.
0.5.2
- Fixed poorly handled merge conflict leaving
.sqlalchemymodulem unusable
0.5.1
- Fixed return types for
.sqlalchemymodule
0.5.0
sqlalchemy: addunbound_fk(),bound_fk()- Add
sqlalchemy_asyncmodule withSQLAlchemy()async database binding.- Supports being used as an async context manager
- Automatically handles commit and rollback
sqlalchemy_asyncalso offersasync_query()- Changed
sqlalchemy.parent_children()to uselazy='selectin'by default - Add
timed_cache(),alru_cache(),TimedDict(),none_pass(),twocolon_list(),quote_css_string(),must_be() - Add module
calendarwithwant_*date type conversion utilities andage_and_days() - Move obsolete stuff to
obsoletepackage (includes configparse 0.3 as of now) - Add
redactmodule withredact_url_password() - Add more exceptions:
NotFoundError(),BabelTowerError() - Add
sassmodule - Add
quartmodule withnegotiate(),add_rest(),add_i18n(),WantsContentType - Add
deimodule: it implements a compact and standardized representation for pronouns, inspired by the one in use at PronounDB
0.4.1
- Fixed return types for
.sqlalchemymodule. sqlalchemy.parent_children()now takes alazyparameter. Backported from 0.5.1.
0.4.0
pydanticis now a hard dependencyConfigPropertyhas now been generalized: check outclasstools.ValueProperty- BREAKING: Changed the behavior of
makelist(): different behavior when used with callables.- When applied as a decorator on callable, it converts its return type to a list.
- Pass
wrap=Falseto treat callables as simple objects, restoring the 0.3 behavior.
- New module
lexto make tokenization more affordable — with functionssymbol_table()andlex() - Add
dorksmodule andflask.harden().dorkscontains common endpoints which may be target by hackers - Add
sqlalchemy.bool_column(): make making flags painless - Introduce
rb64encode()andrb64decode()to deal with issues about Base64 and paddingb64encode()andb64decode()pad to the rightrb64encode()andrb64decode()pad to the left, then strip leading'A'in output
- Added
addattr(),PrefixIdentifier(),mod_floor(),mod_ceil() - First version to have unit tests! (Coverage is not yet complete)
0.3.8
- Fixed return types for
.sqlalchemymodule. sqlalchemy.parent_children()now takes alazyparameter. Backported from 0.5.1.
0.3.7
- Fixed a bug in
b64decode()padding handling which made the function inconsistent and non injective. Now, leading'A'is NEVER stripped.
0.3.6
- Fixed
ConfigValuebehavior with multiple sources. It used to iterate through all the sources, possibly overwriting; now, iteration stops at first non-missing value
0.3.5
- Fixed cb32 handling. Now leading zeros in SIQ's are stripped, and
.from_cb32()was implemented
0.3.4
- Bug fixes in
.flask_restxregarding error handling - Fixed a bug in
.configparsedealing with unset values from multiple sources
0.3.3
- Fixed leftovers in
snowflakemodule from unchecked code copying — i.e.SnowflakeGen.generate_one()used to require an unused typ= parameter - Fixed a bug in
id_column()that made it fail to provide a working generator — again, this won't be backported
0.3.2
- Fixed bugs in Snowflake generation and serialization of negative values
0.3.0
- Fixed
cb32encode()andb32lencode()doing wrong padding — UNSOLVED in 0.2.x which is out of support, effective immediately - Changed behavior of
kwargs_prefix()which now removes keys from original mapping by default - Add SQLAlchemy auth loaders i.e.
sqlalchemy.require_auth_base(),flask_sqlalchemy. What auth loaders do is loading user token and signature into app sqlalchemy: addparent_children()andcreate_session()- Implement
UserSigner() - Improve JSON handling in
flask_restx - Add base2048 (i.e. BIP-39) codec
- Add
split_bits(),join_bits(),ltuple(),rtuple(),ssv_list(),additem() - Add
markdownextensions - Add Snowflake manipulation utilities
0.2.3
- Bug fixes in
classtoolsandsqlalchemy
0.2.1
- Add
codecs.jsonencode
0.2.0
- Add
i18n,itertools - Add
tomlas a hard dependency - Add support for Python dicts as
ConfigSource - Implement ULID -> SIQ migrator (with flaws)
- First release on pip under name
sakuragasaki46-suou - Improve sqlalchemy support