Skip to content

Commit 1e99fc3

Browse files
committed
Add the news post for the 2.1.20 release.
1 parent 8b87b54 commit 1e99fc3

File tree

2 files changed

+135
-5
lines changed

2 files changed

+135
-5
lines changed

_config.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ plugins:
3838

3939
releases:
4040
devel:
41-
version: 2.1.19
42-
date: 2025-11-01
43-
news: /news/2025/anope-2119-release.html
44-
source: https://github.com/anope/anope/archive/refs/tags/2.1.19.tar.gz
45-
windows: https://github.com/anope/anope/releases/download/2.1.19/anope-2.1.19.exe
41+
version: 2.1.20
42+
date: 2025-12-01
43+
news: /news/2025/anope-2120-release.html
44+
source: https://github.com/anope/anope/archive/refs/tags/2.1.20.tar.gz
45+
windows: https://github.com/anope/anope/releases/download/2.1.20/anope-2.1.20.exe
4646
stable:
4747
version: 2.0.18
4848
date: 2025-05-08
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
---
2+
layout: post
3+
title: Anope 2.1.20 Release
4+
author: Sadie
5+
category: 2025
6+
---
7+
8+
Anope 2.1.20 has been released. This is a development release.
9+
10+
The most notable changes are:
11+
12+
#### Breaking Changes
13+
14+
* Changed the registration of database types added by modules to be delayed until after the module constructor has been called. This might affect any custom modules you are using.
15+
16+
* Moved akicks out of the core into cs_akick. Modules which depend on akicks now require the cs_akick module to be loaded.
17+
18+
#### Changes
19+
20+
* Added `{db_json}:preserve_unknown_data` to configure whether unknown database types are kept in the JSON database. By default unknown database types from unloaded modules will be preserved in the database to allow reloading later. This setting can be used to disable this and prune the database.
21+
22+
* Added support for forbidding passwords. This is intended to be used with file forbids (see below).
23+
24+
```
25+
/OPERSERV FORBID ADD PASSWORD +30d hunter2 This password is insecure
26+
-OperServ- Added a forbid on hunter2 of type password to expire on Mon 29 Dec
27+
2025 11:51:13 AM UTC (30 days from now).
28+
```
29+
30+
* Added support for loading forbids from a file.
31+
32+
```cpp
33+
file
34+
{
35+
type = "email"
36+
file = "temp-emails.txt"
37+
reason = "Temporary email"
38+
}
39+
```
40+
41+
* Added support for the UnrealIRCd `+F` flood profile mode.
42+
43+
* Added the `anope-mkpasswd` script to help generate passwords for use in the config.
44+
45+
```
46+
$ ./anope-mkpasswd argon2id hunter2
47+
For use in the database:
48+
argon2id:$argon2id$v=19$m=65536,t=3,p=4$AmGWdtn1OUT9WSKSqESsPw
49+
$iguvHs6oIi/hF7e3t/bGNwgqP41vl/J4qP3a/yH9SLo
50+
51+
For use in an oper:
52+
password = "$argon2id$v=19$m=65536,t=3,p=4$AmGWdtn1OUT9WSKSqESsPw
53+
$iguvHs6oIi/hF7e3t/bGNwgqP41vl/J4qP3a/yH9SLo"
54+
password_hash = "argon2id"
55+
56+
For use in an jsonrpc/xmlrpc token:
57+
token = "$argon2id$v=19$m=65536,t=3,p=4$AmGWdtn1OUT9WSKSqESsPw
58+
$iguvHs6oIi/hF7e3t/bGNwgqP41vl/J4qP3a/yH9SLo"
59+
token_hash = "argon2id"
60+
61+
Make sure you have the enc_argon2 module loaded!
62+
```
63+
64+
* Added the DISPLAY flag to `nickserv/list` to only show account display nicknames.
65+
66+
```
67+
/NICKSERV LIST *
68+
-NickServ- List of entries matching *:
69+
-NickServ- nick1 (last mask: foo@example.com)
70+
-NickServ- nick1|afk (last mask: bar@example.com)
71+
-NickServ- nick2 (last mask: baz@example.com)
72+
-NickServ- End of list - 3/3 matches shown.
73+
74+
/NICKSERV LIST * DISPLAY
75+
-NickServ- List of entries matching *:
76+
-NickServ- nick1 (last mask: foo@example.com)
77+
-NickServ- nick2 (last mask: baz@example.com)
78+
-NickServ- End of list - 2/2 matches shown.
79+
```
80+
81+
* Added the hs_offer module which allows offering templated vhosts to users (based on a
82+
modsite module by @genius3000 on GitHub).
83+
84+
```
85+
/HOSTSERV OFFER ADD {account}.users.example.com
86+
87+
/HOSTSERV OFFERLIST
88+
-HostServ- Current host offer list:
89+
-HostServ- 2: {account}.users.example.com / FooBar.users.example.com -- does not expire
90+
-HostServ- End of host offer list.
91+
```
92+
93+
* Changed chanserv/mode lock messages to stack the responses into one message per type instead of sending one message per mode.
94+
95+
```
96+
/CHANSERV MODE #stest LOCK ADD +bb foo!foo@foo bar!bar@bar
97+
-ChanServ- +bb foo!foo@foo bar!bar@bar has been locked on #stest.
98+
```
99+
100+
* Changed database objects to rehook to their type when it becomes available again.
101+
102+
* Changed the `nickserv/set/language` and `nickserv/set/timezone` commands to allow setting back to the default value by omitting the last parameter.
103+
104+
```
105+
/NICKSERV SET LANGUAGE
106+
12:23 -NickServ- Language changed to English.
107+
108+
/NICKSERV SET TIMEZONE
109+
12:24 -NickServ- Timezone changed to UTC.
110+
```
111+
112+
* Changed the default install directory from `~/anope` to `~/anope-2.1`.
113+
114+
* Changed the enc_sha1 module to use a vendored SHA-1 implementation.
115+
116+
* Expanded password obscurity checks and added an event hook to allow modules to reject passwords.
117+
118+
* Fixed the rpc_user module sending the "invalid account" and "invalid password" error codes inverted.
119+
120+
* Fixed unintentionally reloading the core database when reloading a module that provides a database type.
121+
122+
* Removed a bunch of obsolete build system cruft.
123+
124+
The full change log can be found on [GitHub](https://github.com/anope/anope/compare/2.1.19...2.1.20).
125+
126+
Users who want to test out new features are encouraged to upgrade. Before upgrading you may wish to take a backup of your databases and read the [upgrading guide](/upgrading.html). If you encounter any incompatibilities that aren't mentioned on this page then [please open an issue](https://github.com/anope/website/issues/new).
127+
128+
SHA256 Sum: `f2b754de919f4fe864777a44496a9011b4d3006062f07b097c9aac43f355e5da` [anope-2.1.20.tar.gz](https://github.com/anope/anope/archive/refs/tags/2.1.20.tar.gz)
129+
\
130+
SHA256 Sum: `9bc03aee3136199983f0ae94f8c14e0e8bec5029419879221cab1bb2d13910e7` [anope-2.1.20.exe](https://github.com/anope/anope/releases/download/2.1.20/anope-2.1.20.exe)

0 commit comments

Comments
 (0)