0.5.0 Changelog

From MineOS Wiki
Jump to navigation Jump to search

Version Naming Convention

Stable builds: 0.5.#a where # is an even integer.

Beta builds: 0.5.#b where # is an odd integer.

Stable and beta builds are incremented with a letter, indicating minor releases. Typically, stable build increments will increase when bugs are found in stable and the fix is ready for production use. It is encouraged to "Update and Use Stable" as often as is convenient.

Beta builds are all operational builds. This means that the beta update meets the baseline functionality of the most recent stable build and can be used full-time. Beta builds, however, are reserved for changes to the codebase that are substantial or affect a critical functionality. In other words, the new cutting-edge features show up in the beta builds only (until fully tested), and are recommended only for those who a) aren't afraid of a red-colored popup in the web-ui and b) know how to utilize and share mineos.log. Beta channel may be my play sandbox, but it still adheres to my high standards of safe, non-volatile coding.

Note, users often have a wary outlook on beta versions, but often beta will be more hardened, secure, and safe than the stable counterpart. Under all circumstances, however, the higher the version number, the better (e.g., stable 0.5.4a > beta 0.5.3f).


New web-ui and new scripts Majority changes listed here: 0.5.0


Released 10/18/2012

First versioned release, now using Knockout.js


Released 10/18/2012

  • Adding reverse-compatibility code to work with 0.4.x style crontabs
    • made values and command syntax case-insensitive


Released 10/18/2012

  • Corrected 'restore on [on]reboot' bug
  • Corrected added rsync commands (added) to ensure mineos.config does not get overwritten on update


