1.8.6p2

From The Fairy Garden MUSH
Jump to navigation Jump to search

Version 1.8.6 patchlevel 2 Dec 19, 2017

Fixes:

* Fix compilation errors with OpenSSL 1.1. [SW]
* Fix overflow bug in mapsql(). [MG]
* elements() would very rarely give an extra delimiter. Reported by Ashen-Shugar. [1108-MG]
* Missing null termination in 'buy' fixed by CLDawes. [1128]
* Fix an off-by-one error in switch handling code that could cause a crash on startup. [SW]
* Fix an issue with table() not fitting maximum number of columns in a line. Reported by Degraine. [1119-SW].
* Fix an issue where writes to a socket sometimes shut down the connection needlessly. [1136-SW]
* Disallow '=' to be used in passwords. Causes problems when changing passwords later. Reported by Volund, PR by Qon.

Major changes:

* Supports client charset negotiation of UTF-8. This means the mush can send and recieve UTF-8, but still uses latin-1 internally. Unicode characters that aren't part of latin-1 are not supported. Yet. [SW]

Minor changes:

* New @lock/chown controls who can @chown a CHOWN_OK object. Suggested by Frakir. [1127-MG]
* The 'buy' command now pays the vendor, rather than the money disappearing into a black hole. Suggested by moniker, patch by CLDawes. [1128]
* Help changes by Xperta, Trinsec, Elwyndas and others. [MG]
* MySQL Stored Procedures should now work without causing 'Out of sync' errors. Patch by Mercutio. [1100]
* Make log rotation more robust. [SW]
* fraction() now takes a second arg; fraction(1.5,true) returns "1 1/2", rather than "3/2". [MG]
* hasattrval() now returns 0 for attributes containing a single space when the empty_attrs config option is false. [MG]
* fold() now passes the number of times <attr> has been called as %2. Suggested by Shaenyl. [MG]
* Attempt to speed up database saves and loads a bit. [SW]
* Improvements to SSL certificate checking. The ssl_ca_file config option should now be set to /etc/ssl/certs/ca-certificates.crt unless you've customized it, and the new ssl_ca_dir option to /etc/ssl/certs. [SW]

Hardcode:

* Use the much lighter weight and higher quality PCG random number generator. [SW]
* Use a better seed for the RNG on Windows. [SW]
* mkcmds.pl uses a better way to generate temporary files. [SW]	
* Use clang-format instead of GNU indent to format source code. [SW]
* Use poll(2) instead of select(2) for the main game event loop. [SW]
* Slave procceses use prctl(2) on Linux to be notified of the mush exiting instead of checking periodically. [SW]