# Changelog ## Version 1.9.0 - 2025-12-18 Adds a debug logging option to the serve command for enhanced troubleshooting. Improves error handling across the application and corrects a typo in the ip2location middleware. **Changes:** 148 files, 1047 lines **Languages:** JavaScript (299 lines), Python (748 lines) ## Version 1.8.0 - 2025-12-18 The socket service now handles errors more robustly and prevents crashes through improved safety checks. Socket methods support better concurrency and provide enhanced logging for developers. **Changes:** 4 files, 2279 lines **Languages:** JavaScript (592 lines), Python (1687 lines) ## Version 1.7.0 - 2025-12-17 Fixes socket cleanup in the websocket handler to prevent resource leaks and improve connection stability. **Changes:** 1 files, 29 lines **Languages:** Python (29 lines) ## Version 1.6.0 - 2025-12-17 Removes presence debounce to make user departures instant. Simplifies websocket connection and error handling in RPC views for improved reliability. **Changes:** 2 files, 98 lines **Languages:** Python (98 lines) ## Version 1.5.0 - 2025-12-17 remove umami analytics script **Changes:** 1 files, 1 lines **Languages:** HTML (1 lines) ## Version 1.4.0 - 2025-12-17 Updates the socket service to improve connection stability and error handling. **Changes:** 1 files, 4 lines **Languages:** Python (4 lines) ## Version 1.3.0 - 2025-12-17 Users now receive notifications when other users join or depart the application. Departure notifications are debounced to reduce the frequency of rapid successive alerts. **Changes:** 5 files, 418 lines **Languages:** HTML (1 lines), JavaScript (259 lines), Python (158 lines) ## Version 1.2.0 - 2025-12-17 Removes Umami analytics integration, eliminating user tracking functionality. Developers must handle analytics separately if needed. **Changes:** 2 files, 2 lines **Languages:** HTML (1 lines), Python (1 lines) ## Version 1.1.0 - 2025-12-17 Fixes potential errors in forum message handling by adding a null check for the star field, preventing crashes when the field is missing. Updates the message list display to handle starred messages more reliably. **Changes:** 3 files, 10 lines **Languages:** JavaScript (2 lines), Python (8 lines)