You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+36Lines changed: 36 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
10
10
*No changes yet*
11
11
12
+
## [2.8.9] - 2026-02-28
13
+
14
+
**Server Version:**`2026.02.19-1a311a592`
15
+
16
+
### Added
17
+
18
+
-**First-Class MMOSkillTree Integration** - Full permission support for MMOSkillTree, one of the biggest plugins on Hytale
19
+
- 200+ permission nodes registered across admin, command, skill, boost, and alternate prefix categories
20
+
- All 23 individual skill nodes (`mmoskilltree.skill.mining`, `.woodcutting`, `.excavation`, etc.)
21
+
- All 140 XP boost permission nodes with the encoded format `mmoskilltree.xpboosts.<target>.<scope>.<multiplier>.<duration>.<cooldown>`
22
+
- Full alias support for MMOSkillTree's `ziggfreed.*` alternate prefix pattern — granting `mmoskilltree.skill.mining` also resolves `ziggfreed.mmoskilltree.skill.mining` checks
- Stages initialize in order and shut down in reverse — if any stage fails, previously initialized stages are safely torn down
35
+
-`ServiceContainer` provides typed service registration and retrieval across stages
36
+
-**Gzip Compressed Web Editor Sessions** - Session create requests are now gzip compressed before sending to the API, preventing HTTP 413 errors on servers with many groups/permissions
37
+
38
+
### Refactored
39
+
40
+
-**Plugin Initialization** - `HyperPerms.java` reduced from ~400 lines of monolithic initialization to a clean staged lifecycle (~25 lines). All setup logic moved to dedicated `Stage` implementations in `com.hyperperms.lifecycle.stages`
41
+
-**Command System** - Removed 42 old individual command classes (3,500+ lines). Replaced with 5 annotated command group classes (~2,000 lines) — net reduction of ~1,500 lines with better maintainability
42
+
43
+
### Fixed
44
+
45
+
-**Config null during stage initialization** - Resolved a race condition where config was not yet available when stages attempted to read it during early lifecycle setup
46
+
-**Default groups created before storage ready** - Moved `loadDefaultGroups()` into its own `DefaultGroupsStage` that runs after storage and managers are fully initialized
0 commit comments