File: CHANGELOG

package info (click to toggle)
epic4-script-light 1%3A2.8.0-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 764 kB
  • ctags: 1
  • sloc: makefile: 35; sh: 7
file content (910 lines) | stat: -rw-r--r-- 45,259 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
New in 2.8
==========
* Auto-op and auto-voice are back, and integrated with /config!
  [CapnCrnch]
* Light now preserves client state information (such as the TabKey nick
  list) around /reload, unless you use the -n option (i.e., /reload -n).
* Light now fixes some common command-name typos:
    lsat    => last
    mgs     => msg
    pnig    => ping
    sever   => server
    srever  => server
    vre     => ver
    vresion => version
  Unfortunately I can't make this a general feature -- even though I could
  write some code to do "approximate matching", EPIC doesn't have any
  way to catch invalid commands.  This will be configurable in the future.
* Light now has auto-away.  And of *course* it won't barf annoying junk
  all over the channel!
* Light retries nick changes automatically if the server says "You may
  not change your nick for N seconds".
* The On Channel widget now shows channel operators and voices, or you
  can get rid of it completely.
* Information about recent signons and signoffs for people in your notify
  list can now be shown in the status bar.  See the two options in the
  new Status Bar menu.
* SmartBans(tm) has been updated.
* Light now treats Eterm as equivalent to xterm, now that I know that
  Eterm supports the features I require for it to be classed as "xterm-
  compatible".
* The LagMeter now always shows you the lag if you type /lag.
* The LagMeter now shows tenths of seconds, and will display in the
  status bar if you're more than half a second lagged to yourself.
* New feature: Daystamping. If enabled, at midnight, it prints a bar
  with the current date in long format to every window.  [Bret]
* The completion engine has been heavily overhauled.  Now supports
  '~'s and spaces in filenames, and completion for commands.
* Support for halfops channel mode.  This required some changes:
  * Commands that now work whether you're +o or +h:
      /ban /bans /cb /devoice /fkick /kb /kbs /kick /topic /unban /unbans
      /voice /zap
  * If you're a halfop, /fkick now displays a list of users who could
    not be kicked because they were +o or +h.
  * If you're a halfop, /ban won't try to deop the user being banned.
    Otherwise, if the server supports halfops, /ban will clear it too.
  * The /halfops command now only works on networks that support +h.
  * New /hop and /dehop commands, which only work if you're +o, and only
    on networks that support +h.
  * /mode leaves what mode changes you're allowed to perform up to
    the server.
  * The On Channel widget now supports displaying halfops.
  * The Auto-op and Auto-voice Manager doesn't support halfopping yet.
  * Light tries very hard to work out whether your server supports
    halfops, and if it does, which mode character to use.  If a server
    reports conflicting information, Light will emit a warning, but
    enable support for halfops anyway.  Please contact me if you see
    this warning.
  * Halfops support doesn't work in EPIC4-1.0.  If you need halfops
    support, upgrade to EPIC4-1.1.
* /kick, /kb, and /kbs have been merged into a single command.  /kick now
  takes three optional switches:
    * -s: /silence the kickee
    * -i: /ignore the kickee
    * -b: /ban the kickee
  You may not combine flags (e.g., '-sb').  All flags must be specified
  before the kick reason -- flags inside the kick reason are ignored.
  The -s and -i flags override each other: if you specify both, the last
  one is used.  /kb is now an alias for '/kick -b', and /kbs is now an
  alias for '/kick -b -s'.  There are also three new variations, which
  don't have shortcut aliases: '/kick -s', '/kick -i', and '/kick -i -b'.
* /kick can now accept a channel name as the first parameter, but unlike
  most other commands, you may not leave out a #.
* /whereis has been updated:
  * /whereis can now look up multiple TLDs at once (e.g., /whereis ro my).
  * Added new Global Top-Level Domains: .aero, .biz, .coop, .info,
    .museum, .name, .pro.
  * Added Ascension Island: .ac.  They've apparently existed since
    1997, but they're not in ISO 3166.  They also appear to be marketing
    themselves towards 'academic professionals'.
  * Updated HK, KZ, MO, PS, TL, TW, VN as per latest ISO-3166-1 bulletin.
* New /help command, that combines all the functionality of the client's
  built-in /HELP command, and more:
    * HELP_PATH can now be used as a real PATH-type setting, with
      multiple directories separated by a ':'.  All directories are
      searched for appropriate results.  In fact, Light's help system
      has been reimplemented using this new feature.
* New command: /cancelnick will cancel any pending nickname changes from
  /regain or "You may not change your nickname for N seconds" errors.
* New commands for DALnetters: /memoserv and /nickserv.  Off DALnet, they
  fall back to /msg MemoServ and /msg NickServ.
* New command /edset: does for /set what /edtopic does for /topic.
* New command /quietdl: like /dl, but doesn't say anything if the DCC
  list is empty.
* New command: /reverse. Sends its argument to the current query or
  channel, backwards.  [Apollo]
* New command: /rot13. Sends its argument to the current query or
  channel, rot13-encoded.  [smsie]
* New option for /fkick: -f (fast), which avoids the one-second pause
  between kicks, but will not use *any* kick comment, either supplied
  or default.
* New options for /notify: --on and --off, which will show you only people
  in your notify list who are online or offline, and --all, which will
  show you /notify information for all servers instead of just the
  current one.  See /help 1 notify for more information.  [Tce]
* New options for /query: -h (here) and -n (new), to override the
  "Autocreate windows on /query" setting.
* Removed command: /wlogin.  [Evii]
* Light's Configuration System has been reorganized.  I hope things are
  easier to find now.
* A new configuration option has been added to control whether just the
  angle brackets in a public message are highlighted, or whether the
  nick is, too.  [DanielS]
* /config's color picker now supports either flashing foreground colors
  or bright background colors, depending on what your terminal does when
  presented with the "flashing" attribute.  The color picker's choice
  of label is dependent on the value of EPIC's TERM_DOES_BRIGHT_BLINK
  setting -- but don't turn TERM_DOES_BRIGHT_BLINK on in EPIC4-1.0,
  or *all* background colors go away.
* Light now recognizes euIRCd.
* Light now recognizes QuakeNet.  [baSke]
* Light now recognizes the AnyNet server type.
* Light now recognizes the Unreal server type.
* Light now deletes empty away logs when you /quit.

Fixed in 2.8
============
* The netsplit detector now works with EFnet hub names and Undernet's
  HEAD_IN_SAND stuff.
* If you are in two or more channels on the same server as someone who
  changes their nick, Light will now inform you of the nick change in
  all relevant windows, rather than only the current window.
* The titlebar will no longer flicker under any circumstances.
* /cb and /sb now accept '*' as an alias for the current channel and 
  channel names without leading '#'s.
* Cleaned up /sb output.
* More multiserver environment fixes.  [DanielS, others]
* Truncate titlebar text at 232 characters to work around an xterm bug.
* Solved the crash in the Ban & Zap submenu of the Channel menu.
  [DanielS, Debian #114741]
* Fixed bug in titlebar reset after exiting config mode.
* /showraw works a bit better with multiple server connections in one
  client, by only allowing it to be enabled on one server at a time.
* Light now deactivates ShowRaw if you kill the raw server output window.
* Light now always interprets Tab and ^R (reverse tab) as a request to
  fill in an empty input line with /m and the most recent nick.  [Apollo]
* Light will no longer highlight any text within angle brackets at the
  start of a line -- for example, a nickname -- if Prefix own messages
  is enabled.  This is to prevent Light from highlighting your nickname
  if you have your nickname (or a part of it) listed in the Highlight
  text option.  [Apollo]
* The issue with timestamps in /config has been put to bed for once and
  for all.  [mwilson]
* Random junk no longer shows up in the /config window.
* Away and back actions will no longer be sent to the target of a query
  unless the query's target is a channel.
* Light will no longer display signons for nicks in your /regain list.
* /kick and /zap no longer have a fit if the nickname contains a '\'.  I'm
  actively seeking other places this happens, though.
* DCC CHAT messages are now timestamped in the scrollback buffer if you
  are away, same as /msgs.
* If you cleared a usermode, Light would display, for example,
    "*+* Your usermode is now -i."
  This has been corrected to display your new usermode.  I don't like
  this, but I can't come up with a better way to phrase that message so
  Light can display the changes instead.
* Hostnames in /whowas output were being colored as if they were nicks.
* /date could report very strange things on some networks.  [stephen_]
* The /whereis TLD list had GB instead of UK.  [stephen_]
* /join's handling of -hide and -nohide has been repaired.
* Light would still try to save the title bar during startup even if
  you turned off the "xterm titlebar support" option.  [stephen_]
* It was possible to get Light and EPIC to disagree about whether color
  was actually enabled or disabled.  [pmitros]
* If /dict couldn't find any relevant results, it wouldn't actually tell
  you what it couldn't find.  [stephen_]
* The TrueNick code in /msg and /describe now tries harder to determine
  someone's true nick.
* The "Save changes" confirmation box in /config should now display
  properly on any terminal wider than 20 columns.
* The AwaySeen cache is now purged when you disconnect from a server.
* /exec output could get mangled under certain circumstances.
* Fixed /names sorting to put channel operators first, halfops second,
  voices third, and everybody else last.
* /chops, /cycle, /leave, /names, /nokey, /open, /cb, /sb, and /xleave all
  now fall back to the current channel if none specified, and report "You
  must specify a channel" if there is no current channel (e.g., /query
  window).
* /topic has been fixed to allow unsetting the topic.  [stephen_]
* Fixed a bug in LagMeter that caused the "enabling workaround" message
  to be displayed more than once.  [roo]
* /dict will now let you switch away from a DICT query window without
  getting in the way of the input area.  [Apollo]
* I discovered that due to sloppiness in my code, Light contained a
  number of remotely-exploitable bugs that would cause Light to execute
  arbitrary EPIC script embedded in channel names.  So I've completely
  audited Light for double-evaluation errors, and corrected them all,
  even ones that weren't obviously exploitable.  Thanks are due to |Rain|
  for pointing the problem out (hey, *one* serious security issue in
  over eight years... not bad, eh?) and providing me with ways to fix it.
* The Auto-Highlight Text feature should no longer mangle color or lines
  that start with whitespace.
* New: an option for transparent colors in the Color Picker.  [Justin,
  roo]
* Many fixes to /away.

Known Bugs in 2.8
=================
* /help should now be sane, but for now won't let you omit leading
  directory names.
* /highlight's help is missing.
* The rest of Light's help isn't all that helpful.


New in 2.7.30p4
===============
* Backported /nickserv and /memoserv from 2.8, for DALnet users.
* Also, /memoserv and /nickserv become aliases for /msg memoserv and
  /msg nickserv if you're not on DALnet. [stephen_]
* Backported updated /xlogin and /oper commands from 2.8.
* Removed /wlogin.

Fixed in 2.7.30p4
=================
* Backported fixes to a couple of issues in the configuration upgrade
  code.
* Backported fixes to an issue with EPIC4-1.1 vs. CTCP.
* Backported fixes to an issue with EPIC4-1.1 vs. the status bar.

Fixed in 2.7.30p3
=================
* Fixed odd behavior in /paste.
* Tab completion fixes.
* Fixed /kb, /kbs, and /zap to not have a fit if the nickname contains
  a backslash.  I'm actively seeking other places this happens, though.
* Light now always interprets Tab and ^R (reverse tab) as a request to
  fill in an empty input line with /m and the most recent nick.  [Apollo]
* Light will no longer highlight any text within angle brackets at the
  start of a line -- for example, a nickname -- if Prefix own messages
  is enabled.  This is to prevent Light from highlighting your nickname
  if you have your nickname (or a part of it) listed in the Highlight
  text option.  [Apollo]
* Updated /whereis to know about the new global Top Level Domains:
  .aero, .biz, .coop, .info, .museum, .name, .pro
* Fixed a bug in /regain.
* Fixed DCC display.
* The netsplit detector required the two server names to have a minimum
  of three components to minimize false positives.  Unfortunately,
  EFnet is using (bogus) hostnames like "hub.uk" and "hub.se", so I've
  relaxed the restriction.
* DCC CHAT messages are now timestamped in the scrollback buffer if you
  are away, same as /msgs.
* Fixed a bug in join display.
* Fixed a LagMeter bug.
* Fixed some WHOIS info display bugs.

Fixed in 2.7.30p2
=================
* Removed some superfluous debug.

Fixed in 2.7.30p1
=================
* The new LagMeter code didn't work on all servers.  Light has been
  fixed to automatically detect whether the new-style or old-style
  LagMeter needs to be used.  [Nanuq]

New in 2.7.30
=============
* IMPORTANT.  Light no longer provides a /WHO alias, because EPIC now
  provides everything (and more) that Light did on its own.  For details,
  please see /help who and http://www.epicsol.org/UPDATES
* Added /xlogin.  [jgaddis]
* Light now buffers multi-line /NAMES responses and displays them once
  the "End of /NAMES" indication arrives.  If you IRC on a network on
  which this doesn't work, please email me with the server's hostname
  (if it's a public server) so I can figure out why and fix it!  [mwilson]
* New option in the Channel menu: format /NAMES output into nice,
  neat columns.  [FreakzZ]
* Nick-regain code (no, not war code, just code to wait for the chump with
  your nick to sign off so it can take it back).  For more information,
  see /lhelp aliases regain.
* /zap can now take a number before the nick, which overrides the
  /zap timer.  [DanielS]
* Added /ame (/me to all channels on all servers) and /asay (/say to
  all channels on all servers).  [DanielS]
* Added /paste: disable LightPaste(tm) for five seconds.
* /join can now create hidden windows, if you use the -hide flag.
  -nohide cancels it. In other words, yes, this command is valid:
    /join 0 -hide #channel1 #channel2,key -nohide #channel3
* All the /lhelp text has been fixed to make sure it all fits in an
  80-column window with timestamps turned on and your clock set for
  12-hour time.  [DanielS]
* Colors are now configurable.
* zsh-style menu completion.  [FreakzZ, mwilson]
* /describe now uses TabKey.  (Note that you can abbreviate /describe as
  far as /des, if you haven't made your own aliases that would conflict.)
* /config's Miscellaneous Options menu has been completely reorganized.
* Light's handling of your xterm titlebar has been substantially
  reworked.  There are now _five_ options controlling what Light does
  to your titlebar.  If it doesn't look the way you think it should,
  look in /config's Miscellaneous menu.  A summary of the new options:
  * xterm titlebar support
    If you turn this off, Light will not touch your titlebar at all.
  * Save titlebar on startup
    Turn this off if your terminal emulator doesn't support xterm's "get
    titlebar" escape sequence.  This shows up by Light giving you a
    "Title:" prompt when you load it.
  * Show server name in titlebar
  * Show topic in titlebar
  Are you happy now, mwilson? ;)
* /edtopic: pulls the specified (or current, if not specified) channel's
  topic into the input buffer for editing.  [mwilson]
* New /dcc list displaying code that doesn't truncate nicknames.
* New command: /dict. [wlfshmn]
* If "Prefer tab completion" is enabled (which it is by default), hitting
  Tab on an empty line now fills in /m <nick>, where <nick> is the last
  person to /msg you.  If nobody's /msg'd you yet, it just fills in "/m ".
  [wlfshmn]
* Light now checks the length of topics.  If you think it's got the
  limit wrong, or if the /topic alias does something Weird(tm), please
  let me know.  [inspired by SplitFire]
* Light will now refuse to run if run as root.
* /query will now change who you're talking to in one step, rather
  than two, if the window you issue the /query in was already /querying
  someone.
* Added a /servinfo command, that shows various useful bits of information
  about the current server.  The "Feature info:" line is currently there
  for my use only - don't bother asking what it means.
* /kb and /zap will now clear +v too, for completeness' sake.
* Private actions (both regular and DCC) are now emitted with level MSGS
  (private messages), instead of ACTION.
* New /notify function that looks nicer and keeps nicks sorted.
* Partial support for EFnet's 2.8.21+CSr servers (specifically, the
  no-join-on-split stuff).
* Tab completion defaults to filename completion for /exec.  If this is
  annoying, I'll add support for nicknames after -m[sg].
* /wholeft now defaults to only showing who left the current channel
  during a split.  You can also specify a channel to display info for,
  or * for all channels.
* Support for the stupid new Undernet netsplit notices.
* /lusers looks a bit prettier now.
* Implemented prettyprinting for the EFnet 250 (part of /lusers) and 263
  (server load too heavy) numerics.
* Light can now highlight the current window in your titlebar.  Look in
  /config under Color options, Current window highlight color.
* New command /chops: like /names, but only shows channel
  operators. [neex]
* New command /voices: like /chops, but only +v [stephen_]
* New command /halfops: like /chops, but only half-ops.
* /whereis now loads the ISO-3166 country code data on demand, instead
  of it being loaded during startup.

Fixed in 2.7.30
===============
* Tab completion now defaults to ON.  This will _not_ change your current
  setting, just that of new users.
* Really fixed the timestamp-doubling bug.  [DanielS]
* The Channel Options configuration menu was too long.  Ban and /zap
  options have been moved into their own submenu under Channel Options.
  Also, timestamping is disabled during /config.  [DanielS]
* /msg might occasionally have been unable to find the "true" nick if
  you were /querying a channel.
* TabKey won't clobber the cut buffer (^U/^Y).
* Typing /query with no active query will no longer report "Ending
  conversation with ."  [DanielS]
* Ban masks generated with "include username in ban" turned on no longer
  contain the ~.  [DanielS]
* Tab completion works for /ds again.
* Filename tab completion will not append a space if the word being
  expanded ends in a / (i.e., is a directory name).
* Filename completion now works with absolute and relative paths.
* If you are in the same channel on two different IRC servers/networks,
  Light occasionally would have shown outgoing public messages in the
  window for that channel on the server you'd most recently received
  something from instead of the window you were talking in.  [Taliesin]
* The "suppress joins/leaves" option no longer hides your own /joins
  and /leaves.
* Light's code to automatically update the target of /queries when a
  nickname change for someone you're currently /querying is observed
  is now smart enough to only update /queries on the network the change
  happened on.
* Light's handling of CTCP and DCC has been cleaned up.
* /dns will now say "is not on IRC" instead of "is at <UNKNOWN>".
* Light now forgets about netsplits thirty minutes after the split
  happens, instead of clearing netsplit information at zero, 15, 30,
  and 45 minutes past each hour.
* /xleave no longer requires a channel name for the first argument,
  but this means that if you _do_ want to specify a channel name, you
  must include the #.
* Signoff messages should always display userhosts now.
* /cb's -nos and -nou flags didn't always behave correctly.
* Finally, the "Light DCC crash" has been laid to rest.  Make sure
  you have EPIC 0.9.11+patch1+patch2 or later if you turn on the "Show
  user@host" option in the DCC menu.
* Fixed a bug present in /lsave since forever where it would update
  your configuration to the current version but fail to update the
  configuration version.
* Fixed a bug that would periodically cause messages from you to have
  the :#channel infix added if you were on multiple channels/networks
  at the same time.  [Tamahome, Bret]
* Fixed WALLOPS formatting.  [Coma]
* Fixed color bug in /unban.
* Fixed unbanning more than one nick/mask at a time with /unban.
* Fixed bug in titlebar saving.
* Fixed silly thinko in connect message.
* Fixed bug where private messages and actions (both regular and DCC)
  would show up in the wrong window if you were using /query.
* Fixed bug with the "send PONG message" option.
* Fixed /msg bug that would cause messages starting with a leading 0
  (zero) to error with "You must specify a message to send".  [DanielS]
* Fixed a couple of bugs that would display the wrong nickname under
  certain circumstances.  [DanielS]
* /showmessages (which is also used by /back) will now pause after each
  screenful of saved messages.  [DanielS]
* The LagMeter(tm) now works if you are connected to multiple servers.
* Fixed a bug in signon and signoff notifications that would cause some
  hostnames to get mangled.  [KionBoi]
* Fixed a weird bug that would occasionally cause public messages to be
  displayed with the wrong nickname.  [zumthing]
* The option to turn off net.split suppression (useful for those of
  you using Light in the Windows port of EPIC) has, until this release,
  always been ignored.  So, in this release, net.split detection will
  be forced to ON when your configuration is upgraded, to continue to
  provide the previous behavior.
* Fixed several bugs that could result in the titlebar containing
  incorrect information if you were connected to multiple servers at
  the same time.  [DanielS]
* Auto-highlight will now never mess up the color of surrounding text.
  [EviiWuff, DanielS, others]
* Net.split and net.join messages are now sent to all windows each
  splitted client is in.
* Fixed bugs in /aaway and /aback that would result in not all servers
  being notified correctly.  [DanielS, others]
* Signon and signoff notification behaves more sanely in a multiserver
  environment.
* The Miscellaneous option "Override $TERM and set titlebar anyway"
  option didn't work.  [roo]
* /clearmessages didn't clear the [Saved: ] counter in the status bar.
  [Evii]
* Added a workaround for X-Chat's broken DCC CHAT support.
* Better idea for how LagMeter(tm) should work. [Robey Pointer]
* Slightly improved support for IRCnet.  I'm curious for any IRCnet-
  related feedback, too.

New in 2.7.29
=============
Nothing. :/

Fixed in 2.7.29
===============
* A combination of a bug in Light and a bug in EPIC could sometimes
  cause /config to crash if you had any hidden windows.  /config has
  been modified slightly to not provoke this crash, but other parts of
  Light may still.  A fix has been forwarded to hop and should appear
  in the next release of EPIC after EPIC4pre2.600.
* A bug in /config made it impossible to change settings relating
  to colors.  [FreakzZ]
* Timestamps could get doubled or even more when the /lastlog command
  is given.  [DanielS]

New in 2.7.28
=============
* New color picker for /configure.
* I've added an option for sorting /NAMES replies, which is off by
  default.  [FreakzZ, inspired by SplitFire]
* The new highlighting around publics is controllable by an option.
  [Taliesin, Epesh, rhowe]
* /lhelp has been cleaned up.  [FreakzZ, rhowe, mwilson]
* "/SET STATUSBAR_COLOR" and the /COLOR command have been removed:
  please use /config instead.
* LightPaste(tm) - never again will you inadvertently paste the contents
  of your xterm into a channel!  If you paste more than a configurable
  number of lines at a time, Light will eat subsequent input until
  there has been a quiet period of one second, at which point you can
  type again.  It's not possible to trigger LightPaste by typing, as
  you have to put something in the input line _and_ hit enter multiple
  times in a row, in an extremely short period of time, to trigger it.
  To turn it on, look in the Miscellaneous menu.  This feature defaults
  to OFF, and the default number of lines is 4.
* /cb has four new switches that work like -x / -nox:
    -s / -nos: clear/don't clear bans set by a server
    -u / -nou: clear/don't clear bans set by a user
  /cb -nox -nou will remove all bans set by a server
  /cb -nou will remove all bans set by a server or by X/W
  -cb -nos -nox will remove all bans set by users
* Compatibility: The $indextoword() function in EPIC changed slightly,
  and rather than force everyone to upgrade, Light now works with both
  behaviors.
* /regain: attempt to regain your preferred nickname when it becomes
  available.  If you give more than one nickname, the list is assumed
  to be in order of preference.  If you do, for example,
    /regain Liandrin Lia Liandra
  if Lia becomes available, Light will still try for Liandrin, but will
  forget about both Lia and Liandra.  [FreakzZ]
  Note that this feature may not work correctly, due to Undernet deciding
  randomly to break the USERHOST command at some point in the past.  The
  bug has been fixed, but it may take a while before all servers upgrade.
* I forgot to document that I added a /reload command to Light 2.7.27,
  which, oddly enough, will purge all loaded scripts, variables, etc. and
  reload your ~/.ircrc.

Fixed in 2.7.28
===============
* If you changed either of the log file settings (channel or away),
  /lsave (which is done by /config, too) would've trashed the setting
  due to a nasty bug in escaping special characters, causing the away log
  filename to be set to "homehomehomehomehomehomehomehome", for example,
  and the channel log to "homehomehome".
* The new window on join option should no longer create extra new windows.
  For the curious, it picks the lowest window on your screen that doesn't
  currently have a channel associated with it.  [mwilson]
* Public messages sent by the user and all actions would sometimes go
  to the wrong windows and would also sometimes not have the channel
  infix inserted.  [Epesh]

Known bugs in 2.7.28
====================
* /config sometimes screws up your windows.  I've managed to provoke an
  EPIC crash while trying to figure this one out, too, but I can't even
  replicate that. :/ [Taliesin]

New in 2.7.27
=============
A very big thank you to mwilson, Tamahome, and FreakzZ for helping
me test this release. =)

* Light can now be made to highlight arbitrary text.  This isn't
  cheap when it comes to CPU consumption, but it works.  You'll need
  a copy of EPIC released on or after 2 December 1999 for it to work.
  The color with which text is highlighted is also configurable.
  [FreakzZ, rhowe, mwilson]
* Light now attempts to figure out what kind of server you are connected
  to, for figuring out, among other things, how many channel modes can
  be changed per MODE command.  [Inspired by SplitFire]
* Timestamps are now colorized.  If you don't like them, let me know,
  and I'll consider changing it.  [Coronach]
* You can now make Light prefer tab completion over TabKey.  To enable,
  look under the Miscellaneous menu.  [FreakzZ, rhowe, mwilson]
* New command /activate: shows the hidden window that's been active
  most recently.  [Taliesin]
* Light now colorizes the angle-brackets around nicknames.  [mwilson]
* Light now has an option for prefixing your own public
  messages. [mwilson]
* Tab completion will now expand the longest common prefix when there's
  an ambiguous match.  [Nuke, mwilson]
* SmartBans(tm) does a better job of home.com now.  [Tamahome]
* /showraw now shows traffic from your client to the server.
* Added a doodad to the status bar to show how many people are on the
  current channel.  Only visible with double-height status bars.
* Light now works around for a bug in the Undernet ircd that can cause
  the timestamps in the list of bans to be wrong.
