-
Notifications
You must be signed in to change notification settings - Fork 2
/
CHANGELOG
288 lines (203 loc) · 8.01 KB
/
CHANGELOG
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
Changelog
=========
Be sure version number is updated in deploy/alpine/APKBUILD.
Unreleased
----------
0.14.0 (2024-08-11)
-------------------
Added trivia cancellation.
0.13.5 (2024-04-18)
-------------------
Finally, fixed sports_schedule plugin for musl libc. There were multiple issues
with strptime and strftime formats. Resolved those, and added some more error
checking. Added better logging and some tweaks to make it easy to run cbot in an
Alpine Docker container for doing final testing on my local machine.
0.13.4 (2024-04-17)
-------------------
Yet another bug fix:
- Another %Y-%m-%d replaced with %F in strptime()...
- Use %l rather than %I in strftime() and eliminate leading space
0.13.3 (2024-04-17)
-------------------
Bug fix:
- Use %Y-%m-%d instead of %F in strptime(), since %F is apparently a glibc
extension. Thanks, musl.
0.13.2 (2024-04-16)
-------------------
Some tweaks:
- The sqlknow plugin now uses non-greedy matching, which helps when the value
being stored is a long sentence using the word "is".
- The sqlknow plugin now supports forgetting ("cbot forget $key"), but only
deletion by the admin. There's no good reason for that restriction, I guess
it's just a power trip.
- The CLI backend now has a "/nick" command to test authorization.
0.13.1 (2024-04-16)
-------------------
As usual, a fix to CI for automatic deployment.
0.13.0 (2024-04-16)
-------------------
Several major new features!
Chat backends:
- The signal backend is improved to support multiple Signal API bridges. The old
code is for Signald and it remains as an option.
- Add support for a new Signal bridge: signal-cli!
- The CLI backend has gained readline/libedit support, so we now have enhanced
line editing when testing.
Plugins:
- A new plugin, "sports_schedule" is added. This checks for local SF sports games
and reports them, optionally on a timer schedule. Useful for notifying about
potential traffic disruptions ahead of time.
- The trivia plugin now allows a "?" reaction to mean "maybe".
0.12.1 (2023-10-10)
-------------------
Fix to CI for automatic deployment.
0.12.0 (2023-10-10)
-------------------
The trivia plugin has gained new features:
- Support for non-email notification to the trivia host (still via external command)
- Admin user can now start trivia early, and RSVP early
- Add To/From headers for email in trivia
The Docker image is now based on alpine 3.18. Perl and curl commands are now added
to enable the external command for non-email notifications.
0.11.5 (2023-05-31)
-------------------
The birthday plugin has been dramatically simplified using the new callback
system. It should be much less buggy now.
0.11.4 (2023-05-31)
-------------------
Fixed several bugs in the trivia reservation plugin.
Added reaction capabilities to the CLI backend.
Changed trivia reservation configuration (see commit log).
0.11.0-3 (2023-05-31)
---------------------
Add trivia reservation plugin.
New ability to respond to Signal reactions.
0.10.1,2 (2022-11-15)
---------------------
Update buttcoin to include Tether, and better notification behavior.
0.10.0 (2022-11-14)
-------------------
Added buttcoin plugin.
0.9.1 (2022-10-31)
------------------
Updated github deploy token. No code change.
0.9.0 (2022-10-31)
------------------
- HTTP server is added.
- Help is delivered as a link to a webpage.
- Plugins may register for HTTP events.
- Birthdays can be viewed as web page
- [deploy] Removed unnecessary kill statement in run.sh
0.8.0 (2022-05-30)
----------------------
- deploy: get rid of signald from the docker image
- refresh Github deploy keys
0.7.4 (2022-02-28)
------------------
- Signal: Allow using "@cbot" (but not as a real tagged mention) as an alias for
the bot.
- Signal: Fix grotesque logging situation
- Global: Allow to DM the bot without using its name, to trigger commands
- plugin/birthday: code cleanups, use built-in logging framework
- plugin/{sql,}karma: use ratelimited sending
- Docker: set timezone
0.7.3 (2022-02-19)
------------------
Signal: Fix bug in queued message handling which sometimes resulted in
double-free.
0.7.{1,2} (2022-02-19)
----------------------
Packaging changes to allow core dumps, and debuginfo.
0.7.0 (2022-02-18)
------------------
New Plugin, birthday!
- Tracks birthdays stored in database
- Every day at configurable time, sends happy birthday messages for relevant
people
- Sends a monthly overview message
- Allows management by me
Signal backend is improved so that waiting for a response from signald does not
drop messages which were sent in the meantime.
Cbot gained rate limited message support.
0.6.2 (2022-02-18)
------------------
Midnight release:
- Alpine/Docker change to support native library
- Fix potential segfault on user name
0.6.1 (2022-02-17)
------------------
Fix odd build error from sourcehut.
0.6.0 (2022-02-17)
------------------
- Signal backend:
- Add ignore_dm config
- Add the ability to respond to @mentions
- Upgrade signald/java in Docker container
0.5.{4..9} (2021-11-23)
-----------------------
- Another test release for CI, which hopefully includes the Docker builds.
0.5.3 (2021-09-15)
------------------
- Test release for CI.
- This release should include automatic Docker builds.
0.5.2 (2021-09-15)
------------------
- Another test release for CI.
0.5.1 (2021-09-15)
------------------
- Just a test release for CI.
0.5.0 (2021-09-15)
------------------
- Add an AQI plugin
- Add logging system
- Significant cleanup of Signal backend
- Improvements brought in from sc-lwt regarding epoll
0.4.1 (2021-09-06)
------------------
- Plugins are now installed at libexecdir, e.g. /usr/libexec/cbot/foo.so.
- Added new aqi plugin
- Fixed shutdown behavior: any plugin/backend threads must gracefully handle the
sc-lwt shutdown signal.
0.4.0 (2021-09-06)
------------------
A ton more changes. Up to this point, cbot really hasn't had a real version
scheme or release system. However, this release changes that. I'm preparing cbot
to be deployed via container, and so I want to package it for Alpine. This
requires that I have regular source tarball releases. Each release tarball
contains all necessary subprojects bundled, to make it easy to build offline and
by verifying a single checksum.
Here's a selection of changes included in the release:
* Add sc-lwt and begin using lightweight threads. Plugins and other code can
launch a background thread to do some I/O without blocking the main thread.
* Add sqlite database integration, allowing state to be saved. We also add a DB
API to simplify this.
* Add curl integration which allows us to query APIs in plugins.
* Add a super bare-bones Signal backend. This should be considered very alpha
quality.
0.3.0 (2020-05-07)
------------------
* Skip 0.2.0 due to inconsistency between meson.build and CHANGELOG
* Added dependency on sc-regex, migrated plugins onto it.
* Added dependency on sc-collections, migrated log plugin onto it.
* Added dependency on sc-argparse, migrated bot runner to use it.
* Removed libstephen dependency from the project!
* Updated plugin API:
- Plugins may directly call functions listed in cbot.h, rather than using a
function pointer. The function pointer struct is removed from the API.
- Plugins no longer need to use the `addressed()` (or `cbot_addressed()`)
function to determine whether a message is addressed to them. They may
simply subscribe to the `CBOT_ADDRESSED` message type.
- Plugins no longer need to compile and execute their own regular expressions.
They may be provided within `cbot_register()` and will be executed by the
bot itself. Handlers will be called only if the regular expression matches.
* Added "become" plugin
0.1.0 (2020-02-05)
------------------
* Migrated build system to Meson, began versioning and recording changelog.
* This release was labeled 0.2.0 in the meson.build file
Prehistory
----------
Before this point, there are no changelogs, only git logs. At this point, the
following was implemented:
* IRC + CLI backends
* Plugins: greet, emote, help, ircctl, karma, name, sadness, magic8