5 Version 0.6.0 - 2021-05-23
6 ==========================
11 * Support uploading bundles of game materials, so games can be played
12 that are not playable with Otter's provided piece libraries.
14 * New `vatikan.game.toml`, suitable for many variants of
17 * New `private.table.toml` and `same-scope.table.toml` for
20 Command line usage changes, etc.
21 --------------------------------
23 * otter(1) now takes the game name using a `--game` (`-g`) global
24 option rather than a per-subcommand positional argument.
26 * Library listing, piece identification, and so on, changed,
27 including changes to `otter library-add` and `otter library-list`.
28 Specifically, per-game libraries mean that `library-list` now
29 needs the `--game` option.
31 * otter(1) and otterlib(!) now honour `OTTER_CLI_LOG`
32 (in Rust env_logger format).
34 * otter(1) no longer acts on change_directory server config
35 setting (but still resolves paths in config relative to that dir).
37 * Much better reporting of errors, especially from otter(1).
38 Previously even straightforward errors would result in a controlled
39 `panic`; now a prettier message is printed.
41 * Default table size is now 300,200 (like `penultima` and `mao`; was
44 * otter(1) can be used to issue adhoc management commands supplied
45 on the command line in JSON or RON format.
50 * Fix a serious bug with acl handling which might allow players who
51 can access a game more access than intended.
53 * Occult ilks are properly sorted out during piece load and game
54 save/load. Previously a game with occulted pieces might not be
57 * Test suite might previously fail with EBADF due to off-by-one error
58 in fd cleanup routiine.
63 * Document uploadable bundle format.
65 * Document game and piece spec format.
67 * Document shape library catalogue format (previously this was done
68 with rustdoc annotations on Rust structs used with serde, which
69 produced incomplete and very hard to understand information).
71 * De-emphasize docs for for amending the builtin shape libraries;
72 suggest making bundles instead.
74 * Examples, of game specs, shape libs, buncdles.
76 Installation and deployment changes
77 -----------------------------------
79 * usvg is now built shipped by the otter build system.
81 * server-config.toml can specify the path to `usvg`, `libexec`,
87 * The otter(1) command line interface has changed and many common
88 operations need to be specified differently.
90 * The management API protocol has completely changed. Old otter(1)
91 clients will not work.
93 * Savefiles from older versions of Otter are not loadable.
95 Internal and development changes
96 --------------------------------
98 * Change CLI to server management wire protocol to binary-framed
99 MessagePack (was newline-framed JSON).
101 * Update dependencies.
103 * Build system and test suite improvements and fixes.
105 * Move game spec parsing from client to server.
107 * Better error messages, especially from otter(1)
109 * Tests have better error reporting and output capturing.
111 * Various substantial refactorings to tests.
113 * Test the supplied game specs.
115 * Test game save/load.
117 * Use the sphinx feature sphinx.ext.autosectionlabel for xrefs.
119 * Server management channel now has an idle timout. Should not be
120 relevant with the supplied otter(1) client.
122 * Much internal refactoring, new macros etc., to support the other
125 * Reset game (game spec parsing and implemnetation) is now
126 done in the server rather than the client.
128 * Improvements and bugfixes to `make-release` and `update-version`
129 scripts. Fix anomalous (but working) `Cargo.toml` version
132 Version 0.5.1 - 2021-04-19
133 ==========================
135 This was the first public release.
137 [comment]: # Local variables:
138 [comment]: # mode: text