chiark / gitweb /
otter cli: When accessing via ssh, make default account be ssh:
[otter.git] / CHANGELOG.md
1 UNRELEASED
2 ==========
3
4
5 Version 0.6.0 - 2021-05-23
6 ==========================
7
8 New features
9 ------------
10
11  * Support uploading bundles of game materials, so games can be played
12    that are not playable with Otter's provided piece libraries.
13
14  * New `vatikan.game.toml`, suitable for many variants of
15    Manipulation Rummy.
16
17  * New `private.table.toml` and `same-scope.table.toml` for
18    less-public games.
19
20 Command line usage changes, etc.
21 --------------------------------
22
23  * otter(1) now takes the game name using a `--game` (`-g`) global
24    option rather than a per-subcommand positional argument.
25
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.
30
31  * otter(1) and otterlib(!) now honour `OTTER_CLI_LOG`
32    (in Rust env_logger format).
33
34  * otter(1) no longer acts on change_directory server config
35    setting (but still resolves paths in config relative to that dir).
36
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.
40
41  * Default table size is now 300,200 (like `penultima` and `mao`; was
42    400,200).
43
44   * otter(1) can be used to issue adhoc management commands supplied
45     on the command line in JSON or RON format.
46
47 Bugfixes
48 --------
49
50  * Fix a serious bug with acl handling which might allow players who
51    can access a game more access than intended.
52
53  * Occult ilks are properly sorted out during piece load and game
54    save/load.  Previously a game with occulted pieces might not be
55    reloadable.
56
57  * Test suite might previously fail with EBADF due to off-by-one error
58    in fd cleanup routiine.
59
60 Documentation
61 -------------
62
63  * Document uploadable bundle format.
64
65  * Document game and piece spec format.
66
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).
70  
71  * De-emphasize docs for for amending the builtin shape libraries;
72    suggest making bundles instead.
73
74  * Examples, of game specs, shape libs, buncdles.
75
76 Installation and deployment changes
77 -----------------------------------
78
79  * usvg is now built shipped by the otter build system.
80
81  * server-config.toml can specify the path to `usvg`, `libexec`,
82    etc.
83
84 Compatibility notes
85 -------------------
86
87  * The otter(1) command line interface has changed and many common
88    operations need to be specified differently.
89
90  * The management API protocol has completely changed.  Old otter(1)
91    clients will not work.
92
93  * Savefiles from older versions of Otter are not loadable.
94
95 Internal and development changes
96 --------------------------------
97
98  * Change CLI to server management wire protocol to binary-framed
99    MessagePack (was newline-framed JSON).
100
101  * Update dependencies.
102
103  * Build system and test suite improvements and fixes.
104
105  * Move game spec parsing from client to server.
106
107  * Better error messages, especially from otter(1)
108
109  * Tests have better error reporting and output capturing.
110
111  * Various substantial refactorings to tests.
112
113  * Test the supplied game specs.
114
115  * Test game save/load.
116
117  * Use the sphinx feature sphinx.ext.autosectionlabel for xrefs.
118
119  * Server management channel now has an idle timout.  Should not be
120    relevant with the supplied otter(1) client.
121
122  * Much internal refactoring, new macros etc., to support the other
123    work.
124
125  * Reset game (game spec parsing and implemnetation) is now
126    done in the server rather than the client.
127  
128  * Improvements and bugfixes to `make-release` and `update-version`
129    scripts.  Fix anomalous (but working) `Cargo.toml` version
130    dependency syntax.
131
132 Version 0.5.1 - 2021-04-19
133 ==========================
134
135 This was the first public release.
136
137 [comment]: # Local variables:
138 [comment]: # mode: text
139 [comment]: # End: