Mercurial > irccd
annotate MIGRATING.md @ 780:560b62f6b0a7
Core: rework socket layer, closes #939 @6h
Rework the ip_connector and ip_acceptor to be more easy to use. Also,
ip_connector will now use a resolver to find appropriate endpoints.
Bring back full support for IPv6/IPv4 with all possible combinations.
The tls_stream class now owns a shared ssl::context that is copied from the
acceptor or the connector. The tls_connector and tls_acceptor wraps basic ones
for convenience and simplicity.
Irccd and irccdctl now support local SSL sockets.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 04 Nov 2018 17:26:05 +0100 |
parents | 317c66a131be |
children | 7145a3df4cb7 |
rev | line source |
---|---|
486
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 IRC Client Daemon MIGRATING |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 =========================== |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 This document is a small guide to help you migrating to a next major version. |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 Migrating from 2.x to 3.x |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 ------------------------- |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
9 ### Irccdctl |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
10 |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
11 - The functions `server-cnotice` and `server-cmode` have been removed, use |
780
560b62f6b0a7
Core: rework socket layer, closes #939 @6h
David Demelier <markand@malikania.fr>
parents:
779
diff
changeset
|
12 `server-notice` and `server-mode` instead, |
560b62f6b0a7
Core: rework socket layer, closes #939 @6h
David Demelier <markand@malikania.fr>
parents:
779
diff
changeset
|
13 - The option `connect.host` has been renamed to `connect.hostname` (#941). |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
14 |
577
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
15 ### Plugins |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
16 |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
17 #### Logger |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
18 |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
19 - The keyword `source` has been removed and replaced by `channel`, |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
20 - The keyword `origin` has been added, |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
21 - Formats `cnotice`, `cmode`, `query` have been removed. |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
22 |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
23 ### Network API |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
24 |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
25 - The requests `server-cnotice` and `server-cmode` have been removed, use |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
26 `server-notice` and `server-mode` instead, |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
27 - The request `server-mode` command requires a new argument `channel`. |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
28 |
486
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 ### CMake options |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 |
701
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
700
diff
changeset
|
31 - All options are now starting with `IRCCD_` for better compatibility with |
2007a37d7e1a
CMake: prefix options with IRCCD_, #closes 800 @2h
David Demelier <markand@malikania.fr>
parents:
700
diff
changeset
|
32 external projects, |
709
1b04ffb2b35e
CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
33 - CMake now use GNUInstallDirs module to specify installation paths, all |
1b04ffb2b35e
CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
34 IRCCD_WITH_ options have been replaced by CMAKE_INSTALL_ equivalents. |
486
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 ### Paths |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 |
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 - The default plugins path has been changed from **share/irccd/plugins** to |
709
1b04ffb2b35e
CMake: switch to GNUInstallDirs, closes #873 @1h
David Demelier <markand@malikania.fr>
parents:
701
diff
changeset
|
39 **lib64/irccd**. |
486
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
41 ### Javascript API |
486
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
43 #### Events |
486
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
45 - The events `onChannelMode` and `onChannelNotice` have been removed, plugins |
577
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
46 must use `Server.isSelf(target)` to determine a channel/private message, |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
47 - The event `onNotice` takes a new `channel` argument, |
3d0dbc0bee7d
Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents:
574
diff
changeset
|
48 - The event `onMode` takes new `channel`, `limit`, `user`, `mask` arguments. |
486
0b156b82b8c1
Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
50 #### Module Server |
489
349fe29d86d5
Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents:
486
diff
changeset
|
51 |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
52 - The methods `Server.cmode` and `Server.cnotice` have been removed, use |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
53 `Server.mode` and `Server.notice` instead, |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
54 - The method `Server.mode` requires a new argument `channel`. |
489
349fe29d86d5
Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents:
486
diff
changeset
|
55 |
349fe29d86d5
Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents:
486
diff
changeset
|
56 #### Module ElapsedTimer |
349fe29d86d5
Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents:
486
diff
changeset
|
57 |
349fe29d86d5
Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents:
486
diff
changeset
|
58 - The method ElapsedTimer.reset has been removed, just use `start` instead |
349fe29d86d5
Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents:
486
diff
changeset
|
59 when you want to accumulate time. |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
489
diff
changeset
|
60 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
489
diff
changeset
|
61 #### Module Directory |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
489
diff
changeset
|
62 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
489
diff
changeset
|
63 - The property `Directory.count` has been removed. |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
64 |
700
91bc29e87399
Irccd: use Boost.Predef, closes #805 @1h
David Demelier <markand@malikania.fr>
parents:
696
diff
changeset
|
65 #### Module Plugin |
574
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
66 |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
67 The following properties in `Irccd.Plugin` has been renamed: |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
68 |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
69 - **cachePath** renamed to **paths.cache**, |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
70 - **configPath** renamed to **paths.config**, |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
71 - **dataPath renamed** to **paths.data**. |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
72 |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
73 Note: these paths are no more automatically detected and set with the new |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
74 `[paths]` and `[paths.<name>]` sections. |
18e80ec38ac7
Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents:
514
diff
changeset
|
75 |
700
91bc29e87399
Irccd: use Boost.Predef, closes #805 @1h
David Demelier <markand@malikania.fr>
parents:
696
diff
changeset
|
76 #### Module System |
91bc29e87399
Irccd: use Boost.Predef, closes #805 @1h
David Demelier <markand@malikania.fr>
parents:
696
diff
changeset
|
77 |
91bc29e87399
Irccd: use Boost.Predef, closes #805 @1h
David Demelier <markand@malikania.fr>
parents:
696
diff
changeset
|
78 - The function `Irccd.System.name` has now well defined return value. |
733
bd12709b1975
Irccd: rework server to be simpler
David Demelier <markand@malikania.fr>
parents:
709
diff
changeset
|
79 |
bd12709b1975
Irccd: rework server to be simpler
David Demelier <markand@malikania.fr>
parents:
709
diff
changeset
|
80 ### Irccd |
bd12709b1975
Irccd: rework server to be simpler
David Demelier <markand@malikania.fr>
parents:
709
diff
changeset
|
81 |
bd12709b1975
Irccd: rework server to be simpler
David Demelier <markand@malikania.fr>
parents:
709
diff
changeset
|
82 #### Configuration |
bd12709b1975
Irccd: rework server to be simpler
David Demelier <markand@malikania.fr>
parents:
709
diff
changeset
|
83 |
bd12709b1975
Irccd: rework server to be simpler
David Demelier <markand@malikania.fr>
parents:
709
diff
changeset
|
84 - The option `reconnect-tries` has been removed from `[server]` section, use |
bd12709b1975
Irccd: rework server to be simpler
David Demelier <markand@malikania.fr>
parents:
709
diff
changeset
|
85 `auto-reconnect` boolean option instead. |
bd12709b1975
Irccd: rework server to be simpler
David Demelier <markand@malikania.fr>
parents:
709
diff
changeset
|
86 - The option `reconnect-timeout` has been renamed to `auto-reconnect-delay`. |
779
317c66a131be
Irccd: merge [identity] with [server], closes #905 @2h
David Demelier <markand@malikania.fr>
parents:
733
diff
changeset
|
87 - The section `[identity]` has been removed, instead move those values inside |
317c66a131be
Irccd: merge [identity] with [server], closes #905 @2h
David Demelier <markand@malikania.fr>
parents:
733
diff
changeset
|
88 each server in their `[server]` section. |