The Evolution of ircII-EPIC

This file details the changes, additions, and removals of features from
EPIC.  This list of changes is fairly complete dating back to the very
first precursor to the EPIC project, ircII 2.2.9+.

EPIC 3.004
   miscellaneous: bug fixes for $R and ANSI color string parsing

EPIC 3.003
   new function: $winvisible()
   fixed functions: $chmod(), $convert()
   new commands: /input_char, /pause, /repeat, /window beep_always,
      /window double
   updated command: /hostname
   fixed commands: /alias, /quote
   updated /on hooks: dcc_connect, dcc_request
   fixed /set variable: comment_hack
   new statusbar expando: %=
   miscellaneous: support for all possible usermodes a..z
   
EPIC 3.002
   new function: $twiddle()
   new command: /pretend
   new /on hook: send_to_server

EPIC 3.001
   new function: $chmod(), $mkdir(), $umask(), $uniq()
   updated function: $info()
   new syntax: (x = 3) is equivalent to @ x = 3
   new commands: /call, /dcc resume, /hostname
   updated commands: /server, /timer, /xecho
   fixed command: /window add
   updated /on hooks: send_msg, send_public
   new /set variables: comment_hack, dcc_sliding_window, dcc_store_path
   miscellaneous: encrypted ctcp, socks support

EPIC 3.000
   new functions: $glob(), $notify(), $numsort(), $sort(), $usermode()
   fixed functions: $common(), $diff()
   updated functions: $rename(), $rmdir(), $unlink()
   new command: /switch, /unless, /until
   fixed command: /exec
   updated command: /foreach, /if, /while
   new /on hook: silence
   new /set variable: dcc_long_pathnames
   updated /set variable: auto_unmark_away
   removed /set variable: help_service
   miscellaneous: ircserv works properly

EPIC 3pre8
   new functions: $pass(), $repeat(), $strftime(), $winsize()
   updated command: /notify
   updated /set variable: highlight_char

EPIC 3pre7
   new functions: $chanmode(), $crypt(), $fexist(), $fsize(), $geom(),
      $info(), $splice()
   fixed function: $connect()
   fixed command: /dump
   updated command: /timer
   new /bind function: delete_to_previous_space
   miscellaneous: arrow keys may be used in menus

EPIC 3pre6
   new functions: $aliasctl(), $lastserver(), $numwords(), $servername(),
      $strlen(), $winserv()
   new command: /window size
   updated command: /foreach

EPIC 3pre5
   new function: $writeb()
   updated function: $read()
   updated commands: /nick, /stack
   new /on hook: note
   miscellaneous: new ircd+CS user modes added

EPIC 3pre4
   miscellaneous bug fixes, nothing new

EPIC 3pre3.4
   undocumented

EPIC3pre3.3
   miscellaneous: per-host access to client on AFS systems

EPIC 3pre3.2
EPIC 3pre3.1
   undocumented

EPIC 3pre3
   removed commands: /dcc summon, /dcc talk

EPIC 3pre2
   fixed command: /timer

EPIC 3pre1
   new function: $trunc()
   new command: /mesg
   fixed /on hook: msg_group
   new /set variables: floating_point_math, security
   fixed /set variable: indent
   new statusbar expando: %D
   new /bind functions: bold, highlight_off, reverse, underline
   miscellaneous: .ircrc loads on 004 numeric, ircd2.5/2.6 support removed

EPIC 2.003
EPIC 2.002
EPIC 2.001
   undocumented

EPIC 2.000
   new functions: $rename(), $rmdir(), $unlink()
   updated function: $open()
   updated commands: /ignore, /stack

EPIC 2pre5
   new command: /stub
   fixed command: /stack
   updated command: /ctcp, /load

EPIC 2pre4
   fixed syntax: ${} expando

EPIC 2pre3.1
   updated command: /ignore
   fixed command: /exec
   new /set variable: display_ansi

EPIC 2pre3
   new functions: $tr(), $version()
   new /set variable: auto_new_nick

EPIC 2pre2
   new functions: $close(), $convert(), $eof(), $iptoname(), $nametoip(),
      $open(), $read(), $write()

EPIC 2pre1
   new commands: /map, /rping, /silence, /uping
   updated command: /do (do-while)
   new /set variable: num_of_whowas
   miscellaneous: better handling of compressed help files and scripts

EPIC 1.003
   new /set variable: pad_char

EPIC 1.002
EPIC 1.001
   undocumented

EPIC 1.000
   new functions: $isalpha(), $isdigit()
   new syntax: \\[ \\] (alternation operator)
   updated command: /on (adds flexible hooks)

EPIC 1pre1
   miscellaneous: added support for Undernet numerics

ircII 2.3.22+11.1
   new /set variables: status_user4 ... status_user9
   new statusbar expandos: %0 ... $9

ircII 2.3.22+11
   new function: $which()
   updated functions: $after(), $before()
   new special variables: $F, $J
   new operators: +=, -=, *=, %=, /=, #=
   updated command: /lastlog
   new /bind function: shove_to_history

ircII 2.3.17+10
   new functions: $after(), $ascii(), $before(), $chr()
   new special variable: $E
   new operators: ~ (bitwise negative), , (comma operator)
   new syntax: C-like /* comments */ allowed
   updated command: /dump
   new /on hook: exit

ircII 2.3.16+9
   new function: $numonchannel()
   fixed function: $ischanop()
   new operators: & (and), | (or), ^ (xor), ?: (tertiary)
   new syntax: && and || short-circuit, client now follows C++ operator
      precedence rules
   new command: /abort
   new /set variable: status_no_repeat

ircII 2.3.16+8
   updated command: /userhost
   new /on hook: mode_stripped
   new /set variable: mode_stripper
   updated /set variable: display

ircII 2.2.9+7
   new functions: $center(), $pop(), $push(), $sar(), $shift(), $split(),
      $unshift()
   new operators: % (modulus), ++ (autoincrement), -- (autodecrement)
   new syntax: command blocks {} may be used more freely now
   new commands: /pop, /push, /shift, /unshift

ircII 2.2.9+6
   new functions: $jot(), $reverse(), $revw()
   new commands: /do, /fec

ircII-2.2.9+5
   new functions: $copattern(), $rfilter(), $rpattern()
   updated function: $key()
   new commands: /dump, /for

ircII 2.2.9+4
   new function: $key()
   updated functions: $chops(), $nochops(), $onchannel
   new command: /queue

ircII 2.2.9+3
   new functions: $chops(), $delarray(), $delitem(), $finditem(),
      $getarrays(), $getitem(), $getmatches(), $getrmatches(),
      $ifindfirst(), $ifinditem(), $igetitem(), $indextoitem(),
      $itemtoindex(), $matchitem(), $nochops(), $numarrays(), $numitems(),
      $onchannel(), $rmatchitem(), $setitem()
   new special variables: $X, $Y
   new command: /realname
   new /bind functions: meta5_character ... meta9_character

ircII 2.2.9+2
   new functions: $afterw(), $beforew(), $chngw(), $common(), $diff(),
      $filter(), $fromw(), $insertw(), $leftw(), $midw(), $notw(),
      $pattern(), $remw(), $restw(), $rightw(), $tow()
   new /on hooks: encrypted_notice, encrypted_privmsg
   fixed /on hook: disconnect

ircII 2.2.9+
   new command: /fe
   new /on hooks: dcc_connect, dcc_lost, dcc_request
   new /set variable: auto_rejoin