Software Change Log

ZDaemon Relay Chat Changes
          Changelog for the ZDaemon Relay Chat Client
          ===========================================

          Please Note: You can find a local copy of
          the changelog by opening ZRC Help and
          browsing to the "Change Log" section.

1. 0.91 Release (Sep. 28, 2004)
-----------------------------------------------------------------------
 1. First public release.
-----------------------------------------------------------------------

2. 0.92 Release (Sep. 29, 2004)
-----------------------------------------------------------------------
 1. Fixed a bug in the "Find Previous" command while in channel list
    windows.
-----------------------------------------------------------------------

3. 0.93 Release (Oct. 6, 2004)
-----------------------------------------------------------------------
 1. Implemented nick completion for channel windows using the tab and
    shift-tab keys.

 2. Implemented a watched channel list; when you're on that channel,
    any activity will result in an audio notification.

 3. Added various flags about the ZRC appearance and callback behavior
    with respect to the hosting application.

 4. Implemented an ignore list to be blocked from PM's and channel
    displays.

 5. Modified the exit code to issue a /quit command before
    disconnecting.

 6. Added some more information to the help file.
-----------------------------------------------------------------------

4. 0.94 Release (Oct. 14, 2004)
-----------------------------------------------------------------------
 1. Added CTCP flood protection.

 2. Added an option to ignore all CTCP messages.

 3. Added outgoing flood protection.

 4. Enabled multiple line pasting in the edit box.

 5. Added an option to enable / disable timestamps in all windows.

 6. Improved the interaction between ZRC and the hosting application
    (new functions, flags and callbacks).

 7. Fixed a race condition that could cause a crash when disconnecting
    from a server.
-----------------------------------------------------------------------

5. 0.95 Release (Oct. 23, 2004)
-----------------------------------------------------------------------
 1. Implemented several more esoteric IRC commands: "/OPER", "/SQUIT",
    "/CONNECT", "/TRACE", "/SQUERY", "/KILL", "/REHASH", "/DIE",
    "/RESTART", "/WALLOPS", "/OPERWALL" and "/ISON".

 2. Added persistence to the global sound status.

 3. Added a channel button on the toolbar to join various channels
    quickly. It remembers the last 10 channels you joined.
-----------------------------------------------------------------------

6. 0.96 Release (Feb. 1, 2005)
-----------------------------------------------------------------------
 1. Implemented a buddy list that works in conjunction with the
    launcher. Buddy lists are maintained by the launcher and
    communicated to ZRC via a special API; ZRC also displays Add/Remove
    Buddy commands in context menus and notifies the launcher about
    such requests. Buddy messages generate a special audio notification
    so they can be distinguished from messages from non-buddies.
    Finally, ZRC notifies the launcher in real-time when a buddy
    enters/exits one of the channels that we have joined.

 2. Added an option to send command responses to the active window
    instead of the server window.

 3. Added more information to the help file.

 4. Added a reconnect command to the server context menu.
-----------------------------------------------------------------------

7. 0.97 Release (Mar. 17, 2005)
-----------------------------------------------------------------------
 1. Added a per-channel option to hide join / part / quit messages.

 2. Extended the API to generate notifications on channel join/part.

 3. Enabled the selection and handling of multiple users in the channel
    member list.

 4. Enabled horizontal scrolling in the channel member list if the
    nicknames are too long.

 5. Automatic trimming of trailing spaces/newlines when pasting so that
    the pasted text is visible.

 6. Fixed a problem where the RTF control would scroll when the user
    had previously selected some text, then scrolled the window and
    then right-clicked for a context menu.

 7. Added a "Set Topic" command to the channel window context menu to
    facilitate the topic editing.

 8. Enabled self-op and self-voice operations from the channel member
    context menu for cases handled by ChanServ.

 9. Added keyword highlighting / audio notifications in channels.

10. Added some special commands to facilitate the service handling:
    "/CHANSERV", "/HELPSERV", "/MEMOSERV", "/NICKSERV", "/OPERSERV",
    "/SEENSERV" and "/STATSERV".

11. Added 4 different keyword categories; you can have different colors
    and audio for each.

12. Implemented aliases.

13. When a /MSG is sent to NICKSERV, its contents are not echoed back
    to the screen to avoid inadvertently revealing passwords.

14. Added support for aliases in context menus.

15. Added an option about using seconds in timestamps.

16. When you leave a channel but the channel window remains open, the
    member list uses a different bgd. color.

17. Enabled multiple channel joining upon startup.

18. Automatic setting of the away status while in game.

19. Added Mute/Unmute commands to the channel member list context menu.

20. Added support for multiple servers to the auto-away mechanism.
-----------------------------------------------------------------------

8. 0.98 Release (Feb. 7, 2006)
-----------------------------------------------------------------------
 1. Fixed a bug in the "reconnect" command.

 2. Added different coloring of the tab icons according to activity
    (no activity, notices only, normal text, keywords). Changes of the
    away status no longer color the tabs.

 3. Added an option to have the nick automatically serve as a keyword
    in channel windows.

 4. Added a 3-way option for tab auto-switching: never, only when idle,
    always.

 5. Fixed a bug where several settings would not be saved on exit.

 6. Channel and private message tabs are now grouped by server.

 7. Implemented automatic and manual logging with daily log rotation
    and optional HTML format.

 8. Fixed a bug where an action message would not be delivered in a new
    tab.
-----------------------------------------------------------------------

9. 0.99 Release (Nov. 14, 2007)
-----------------------------------------------------------------------
 1. The server connections are now performed on a background thread so
    it doesn't block the GUI while connecting.

 2. The server password is now cloaked in the server connection dialog.

 3. All messages to nickserv, chanserv, operserv are now cloaked.

 4. Added a Control+Shift+Tab shortcut to move to the previous tab.

 5. Added some new commands: /SLEEP, /UMODE and /CMODE.

 6. Added a "ban" command to the channel member context menu.

 7. Added a "channel control" dialog from where chanops can adjust
    various channel properties. The dialog is accessed from the channel
    context menu.

 8. Added a /DEBUG command that displays all net traffic in a special
    window. This can be useful for debugging aliases, etc.

 9. Implemented different "Join on reconnect" policies: join no
    channels, join preset channels only, join open channels only, join
    preset and open channels.

10. Implemented an "Auto-unaway" option. When it's on, you have been
    marked as away and you send any kind of message, then it
    automatically turns off your away status.

11. Implement an Auto-away option after 5 minutes of inactivity.

12. Implemented periodic auto-pinging to detect "silent" disconnections
    more reliably.

13. Implemented an auto-reconnect option.

14. Improved the mouse handling code to avoid spurious window scrolls
    while selecting text, clicking on hyperlinks or bringing up the
    context menu.

15. Added full support for localized and multilingual encodings
    (Unicode) under all versions of Windows, even Windows 9x.

16. Added a new kbd/mouse shortcut. Shift + Mousewheel results in quick
    tab switching.

17. Added a new button on the toolbar that shows the tab list and lets
    you switch to any tab with a single click.

18. Extended the channel join dialog to remember the last 50 channels
    joined regardless of the method used to join them. Also added an
    option to avoid saving the channel history if you're worried about
    privacy issues.

19. Implemented various workarounds for wine's bugs under Unix.

20. The various tabs are now grouped by server and then alphabetically
    or temporally (user option) within the server's group.

21. Improved the mode and nick message handling to reduce channel
    member requeries.

22. Improved the handling of server-specific (non-standard) channel
    modes.

23. Added a trackbar control at the top of all channel and private
    message windows to enable the direct manipulation of the first
    tabstop and indentation.

24. Enabled the selection of a second font to be used for dialogs.
    This can be useful when the default dialog font does not exist
    (eg., under wine) or when it doesn't contain international
    characters.

