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