Skip to content

Changelog

All notable changes to MAID will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Version migration documentation and tools
  • Mike versioning support for documentation
  • Changelog generation script

Changed

  • Documentation structure for better navigation

Deprecated

  • None

Removed

  • None

Fixed

  • None

Security

  • None

0.2.0 - Unreleased

Added

  • Content Pack system for modular game content
  • Layered command registry with priority-based resolution
  • Multi-world support with portals
  • Document store API for persistence
  • Standard library package (maid-stdlib) with common components
  • Classic RPG content pack (maid-classic-rpg)
  • AI provider integration (OpenAI, Anthropic, Ollama)
  • Hot reload support for development
  • Comprehensive ECS (Entity Component System) architecture
  • WebSocket support alongside Telnet
  • REST API for external integrations
  • Internationalization (i18n) support
  • SSL/TLS configuration options
  • Discord and IRC bridge support
  • Profiling and performance tools
  • Security audit documentation

Changed

  • Restructured codebase into three packages (maid-engine, maid-stdlib, maid-classic-rpg)
  • Improved async/await patterns throughout
  • Enhanced event system with type-safe events
  • Updated configuration system with environment variable support

Deprecated

  • Legacy plugin system (use Content Packs instead)
  • Direct entity manipulation (use ECS components instead)

Removed

  • Old monolithic architecture
  • Synchronous I/O operations

Fixed

  • Memory leaks in long-running sessions
  • Race conditions in entity creation
  • Connection handling for slow clients

Security

  • Added input validation for all commands
  • Implemented proper authentication flow
  • Added rate limiting for connection attempts

0.1.0 - 2024-01-01

Added

  • Initial release of MAID
  • Basic MUD engine with Telnet support
  • Simple command system
  • Room and player management
  • Basic entity system
  • Configuration via environment variables

Known Issues

  • Limited scalability for large player counts
  • No AI integration
  • Monolithic architecture limits extensibility


Changelog Entry Guidelines

When adding entries to this changelog:

Categories

Category Description Example
Added New features "Add inventory sorting command"
Changed Changes to existing features "Improve combat damage calculation"
Deprecated Features to be removed "Deprecate old_api() in favor of new_api()"
Removed Removed features "Remove legacy save format support"
Fixed Bug fixes "Fix crash when inventory is empty"
Security Security fixes "Fix authentication bypass vulnerability"

Entry Format

- Brief description of change (#PR_NUMBER) - @contributor

Examples

Good entries:

### Added
- Add spell casting system with mana management (#234) - @wizard_dev
- Add persistent player achievements (#256) - @achievement_team

### Fixed
- Fix crash when player dies with empty inventory (#245) - @bugfixer
- Fix race condition in multi-world portal traversal (#251) - @async_expert

Bad entries:

### Fixed
- Fixed bug
- Various improvements
- Updated stuff

Commit Message to Changelog

If you use Conventional Commits, entries can be auto-generated:

Commit Type Changelog Category
feat: Added
fix: Fixed
perf: Changed
refactor: Changed
docs: (Usually not included)
test: (Usually not included)
chore: (Usually not included)
BREAKING CHANGE: Added (with migration guide)
security: or sec: Security
deprecate: Deprecated

See scripts/generate_changelog.py for automated generation.