Files
Erupe/CHANGELOG.md
2026-02-08 01:08:42 +01:00

6.4 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.

[Unreleased]

[9.2.1] - 2026-02-08

Added

  • Log analyzer tool suite (tools/loganalyzer/) for filtering, error analysis, connection tracking, and real-time monitoring of server logs
  • User check CLI tool (tools/usercheck/) for querying connected users and server status
  • File-based server logging enabled by default with log rotation
  • Docker configuration backported from main for local testing and deployment
  • Release automation CI/CD workflow
  • CI pipeline with gofmt and golangci-lint checks
  • Database connection pool configuration options
  • RealClientMode infrastructure for multi-version client support
  • Database schemas directory from upstream

Changed

  • Upgraded Go version requirement from 1.19 to 1.25
  • Renamed config.json to config.example.json as template file
  • Distribution system refactored to use distribution_items table instead of data blob
  • Docker setup improved with smaller image size and more robust init script
  • Renamed GuildMealDuration to ClanMealDuration to match upstream naming
  • Replaced panic calls with proper error handling throughout the codebase

Fixed

  • Personal poogie (goocoo) system completely broken due to database table/column name mismatch; backported correct implementation from main
  • TimeWeekStart returning next Monday instead of last Monday on Sundays, breaking all weekly reset logic
  • Infinite loop in gacha getRandomEntries when no valid entries available
  • Guild poogie outfit unlock using incorrect math.Pow calculation instead of bitmask
  • Guild GetGuildManageRight nil pointer condition (wrong && vs ||)
  • Guild InfoGuild writing GR field unconditionally, crashing pre-G10 clients
  • Cafe PointCost read as wrong type for G1-G5.2 clients
  • Entrance server clan member limit hardcoded instead of reading from config
  • Quest data compatibility for Season 6.0 clients
  • Stage deadlock causing 60-second timeout when players change zones
  • Three race conditions in stage handlers causing nil pointer panics
  • Session race condition during player logout
  • Array out-of-bounds crash on clans with 0 members
  • Save error crashes on disconnect
  • LoadDecoMyset crash when players have more than 40 decoration presets
  • WaitStageBinary handler missing timeout, could hang indefinitely
  • Race condition in server broadcast causing panics

Security

  • Bumped golang.org/x/net from 0.33.0 to 0.38.0
  • Bumped golang.org/x/crypto from 0.31.0 to 0.35.0

Testing

  • Expanded overall test coverage significantly across all packages
  • Sign server coverage increased from 1.5% to 45.2%
  • Channel server coverage increased from ~7% to 25%
  • Pascal string coverage at 100%
  • Added comprehensive tests for guild, gacha, cafe, goocoo packet parsing, and core network layer

[9.2.0] - 2023-04-01

Added in 9.2.0

  • Gacha system with box gacha and stepup gacha support
  • Multiple login notices support
  • Daily quest allowance configuration
  • Gameplay options system
  • Support for stepping stone gacha rewards
  • Guild semaphore locking mechanism
  • Feature weapon schema and generation system
  • Gacha reward tracking and fulfillment
  • Koban my mission exchange for gacha

Changed in 9.2.0

  • Reworked logging code and syntax
  • Reworked broadcast functions
  • Reworked netcafe course activation
  • Reworked command responses for JP chat
  • Refactored guild message board code
  • Separated out gacha function code
  • Rearranged gacha functions
  • Updated golang dependencies
  • Made various handlers non-fatal errors
  • Moved various packet handlers
  • Moved caravan event handlers
  • Enhanced feature weapon RNG

Fixed in 9.2.0

  • Mail item workaround removed (replaced with proper implementation)
  • Possible infinite loop in gacha rolls
  • Feature weapon RNG and generation
  • Feature weapon times and return expiry
  • Netcafe timestamp handling
  • Guild meal enumeration and timer
  • Guild message board enumerating too many posts
  • Gacha koban my mission exchange
  • Gacha rolling and reward handling
  • Gacha enumeration recommendation tag
  • Login boost creating hanging connections
  • Shop-db schema issues
  • Scout enumeration data
  • Missing primary key in schema
  • Time fixes and initialization
  • Concurrent stage map write issue
  • Nil savedata errors on logout
  • Patch schema inconsistencies
  • Edge cases in rights integer handling
  • Missing period in broadcast strings

Removed in 9.2.0

  • Unused database tables
  • Obsolete LauncherServer code
  • Unused code from gacha functionality
  • Mail item workaround (replaced with proper implementation)

Security in 9.2.0

  • Escaped database connection arguments

[9.1.1] - 2022-11-10

Changed in 9.1.1

  • Temporarily reverted versioning system
  • Fixed netcafe time reset behavior

[9.1.0] - 2022-11-04

Added in 9.1.0

  • Multi-language support system
  • Support for JP strings in broadcasts
  • Guild scout language support
  • Screenshot sharing support
  • New sign server implementation
  • Multi-language string mappings
  • Language-based chat command responses

Changed in 9.1.0

  • Rearranged configuration options
  • Converted token to library
  • Renamed sign server
  • Mapped language to server instead of session

Fixed in 9.1.0

  • Various packet responses

[9.1.0-rc3] - 2022-11-02

Fixed in 9.1.0-rc3

  • Prevented invalid bitfield issues

[9.1.0-rc2] - 2022-10-28

Changed in 9.1.0-rc2

  • Set default featured weapons to 1

[9.1.0-rc1] - 2022-10-24

Removed in 9.1.0-rc1

  • Migrations directory

[9.0.1] - 2022-08-04

Changed in 9.0.1

  • Updated login notice

[9.0.0] - 2022-08-03

Fixed in 9.0.0

  • Fixed readlocked channels issue
  • Prevent rp logs being nil
  • Prevent applicants from receiving message board notifications

Added in 9.0.0

  • Implement guild semaphore locking
  • Support for more courses
  • Option to flag corruption attempted saves as deleted
  • Point limitations for currency

Historical Context

This changelog documents releases from v9.0.0 onwards. For a complete history of all changes, refer to the git repository.

The project follows semantic versioning and maintains tagged releases for stable versions. Development continues on the main branch with features merged from feature branches.