25. The vertical divider between the channel text and the member list
    is now adjustable.

26. Added an option about limiting the scope of ignored nicks.

27. Added an option to the standalone zrc.exe about minimizing normally
    or to the tray. The option is on the system menu and can be
    overriden by a right click on the minimize button.

28. The left margin on channels and PMs is now remembered among
    channels and between sessions. Note that this applies to the
    initial margin set on a channel upon entry: it does NOT mean that
    all channels/PMs have to have the same margin.

29. The program now keeps track of the kbd. input locale in each tab
    and restores it when switching among tabs. For example, suppose you
    type English in one tab, then switch to a second tab, switch the
    keyboard to Russian and type something there. If you switch back to
    the first tab, the program remembers the input locale in effect
    when you switched out of that tab so it automatically restores it.

30. ZRC sends a notification message to the launcher 15 seconds before
    it auto-reconnects to the ZDaemon IRC server, so the launcher has a
    chance to login the player to the master.

31. Made a few minor changes to improve compatibility with various IRC
    servers.
-----------------------------------------------------------------------

10. 0.999 Release (Feb. 22, 2008)
-----------------------------------------------------------------------
 1. Implemented a filtering mechanism for text that you want to ignore.
    The filters may apply to channel windows, PM windows or both, and
    you can specify simple strings or regular expressions.

 2. Extended the keyword mechanism to use regular expressions as well.
-----------------------------------------------------------------------

11. 0.9994 Release (Apr. 1, 2009)
-----------------------------------------------------------------------
 1. Added support for half-ops to the channel member context menu.

 2. Implemented several more commands: "/OP", "/DEOP", "/HALFOP",
    "/DEHALFOP", "/VOICE", "/DEVOICE", "/MUTE", "/UMUTE". They
    complement the ones in the channel member context menu and apply to
    channel windows only.
-----------------------------------------------------------------------

12. 0.9995 Release (Apr. 22, 2009)
-----------------------------------------------------------------------
 1. Fixed a bug where it would not remember the log format setting
    across program invocations.
-----------------------------------------------------------------------

13. 0.9996 Release (Aug. 18, 2009)
-----------------------------------------------------------------------
 1. Fixed a format string bug in the mute/unmute commands.

 2. Added support for the 330, 901 and 902 numerics.

 3. Added a channel key prompt when one is needed.

 4. Added a "reason" prompt for the kick command in the channel member
    list.

 5. Implemented a new "KickBan" command in the channel member list.
-----------------------------------------------------------------------

14. 0.9997 Release (Oct. 23, 2009)
-----------------------------------------------------------------------
 1. Extended the timestamp options to include dates as well.

 2. Added support for the 716-718 and 720-722 numerics.

 3. Improved the routing of server notices when the
    "Show undirected messages in active window" option is active.

 4. Enabled "irc://", "zds://" and "#channel" hyperlinks inside ZRC.
-----------------------------------------------------------------------

15. 0.9998 Release (Nov. 24, 2009)
-----------------------------------------------------------------------
 1. Implemented an embedded ident server. It does "not" use uPNP
    (yet), so the user is responsible for port forwarding behind NAT
    devices (you need to forward port 113/tcp).

 2. Reworked the channel join code: multiple channel joins on startup
    should be much faster now.

 3. Improved a bit the channel and irc hyperlink detection.

 4. Fixed a bug that didn't let half-operators use the mute/unmute
    commands from the GUI.
-----------------------------------------------------------------------

16. 0.9999 Release (Jun. 16, 2010)
-----------------------------------------------------------------------
 1. Fixed a bug in the authentication code for the ZDaemon IRC server.

 2. Added support for the 489 numeric.
-----------------------------------------------------------------------

