forked from eggheads/eggdrop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
320 lines (273 loc) · 14.8 KB
/
NEWS
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
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.9.
For support, feel free to visit us on Libera #eggdrop.
For upgrading from a pre-1.6 version of Eggdrop: Read the UPGRADING file.
In general, always make a BACKUP of your config and user/chanfile.
_________________________________________________________________
Eggdrop v1.9.5:
General changes:
- Implemented a workaround for a Tcl issue parsing emojis that can cause a
crash
- Fixed an improper change to the display of bind flags that caused issues
with Tcl scripts that parse bind flags
- Added SSL header information to .status to help diagnose ./configure
mismatches
- Lots of under-the-hood bug fixes
Botnet changes:
- None
Tcl API changes:
- Tcl minimum required version is now 8.5! This actually happened in version
1.9.0; we just forgot to tell people. Oops! :)
Module changes:
- Updated woobie.mod with additional example code
Eggdrop config changes:
- None
Documentation changes:
- Added additional documentation to help write modules
- Updated botnet docs to include reference to TLS docs for secure links
- Updated Tcl repo from unmaintained FTP to HTTP repository
Eggdrop v1.9.4:
General changes:
- Fixed a DNS bug causing Eggdrop to often hang on DCC or telnet
connections
- BETA: Added -systemd option to autobotchk script to restart Eggdrop via
systemd instead of cron
- Reverted matchattr match syntax to previous functionality. Matching
against "-" as a flag will once again successfully match against "no"
flags, instead of returning an error.
- Fixed some inaccurate log messages
- Fixed some format specifiers that could cause crashes in certain
situations
- Fixed logging of TAGMSG messages
- Fixed unspecified behavior of freeaddrinfo() on some BSD systems
Botnet changes:
- None
Tcl API changes:
- Moved the 'gotmsg' function back as a raw bind. It was inadvertently
moved to a rawt bind in 1.9.3, causing issuse with scripts attempting to
unbind this internal reference
Module changes:
- None
Eggdrop config changes:
- None
Eggdrop v1.9.3:
General changes:
- Added the ability to track services account names for users in a channel
and those added to an Eggdrop. To work properly, this feature requires a
server that supports WHOX requests and can negotiate the extended-join
and account-notify capabilities
- Added the +account and -account partyline commands to add or remove a
services account name to a handle
- Updated .channel output to display services account names associated with
channel users
- Added the ability to create a timer with a custom name instead of the
default "timerXX" format
- Fixed a compile error if TLS libraraies weren't detected on the host OS
- Fixed a compile error for pthreads found mainly on BSD systems
- Fixed a bug with threaded DNS queries where threads were not terminated
properly, potentially resulting in an out-of-memory error
- Fixed an issue where PLAIN SASL authentication incorrectly errored unless
(unneeded) TLS libraries were installed
- Updated information obtained via extended-join to all channels the user is
on, not just the channel they joined
- Force ident requests to originate from the specified vhost/listen IP
- Reorganized the documentation structure
Botnet changes:
- None
Tcl API changes:
- Updated the 'finduser' command to accept the -account flag. Using this
flag will search the userfile and return the handle that contains the
provided account name
- Updated the getuser and setuser commands to accept the "ACCOUNT" entry
- Added the 'accounttracking' variable, which returns a '1' if all three
requirements (WHOX, extended-join, and account-notify) are available and
active for the current server connection
- Added an optional timer name field to the timer and utimer commands
- Updated docs to reflect a value of '0' for the server-online value when
Eggdrop is disconnected
Module changes:
- None
Eggdrop config changes:
- None
_________________________________________________________________
Eggdrop v1.9.2:
General changes:
- Added CAP 302 support, and generally enhance CAP support
- Enabled threaded core DNS requests as the default method for DNS lookups;
this can be disabled with ./configure --disable-tdns
- Added support for the MONITOR CAP capability, allowing tracking of online
and offline nicknames
- Added support for the 005 BOT flag, allowing tracking of users that
declare themselves as bots to the IRC server
- Added SSL status to the .bottree command, denoted with a '=' symbol
- Fixed allowing Eggdrop to process message-tags even if the message-tags
capability is not explicitly requested
- Alt-nick is now used before a randomly generated nickname if the requested
nickname is rejected as invalid by the server. This feature is now
divorced of any previous dependence on the keep-nick setting, with the
reasoning that getting the Eggdrop onto the server with a random nick is
more important than keeping a nickname and not ever joining, particularly
from a troubleshooting standpoint
- RAWT binds returning a '1' now block similar RAW binds from triggering
by the same activity (but RAW binds cannot block a RAWT bind- use a RAWT!)
- Fixed mistakenly requiring a flag for the 'listen script' command
- Fixed an issue with Eggdrop not properly updating the account-tracking
status
Botnet changes:
- None
Tcl API changes:
- Added the 'monitor' command, which allows interaction with the CAP
MONITOR capability
- Added the 'isircbot' command, which returns if a user has registered as a
bot with the IRC server
- Added the 'server list' command, which lists servers added to Eggdrop
- Added the USERNOTICE bind to the Twitch module
- Added a 'values' argument to the 'cap' command, outputting the display of
CAP 302 values, if any, associated with each capability
Module changes:
- Fixed bug in PBKDF2 that caused PBKDF2-only environments to not store
hashes properly, resulting in 'bad password' errors after relinking
- Deprecated the DNS module (functionality has been moved core Eggdrop
code). Eggdrop now natively handles asynchronous DNS (which was the
purpose of the DNS module), so the DNS module is no longer needed
- Fixed a bug with the Twitch module where it would crash on .rehash and
.restart
Eggdrop config file changes:
- Added the 'extended-join' setting, to enable the extended-join CAP
capability
- Moved DNS-related settings out of the modules section and into the core
config area
- No longer load the (now-deprecated) DNS module by default
_________________________________________________________________
Eggdrop v1.9.1:
General changes:
- Fixed an issue where an IP address was incorrectly overwritten after a
CTCP chat was received
- Fixed an issue where Eggdrop would occasionally crash if no port was
provided when the server was added
- Error, instead of silently change, when adding a bot with invalid ascii
characters in the handle (.+bot)
- Removed an incorrect error message after restarting the bot with the
PBKDF2 module loaded
- Further improved error reporting for socket connections
Botnet changes:
- None
Tcl API changes:
- Fixed the isaway command to properly track AWAY server messages
Module changes:
- None
Eggdrop config file changes:
- Added Libera Chat to the accepted server types
_________________________________________________________________
Eggdrop v1.9.0:
General changes:
- Added CAP support, allowing Eggdrop to extend IRC server capabilities
- Added support for SASL authentication
- Added a BETA threaded DNS capability, enabled with the --enable-tdns
configure flag. This allows asynchronous DNS requests similar to the what
the current DNS module offers, but using host system capability instead
of rewriting it from scratch. Using this means you no longer have to use
the DNS module.
- Eggdrop can listen on multiple IPs (and ports) now by using multiple
instances of the 'listen' command
- Added Twitch support
- Added support for users that change hosts mid-session, usually associated
with authenticating with services (396 raw code and CHGHOST capability).
- Added support for the users that change their realname value mis-session
(SETNAME capability)
- Added the ability for Eggdrop to internally track the away status of an
individual, with some limitations.
- Added the 'make sslsilent' option that creates an SSL certificate keypair
non-interactively, to assist in scripted/automated installs
- Differentiate between scripted and server WHOX calls, preventing mangling
of channel userlists
- The -n flag is no longer required to run Eggdrop in terminal mode; just
-t or -c are fine by themselves
- Added some checks to flags added via .chattr and .botattr to clearly
identify what happens when you add flags that can't co-exist together
Botnet changes:
- Removed automatic upgrade to TLS-protected botnet links with STARTTLS.
Based on user feedback, protecting a botnet link is now at the discretion
of the user. Prefixing a port with a '+' will require a TLS connection,
otherwise the connection will be in plaintext. A port not prefixed with a
+ can still be upgraded with STARTTLS, allowing 1.8 bots and scripts to
initiate a secure connection, but 1.9.0 bots will not attempt the upgrade.
- Added granular userfile sharing flags (bcejnu). Adding these flags can limit
userfile sharing to a combination of bans, invites, exempts, channels,
users, and ignores (or still the s flag for all these).
- No longer try port+1,2,3 when connecting to a botnet port doesn't work
the first time
Tcl API changes:
- Added the RAWT bind, which will (eventually) phase out the RAW bind.
Implementing the IRCv3 message-tags capability requires a new way to
handle basic IRC messages, and RAWT was added in a way so that a) RAW
binds in old scripts still work and b) the RAWT bind can handle messages
that either do or do not have message-tags attached
- Added the INVT bind, allowing Eggdrop to react to a standard invitation,
or the new IRCv3 invite-notify capability
- Added the AWY3 bind, allowing Eggdrop to react to the new IRCv3
away-notify capability.
- Added the refreshchan command, which refreshes without removing existing
channel status information tracked by Eggdrop for users on a channel.
- Added the isaway command, which returns if a user is listed by the server
as away or not, if using the IRCv3 away-notify capability. If away-notify
is not enabled, this command can still be used effectively in conjunction
with 'refreshchan w', described above.
- Added the hand2nicks command, an alternative to the hand2nick command.
hand2nicks returns ALL nicks matching a handle, not just the first one.
- Added the socklist command, an update to the dcclist command. Returns
similar info as a Tcl dict, and adds the IP to the information.
- Use the system's strftime formatting instead of Eggdrop-provided
GNU version/extensions. This could cause formatting differences
or errors between systems. To ensure fully portable code, developers
should only rely on POSIX-compliant formatting specifiers.
- The dcclist command now returns port information and whether or not TLS
is in use for that port. This change could affect field-based parsers
depending on this command
- Added the addserver and delserver command, to *gasp* add and delete a
server from Eggdrop's server list
- Modified the listen command to accept an optional IP argument. This
allows Eggdrop to listen on multiple addresses by using multiple listen
commands in the config file or Tcl script. If no IP is specified, 0.0.0.0
is used as default. As a result of this change, the listen-addr command
is no longer needed and removed from the config file
- Added an optional -channel flag to the end of the is* commands (isban,
isexempt, etc). This flag prevents the is* command from checking the
global list and returning a '1' when there is no channel-specific case
- Added several Tcl commands and binds to enable better interaction with
the Twitch gaming service. Because these commands only work with a Twitch
server, they are not included in tcl-commands.doc but rather
twitch-tcl-commands.doc, located in the doc/ directory.
- Limited the expiration for new bans, ignores and exempts to 2000 days.
Module changes:
- Added the PBKDF2 module, which allows Eggdrop to hash passwords using the
PBKDF2 algorithm. This module is a stepping stone to future, more
adaptable hashing and encryption implementation. IMPORTANT: PLEASE read
doc/PBKDF2 for more information on how to properly use it, you could
accidentally render old passwords useless!
- Added the twitch module, which allows Eggdrop to connect to the Twitch
gaming service. As Twitch offers only a limited subset of standard IRC
functionality, be prepared for some commands or scripts to work
differently than on a normal IRC server. Please read doc/TWITCH for more
information.
- Added the ident module, which can automatically interact with a running
oidentd service or allow Eggdrop to serve as its own ident server to
respond to ident requests during the server connection process.
Eggdrop config file changes:
- Added additional net-types for freenode, Quakenet, and Rizon (net-type)
- Added ability to choose specific SSL/TLS protocols to use (ssl-protocols)
- Added ability to allow bots to remain linked if userfile sharing fails
(sharefail-unlink)
- Changed the method Eggdrop uses to add servers from a {} list to the new
addserver command
- Removed the listen-addr command. See above; the listen command now
accepts an optional IP argument in lieu of using listen-addr
- Added the show-uname setting, which allows you to disable the display of
uname info for the host system in things like .status
________________________________________________________________________
Copyright (C) 1997 Robey Pointer
Copyright (C) 1999 - 2023 Eggheads Development Team