Changelog Alpha 3 -> Alpha 3.5
Stats📊: --Since last merge to master--
- 525 Commits
- 110 Pipelines Ran
- 134 Changes [+19291, -6514]
-- Project Codebase--
- Roughly 69264 total lines of CSS
- Roughly 38915 total lines of JavaScript
- Roughly 11854 total lines of Python
- Roughly 8054 total lines of HTML 128,087 Lines Total-ish Project Size
UI Design & Improvements🖼️:
- Crafty 4.0 is now available in 13 different languages (Thank you translators, you rock!)
- The Wiki is Back from Holiday :> (We'll be updating it very soon)
- Added nginx config examples
- Server Reordering
- Live credits page updates (Thank you for your support! <3 Ko-fi ☕ stats coming soon...)
- Made navigation sidebar collapsible
Codebase Features & Improvements⚙️:
-
Complete Backup system overhaul (This was chonky)
-
BEDROCK SUPPORT ✨ (You asked for it we delivered, with love)
-
Complete Overhaul to Schedules w/ APScheduler (It's super cool)
-
Cron syntax support in Tasks (Oh my god, yes!)
-
Chain-reaction Tasks (This is Filth!)
-
Zip imports (This is seamless)
-
Super users (That's super, that is)
-
Entire Codebase lint implemented (A lot smelly code removed, many sleepless night)
-
Gravatar Profile Picture Support added (This is real nice)
-
Reworked api authentication to use JWT (api's are super cool)[api still to be built]
-
CI/CD Pipeline Optimizations and security improvements
-
Improved Tasks View for Mobile
-
Server Details moved to websockets
-
Make max_audit_logs user configurable for performance
-
Made server stats polls asynchronous
-
Check if server is downloaded before attempting launch
-
Hardened Javascript to reduce risk of injection
-
Sanitize inputs to the best of our ability
-
Migrations added for backups
-
Removed Minecraft specific naming/stats (Application/Hosting Neutrality)
-
Ability to disable languages in config.json
-
Improved session.lock checking
-
Added browser language detection for auto lang
-
Backup compression
-
Bedrock server stats collection reverse engineered
-
Added server download status indicator
-
Improved performance of stats collection
Docker Support/Changes:docker::
-
Rebase back to ubuntu from alpine for bedrock support (sadface)[I'm gonna make alpine work, just not now.]
-
Reworked Dockerfile for non-root function, following root group practice by the likes of OpenShift & Kubernetes
-
Unraid xml added
-
Updated Wrapper to apply correct required permissions to mounted volumes on container start
-
Removed deprecated code from Build Pipes
-
Reduced EXPOSEd ports in the compose file to match Dockerfile (100 ports should be plenty)
-
Bumped the pip version in dependency layer
-
Added import dir mount for organising server imports
-
In the docker-compose.yml added missing environment variable for time-zone
-
Added some trash files to the .dockerignore that are not required in the image
-
Added docs warning regarding WSL2 / Win11 / Docker Desktop, Shredding worlds on /stop /restart
Bugs Squashed!🐛:
- Fixed crash when trying to edit own language
- Fixed bug where users could not be created because of a bad logical check for system user
- Massively improved File Loading, caching issues, loading too much data at once
- Fixed Port checking / mc serv fresh start detection
- Fixed various command dispatch issues
- Added Missing Translations (TY Translators <3)
- Fixed Notifications so they are only visible to valid server users
- Fixed permissions error causing crashing when posting api key from regular user
- Fixed bug with dependencies crashing crafty on fresh dep install
- Fixed a bug where motd was crashing stats
- Fixed duplicate encoding argument on windows migration that set the world on fire
- Fixed server reporting not updating
- Fixed bug where server_obj method was not defined breaking a lot of things
- Fixed bug where stopping a server without crash detection would crash crafty...(ironic, I know.)
- Fixed drag and drop anchors in dashboard rows so people can't be silly (They will still try i'm sure)
- Binned a codeblock that would cause js to vomit
- Fixed bug so chain-reaction schedule cannot be assigned to itself (People trying to be silly)
- Fixed bug where schedules would not be able to be created
- Fixed server restarts getting borked at some point
- Fixed some values in websocket stats causing things to go abit funky
- Fixed permissions application to bedrock_binary executables on import
- Fixed SIG[15] handling (again)
- Fixed bug in unzip where we tried copying a file instead of directory
- Fixed Server order so it's the same as user-defined dashboard server order
- Fixed a bunch of breaks caused when moving away from shutil (mostly user error, transcoding method calls)
- Fixed Unzipping methods breaking spectacularly
- Fixed backups so listed excluded paths do not include entire file structure.
- Fixed critical bug when excluded paths was '' the entire crafty working directory would be rm -rf'd (Whoops!)
- Minimize Shutil usage so cwd would not be changed by methods like make_archive & rm_tree
- Removed server stats for servers that are not running (this just looked confusing)
- Correctly handle if a server jar does not exist (useful information, ya'know?)
- Fixed path exception when importing regular & non-zip bedrock servers
- Fixed issue in file manager indenting and visual order (It's back to being pretty & readable)
- Fixed bug where int mc ping was not defined for bedrock servers
- Removed unnecessary print statements
- Fixed issue where guid was a string trying to be made into bytes
- Fixed bug where windows connection forcibly closing wasn't caught causing crash
- Fixed bug in schedule creation where if interval was days an exception
- Fixed display of Translators on Credit Page
- Fixed backup restoring
- Ensure stats schedule is removed on server start
- Fix 'server_id' not defined bug in download file
- Fix Dashboard 'Kill' causing stats scheduler to stack [This is just scratching the surface, a lot broke and got fixed during this last stint of development.]