# HG changeset patch # User David Demelier # Date 1610646960 -3600 # Node ID aef1568a76bf4284ed270ef758f36961c0135b53 # Parent d6febe682db7c65671e820c91d7845916b4961a0 misc: update CHANGES and MIGRATING diff -r d6febe682db7 -r aef1568a76bf CHANGES.md --- a/CHANGES.md Thu Jan 14 18:55:41 2021 +0100 +++ b/CHANGES.md Thu Jan 14 18:56:00 2021 +0100 @@ -1,11 +1,20 @@ IRC Client Daemon CHANGES ========================= -irccd current +irccd 4.0.0 ????-??-?? ---------------------- +This is a major release. See MIGRATING.md file for more information. + +The biggest change is the rewrite from C++ to C. The only runtime dependency +required is OpenSSL (if built with SSL support). + - Split irccd-api manual page into individual irccd-api- for a better readability. +- Network protocol uses plain text again. +- Transports uses clear UNIX sockets only. +- New `irccd.conf` and `irccdctl.conf` syntax. +- New network protocol. irccd 3.1.1 2021-01-04 ---------------------- diff -r d6febe682db7 -r aef1568a76bf MIGRATING.md --- a/MIGRATING.md Thu Jan 14 18:55:41 2021 +0100 +++ b/MIGRATING.md Thu Jan 14 18:56:00 2021 +0100 @@ -3,6 +3,56 @@ This document is a small guide to help you migrating to a next major version. +Migrating from 3.x to 4.x +========================= + +Irccd +----- + +- The `irccd.conf` is now using a custom syntax. +- There are no longer TCP/IP transports. SSL support for transports has been + removed too. Only clear UNIX socket are available, use file permissions + instead of a password. + +Irccdctl +-------- + +The `irccdctl.conf` is now using a custom syntax. + +Build system and platform support +--------------------------------- + +The build system has been switched from CMake to GNU make. Windows support is +now completely obsolescent because the code make excessive use of POSIX +specification. + +Network API +----------- + +The network protocol no longer uses JSON but a plain text syntax with one line +per command. + +Example: + + SERVER-MESSAGE freenode #staff hello world + SERVER-LIST + +Javascript API +-------------- + +### Module File + +- The method `File.readline` is no longer marked as slow. + +### Module Chrono + +- The `Chrono.elapsed()` method is now a property named `elapsed`. +- All methods have been removed except `Chrono.reset`. + +### Module Util + +- The method `Util.ticks` as been removed. + Migrating from 2.x to 3.x ========================= @@ -41,7 +91,8 @@ - Formats `cnotice`, `cmode`, `query` have been removed. - The option `path` has been renamed to `file`. -## Network API +Network API +----------- - The requests `server-cnotice` and `server-cmode` have been removed, use `server-notice` and `server-mode` instead,