Changelog
Unreleased
Currently none
v1.6.3
Performance improvements in the parser
Performance improvements in the interpreter
v1.6.2
Fix import structure
This should have no user-facing consequences as it was a purely internal change.
Include tests in coverage
Start testing on 3.15-beta
Stricter type checking
v1.6.1
Fix for GitHub releases overview due to accidentally deleted immutable release
v1.6.0
Function names in
MathBlockare now case-insensitiveExample:
tan,TAN,tAn, etc. all now call the tangent functionShould not have any user-facing consequences, since these are matched in an already-parsed block body and thus are only text.
v1.5.0
Enforce zero-depth requirement for the specially formed attributes of
EmbedBlockThis affects the payloads of
author,field, andfooter, whose payloads must now have a|at “zero-depth” to properly separate their different sub-attributes.
v1.4.3
Refactor tests to use pytest.parametrize
Fix accidental dict literal instead of empty set constructor in
BlockABC.will_acceptShould not have had any user-facing consequences since it is just an empty fallback
v1.4.2
Catch
ParseBaseExceptioninMathBlockinstead ofParseSyntaxExceptionThe approach in the previous version did not suffice.
v1.4.1
Reject invalid syntax in
MathBlockBlocks that contain invalid/unparseable syntax and cause pyparsing to raise a
ParseSyntaxExceptionare now rejected instead of throwing an exception into the interpreter
v1.4.0
Removed use of
@overrideannotations to actually support Python 3.11
v1.3.2
Reject division by zero in
MathBlockBlocks that divide by zero are now rejected instead of throwing an exception into the interpreter
v1.3.1
Fix copy/paste errors in
EmbedBlock’s documentationThe
fieldsection contained copy/pastedfootertext, this has been fixed
v1.3.0
Fix undefined guild-specific or global nicknames causing blocks to be rejected
For
discord.Memberobjects,MemberAdapternow falls back toglobal_nameifnickis undefined and further tonameifglobal_nameis also undefinedFor
discord.Userobjects,MemberAdapternow falls back tonameifglobal_nameis undefined
Fix an undefined channel topic causing blocks to be rejected
ChannelAdapternow falls back to an empty string
Move
PythonBlockfromblocks.conditionaltoblocks.stringsNever belonged in the
conditionalgroupingThis should not affect any users since blocks are exported via
ya_tagscript.blocksbut ifPythonBlockwas imported from the full path, the following change is necessary:-from ya_tagscript.blocks.conditional import PythonBlock +from ya_tagscript.blocks.strings import PythonBlock
or
-from ya_tagscript.blocks.conditional.python_block import PythonBlock +from ya_tagscript.blocks.strings.python_block import PythonBlock
but the recommended way remains
-from ya_tagscript.blocks.conditional import PythonBlock +from ya_tagscript.blocks import PythonBlock
Fix duplicate spaces between emoji in
ReactBlockbeing counted against the emoji limitThese spaces are now ignored and only the actual strings passed are counted
v1.2.1
Make loggers and
TimedeltaBlock.humanize_fnprivate values/attributesThese are all internal details with no place in the user’s code
Replace
datetime.timezone.utcwithdatetime.UTC
v1.2.0
Allow passing
discord.UsertoMemberAdapterAllows conveniently passing
ctx.authorto a seed variableMemberAdapter, for example
Add
.. versionchangeddirectives toCycleBlockandListBlockregarding the 1.1.0 changesAlso re-added both blocks to the “Referenced by” section of the zero-depth glossary entry
v1.1.0
CycleBlockandListBlockno longer have a “zero-depth” restriction
v1.0.0
Full rearchitecture of interpreter released.