* Light now has an option for creating a new window (or recycling an
  old window) automatically when you /join a channel.
* Tab completion for more commands: /ban /unban /op /deop /devoice /load
  /dc /ds /dcc chat /dcc send.  /load's completion correctly searches
  LOAD_PATH.

Fixed in 2.7.27
===============
* The new netsplit code wouldn't treat URLs in signoffs as netsplits,
  but it _would_ treat two-word signoff messages as netsplits.  [rhowe]
* Actions would sometimes show up in the wrong window.  [bolch, rhowe]
* Highlighting nested patterns (e.g., "oo foo") works as expected now.
  [rhowe]
* Timestamps would never increment.  [mwilson]
* The LPM counter could get confused if you had two windows in the same
  channel but on different networks.

Known bugs in 2.7.27
====================
* The new-window-on-join option doesn't always seem to recycle windows.
  [mwilson]
* /config sometimes screws up your windows.

Fixed in 2.7.26
===============
* Brown-paper bag time, again: The netsplit detection code in 2.7.25
  was broken.  Now that it's fixed, it should be a lot smarter about
  what constitutes a netsplit and what doesn't.

New in 2.7.25
=============
* /list output is now colorized.  This fixes a (probably) obscure bug
  in EPIC causing the channel # (yes, a channel with no actual name is
  legal!) to be mis-justified.  [Taliesin]
* I've added a Lines-Per-Minute counter.  Use /config to enable -
  it's option #7 in the Miscellaneous menu.  Note that it will only be
  visible if:
    * the current window is on a channel,
    * something has actually happened in that window in the last minute,
      and
    * you have double-height status bars enabled.
  [Taliesin, drz]
* If you are /querying someone on any of your channels and they change
  their nickname, Light will now update all windows /querying that person.
  [Taliesin]
* Setting BEEP_ON_MSG to ACTIONS or DCC now works as expected.
* /zap can now be made to ban a user's exact hostmask.  Look for option
  #8 under the Channel configuration menu.  [rhowe, Liandrin]
* /join can now take a list of channels (with keys), separated by commas.
  (Yes, Light has finally caught up with the Superpak of 1995...)
* Timestamps.  Use /config to turn 'em on.  (Note that if this is turned
  on, _everything_ is timestamped.)
* New smart /help alias.  Allows you to say "/help on join" instead of
  "/help 5 on join".  Useful if you don't know what section it's in.
  Inspired by the "man" script which ships with EPIC.
* Nick completion now works for TabKey, too: type "/msg foo<tab>".
* Nick completion even works for /k, /kb, and /zap!

Fixed in 2.7.25
===============
* Documentation for /mcdg and /mcds (see "New in 2.7.24" below for
  details) was missing.
* Brown paper bag time: the /nh command (notify and highlight) was
  ignoring people, instead of highlighting them.  Oooops.  [Epesh]
* /notify would give errors if you used it on nicknames that contained
  any non-alphanumeric characters.  [Epesh]
* /msg and /wall will now not send empty messages.
* /msg's error message for missing message ("no nick") is fixed.
* Found and fixed another couple broken DCC messages.
* "* not found on IRC" (yes, literal asterisk) is now suppressed.
* /who wouldn't work outside a channel, no matter what arguments you
  gave it.
* /config should play nicely with multiple screens/xterms now, if you're
  using EPIC4pre2.505 or later.  Let me know if this doesn't work.
  [Taliesin]
* Net.split code should be a bit smarter about what it considers a
  netsplit and what it doesn't.  [rhowe]
* The "Signoff detected for ..." message will no longer show empty
  ()s if it didn't see the signon and stash the userhost.

Known Bugs in 2.7.25
====================
Netsplit detection code is broken.

New in 2.7.24
=============
* Added /aaway and /aback: like /away and /back, but done on all channels
  on all servers you're currently connected to.
* Added /aquietaway and /aquietback: like /quietaway and /quietback,
  but done on all servers you're currently connected to.
* Added /mcdg and /mcds: close all DCC GETs or SENDs with the specified
  users.  (I'd've added /mcdc for chats too, but current EPIC won't
  allow more than one chat to a user at a time.)

Fixed in 2.7.24
===============
* Many small cleanups to screen output, the most notable of which is
  that color is not generated via raw ANSI escape sequences any more.
  If you have scripts of your own that depend on Light having turned
  DISPLAY_ANSI on, you'll need to turn it on yourself.
* In the process of the above I found a bunch of stupid typos, which I
  of course fixed.

New in 2.7.23
=============
* New configuration option to control whether Light will automatically
  enable double-height status bars on all your windows.
* Nick completion!  [Nuke and a host of others]

Fixed in 2.7.23
===============
* The cursor position will now remain constant within the input line
  as you cycle through nicks, rather than moving to the end of the line
  each time.

New in 2.7.22
=============
* Light now has a built-in configuration system!  Type /config to check
  it out!  [Nuke, Liandrin]
* It's also possible now to save your configuration changes with the
  /lsave command.  This will destroy a previous ~/.Light/config, but
  as far as I can tell, it works just fine.  (It's also easier to make
  changes by hand to this file - it's generated from Light/options,
  including all the comments.)  You might want to back it up just in case.
* The International Standards Organization (ISO) has updated ISO-3166,
  the standard that defines the two- and three-letter country codes.
  As Light has a /WHERE command that will tell you what a particular
  top-level domain means, this has been updated to contain the latest
  changes in the 1999-10-01 revision of ISO-3166.
