0.3.0.0
This is the first release of 2023! ๐ It contains:
- various new features and bugfixes (see subsections below)
- UI tweaks
- fewer typos (thanks @bwignall and @kostmo)
- upgraded dependencies (
>=lsp-1.6
and>=brick-1.5
) and raised Stack resolver to use GHC 9.4 #1001 - a ton of internal refactoring
You can install it with cabal:
cabal install swarm-0.3.0.0
Or using the attached binary and compressed data
- in that case please follow the installation guide:
https://github.com/swarm-game/swarm#installing-via-binaries
Fixed bugs
- copy parent robot context to child when executing
build
by @byorgey in #817 - Merge new requirements context with existing when running from REPL by @byorgey in #965
- Reset
lastFrameTime
when starting a new scenario by @byorgey in #855 - Fix capability checking, and refactor/add lots of comments by @byorgey in #959
- Fix
EntityMap
merging by @byorgey in #962 - Fix: add first heard message to log by @xsebek in #842
- Fix hypothetical result of condition by @xsebek in #940
- One file per achievement record by @kostmo in #954
- Show duplicate robot logs by @xsebek in #1022
- Copy requirements map to robot context when loading a new
ProcessedTerm
by @byorgey in #827 - Set REPL to
Working
when base hasprogram
field specified by @byorgey in #846 - Create swarm subdirectories as necessary by @xsebek in #943
New Features
Swarm language
- implement Equip/Unequip by @kostmo in #887
- Meeting other robots by @byorgey in #920
- New
heading
command by @byorgey in #955 - Add
isempty : cmd bool
to check whether current cell has an entity by @byorgey in #968
Entities
- Add
GPS receiver
device to providesenseloc
capability by @byorgey in #956 - Device with recipe for 'appear' capability by @kostmo in #1027
- device for setname by @kostmo in #1028
LSP improvements
- swarm-lang IDE hover by @kostmo in #972
- Include
SrcLoc
info with variable binding sites by @byorgey in #993 - Annotate ASTs with types at every node by @byorgey in #991
- Improve OnHover for Def/Let, App and Const by @xsebek in #986
- warn of unused variables by @kostmo in #983
Web API
Command line options
New scenarios
- New ranching scenario by @kostmo in #835
- new bind tutorial by @kostmo in #895
- A "bucket brigade" of robots by @kostmo in #885
- Ice Cream Shop by @kostmo in #1008
- word search by @kostmo in #999
- Wolf, Goat, Cabbage scenario by @kostmo in #944
- swarm logo animation by @kostmo in #1018
Scenario development
- Boolean expressions of objective prerequisites by @kostmo in #927
- support 'orientationMap' by @kostmo in #1023
- support custom attributes defined in scenarios by @kostmo in #1058
UI enhancements
- show devices that enable commands by @kostmo in #899
- Add a "driving mode" to the REPL by @kostmo in #819
Achievements
- achievements board by @kostmo in #796
- first tutorial completion achievement by @kostmo in #925
- Add achievement for losing by @kostmo in #945