Changelog¶
All notable changes to Mototli will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
Added¶
- Initial documentation with Diataxis structure
0.1.0 - 2025-01-01¶
Added¶
- Protocol Module: Complete Gopher protocol implementation (RFC 1436)
ItemTypeenum with 25+ item typesGopherRequestandGopherResponsedataclasses-
Request parsing and serialization
-
Gopher+ Extensions (RFC 4266)
GopherAttributesfor attribute block parsing- Support for
$,+, and!request modifiers -
+INFO,+ADMIN,+VIEWS,+ABSTRACTblocks -
Async Client
GopherClientwith context manager supportget(),get_text(),get_binary()methodsget_attributes()for Gopher+ queries-
Configurable timeout handling
-
Async Server
GopherServerwith full Gopher+ support- Static file serving with automatic MIME detection
- Automatic directory listing generation
- CGI script execution (.cgi, .sh, .py, .pl)
- TOML configuration file support
-
Request routing with exact and prefix matching
-
CLI Tool
mototli get- Fetch Gopher resourcesmototli text- Fetch text filesmototli attrs- Get Gopher+ attributesmototli serve- Start a Gopher servermototli version- Show version info-
Rich terminal output with colors
-
Utilities
- MIME type detection from file extensions
- Item type inference from MIME types