Released 10/19/2012

  • Added 'Archive logs' to web-ui
  • Consolidated 'restore' into 'restore table' button (renamed 'increments table)
  • Minor tweaks to visible elements when dropdown options not selected
  • Properly catches error when attempting to archive_log a server with an absent log
  • Added a working 'donate' button to the webui!
  • Corrected bug where empty attributes couldn't be clicked via webui.
  • Corrected bug where certain profile combinations didn't match UI form


Released 10/22/2012

  • Removed crontab remnants in server.config regarding defunct c10t
  • Removed crontab remnants also for pigmap until implemented


Released 10/23/2012

  • Rewrote pid-checking code for better efficiency (list_pids + list_server_pids > list_java_pid)
  • Added new list_proc functions for uptime, loadavg, and meminfo
  • Added System Health page to web-ui for uptime & chart of live-streaming loadavg
  • Corrected issue where 'live server logs' would continue even if off-page


Released 10/26/2012

  • Changed sanitization to allow periods and underscores in server names, but may not start with a period
  • Corrected issue where 'live server logs' would continue even if off-page
  • Added notice on 'modify config' page to let users know they can change values from the page by clicking them.


Released 10/30/2012

  • Corrected issue where updating channel/switch channel overwrote mineos.config


Released 11/2/2012

  • Corrected issue where empty values in 0.4.x mineos servers couldn't upgrade



Released 10/27/2012

  • Created logparser.py, a sql-based parser for the server.log
    • Added as new page /admin/logparser.html
  • Corrected various instances of hardcoded references to sp and sc not using .env
  • Corrected issue where clicking the 'save' button in 'modify config' didn't disappear after saving.
  • Modified uptime to be HH:MM:SS


Released 10/31/2012

  • Cleaned up try/catches for update_file
  • Added class SmartRedirectHandler to handle mean webservers
  • Reversed order of xmx/xms values and java_tweak to allow java_tweak to take precedence.
  • Fitted 0.5.0h fixes


Released 11/2/2012

  • Corrected issue PermissionsFailure "stat is not defined"
  • Created execute_profile functionality
  • Corrected issue with shell script updating
  • Added pigmap functionality
  • Fitted 0.5.0i functionality


Released 11/4/2012

  • 0.5.1c re-branded 0.5.2; new 0.5.3 will reflect next large script changes
  • Link added to server consoles page to reach logparser utility


Released 11/6/2012

  • Corrected issue where starting multiple servers at boot caused congestion and only one server started (added 1.5sec delay)
  • Corrected issue where console-rw tried operating on javapid rather than screenpid


Released 11/7/2012

  • Cleaned up pigmap code
  • Corrected issue where [onreboot] restore wasn't working because live space was empty
  • Corrected issue where 'start server on boot' wasn't filling 'true' to server.config


Released 11/7/2012

  • Added 'execute_profile' to web-ui if profile is a script


Released 11/12/2012

  • Added more logging, e.g., sanitization
  • Corrected issue where ConfigParser was passed upper-case and did not lower() them, as ConfigParser expects


Released 11/13/2012

  • Sanitization changes
    • Corrected typo in 'clean->cleaned' for _sanitize
    • Allowing '=+:,' as valid characters for _sanitize
    • Relocated all sanitization strings to mc() statics for easier custom.py overwriting and general updating
  • Corrected issue where valid server names (incl. "._") were not being detected by list_pids


Released 11/13/2012

  • Adjusted ping() to not fail with non-standard \xff responses, e.g., spout
    • Known issue: mineos can start and stop spout servers, but the motd/online players/max players is not accurate
    • spout compatibility will be developed in the beta channel from here on.


Released 11/13/2012

  • Optimized ping() and updated ping protocol to reduce lost connection spam
    • Greatly reduced certain mineos_console.py execution times
  • Standarized _sanitize() function
    • Created new SANITIZED_CHARS['chat'] for separate chat filtering


Released 11/14/2012

  • Fixed critical issue with 0.5.2g because bukkit does not use the modern ping protocol and all pings with a running bukkit server failed.
    • Additional code route added to accommodate non-standard bukkit protocol


Released 11/15/2012

  • walked backward on ping() code to 0.5.2f


Released 11/15/2012

  • Implemented most recent minecraft protocol for ping()


Released 11/18/2012

  • Added ip_address() and updated ping() to use 'server-ip' from server.properties instead of if specified


Released 11/18/2012

  • Added new_config() to update mineos.config with new attributes
    • adds 'admin' attribute to default '/var/www/hiawatha/admin'
    • adds 'script' attribute to default '/usr/games/minecraft'
  • update_stable() and update_beta() now reference above mentioned 'admin' and 'script' to allow custom locations.


Released 11/19/2012

  • Cleaned up some code for hdd health page
    • Added Total/free/used mb for root filesystem


Released 11/20/2012

  • Renamed PermissionsFailure -> PermissionsFailureError
  • Wrote more thorough documentation
  • Removed propogate_profiles, list_profiles_to_update
  • updated game_macro execute


Released 11/20/2012

  • Corrected issue where servers which were substrings to longer server names would cause list_server_pid failure:
    • screen would find 'mc-one' and 'mc-onetwo' ambigious and fail--screen -S now references screenpid


Released 11/24/2012

  • Changes to vm_profiles
  • Corrected issue where mineos_console.py restart didn't work
  • Rewrite of scriptin.js
    • consolidated logparser.html into main page
    • filtered out spam
    • system health page opens more quickly


Released 11/25/2012

  • Updated logparser.py to accept log entries FINE/FINER/FINEST from commandblock
  • Added notice to refresh page/clear cache after updating scripts.


Released 11/25/2012

Rebranded 0.5.3g


Released 11/27/2012

  • Corrected issue where certain non-unicode chars in motd prevented web-ui server listing


Released 12/4/2012

  • Corrected issue where restart() didn't function.
  • Refitted prune() to allow all valid rdiff-backup strings
  • Corrected issue where regex for pruning/restore failed because of string padding.


Released 12/6/2012

  • Cleaned up PermissionsFailureError code; should now log failed attempts at changing permissions and display in webui


Released 12/9/2012

  • Updated shebang on mineos, server, and mineos_console for greater portability by using env. shebang now references /usr/bin/env python2.7 since the scripts require 2.7 anyway.


Released 12/14/2012

  • Added update_versions(), added buttons to web-ui
    • Renamed versions buttons to 'CHECK FOR NEWER VERSIONS', 'USE STABLE' and 'USE BETA'
  • Adjusted ping() to return -1 players online on socket.error
  • Colorized memory usage if in-use memory exceeds allocated memory
  • Added 'Reached end of stream' to spam_filter; corrected spam_filter bug where js would not properly iterate an array len > 1


Released 12/18/2012

  • Corrected bug where web-ui would incorrectly report stalled servers as 'down' and thus not be killable. Now, they are listed as DENY (-1 players) and will respond to kill (but not stop)


Released 12/31/2012

  • Added '%' character to URL whitelist


Released 12/31/2012

  • ...something...


Released 1/24/2013

  • Added new exception path for unicode errors in ping() found by tekkit_lite


Released 1/30/2013

  • Creates /home/mc/import if doesn't exist (for turnkey release)


Released 5/1/2013

  • Made constant PROC_PATH/S, which should auto detect proper /proc fs between /proc and /usr/compat/linux/proc


Released 7/9/2013

  • Added 1.6.1 protocol support


Released 8/5/2013

  • Fixed import_world which would make many import attempts fail


Released 8/26/2013

  • Added '^' to the URL sanitization whitelist


Released 9/6/2013

  • Updated ping() to work with unicode motd's