Changelog¶
This documents changes for each Gridsim release. These can also be found with each Github release.
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.
Versions
0.3 (2020-06-29)¶
Added¶
Grid cells in the World can now be tagged with a color by the
tag()
method. (The color tag is only used by theViewer
when it draws the World.)The Robot’s
sample()
method now includes an option to tag the sampled location in theWorld
with a color.Message
now has “truthiness”: null messages areFalse
and non-null messages areTrue
.Messages contents can be accessed by key with the
get()
method, as well as still being able to retrieve the entire message dictionary contents.Created this changelog
Changed¶
Message.tx_id()
has been renamed to the (more informative)sender()
.Robot’s
init()
isn’t run until the robot is placed in the World. This allows robots to have access to World information (like the arena size) in theinit()
method.[Under the hood] World’s environments are abstracted to have empty and non-empty types, which cleans up code to get rid of reliance on checking for environments being
None
.[Under the hood] Reduce reliance on cheating and accessing private variables and methods (underscore-prefixed methods/variables)
Removed¶
Message.is_null
has been removed. Instead, directly use the boolean conversion described above.
Fixed¶
Order of commands run on the robot resulted in incorrect movements (robot-specific
move()
, then Robot controller/loop function, then collision/environment-aware_move
operation to move the robots which was using a different move command)Remove mypy/flake8 from requirements, since they’re for local development/linting.