17. 0.99991 Release (Aug. 11, 2010)
-----------------------------------------------------------------------
 1. Enabled the standalone zrc.exe to remember its on-screen position.

 2. Added Ignore/Unignore entries to the Query (Private Window) Context
    Menus.

 3. Added an option to enable ZRC to maintain username/hostname
    information for all people and make it available on aliases running
    from a channel member or a private window context menu.
-----------------------------------------------------------------------

18. 0.99992 Release (Oct. 9, 2010)
-----------------------------------------------------------------------
 1. ZRC should suppress multiple sounds if they're sufficiently close
    to each other (1 second).

 2. Introduced the "CYCLE" commmand which parts a channel, clears the
    channel window and then rejoins the channel.

 3. Added an option to record the "last message time" for all users in
    the channels to which you belong, classify users as idle/non-idle
    based on that time and display idle users in faded colors in the
    channel member list.
-----------------------------------------------------------------------

19. 0.99993 Release (Nov. 19, 2010)
-----------------------------------------------------------------------
 1. Certain hyperlinks are considered safe, so there is no point in
    disabling them. This applies to links like "zds://", "#channel" and
    "http://*.zdaemon.org/*"

 2. Adjusted for IRC servers that send multiple prefixes per person in
    channel member lists.

 3. Added colors for half-operators and other higher level operators.

 4. Added a trailing character to each channel in the tab list
    depending on the type of activity ( * standard text; ! keywords ).
-----------------------------------------------------------------------

20. 0.99994 Release (Mar. 7, 2011)
-----------------------------------------------------------------------
 1. Improved the integration with the launcher to avoid refreshing the
    server list at inopportune moments.
-----------------------------------------------------------------------

21. 0.99995 Release (Apr. 11, 2011)
-----------------------------------------------------------------------
 1. Better Wine compatibility.
-----------------------------------------------------------------------

22. 0.99996 Release (Aug. 19, 2011)
-----------------------------------------------------------------------
 1. Added a per-channel option to mute keyword notifications.

 2. Added a workaround to avoid some rare connection problems.
-----------------------------------------------------------------------

23. 0.99997 Release (Dec. 10, 2011)
-----------------------------------------------------------------------
 1. Fixed a bug that'd prevent context menu related changes within ZRC
    from being saved upon exiting the launcher.

 2. Silent server-side nickname alterations are now detected on connect.
    This avoids oddities such as channel tabs not being spawned
    correctly due to a client/server discrepancy regarding the nickname
    that's in use. (Only applies if a specified nickname is
    incompatible on a given server and is silently altered as a result)

 3. The Topic has now been given its own message type, it'll no longer
    instigate a highlight if any part of it matches a set keyword.
-----------------------------------------------------------------------

24. 0.99998 Release (Jan. 1, 2012)
-----------------------------------------------------------------------
 1. Minor speed improvements.

 2. Message types added for the following:
    - Join
    - Part/Quit
    - Nick Change
    - Mode

    Only the first three message types will instigate a highlight if
    any part of their output matches an existing keyword. They however
    will not instigate the tab icon to highlight in such a fashion
    (This avoids tab icon highlights caused by your own nick changes).
    Only the visual component of the highlight will apply in this case,
    they're otherwise silent.

 3. Nickname and Alternate Nickname limits increased from 16 to 20
    characters in the "New Server Connection" dialogue. (Only applies
    to IRC networks that have a NICKLEN limit of 16+).

 4. The stand-alone ZRC executable will now remember your window state
    (Maximized or Restored). If you exit ZRC while it's in a minimized
    state, it'll re-open with the restored visible state by default.
-----------------------------------------------------------------------