* Light now catches nicks for TabKey from private actions, NOTICEs,
  and DCC CHATs.  [Nuke, Liandrin]
* The default /ZAP time is now 15 seconds, up from 10.
* I rewrote some of the explanation text in the options file; hopefully
  it's easier to understand now.

New in 2.7.21
=============
* Implemented caching of signons, so the hostmask can be displayed
  on signoff.
* Status bar color is now set by _name_, not ANSI color numbers.
  It understands most _common_ color names; if you find something it
  doesn't understand, let me know.  To get a bright-colored foreground,
  put the word "light", "bright", or "bold" in front of the foreground
  color (e.g., "light cyan on blue", the default).
* CTCP VERSION requests have been prettyprinted.
* You can now force Light to set your title bar, by setting
  @LIGHT.Misc.alwaysUseTitleBar to 1.  Read the note in Light/options
  before doing this.
* You can now do /set statusbar_color <color goes here>.  Note that
  there was a bug in EPIC with respect to this; even though the
  statusbar's color would change, EPIC would say *** No such
  variable "STATUSBAR_COLOR" anyway.  (This seems to be fixed in
  EPIC4pre2.004-19990909.)
* Added an autovoice list, like autoop.  [Ooogy]
* Added /kbs - just like /kb, but silences too!  [Ooogy]

Fixed in 2.7.21
===============
* Fixed the tabkey code to (a) actually use the code to /userhost someone
  to determine their "TrueNick" (i.e., nick with correct spelling), and
  (b) try the list of people on your current channel before resorting
  to a /userhost.  Only applies to the first time you /msg someone.

New in 2.7.20
=============
* Big cleanup to the formatting code involved in /WHO output.  Padding
  based on the value of /SET CHANNEL_NAME_WIDTH actually works correctly
  now.  Nicks are still truncated at nine characters, though.

Fixed in 2.7.20
===============
* Fixed stupid bug in /voice.
* Fixed help for /ffind and /fkick.

New in 2.7.19
=============
BIG NOTE: I have removed a lot of old compatibility cruft.  Most of it
affects clients released in 1997, but now that EPIC4pre2.003 is out and
seems (for _me_, at least) to be stable, I'm not going to waste time
checking for things hop changed two years ago.

* Added /ffind - like /fkick without the kick.
* New look for /sb output.
* /back won't ask you to clear saved messages if there aren't any.
  [Epesh]
* /fkick can now take an option, -b (ban the mask before kicking).
* /cb can now toggle -nox and -x in the middle of a command line.
  Confused?  Here's an example:
    /cb -nox #chan1 -x #chan2 -nox #chan3 #chan4
  This will clear all bans on #chan2, but leave behind X/W-set bans on
  the other channels.
* Cleaned server notice handling up a little.
* Added formatting for a bunch of STATS replies.
* Added the option to include usernames in bans - see Light/options for
  more details.  [Epesh]
* Added formatting for USERHOST and USERIP (Undernet-only(?)) and many
  STATS replies.
* Added *.dialup.rcn.com to SmartBans(tm).
* Modified the channel signoff hook to de-verbosify Undernet's annoying
  error signoffs (ping timeout, read error, buffer allocation error).

Fixed in 2.7.19
===============
* Finally fixed "Lag: -0 seconds" problem.
* Fixed a bunch of bugs relating to the output from DCC hooks.
  I *think* I'm still occasionally seeing odd output with DCC CHATs,
  but I don't DCC that much.  If you find something strange, email
  light-workers@canuck.gen.nz about it.
* Fixed bugs with home.com and sprint.ca SmartBans(tm), and removed
  Costa Rica (CR) from the "bilevel" domain list, having spotted *.co.cr.
* Fixed a problem with the netsplit code where any two-word signoff
  message containing a dot in each word would trigger netsplit detection.
  This still needs a bit of tweaking.
* Fixed the formatting of private DCC actions (i.e., /desc =nick blah)
* Fixed /hideraw, which appears to have been broken since 2.7.16. *blush*

Notes about 2.7.18
==================
* Slightly friendlier CTCP output.
* /who's output will now be $stripcrap()ed, too.
* Fixed bug that eats QUIT/LEAVE/WHO messages under clients dated before
  980713, even though they're not really supported all that well any more.
  [Coma]
* Documentation fixie: /lhelp channel join didn't mention that /join
  with no arguments will join the last channel you were invited to.
* Added /lag.  Updates the LagMeter(tm) on demand.
* Added a new option to control how often the LagMeter(tm) updates.
  Read ~/Light/options for details.
