Skip to content

Commit

Permalink
0.6 release (#1980)
Browse files Browse the repository at this point in the history
Closes #1940.
  • Loading branch information
byorgey authored Jul 15, 2024
1 parent c6288e5 commit f73ea57
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 4 deletions.
97 changes: 97 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,102 @@
# Revision history for swarm

## **0.6.0.0** - 2024-07-15

Some of the highlights of this release include native Windows support,
customizable keybindings, type synonyms and equirecursive types, and a
prototype tournament server
([#1798](https://github.com/swarm-game/swarm/pull/1798)) where players
can upload their solutions to challenge scenarios. See below for a
more detailed list (or see the [complete list of git
commits](https://github.com/swarm-game/swarm/commits/main/?since=2023-11-01)).

Aside from the more visible changes listed below, this release cycle saw a *lot* of internal refactoring.
For example, we finished splitting the codebase into a number of
independent sublibraries and split several large modules into smaller
modules.

### Community

* New [Discord server](https://discord.gg/kp8MuSgkPw)!

### Breaking changes

* Types are now required to start with an uppercase letter ([#1583](https://github.com/swarm-game/swarm/pull/1583))
* Use `swarm format --v0.5` to convert old code.

### Bugfixes

* Variables in a local monadic binder escape to outer scopes
([#681](https://github.com/swarm-game/swarm/issues/681); fixed by [#1928](https://github.com/swarm-game/swarm/pull/1928))

### New Features

#### Language

* `volume` command measuring the enclosed area around a given location
([#1747](https://github.com/swarm-game/swarm/pull/1747))
* `sow` command for planting growing entities that spread ([#1817](https://github.com/swarm-game/swarm/pull/1817))
* Type synonyms ([#1865](https://github.com/swarm-game/swarm/pull/1865))
* Recursive types ([#1894](https://github.com/swarm-game/swarm/pull/1894))
* Entity tags and related commands ([#1635](https://github.com/swarm-game/swarm/pull/1635))
* `meetAll` command now returns a list ([#1999](https://github.com/swarm-game/swarm/pull/1999))

#### Entities + recipes

* New `lens` entity and recipe for `detonator` ([#1876](https://github.com/swarm-game/swarm/pull/1876))
* `infinite improbability drive` device enabling `teleport` command
([#1724](https://github.com/swarm-game/swarm/pull/1724))
* Recipes for `rolex`, `olfactometer`, `dozer blade`, and `hourglass` entities
([#2028](https://github.com/swarm-game/swarm/pull/2028), [#2025](https://github.com/swarm-game/swarm/pull/2025))

#### New scenarios

* Beekeeping scenario ([#1599](https://github.com/swarm-game/swarm/pull/1599))
* Fishing scenario ([#1628](https://github.com/swarm-game/swarm/pull/1628))
* Dim sum restaurant ([#1686](https://github.com/swarm-game/swarm/pull/1686))
* Gallery scenario ([#1760](https://github.com/swarm-game/swarm/pull/1760))
* Snake automata ([#1699](https://github.com/swarm-game/swarm/pull/1699))

#### Scenario mechanics and authoring improvements

* Path caching, for more efficient repeated use of the `path` command ([#1595](https://github.com/swarm-game/swarm/pull/1595))
* Render any map to PNG ([#1632](https://github.com/swarm-game/swarm/pull/1632))
* Extensible terrain ([#1775](https://github.com/swarm-game/swarm/pull/1775))
* Spreadable plant growth ([#1817](https://github.com/swarm-game/swarm/pull/1817))
* Exercising commands can consume entities ([#1777](https://github.com/swarm-game/swarm/pull/1777))
* Recognize built structures ([#1579](https://github.com/swarm-game/swarm/pull/1579))
* Test for point-to-point connectivity ([#1721](https://github.com/swarm-game/swarm/pull/1721))
* Validate palettes ([#1938](https://github.com/swarm-game/swarm/pull/1938)), map shape ([#1935](https://github.com/swarm-game/swarm/pull/1935)), subworld references ([#1875](https://github.com/swarm-game/swarm/pull/1875))

#### UI enhancements

* Fix REPL type display ([#1610](https://github.com/swarm-game/swarm/pull/1610))
* Handle backword kill word event in REPL ([#1861](https://github.com/swarm-game/swarm/pull/1861))
* Make log error messages ephemeral ([#1877](https://github.com/swarm-game/swarm/pull/1877))
* Pretty print code blocks according to widget size ([#1897](https://github.com/swarm-game/swarm/pull/1897))
* Automatically insert matching close brackets at REPL ([#1953](https://github.com/swarm-game/swarm/pull/1953))
* Highlight only the part of the REPL input indicated as the location
of an error ([#1957](https://github.com/swarm-game/swarm/pull/1957))
* Popups for new achievements, recipes, and commands
([#2027](https://github.com/swarm-game/swarm/pull/2027))
* Save current REPL input with down arrow
([#2000](https://github.com/swarm-game/swarm/pull/2000))
* Customizable keybindings ([#1979](https://github.com/swarm-game/swarm/pull/1979))

#### Command line options

* `format` subcommand now tries to preserve comments ([#1845](https://github.com/swarm-game/swarm/pull/1845))
* Add `format --v0.5` option to port code from older syntax ([#1851](https://github.com/swarm-game/swarm/pull/1851))
* `keybindings` subcommand for displaying and initializing keybinding
configuration ([#1979](https://github.com/swarm-game/swarm/pull/1979))
* `docs recipes` subcommand now takes `--forward` and `--next` flags
for filtering the output edges ([#2033](https://github.com/swarm-game/swarm/pull/2033))

### Building/packaging

* Add Windows build to CI ([#1974](https://github.com/swarm-game/swarm/pull/1974))
* Native Windows support ([#1617](https://github.com/swarm-game/swarm/pull/1617))

## **0.5.0.0** - 2023-11-01

### Bugfixes
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -226,12 +226,12 @@ cabal install fourmolu-0.13.0.0
If this installation does not work, you may have to set your GHC to a version supported by `fourmolu`:

```bash
ghcup install ghc 9.4.5
ghcup install ghc 9.8.2
```
and/or:

```bash
ghcup set ghc 9.4.5
ghcup set ghc 9.8.2
```

You can run the formatter from the shell:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ unreleased features), read on.
Haskell toolchain.
1. Use `ghcup` to install a supported version of GHC:

ghcup install ghc 9.6.4
ghcup install ghc 9.8.2

1. Use `ghcup` to install `cabal`:

Expand Down
2 changes: 1 addition & 1 deletion swarm.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 3.8
name: swarm
version: 0.5.0.0
version: 0.6.0.0
synopsis: 2D resource gathering game with programmable robots
description:
Swarm is a 2D programming and resource gathering
Expand Down

0 comments on commit f73ea57

Please sign in to comment.