Otter 1.0.0 - Online Table Top Environment Renderer

Ian Jackson ijackson at chiark.greenend.org.uk
Sat Apr 2 16:33:35 BST 2022


I am pleased to announce Otter 1.0.0.  The changelog is below.

The release of 1.0.0 indicates that IMO Otter is suitable for
real-world use, and represents a promise to (try to) retain savefile
and client command-line compatibility.

Since 0.7.3, Otter has switched to a completely different web
framework for the webserver part: we now use Actix rather than
Rocket.  Otter now compiles on Stable Rust.

There is also one significant bugfix, as well as a large number of
minor cleanups and improvements.


Otter is a system for playing board games online, but it is not like
most other such systems.  In the words of the README:

  It does not know (nor does it need to know) the rules of the game you
  are playing.  Instead, it lets you and your friends play with common
  tabletop/boardgame elements such as hands of cards, boards, and so on.

Full information can be found in the online README and documentation:
  https://www.chiark.greenend.org.uk/~ianmdlvl/otter/docs/README.html
  https://www.chiark.greenend.org.uk/~ianmdlvl/otter/docs/

Otter can be obtained via git:
  https://salsa.debian.org/iwj/otter
For the releases, there are a PGP signed tags there, otter-X.Y.Z.

When I made the first public release, I blogged about it here:
  https://diziet.dreamwidth.org/8121.html
  https://diziet.dreamwidth.org/tag/otter


Version 1.0.0 - 2022-04-02
==========================

Significant changes
-------------------

 * Compile on stable Rust.
 * Uses actix-web rather than Rocket (should be similar in overall
   functionality but there may well be behavioural changes).
 * Always listen on localhost:8000 by default regardless of `debug` config.
   But, support explicit configuration of listening addresses.
 * Do not sometimes leak (in game log) piece identity of face-down cards.

Minor improvements
------------------

 * Add short crate-level docs with reference to website etc.
 * Fix inconsequential misacceptance of some odd-length hex byte strings.
 * Fix some almost-incosequential short write bugs (might manifest as races).
 * Typo fix in one error message.

Build system
------------

 * Turn on integer overflow checks for release builds.
 * Don't override environment's SPHINXBUILD or NAILING_CARGO.
 * Update dependency versions.
 * Skip some unnecessaary miri runs of certain tests.
 * Support for controlling the Rust version via RUST_VERSION.
 * `make deploy` MUSL build is in release mode by default.
 * Document that build now requires 6G rather than 10G.

Internal improvements
---------------------

 * Drop wee-alloc as allocator from WASM.
 * Many internal code style improvements prompted by rust-clippy.
 * Remove some unused internal bits and bobs.
 * Require layout parameter in session URL loads.
 * Miscellanous Other cleanups.



-- 
Ian Jackson <ijackson at chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.



More information about the sgo-software-announce mailing list