* Added /xleave.  Read /lhelp channel xleave.  [Coma]
* Light will now save your titlebar and restore it when you /quit,
  but there's a catch.  In order for it to work correctly, you must do
  the following:
    a) Find out which metakey is bound to ESC (i.e., ^[).  Call this
       meta2, for the sake of argument.
    b) Find an unused metakey.  Call this meta34.
	c) /bind meta2-] meta34
	d) /bind meta34-l #
	e) /bind meta2-\ parse_command xtype ^M
    f) add the line "@LIGHT.Misc.getTitleWorks = 1" to ~/.Light/config
  In step E, make sure that ^M is the actual control character, and
  not the two characters ^ and M.  I'm sorry this is so painful, but
  EPIC has no facility for discovering what's bound to what, and one of
  Light's policies is to not mess with the user's keybinding (outside
  of ^I and ^R, this is).  _I_ happen to have a meta2 bound to ^[,
  and a free meta34, but that doesn't mean _you_ do.  [Epesh]

Notes about 2.7.17
==================
* Now shows the version number on load.  [Epesh]
* Fixed bug in /zap that only showed up if LIGHT.Channel.showTimeInZap
  was enabled.  [Epesh]
* /ban and /unban were really broken.  Fixed.  [Epesh]

Notes about 2.7.16
==================
* New option, LIGHT.Misc.updateTitleBar, which will put the current
  channel and server in your titlebar in an xterm.  (If you're running
  an EPIC older the 28th of September 1998, this may not work correctly.)
* Added /whereis, which will tell you what an ISO3166 country code is.
* Lots of code cleanups, at the further expense of EPIC3 compatibility.
* Made the default /fkick message configurable.

Notes about 2.7.15
==================
* Added two new options: LIGHT.Channel.ignoreZappee, which /ignores the
  person you zapped while banned if set, and LIGHT.Channel.showTimeInZap,
  which shows how long the zap was for if set.  Neither are enabled by
  default. [Epesh]
* A bunch of bugs with /zap, /kb, /ban, and /unban have been fixed.
  These showed up while implementing the above.
* EPIC3 compatibility is good and screwed now.

Notes about 2.7.14
==================
* You can now get rid of bold, too, when you turn off color. [jdh]
* SmartBans(tm) knows about a few more domains.
* /zap timer is now configurable. [Epesh]
* The AMES(tm) is no longer bolded, by popular demand. [sjh]
* The "Your message has been logged" message no longer contains
  bold. [sjh]
* The options file now contains descriptions of what everything does.
* Fixed a bug where /zap would unban in the wrong channel. [Epesh]
* Fixed a few more DCC output glitchies.
* CTCP reply handling is a bit broken, I need to investigate this more.
  Should be fixed for 2.7.15. =)
* The LagMeter(tm) no longer resets your idle time.  If you liked the
  fact that your idle time was being reset every 60 seconds, email me
  and I'll consider adding an antiidler.

Notes about 2.7.13
==================
* The LagMeter(tm) has been fixed - it will actually work now. ;)
* Most channel operator-only functions now check to see if you're a
  channel operator before attempting them.
* DCC CHAT messages now behave like ordinary messages - /last 10 -msg
  will show them too.
* Added support for Undernet's PART (/leave) comments.
* Other sundry output cleanups.
Yeah, I know it's not much of a release, but it's better than nothing.
I'm open to any suggestions for improvements!

Notes about 2.7.12
==================
* Epesh found and fixed a bunch of bugs in the Light help system.
* Status bar is now bright cyan on blue - if you don't like this, put:
    @LIGHT.StatusBar.colored = 0
  in ~/.Light/config.
* New! LagMeter will tell you when you're more than half a second lagged
  to yourself.  (Double status bar mode only.)
* New! The number of messages saved to your message log will be displayed
  in your status bar.  (Double status bar mode only.)
* When a DCC CHAT is established, the person's nick is added to the
  tabkey list.
* New command - /color {on|off|toggle}.  Does exactly what it says.

Notes about 2.7.9 through 2.7.11
================================
* HELP!! /lhelp is done! ;)
* The *E* prefix has been changed to a blue ***, to make it a bit more
  obvious that the text isn't being reformatted by Light.  More for me
  than for you.
* Now that /lhelp exists, commands that need arguments that don't get
  enough will invoke their own /lhelp.
* /nslookup now reports "not found" instead of blank.
* Added /ls.  You'll probably want to use -C to prevent it from displaying
  one file per line.
* /leave can leave more than one channel at once. =)
* /kick, /op, and /deop check for missing arguments.
* Use the client's built-in /topic if you're using a client released
  since 31 May 1997 - save some cycles by using the built-in one.
* /cb can now clear multiple channels' banlists at once.
* /cb takes a switch, -nox, which will make it leave X/W-set bans in
  place.  Doesn't make sense anywhere but Undernet, so it only works
  on Undernet.
* /ban, /unban, and /fkick should all work happily now.
* Color is now an option - /lhelp config color
* /ping *should* work now - lemme know if you get: *** Unknown command:
  PING
* Now catches and displays nicely ping times, and even sends them =)
* The PONG reply is now an option which defaults to off.  There will be
  a way to change the setting soon.
* Fixed bug in /cds and /cdg.
* Light should now know when a country uses two levels (e.g.,
  something.com) and when it uses three (canuck.gen.nz) and ban
  appropriately.
* The tabkey code now updates its internal list if it sees a nick change
  for someone in your tabkey list.
* Hitting tab with nobody in your tabkey list won't make a mess now.
* Shiny new code all over the place - tell me if anything goes funny.
* Finally colorized some output hooks that had been lurking uncolorized
  since day dot.
* Light now swallows duplicate "Your message has been logged" notices,
  "nick is away: blah", and mIRC (*spit*) DCC notices.
* Added a bunch of hooks for a forthcoming /opview, which has made
  somewhat of a mess of server notices for the moment.

Known bugs that nobody can reproduce
====================================
* Light seems to interact badly with screen, sometimes.  I haven't got
  a clue why, though.  [Taliesin, Bret]