PennMUSH 1.8.8 Patch Notes
Jump to navigation
Jump to search
Version 1.8.8 patchlevel 0 Apr 20 2020 +====================================== + +WARNING! With the removal of the object queue, please be careful when upgrading that you do not have any infinitely looping triggers without an @wait. + +As an example, this used to be a common way to ensure something was executed once per second: + + > &everysecond object=do some ; updates ; @trigger me/everysecond + +This will now happen up to several thousand times per second! Add in an @wait 1, and it'll work as expected! + +Major Changes +------------- + +* Built-in HTTP server support, see "help http" [GM] +* A single command queue for players and objects. No more @trigger waits. [GM] +* A restructuring of bsd.c, to make it easier to reason about Penn's queue cycle. [GM] +* Millisecond timing in bsd.c for polling waits in prep for subsecond @waits. [GM] + +Minor Changes +------------- + +* Sockets commands now inline $-commands, so, e.g: $,* *: chat aliases don't hit queue. [GM] +* Millisecond timing in bsd.c for polling waits in prep for subsecond @waits. [GM] +* Sqlite3's `REGEXP` operator is always available and uses pcre regular expressions (previously it depended on libicu and used java style REs). [SW] +* Update `local.dst` to include example of millisecond callback loop. [MT] +* Updated to use PCRE2 10.33 for regular expressions. [SW] +* Wildcard patterns are sometimes converted to regular expressions when matched against many strings. [SW] +* Add '--disable-socket-quota' option for our test suite. [GM] +* The list of color definitions used with `ansi()`, `colors()`, etc. is now kept in game/txt/colors.json. [SW] +* Sqlite3 updated to 3.29. Biggest user-visible change is support for window functions. [SW] +* Update cJSON to 1.7.10 [SW] +* @command/restrict will only clear the failure message if a new one is supplied. [MT] +* @SOCKSET now has a NOQUOTA option which causes that socket to be given the max command input quota per refresh. [MT] +* --disable-socket-quota is now preserved across reboots. [MT] +* Improved detection of an already running game. [SW] +* Support logging through the OS syslog facility. [SW] + +Softcode +-------- + +* `addrlog()` for searching through list of unique IP addresses that have connected to a game. [SW] +* `connlog()` can return just a count of matching records. [SW] +* `formdecode()` for decoding HTTP paths and POST bodies. [GM] +* `@respond` for manipulating HTTP response codes and headers. [GM] +* `hmac()` for creating authentication fingerprints. [SW] +* `@chatformat` and channel mogrifiers are told if `@cemit/silent` is being used. [1267, SW] + +Fixes +----- + +* `add_function` in .cnf files was not properly using the upper case'd string. [#1223, MT] +* Various PCRE calls in the softcode have had CPU time limit watchdogs added. Discovered by Ashen-Shugar. [GM] +* Fix a file descriptor leak caused by recent OpenSSL versions. [SW] +* Added GAGGED restrictions that were missing from a few commands, including `@message` and the MUXcomm aliases. [MG] +* Minor help updates, including clarification of what GAGGED blocks, suggested by Merit. [#1262, MG, MT] +* Some fixes to extmail.c and chunk.c to fix @mail going forward. [GM] +* switch() and floating point numbers not working as intended. Reported by Mercutio [#1325, MT] diff --git a/INSTALL.md b/INSTALL.md index 1068dc97..05a9e9f4 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -81,13 +81,10 @@ The quickstart version of the installation is: development packages required to compile programs (Linux distributions that don't come with gcc in the base install often need a package named glibc-dev). -3. A version of the PCRE regular expression library and any related - development packages. (Debian and Ubuntu call them libpcre3 and - libpcre3-dev). -4. A version of the OpenSSL library; most OSes these days come with +3. A version of the OpenSSL library; most OSes these days come with it out of the box, but some might require a development package as well (libssl-dev, openssl-dev or some such name). -5. Development versions of a number of optional libraries are nice to have: +4. Development versions of a number of optional libraries are nice to have: * A sql client library for MySQL/MariaDB or Postgresql. * ICU (For enhanced Unicode support) * libevent (For ssl_slave) diff --git a/Makefile.in b/Makefile.in index a70c8b62..0ad22709 100644 --- a/Makefile.in +++ b/Makefile.in @@ -2,8 +2,8 @@ # - System configuration - # -VERSION=1.8.7 -PATCHLEVEL=1 +VERSION=1.8.8 +PATCHLEVEL=0