annotate MIGRATING.md @ 665:7ed23c858694

Tests: test irccdctl (rule-* commands) #785 While here, fix rule-edit which were triggering invalid_index because it was not added to the request. Also fix missing events from configuration file because they were forgotten. Finally, use std::set instead of std::unordered_set for a sorted output in rule-list and rule-info to ensure long-term compatibility in output.
author David Demelier <markand@malikania.fr>
date Thu, 29 Mar 2018 20:01:02 +0200
parents 3d0dbc0bee7d
children 20ae26a67897
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
12 `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
13
577
3d0dbc0bee7d Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents: 574
diff changeset
14 ### Plugins
3d0dbc0bee7d Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents: 574
diff changeset
15
3d0dbc0bee7d Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents: 574
diff changeset
16 #### Logger
3d0dbc0bee7d Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents: 574
diff changeset
17
3d0dbc0bee7d Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents: 574
diff changeset
18 - 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
19 - The keyword `origin` has been added,
3d0dbc0bee7d Irccd: update references to onChannel(Mode|Notice), onMode
David Demelier <markand@malikania.fr>
parents: 574
diff changeset
20 - 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
21
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
574
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
31 - `WITH_CONFDIR` has been renamed to `WITH_SYSCONFDIR`.
486
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 ### Paths
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff changeset
34
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 - The default plugins path has been changed from **share/irccd/plugins** to
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 **libexec/irccd/plugins**.
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
574
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
38 ### Javascript API
486
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
574
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
40 #### Events
486
0b156b82b8c1 Irccd: rework of paths, closes #611
David Demelier <markand@malikania.fr>
parents:
diff changeset
41
574
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
42 - 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
43 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
44 - 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
45 - 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
46
574
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
47 #### Module Server
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
48
574
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
49 - 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
50 `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
51 - 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
52
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
53 #### Module ElapsedTimer
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
54
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
55 - 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
56 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
57
16b9ebfd3f08 Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents: 489
diff changeset
58 #### Module Directory
16b9ebfd3f08 Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents: 489
diff changeset
59
16b9ebfd3f08 Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents: 489
diff changeset
60 - 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
61
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
62 ### Module Plugin
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
63
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
64 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
65
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
66 - **cachePath** renamed to **paths.cache**,
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
67 - **configPath** renamed to **paths.config**,
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
68 - **dataPath renamed** to **paths.data**.
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
69
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
70 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
71 `[paths]` and `[paths.<name>]` sections.
18e80ec38ac7 Irccd: get rid of user/channel separation, closes #734
David Demelier <markand@malikania.fr>
parents: 514
diff changeset
72