Changelog
0.14.6
Added support for the dict () and set () functions.
0.14.5
Support iterating through Enum classes to get members
0.14.4
Sets and dicts are now always distinct types and support isinstance checks.
Improved the performance of some dict and set operations.
Added support for dict . get ( item , default ) method with the limitation that the returned value is a copy.
0.14.3
Access to a dict with a non-compile-time-constant key is now supported when all values are compile time constants of
a single supported type (numeric, array, or record).
Usage of set literals containing non-numeric types is now supported.
0.14.2
Fixed a bug causing memory corruption when using generators.
0.14.1
Fixed support for Archetypes to inherit from an ABC .
0.14.0
Sonolus 1.1.0 support.
Added haptic feedback support via HapticType enum in entity input.
Added progress_graph UI layout support in watch mode.
Added support for replay_fallback_option_names in engine configuration.
Added add_life_scheduled for scheduling life additions at specific times.
Added initial and maximum properties to level life configuration.
Added the archetype_score_multiplier and entity_score_multiplier properties to archetypes.
Added the archetype_life (replacing the now deprecated life property) and entity_life property to archetypes.
Added import defaults via optional default parameter in imported () .
Expanded StandardText constants.
Added validation for overriding reserved archetype field names.
Improved support for Literal type specifications and Enum subclass handling in some edge cases.
0.13.2
Improved dev server build times.
0.13.1
Improved dev server build times.
0.13.0
Compile time exception stack traces now show function names.
Improved dev server rebuild times.
0.12.10
More functions are now shown in the dev server's debug stack traces.
Improved compiler performance slightly.
Removed erroneous pytest dependency.
0.12.9
Added support for typing . Final annotations in Record classes.
0.12.8
Fix optimizer bug with the min/max functions.
0.12.7
0.12.6
Added make_comparable_float for generating floats that adhere
strictly to layers when calculating z-indexes.
0.12.5
Improved some error messages, particularly around type annotations.
0.12.4
Added a - v /-- verbose flag to the cli that prints out full tracebacks on errors.
Streams are now initialized lazily to allow circular imports as long as they're resolved before the stream is used.
0.12.3
assert False is no longer stripped in release (non-dev) builds to allow asserting to the compiler that code is
unreachable.
Fixed the return value of type () on archetype instances being incorrect.
0.12.2
Incorrectly declared resources such as Buckets missing an @buckets decorator now
result in a helpful error message.
Record classes can now subclass ABC or Protocol from the Python standard
library.
Archetypes can now subclass ABC or Protocol from the Python standard library.
0.12.1
Added support for the getattr () , setattr () , hasattr () , and sum () built-in functions.
0.12.0
Improved support for mixin classes in archetypes, including support for callbacks and memory fields within mixins.
Accessing archetypes at indexes such as with EntityRef now checks that the
entity at the index is of the correct archetype in dev builds by default.
0.11.1
Memory usage no longer increases indefinitely when rebuilding with changes in the dev server.
EntityRef now throws an error when converted to a boolean.
0.11.0
Added basic support for set literals of numbers, with support for membership checks (in , not in ) and iteration.
Added support for membership checks (in , not in ) of tuples.
Fixed some instances where error messages for archetype declarations were not shown correctly.
Reduced memory usage slightly.
0.10.9
Added Vec2 . normalize_or_zero () .
Added -- gc /-- no - gc to cli commands and made no-gc the default behavior to improve performance.
0.10.8
Fixed issue when parameterizing the type built-in as a generic type.
0.10.7
0.10.6
Fixed the dev server becoming unresponsive after invalid command arguments.
0.10.5
Fixed the dev server becoming unresponsive after a blank command.
0.10.4
Fixed the dev server becoming unresponsive after a command syntax error.
0.10.3
Added -- runtime - checks { none , terminate , notify } to the dev and build commands to override runtime check
(e.g. assertion) behavior.
0.10.2
0.10.1
Assertions are now stripped in release (non-dev) builds.
Added more assertion checks including bounds checks for arrays.
Added require () for assertions not stripped in release builds.
0.10.0
Added [ d ] ecode command to dev server for decoding debug message codes.
Added [ h ] elp command to dev server.
Added notify () for logging debug messages.
0.9.3
Added support for string use item values in levels.
0.9.2
Fixed dev server sometimes not exiting without further input upon a keyboard interrupt.
0.9.1
0.9.0
New dev server cli with faster rebuild times.
Performance improvements.
0.8.0
Changelog introduced.
Fixed some errors when iterating over iterators that are statically determined to be empty.
Added Rect . from_margin () .
Added SpriteGroup , EffectGroup , and
ParticleGroup for array-like access to sprites, effects, and particles.
Added mid-edge properties like Quad . mt and Rect . mb .
Added a warning when an invalid item . json is found when loading resources.
Back to top