mirror of https://github.com/dirtbags/moth.git
3.2 KiB
3.2 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[4.0.0] - Unreleased
Added
- New
transpile
command to replace some functionality of devel server
Changed
- Major rewrite/refactor of
mothd
- There are now providers for State, Puzzles, and Theme. Sqlite, Redis, or S3 should fit in easily.
- Server no longer provides unlocked content
- Puzzle URLs are now just
/content/${cat}/${points}/
state/until
is nowstate/hours
and can specify multiple begin/end hoursstate/disabled
is nowstate/enabled
- Mothball structure has changed substantially
- Mothballs no longer contain
map.txt
- Clients now expect unlocked puzzles to just be
map[string][]int
- Mothballs no longer contain
Deprecated
Removed
- Development server is gone now; use
mothd
directly with a flag to transpile on the fly
Fixed
Security
[Unreleased]
Changed
- Endpoints
/points.json
,/puzzles.json
, and/messages.html
(optional theme file) combine into/state
- No more
__devel__
category for dev server: this is now.config.devel
in the/state
endpoint - Development server no longer serves a static
/
with links: it now redirects you to a randomly-generated seed URL - Default theme modifications to handle all this
- Default theme now automatically "logs you in" with Team ID if it's getting state from the devel server
[v3.5.1] - 2020-03-16
Fixed
- Support insta-checking for legacy puzzles
[v3.5.0] - 2020-03-13
Changed
- We are now using SHA256 instead of djb2hash
Added
- URL parameter to points.json to allow returning only the JSON for a single team by its team id (e.g., points.json?id=abc123).
- A CONTRIBUTING.md to describe expectations when contributing to MOTH
- Include basic metadata in mothballs
- add_script_stream convenience function allows easy script addition to puzzle
- Autobuild Docker images to test buildability
- Extract and use X-Forwarded-For headers in mothd logging
- Mothballs can now specify
X-Answer-Pattern
header fields, which allow*
at the beginning, end, or both, of an answer. This isX-
because we are hoping to change how this works in the future.
Fixed
- Handle cases where non-legacy puzzles don't have an
author
attribute - Handle YAML-formatted file and script lists as expected
- YAML-formatted example puzzle actually works as expected
- points.log will now always be sorted chronologically
[3.4.3] - 2019-11-20
Fixed
- Made top-scoring teams full-width
[3.4.2] - 2019-11-18
Fixed
- Issue with multiple answers in devel server and YAML-format .moth
[3.4.1] - 2019-11-17
Fixed
- Scoreboard was double-counting points
[3.4] - 2019-11-13
Added
- A changelog
- Support for embedding Python libraries at the category or puzzle level
- Minimal PWA support to permit caching of currently-unlocked content
- Embedded graph in scoreboard
- Optional tracking of participant IDs
- New
notices.html
file for sending broadcast messages to players
Changed
- Use native JS URL objects instead of wrangling everything by hand