25. 0.99999 Release (Feb. 24, 2012)
-----------------------------------------------------------------------
 1. Log Naming function added; this will allow you to modify the order
    of the various parameters that make up the log file name. You'll
    also be able to modify the number of directory levels, eg:
    - Level 0: DATE-NICK-SERVER-TAB.log
    - Level 1: DATE/NICK-SERVER-TAB.log
    - Level 2: DATE/NICK/SERVER-TAB.log
    - Level 3: DATE/NICK/SERVER/TAB.log

 2. Tab-reordering added: if you right-click inside a channel or query
    tab, you'll be able to move it to the left or right. You cannot
    move it to the left of a special-type or parent tab, eg: Server,
    Debug, Chanlist. You'll also only be able to move a channel/query
    tab to the end of the tablist, or until you encounter another
    server-type tab on the right from another connection.

 3. The "* Disconnected" message will now contain the quit message sent
    from the server. This however depends on the "ERROR: Closing Link"
    reply being sent out, a blank reply is otherwise indicated instead.
-----------------------------------------------------------------------

26. 0.999991 Release (Mar. 8, 2012)
-----------------------------------------------------------------------
 1. An improvement was made to the non-channel/irc-type hyperlinks.

 2. The Ban/Except/Invite lists in the Channel Control dialogue now
    support multiple selection and deletion.
-----------------------------------------------------------------------

27. 0.999992 Release (Mar. 28, 2012)
-----------------------------------------------------------------------
 1. A further couple of improvements to the non-channel/irc-type
    hyperlinks.

 2. While in the Channel Control dialogue, double-clicking an entry in
    the Ban List tab will no longer bring up the Edit dialogue if
    you're not opped on a channel.

 3. The standalone ZRC executable will now display a different icon
    when a PM is received while minimized to the system tray.

 4. If you attempt to execute /topic with no arguments in a channel
    without a topic, you'll now clearly see a numerical notice
    indicating that one hasn't been set.
-----------------------------------------------------------------------

28. 0.999993 Release (May 1, 2012)
-----------------------------------------------------------------------
 1. A minor oddity with certain directed notices has now been
    corrected.
-----------------------------------------------------------------------

29. 0.999994 Release (Jul. 5, 2012)
-----------------------------------------------------------------------
 1. Internal optimisation.
-----------------------------------------------------------------------

30. 0.999995 Release (Jun. 18, 2013)
-----------------------------------------------------------------------
 1. If you've got a query tab open and selected, your last active time
    is now recorded. While active, you won't constantly hear the PM
    notifications for the target you're speaking to.

    If you select a different tab or are inactive for a period of time,
    you will hear the PM notifications again. This can be adjusted via
    the "Silent Notif. Threshold" in ZRC Settings.

    If set to 0, the audio notificatons from your current target will
    not be suppressed.

    This also applies to channels you may have on your Watched list.

 2. An option to display a users channel mode prefix has been added to
    the ZRC Settings dialogue. When enabled, the mode prefix character
    will be prefixed onto the nickname for the following message types:
    - Messages (from others)
    - Notices
    - Messages (own)

 3. The listview columns in the Channel Control dialogue will now sort
    any items present.

 4. If the base log directory and directory it is located within do not
    exist, they'll now be created automatically.
-----------------------------------------------------------------------

31. 0.999996 Release (Oct. 21, 2014)
-----------------------------------------------------------------------
 1. Adjustment to the server prefix handling.
-----------------------------------------------------------------------

32. 0.999997 Release (Mar. 18, 2017)
-----------------------------------------------------------------------
 1. Day denotation setting added to the channel/query tabs.

 2. Extended the max. length of the server password to 63 characters.
-----------------------------------------------------------------------

33. 0.9999975 Release (May. 31, 2019 - Sep. 6, 2021)
-----------------------------------------------------------------------
 1. Fixed a rare issue that could occur during VERY long run times.
    (weeks at a time)

 2. Default internal font has been adjusted from "MS Sans Serif" to
    "Tahoma". (This will not have any effect on user-defined
    preferences)
-----------------------------------------------------------------------

34. 0.9999976 Release (Jul. 17, 2022)
-----------------------------------------------------------------------
 1. Updated the "Safe URL" definition to also include bare zdaemon.org
    domain cases and also include ZDaemon links that use the https://
    prefix.