comparison CHANGES.md @ 1131:bd56d9793d6a

misc: improve more CHANGES.md
author David Demelier <markand@malikania.fr>
date Thu, 09 Dec 2021 11:27:36 +0100
parents 1b018226963f
children 5959952c24d1
comparison
equal deleted inserted replaced
1130:1b018226963f 1131:bd56d9793d6a
4 irccd 4.0.0 ????-??-?? 4 irccd 4.0.0 ????-??-??
5 ====================== 5 ======================
6 6
7 This is a major release. See MIGRATING.md file for more information. 7 This is a major release. See MIGRATING.md file for more information.
8 8
9 The biggest change is the rewrite from C++ to C. The only runtime dependency 9 The key highlight for this release is the rewrite from C++ to C. The only
10 required is OpenSSL (if built with SSL support). 10 runtime dependency required is OpenSSL (if built with SSL support).
11 11
12 irccd 12 irccd
13 ----- 13 -----
14 14
15 - Irccd keeps track of nicknames in channels by capturing join/part/kick and 15 - Irccd keeps track of nicknames in channels by capturing join/part/kick and
51 - Brand new Irccd.Hook API to inspect and manage hooks. 51 - Brand new Irccd.Hook API to inspect and manage hooks.
52 52
53 irccd 3.1.1 2021-01-04 53 irccd 3.1.1 2021-01-04
54 ====================== 54 ======================
55 55
56 - Synchronize `ping-timeout` option in `[server]` to 1800 seconds by default, 56 - Synchronize `ping-timeout` option in `[server]` to 1800 seconds by default.
57 - Enable `auto-reconnect` option in `[server]` by default as specified in the 57 - Enable `auto-reconnect` option in `[server]` by default as specified in the
58 manual page. 58 manual page.
59 59
60 irccd 3.1.0 2020-07-03 60 irccd 3.1.0 2020-07-03
61 ====================== 61 ======================
64 to extend irccd in any language. 64 to extend irccd in any language.
65 65
66 irccd 3.0.3 2019-10-06 66 irccd 3.0.3 2019-10-06
67 ====================== 67 ======================
68 68
69 - Fix errors in irccdctl.conf example file, 69 - Fix errors in irccdctl.conf example file.
70 - Add example of password in irccdctl.conf and irccd.conf. 70 - Add example of password in irccdctl.conf and irccd.conf.
71 71
72 irccd 3.0.2 2019-09-22 72 irccd 3.0.2 2019-09-22
73 ====================== 73 ======================
74 74
75 - Added *IRCCD_WITH_JS* CMake variable in irccd package, 75 - Added *IRCCD_WITH_JS* CMake variable in irccd package.
76 - Fixed trailing CTCP escape code, 76 - Fixed trailing CTCP escape code.
77 - Fixed invalid parameters in topic event, 77 - Fixed invalid parameters in topic event.
78 - Fixed invalid documentation of Irccd.System.usleep function, 78 - Fixed invalid documentation of Irccd.System.usleep function.
79 - Fixed invalid system configuration directory. 79 - Fixed invalid system configuration directory.
80 80
81 irccd 3.0.1 2019-09-01 81 irccd 3.0.1 2019-09-01
82 ====================== 82 ======================
83 83
84 - Fixed an invalid template escape sequence, 84 - Fixed an invalid template escape sequence.
85 - Updated the default configuration files, 85 - Updated the default configuration files.
86 - Fix RPATH handling for private libraries like Duktape. 86 - Fix RPATH handling for private libraries like Duktape.
87 87
88 irccd 3.0.0 2019-08-15 88 irccd 3.0.0 2019-08-15
89 ====================== 89 ======================
90 90
92 92
93 irccd 93 irccd
94 ----- 94 -----
95 95
96 - New sections `[paths]` and `[paths.plugin]` have been added to control 96 - New sections `[paths]` and `[paths.plugin]` have been added to control
97 standard paths for both irccd and plugins, 97 standard paths for both irccd and plugins.
98 - Irccd no longer supports uid, gid, pid and daemon features, 98 - Irccd no longer supports uid, gid, pid and daemon features.
99 - Sections `[identity]` and `[server]` have been merged, 99 - Sections `[identity]` and `[server]` have been merged.
100 - Local transports support SSL, 100 - Local transports support SSL.
101 - The origin in rule is now first class value, 101 - The origin in rule is now first class value.
102 - New option `ipv4` in `[transport]`, 102 - New option `ipv4` in `[transport]`.
103 - New option `ipv4` in `[server]`, 103 - New option `ipv4` in `[server]`.
104 - Section `[format]` is renamed to `[templates]`, 104 - Section `[format]` is renamed to `[templates]`.
105 - New commands are available as irccd arguments `info` and `version`. 105 - New commands are available as irccd arguments `info` and `version`.
106 106
107 irccdctl 107 irccdctl
108 -------- 108 --------
109 109
110 - New option `ipv4` in `[connect]`, 110 - New option `ipv4` in `[connect]`.
111 - New option `-o` in `rule-add`, 111 - New option `-o` in `rule-add`.
112 - New option `-o` and `-O` in `rule-edit`. 112 - New option `-o` and `-O` in `rule-edit`.
113 113
114 irccd-test 114 irccd-test
115 ---------- 115 ----------
116 116
118 command line. 118 command line.
119 119
120 cmake 120 cmake
121 ----- 121 -----
122 122
123 - CMake no longer create a fake installation directory while building, 123 - CMake no longer create a fake installation directory while building.
124 - All targets are placed into the `bin` directory while building. 124 - All targets are placed into the `bin` directory while building.
125 125
126 network API 126 network API
127 ----------- 127 -----------
128 128
130 130
131 javascript API 131 javascript API
132 -------------- 132 --------------
133 133
134 - The Irccd.Timer API now runs on top of Boost.Asio and no longer have custom 134 - The Irccd.Timer API now runs on top of Boost.Asio and no longer have custom
135 buggy code, 135 buggy code.
136 - New Irccd.Server.isSelf function. 136 - New Irccd.Server.isSelf function.
137 137
138 internal 138 internal
139 -------- 139 --------
140 140
141 - The code is now based on Boost for many internal parts of the core, 141 - The code is now based on Boost for many internal parts of the core.
142 - The libircclient has been replaced by a simple homemade library. 142 - The libircclient has been replaced by a simple homemade library.
143 143
144 misc 144 misc
145 ---- 145 ----
146 146
147 - The documentation is in pure manual pages now, 147 - The documentation is in pure manual pages now.
148 - All command line options are now in short form only. 148 - All command line options are now in short form only.
149 149
150 plugins 150 plugins
151 ------- 151 -------
152 152
153 - Introduce brand new joke plugin, 153 - Introduce brand new joke plugin.
154 - Introduce brand new tictactoe plugin, 154 - Introduce brand new tictactoe plugin.
155 - Introduce brand new links plugin. 155 - Introduce brand new links plugin.
156 156
157 irccd 2.2.0 2017-09-26 157 irccd 2.2.0 2017-09-26
158 ====================== 158 ======================
159 159
160 - Add new Irccd.Util.cut function, 160 - Add new Irccd.Util.cut function.
161 - Add new irccdctl commands to edit rules, 161 - Add new irccdctl commands to edit rules.
162 - Plugin plugin: add options max-list-lines, max-list-columns, 162 - Plugin plugin: add options max-list-lines, max-list-columns.
163 - Import Duktape 2.1.0, 163 - Import Duktape 2.1.0.
164 - Fix identity.ctcp-version option. 164 - Fix identity.ctcp-version option.
165 165
166 irccd 2.1.3 2017-07-28 166 irccd 2.1.3 2017-07-28
167 ====================== 167 ======================
168 168
169 - Rules are now case insensitive, 169 - Rules are now case insensitive.
170 - Plugin hangman, history and logger are now case insensitive, 170 - Plugin hangman, history and logger are now case insensitive.
171 - Plugin hangman: fix successive word selection. 171 - Plugin hangman: fix successive word selection.
172 172
173 irccd 2.1.2 2017-06-02 173 irccd 2.1.2 2017-06-02
174 ====================== 174 ======================
175 175
176 - Fix SSL initialization error in libircclient, 176 - Fix SSL initialization error in libircclient.
177 - Fix various SSL warnings, 177 - Fix various SSL warnings.
178 - Fix build on Linux with musl, 178 - Fix build on Linux with musl.
179 - Fix case sensitivity in hangman and roulette. 179 - Fix case sensitivity in hangman and roulette.
180 180
181 irccd 2.1.1 2017-03-07 181 irccd 2.1.1 2017-03-07
182 ====================== 182 ======================
183 183
184 - Fix invalid documented option transport.family, 184 - Fix invalid documented option transport.family.
185 - Fix error when logs.type is set to console, 185 - Fix error when logs.type is set to console.
186 - Fix invalid IPV6\_V6ONLY option in transports. 186 - Fix invalid IPV6\_V6ONLY option in transports.
187 187
188 irccd 2.1.0 2017-02-01 188 irccd 2.1.0 2017-02-01
189 ====================== 189 ======================
190 190
191 irccd 191 irccd
192 ----- 192 -----
193 193
194 - Add SSL support in transports, 194 - Add SSL support in transports.
195 - Add authentication support in transports, 195 - Add authentication support in transports.
196 - Fix a warning about daemon on macOS. 196 - Fix a warning about daemon on macOS.
197 197
198 javascript API 198 javascript API
199 -------------- 199 --------------
200 200
201 - New Irccd.File.lines function, 201 - New Irccd.File.lines function.
202 - Various improvements in Irccd.File API. 202 - Various improvements in Irccd.File API.
203 203
204 plugins 204 plugins
205 ------- 205 -------
206 206
207 - Add new format section for plugins, 207 - Add new format section for plugins.
208 - Add unit tests for plugins. 208 - Add unit tests for plugins.
209 209
210 irccdctl 210 irccdctl
211 -------- 211 --------
212 212
213 - Added brand new plugin-config command, 213 - Added brand new plugin-config command.
214 - Added aliases, 214 - Added aliases.
215 - Added unit tests for irccdctl commands. 215 - Added unit tests for irccdctl commands.
216 216
217 libraries 217 libraries
218 --------- 218 ---------
219 219
220 - Replaced jansson with Niels Lohmann's JSON library, 220 - Replaced jansson with Niels Lohmann's JSON library.
221 - Updated Duktape to 1.5.1. 221 - Updated Duktape to 1.5.1.
222 222
223 misc 223 misc
224 ---- 224 ----
225 225
226 - Patterns can now use shell escape sequences, 226 - Patterns can now use shell escape sequences,
227 - Added .editorconfig file, 227 - Added .editorconfig file.
228 - Split documentation into topics, 228 - Split documentation into topics.
229 - The code is now split into several individual libraries. 229 - The code is now split into several individual libraries.
230 230
231 windows 231 windows
232 ------- 232 -------
233 233
234 - Get rid of QtIFW and uses NSIS, WIX on Windows, 234 - Get rid of QtIFW and uses NSIS, WIX on Windows,
235 - Installer have components, 235 - Installer have components.
236 - Copy DLL files automatically into fakeroot and install, 236 - Copy DLL files automatically into fakeroot and install.
237 - Added better support for cross-compiling using MinGW. 237 - Added better support for cross-compiling using MinGW.
238 238
239 irccd 2.0.3 2016-11-01 239 irccd 2.0.3 2016-11-01
240 ====================== 240 ======================
241 241
242 - Fix various errors in logger plugin, 242 - Fix various errors in logger plugin.
243 - Fix quakenet support in auth plugin. 243 - Fix quakenet support in auth plugin.
244 244
245 irccd 2.0.2 2016-04-19 245 irccd 2.0.2 2016-04-19
246 ====================== 246 ======================
247 247
255 irccd 2.0.0 2016-03-01 255 irccd 2.0.0 2016-03-01
256 ====================== 256 ======================
257 257
258 This is a major release. See MIGRATING.md file for more information. 258 This is a major release. See MIGRATING.md file for more information.
259 259
260 The key highlight for this release is the switch from Lua to Javascript. Lua has
261 lots of drawbacks including poor versioning support which leads to too many
262 `#ifdef`s in the code base to maintain compatibility over all versions. The
263 Javascript engine is powered by [Duktape][] and offers proper semantic
264 versioning.
265
266 The Mercurial repository has been reset for this release, revisions for earlier
267 versions are no longer available.
268
269 general
270 -------
271
272 - Long options removed.
273 - All notions of channel notice and channel mode have been deleted.
274 - Everywhere applicable, `host` is renamed to `hostname` instead.
275
276 irccd
277 -----
278
279 - Section `[identity]` and `[server]` have been merged.
280 - Section `[format]` and plugin variants have been renamed to `[templates]`.
281 - New options `uid`, `gid` and `pidfile` in `[general]` section.
282 - New `[logs]` section with more features.
283 - New rule system to filter events through their plugins.
284
285 irccdctl
286 --------
287
288 - Commands start with a prefix to separate categories (e.g. `plugin-`.
289 `server-`, etc).
290 - New command `watch` to get realtime events.
291
292 plugins
293 -------
294
295 - New hangman plugin.
296 - New plugin plugin.
297 - Deleted antiflood plugin.
298 - Deleted date plugin.
299 - Deleted badwords plugin.
300
301 javascript API
302 --------------
303
304 - New `Irccd.ElapsedTimer` API.
305 - New `Irccd.Timer` API.
306 - New `Irccd.Unicode` API.
307 - Deleted Socket API.
308 - Deleted Thread API.
309
310 cmake
311 -----
312
313 - Option start with `IRCCD_` for better grouping in GUIs.
314 - Use of `GNUInstallDirs` instead of our own macros.
315
316 network API
317 -----------
318
319 - Use of JSON message instead of ASCII protocol.
320
260 irccd 1.1.5 2015-02-14 321 irccd 1.1.5 2015-02-14
261 ====================== 322 ======================
262 323
263 - Fix Mac OS X build, 324 - Fix Mac OS X build.
264 - Fix null constructed strings, 325 - Fix null constructed strings.
265 - Fix general.foreground option not working, 326 - Fix general.foreground option not working.
266 - Windows: Lua and OpenSSL are built as DLL and copied to installation. 327 - Windows: Lua and OpenSSL are built as DLL and copied to installation.
267 328
268 irccd 1.1.4 2014-03-28 329 irccd 1.1.4 2014-03-28
269 ====================== 330 ======================
270 331
271 - Fix Visual C++ redistributable installation. 332 - Fix Visual C++ redistributable installation.
272 333
273 irccd 1.1.3 2014-03-22 334 irccd 1.1.3 2014-03-22
274 ====================== 335 ======================
275 336
276 - Fix default internet socket address, 337 - Fix default internet socket address.
277 - Remove listener disconnection errors, 338 - Remove listener disconnection errors,
278 - Updated Windows C++ 2013 redistributable. 339 - Updated Windows C++ 2013 redistributable.
279 340
280 irccd 1.1.2 2014-02-26 341 irccd 1.1.2 2014-02-26
281 ====================== 342 ======================
282 343
283 - Fix the example in roulette documentation, 344 - Fix the example in roulette documentation.
284 - Fix command parsing for onCommand event. 345 - Fix command parsing for onCommand event.
285 346
286 irccd 1.1.1 2014-02-15 347 irccd 1.1.1 2014-02-15
287 ====================== 348 ======================
288 349
289 - Fix fs.mkdir that didn't return an error, 350 - Fix fs.mkdir that didn't return an error.
290 - Add missing optional mode parameter in fs.mkdir documentation, 351 - Add missing optional mode parameter in fs.mkdir documentation.
291 - Also add `Irccd.VERSION_PATCH`. 352 - Also add `irccd.VERSION_PATCH`.
292 353
293 irccd 1.1.0 2014-01-30 354 irccd 1.1.0 2014-01-30
294 ====================== 355 ======================
295 356
296 - Added support for UDP sockets, 357 - Added support for UDP sockets.
297 - Added a plugin for authentication, 358 - Added a plugin for authentication.
298 - Windows irccd's home is now the irccd.exe parent directory, 359 - Windows irccd's home is now the irccd.exe parent directory.
299 - Added new socket API for Lua, 360 - Added new socket API for Lua.
300 - Added new thread API for Lua, 361 - Added new thread API for Lua.
301 - Added support for server reconnection, 362 - Added support for server reconnection.
302 - Added support for text formatting with colors and attributes, 363 - Added support for text formatting with colors and attributes.
303 - Added support for onMe (CTCP Action) event, 364 - Added support for onMe (CTCP Action) event.
304 - Added new way to load plugin by paths, 365 - Added new way to load plugin by paths.
305 - Server:whois and server:names generate a new events instead of callback, 366 - Server:whois and server:names generate a new events instead of callback.
306 - Support of connecting and disconnecting at runtime, 367 - Support of connecting and disconnecting at runtime.
307 - Plugin has more information, getHome() and getName() are deprecated, 368 - Plugin has more information, getHome() and getName() are deprecated.
308 - Split irccd.util into irccd.fs and irccd.system, 369 - Split irccd.util into irccd.fs and irccd.system.
309 - Added support for LuaJIT. 370 - Added support for LuaJIT.
310 371
311 irccd 1.0.2 2013-11-01 372 irccd 1.0.2 2013-11-01
312 ====================== 373 ======================
313 374
314 - Errata, onMe event is not implemented. 375 - Errata, onMe event is not implemented.
315 376
316 irccd 1.0.1 2013-09-17 377 irccd 1.0.1 2013-09-17
317 ====================== 378 ======================
318 379
319 - Fixed build without Lua, 380 - Fixed build without Lua.
320 - Improved documentation a lot, 381 - Improved documentation a lot.
321 - Improved NSIS installer, 382 - Improved NSIS installer.
322 - Fixed basename() issue. 383 - Fixed basename() issue.
323 384
324 irccd 1.0.0 2013-09-13 385 irccd 1.0.0 2013-09-13
325 ====================== 386 ======================
326 387
327 - Initial release. 388 - Initial release.
389
390 [Duktape]: http://duktape.org