EPIC4 Projects, Bugs, and other Errata:

KNOWN ERRATA (eg, bugs, or unresolved requests):
------------------------------------------------
* A missing 'else' in create_additional_screen causes gnu screen to be
  prefered over X windows.  Should this be fixed, or at least made an option?
  Maybe try X, fall back to gnu screen on failure?
* If you create a new query window in /on #msg -33, then the message does
  not go to that query window!
 
[See http://www.epicsol.org/PROJECTS for things to come in the future]
[See http://www.epicsol.org/CHANGELOG for things that changed in the past]

THE CHANGELOG SINCE THE LAST RELEASE:
-------------------------------------
* Add $fskip(), $fseek(), $frewind(), $ferror() and $isfilevalid().
* Gid rid of the awful bsd_*env() hacks in compat.c.
* Start using getenv() and setenv() like normal programs do.
* Fix /setenv so you can unset env variables with /setenv -VARNAME
* "Ooops"  I didn't sort fskip/fseek/frewind/ferror in the functions list.
* Migrate the io() looper to using 'struct timeval's instead of time_t's
* Migrate /timer to use 'struct timeval's instead of time_t's
* Make 'start_time' and 'idle_time' struct timeval's, for future use.
* Add some functions to ircaux.c to make manipulating timevals easier.
* Migrate calc_speed in dcc.c to using 'struct timeval's instead of time_t's
* Fix /xecho -v
* Make /pause take a fractional argument, ie, /pause 1.5
* Make /timer take a fractional argument, ie, /timer 1.5 ....
* Implement "redirect sink", nickname 0, causes all output to be suppressed
* Implement /flush to use the redirect sink instead of throwing out good data.
  -- This means /flush is safe to use again!  Huzzah!
* You can use /REDIRECT 0 WHOIS <nick> for example to suppress "extra" output
* Resizable wserv support, merged from epic5.  "wserv" now called "wserv4"!
* Add /set wserv_path to let you choose the wserv you want to use.
* New highlight renderer, from epic5.  Touches a lot of stuff.  May break?
* Honor attribute markup in /set continued_line
* Save attributes from the end of one line to after the continued_Line.
* What this means is that attributes in /set continued_line don't "bleed"
* Add support for ~/.epicrc which is prefered to ~/.ircrc.
* Change the email list address to list@epicsol.org.
* Fix the "Warning, file exists" check for dcc to honor /set dcc_store_path.
* Add $info(i), which is the commit_id.  I should have added this long ago.
* Fix $read() to accept lines of any length (crazyeddy)
* Fix window_disp() to pass raw display strings to lastlog and log.
* Fix $status() to return a denormalized string.
* Fix bug where cursor would not be returned to input line after status update
* Make the output of /query go to the affected window.
* Thwart attempts to /JOIN (/window rejoin) to an unconnected server.
* Start exposing commit_id to the user, for bug reporting purposes.
* Increase the precision of floating point results to 999 decimal places (ce)
* Add /on general_notice and /on general_privmsg.
* Don't hook /on general_notice if user hooks /on kill or /on oper_notice.
* Fix bug that showed all timers as having 0 seconds left.
* Fix $printlen() -- must call normalize_string() before output_with_count()!
* Make 'add_to_window' and 'window_disp' static to screen.c again.
* "Fix" /WINDOW ECHO to not call add_to_window() but rather use "to_window".
* Add support for $write[b]() to logfiles; prefix window refnum with 'w'.
* Add support for $write[b]() to global logfile; logref "w-1".
* Add $ceil(), $floor(), $abs() (crazyeddy)
* Fix $trunc(... 0) to truncate number to an integer (crazyeddy)
* Print floating point numbers with up to 50 places of precision.
* Add a new argument to /crypt, an external encryption filter.
* Add epic-crypt-gpg and epic-crypt-gpg-aa to the script/ directory.
* Fix bug with ROM_CHAR handling.
* Add MIN()/MAX() macros for systems that don't define one.
* Add an exec_pipe() function which returns the results of an ext. prog. (ce)
* Fix integer math (ce)
* Avoid using trunc(3), nonportable; use fmod() isntead (ce)
* Always make sure Attributes are initialized before first use.
* Add compat hacks for broken systems lacking setenv() and unsetenv().
* CTCP SEDs recieved in NOTICEs are treated as CTCP REPLIES not queries. (ce)
* Added $encryptparm() -- nick, key, and prog info of /crypt entries (ce)
* Fix prepare_display to append a zero-Attribute and not ^O to end of line.
* "Fix" /queue so it doesn't double-eval your commands at runtime.
* Revert last change
* "Fix" /queue so it doesn't double-eval your commands up front.
* Fixed ctrl-e (alt-char) problems.  Thanks to desaster and knghtbrd.
* Disabled ROM characters.  Many thanks to zinx for figuring it all out.
* Add /SET ROM_CHAR, which controls parsing of ^R codes, default is OFF.
* Re-enabled ROM characters, now that they can be /SET off.
* Remove /SET ROM_CHAR, and the rom_char handling stuff entirely.
* Add /SET ALLOW_C1_CHAR which defaults to off, to [dis]allow ascii 128-159.
* SSL support (ay-ar)  See "README.SSL"
* Add /xdebug ssl to debug SSL stuff, right? (ar)
* Add /on ssl_server_cert per above. (ar)
* Add /set ssl_certfile and /set ssl_keyfile and /set ssl_path per above. (ar)
* Add /set status_ssl_off and /set status_ssl_on per above. (ar)
* Replace $isencrypted() function, per above (ar)
* Replace $ssl() function, per above (ar)
* Add $cipher() function, per above (ar)
* Add %| status bar expando for SSL server connections, per above. (ar)
* Maintainance work on the man page, spelling fixes, markup fixes.
* Fix the "redirect sink" so it hooks /on redirect, but suppresses output.
* Whack up figure_out_address to cope with networks that present hostnames
  without dots in them. (wd)
* Fix $uhc(), $mask(), and /ignore per above (wd)
* New script, 'commandqueues' (ce)
* New supplement scripts 'epic-crypt-pgp' and 'epic-crypt-pgp-aa' (ce)
* Various Bugs fixed and memory leaks found (ce)
* Algorithm improvements, replacements, and enhancements (ce)
* Malloc debug tracking -- #define ALLOC_DEBUG (ce)
* New command, /ALLOCDUMP, dumps stats about malloc use, per above (ce)
* New flag to /XWUOTE, /XQUOTE -U takes a url encoded string, dequotes it and
  sends it to the server -- useful for sending odd characters. (ce)
* /ON CTCP_REPLY changed!  $0 = from; $1 = to; $2 = command; $3- = args
* Add ftoa(), which is used for the math parser to format decmial values. (ce)
* Pull the guts of $encode() and $decode() and put them in ircaux.c.
* Track flooders by nick!user@host instead of just nickname. (ce)
* Add $corpattern() fn - like $copattern(), but $var1 is wildcard pats. (ce)
* Add $regmatches() function
* Add $servergroup() function - returns the servergroup a servref is in (ce)
* Add $serverourname() function - returns ourname for a servref (ce)
* Fix $chankey() and $chanmode() to use from_server, not current window's serv
* Fix some bugs with how the regex functions work. (ce)
* Add support for if (..) {...} elif (...) {...}
* Add support for if (..) {...} else if (...) {...}
* Output the commit_id with the version id whenever possible.
* Save the server's group name in a /SAVE.
* Add /lastlog -file to output lastlog to a file. (??)
* In $channel() output, put 'h' for half-assed channel ops. (ce)
* Fix rebuild_all_notify() -- gah! (ce)
* Change /set notify_interval 0 to turn off notify entirely. (ce)
* Add send_to_server_raw() internal function (ce)
* Add /window notified, turns on the "window notified" flag (ce)
* Add support for /msg'ing 0 -- this is a "sink"
* /redirect 0 now uses the '/msg 0 sink'
* Add support for /msg'ing @<filedesc> -- to write to an $open() file.
* This adds support for /msg'ing @w<winref> -- to write to a window logfile
* When /redirect'ing to 0 or @<filedesc>, don't output result to screen.
* Fix null deref when msg'ing a window's logfile that doesn't exist.
* Stop doing special support for numerics 316 and 340 as a favor to kev.
* New script, "tabkey.ce" (crazyeddy)
* Fix bug in compat stuff for /SETENV (rb da5id)
* Remove "scanstr" internal function
* Total rewrite of queue.c, and /QUEUE commands.  See UDPATES for details.
* Change $channel() indicator for +h users to use '%' insteazd of 'h'
* Do repo-direct work: Move the README.SSL file to doc/
* Start fixing up some of the documentation for the 1.1.3 release!
* Support double-quoted words in server specifications. (rb wd)
