mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-22 15:43:49 +01:00
6.4 KiB
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
RealClientModeinfrastructure for multi-version client support- Database schemas directory from upstream
Changed
- Upgraded Go version requirement from 1.19 to 1.25
- Renamed
config.jsontoconfig.example.jsonas template file - Distribution system refactored to use
distribution_itemstable instead of data blob - Docker setup improved with smaller image size and more robust init script
- Renamed
GuildMealDurationtoClanMealDurationto 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
TimeWeekStartreturning next Monday instead of last Monday on Sundays, breaking all weekly reset logic- Infinite loop in gacha
getRandomEntrieswhen no valid entries available - Guild poogie outfit unlock using incorrect math.Pow calculation instead of bitmask
- Guild
GetGuildManageRightnil pointer condition (wrong&&vs||) - Guild
InfoGuildwriting GR field unconditionally, crashing pre-G10 clients - Cafe
PointCostread 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
LoadDecoMysetcrash when players have more than 40 decoration presetsWaitStageBinaryhandler 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.