Changelog
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.