News
Last revised: December 4, 2021
     _________________________________________________________________

                                What's new?


  This file lists major and incompatible changes in Eggdrop versions.
  You can find the full list of changes in doc/Changes1.10.
  For support, feel free to visit us on Libera #eggdrop.

  For upgrading help, read the UPGRADING file.

  In general, always make a BACKUP of your config and user/chanfile
  before performing an upgrade!

     _________________________________________________________________

Eggdrop v1.10.0:

 General changes:
    - Added the new Tcl 'autoscripts' capability. By loading the autoscripts Tcl
      script, Eggdrop can automatically view, download and install Tcl scripts
      hosted by the Eggheads team, all via the partyline! No modification of the
      config file needed.
    - Eggdrop can now use the account a user is logged into as an identification
      method in the same manner that a hostmask does. For this feature to be
      fully accurate, Eggdrop use a server with WHOX enabled and negotiate the
      extended-join and account-notify IRCv3 capabilities.
    - Added the IRCv3 userhost-in-names capability. This capability is
      negotiated with the server at connect and prompts the server to add
      hostmask to the NAMES command. This is useful in a scenario where an IRC
      server has disabled the WHO command, but allows 
      Eggdrop to still track hostmasks (and removes the "pending" status from
      the channel listing under .status).
    - Added the IRCv3 standard-replies capability. This capability is negotiated
      with the server at connect and enables the use of non-numeric FAIL, WARN,
      and NOTE messages.
    - Modified .bans to properly display channel bans.
    - Fixed a bug with network reads performed on TLS connections, where
      Eggdrop could hang until a connection times out, most commonly
      manifesting itself on server connects and userfile transfers. This is
      expected to fix the last documented issue with Eggdrop's handling of
      secure connections.
    - Eggdrop now requires TLS/SSL libs to be installed by default. Whereas
      previously Eggdrop would previously continue to compile if TLS libraries
      were not found, it will now error unless the user explicitly specifies
      the --disable-tls flag.
    - Fixed the Monitor bind to properly use wildcards in binds.
    - Updated language files from ISO-8859 to UTF-8.

 Botnet changes:
    - Fixed an issue in pbkdf2-only links properly using/comparing PASS2 entries

 Tcl API changes:
    - Updated much of the core Tcl integration to be compatible with the
      upcoming Tcl 9 release. Much work was done (thank you DasBrain!) to update
      Eggdrop's internal Tcl calls to prevent breakages using Tcl 9. Most of
      these changes are transparent to the user, but the one major item to call
      out is the improvement of Tcl's UTF-8 emoji handling, which no longer
      requires users to modify TCL_MAX and compile Tcl manually in order to use
      emojis properly.
    - The Python module (below) adds the pysource Tcl command, to load
      a python script into Eggdrop.
    - Added the Tcl CHGHOST bind, which is triggered when a user's
      hostmask is changed via an IRCv3 CHGHOST message.
    - Added the 'hidden-host' type to the event (EVNT) bind. This bind
      is triggered when the bot's own host is hidden (+x) by a 396
      message sent by server.
    - Added the 'got-chanlist' type to the event (EVNT) bind. This bind
      is triggered once Eggdrop finishes receiving the list of usernames
      for a channel from a server. This can be used when Eggdrop needs to
      wait to perform specific functions when joining a channel but
      needs to wait until the users on a channel have been presented by
      the server. 
    - Fixed a bug in the isidentified command to check if a user has
      definitively been identified or unidentified.

 Module changes:
    - Added a Python module! This module integrates an embedded Python
      interpreter similar to the Tcl interpreter already present in
      Eggdrop. This module adds the .python command to the partyline
      (again, similar to the .tcl command) to execute python strings,
      as well as adding the pysource Tcl command that will load a Python
      script into Eggdrop. See doc/modules/mod.python for details on how
      to use it, or example scripts in the scripts/ directory.

 Eggdrop config changes:
    - The copy-to-tmp option was removed from the config. This value is
      now functions under the old '1' behavior where an intermediate temp
      file is created before copying from/to files that are in use.
    - The quick-logs option was removed from the config. This value was
      created to hedge against frequent writes to disk, but is less
      relveant with today's technology. Eggdrop now writes logfiles to
      disk immediately.
    - The old DNS module section was removed
    - A Python module section was added, but does not load the python
      module by default.
    - The Autoscripts capability to load and manage some scripts from the
      partyline is loaded by default

 Documentation changes:
    - Added documentation that covers values commonly used when writing
      new Tcl binds in C
    - Added a tutorial to demonstrate how to share userfiles
    - Added version variable for document generation
  ________________________________________________________________________

Copyright (C) 1997 Robey Pointer
Copyright (C) 1999 - 2024 Eggheads Development Team
