@@ -15,11 +15,8 @@ Contact our {ref}`support` for upgrade assistance.
15
15
16
16
## Overview
17
17
18
- - Status: stable
19
- - First production release: [ 2023_005 (2023-03-13)] ( https://doc.flyingcircus.io/platform/changes/2023/r005.html )
20
- - Added roles: postgresql15
21
- - Removed roles: {ref}` graylog, loghost, loghost-location <nixos-upgrade-loghost> ` , {ref}` kibana, kibana6, kibana7 <nixos-upgrade-kibana> ` , {ref}` postgresql10 <nixos-upgrade-postgresql> `
22
- - Roles with significant breaking changes: {ref}` nginx, webgateway <nixos-upgrade-webgateway> ` , {ref}` nixos-upgrade-statshost-master `
18
+ - Status: staging/non-production
19
+ - Removed roles: {ref}` elasticsearch6, elasticsearch7 <nixos-upgrade-elasticsearch> `
23
20
24
21
25
22
## Why upgrade? Security
@@ -32,7 +29,7 @@ We do back-ports for critical security issues but this may take longer in some
32
29
cases and less important security fixes will not be back-ported most of the time.
33
30
34
31
NixOS provides regular security updates for about one month after the release.
35
- Upstream support for 22.11 ends on ** 2023-06-30 ** .
32
+ Upstream support for 23.05 ends on ** 2023-12-31 ** .
36
33
37
34
New platform features are always developed for the current stable platform version
38
35
and only critical bug fixes are back-ported to older versions.
@@ -115,119 +112,84 @@ following common breaking changes and role-specific notes below.
115
112
116
113
### Common breaking changes
117
114
118
- - Deprecated settings ` logrotate.paths ` and ` logrotate.extraConfig ` have been
119
- removed. Please convert any uses to ` services.logrotate.settings `
120
- before upgrading.
115
+ - ` libxcrypt ` , the library providing the ` crypt(3) ` password hashing function,
116
+ is now built without support for algorithms not flagged[ ` strong ` ]
117
+ (https://github.com/besser82/libxcrypt/blob/v4.4.33/lib/hashes.conf#L48 )
118
+ in NixOS 23.05. We added a variant package called ` libxcrypt-with-sha256 `
119
+ which also enables the ` sha256 ` algorithm. OpenLDAP, Dovecot, Postfix,
120
+ cyrus_sasl use that version by default. New password hashes should use
121
+ strong algorithms like ` yescrypt ` .
122
+ - ` podman ` now uses the ` netavark ` network stack. Users will need to delete
123
+ all of their local containers, images, volumes, etc, by running `podman
124
+ system reset --force` once before upgrading their systems.
121
125
122
- (nixos-upgrade-webgateway)=
123
126
124
- ### webgateway
127
+ (nixos-upgrade-elasticsearch)=
125
128
126
- ** Nginx** now uses the * nginx* user to run the main process. Before, only
127
- worker processes ran as * nginx* and the main process as * root* to allow
128
- reading SSL certificates from arbitrary directories, like deployments in
129
- ` /srv/s-user ` , for example.
130
-
131
- Normally, the built-in support for Letsencrypt should be used to avoid
132
- permission problems and make sure that certificates are rotated
133
- automatically.
134
-
135
- If using other SSL certificates cannot be avoided, make sure
136
- that permissions allow read access for the * nginx* user, for example by
137
- applying ` setfacl -Rm u:nginx:rX ` to the certificate directory.
138
-
139
- It's also possible to keep the old behavior for some time by adding as
140
- {ref}` nixos-custom-modules ` before the upgrade:
141
-
142
- ``` nix
143
- # /etc/local/nixos/nginx-master-user-root.nix
144
- {
145
- services.nginx.masterUser = "root";
146
- }
147
- ```
148
-
149
- This setting will trigger a deprecation warning on 23.05 and be removed in a
150
- later version.
151
-
152
- (nixos-upgrade-statshost-master)=
153
-
154
- ### statshost-master
155
-
156
- The options to add custom Grafana config have changed.
157
-
158
- ` services.grafana.extraOptions ` has been removed and free-form config
159
- settings moved to ` services.grafana.settings ` . For example,
160
- ` services.grafana.smtp.port ` is now at ` services.grafana.settings.smtp.port ` .
161
-
162
- For a detailed migration guide, please look at the
163
- [ NixOS 22.11 release notes] ( https://nixos.org/manual/nixos/stable/release-notes.html#sec-release-22.11-notable-changes ) .
164
-
165
- ### nginx
166
-
167
- See {ref}` nixos-upgrade-webgateway ` .
168
-
169
- (nixos-upgrade-postgresql)=
170
-
171
- ### postgresql
172
-
173
- The ` postgresql10 ` role has been removed. {ref}` Upgrade the database <nixos-postgresql-major-upgrade> `
174
- to a newer role version before the platform upgrade.
175
-
176
- The ` postgresql15 ` role is now available.
177
-
178
- (nixos-upgrade-kibana)=
179
-
180
- ### kibana
181
-
182
- All ` kibana* ` roles have been removed. Machines that use kibana should stay on
183
- 22.05 for now. We are working on
184
- [ OpenSearch] ( https://opensearch.org/ ) /[ OpenSearch Dashboards] ( https://opensearch.org/docs/latest/dashboards/quickstart-dashboards/ )
185
- roles for 22.11 which will replace Elasticsearch/Kibana in the future.
186
-
187
- (nixos-upgrade-loghost)=
188
-
189
- ### loghost
190
-
191
- ` graylog ` and ` loghost* ` roles have been removed. Machines that use these
192
- roles should stay on 22.05. We are working on a new logging stack for 22.11
193
- which will be based on [ Grafana Loki] ( https://grafana.com/oss/loki/ ) .
129
+ ### Elasticsearch
194
130
131
+ ` elasticsearch6 ` and ` elasticsearch7 ` roles have been removed. Machines that use these
132
+ roles should stay on 22.11 and migrate to Opensearch before upgrading.
195
133
196
134
## Other notable changes
197
135
198
- - PHP is now built in NTS (Non-Thread Safe) mode by default. For Apache and
199
- mod_php usage, we enable ZTS (Zend Thread Safe) mode. This has been a
200
- common practice for a long time in other distributions.
201
- - openssh was updated to version 9.1, disabling the generation of DSA keys
202
- when using ` ssh-keygen -A ` as they are insecure. Also, ` SetEnv ` directives
203
- in ` ssh_config ` and ` sshd_config ` are now first-match-wins.
204
- - Python now defaults to 3.10, updated from 3.9. Python 3.11 is now stable.
205
- - PHP now defaults to PHP 8.1, updated from 8.0.
206
- - OpenSSL now defaults to OpenSSL 3, updated from 1.1.1.
207
- - The ` nodePackages ` package set now defaults to the LTS release in the ` nodejs `
208
- package again, instead of being pinned to ` nodejs_14 ` . ` nodejs_10 ` has
209
- been removed.
136
+ - NixOS now defaults to using nsncd (a non-caching reimplementation in Rust)
137
+ as NSS lookup dispatcher, instead of the buggy and deprecated
138
+ glibc-provided nscd.
139
+ - The ` NodeJS ` packages have been renamed to a more usual naming scheme,
140
+ for example ` nodejs-19_x ` is now ` nodejs_19 ` .
141
+ - The ` dnsmasq ` service now takes configuration via the
142
+ ` services.dnsmasq.settings ` attribute set. The option
143
+ ` services.dnsmasq.extraConfig ` will be deprecated when NixOS 22.11 reaches
144
+ end of life.
145
+ - PostgreSQL has opt-in support for [ JIT compilation]
146
+ (https://www.postgresql.org/docs/current/jit-reason.html ). It can be
147
+ enabled like this:
148
+ ``` nix
149
+ {
150
+ services.postgresql = {
151
+ enableJIT = true;
152
+ };
153
+ }
154
+ ```
155
+ - ` openjdk ` from version 11 and above is not build with ` openjfx `
156
+ (i.e.: JavaFX) support by default anymore. You can re-enable it by
157
+ overriding, e.g.: ` openjdk11.override { enableJavaFX = true; }; ` .
158
+ - A new option ` recommendedBrotliSettings ` has been added to ` services.nginx ` .
159
+ Learn more about compression in Brotli format [ here] ( https://github.com/google/ngx_brotli/blob/master/README.md ) .
160
+ - ` vim_configurable ` has been renamed to ` vim-full ` to avoid confusion:
161
+ ` vim-full ` 's build-time features are configurable, but both ` vim ` and
162
+ ` vim-full ` are _ customizable_ (in the sense of user configuration, like
163
+ vimrc).
210
164
- For more details, see the
211
- [ release notes of NixOS 22.11 ] ( https://nixos.org/manual/nixos/stable/release-notes.html#sec-release-22.11 -notable-changes ) .
165
+ [ release notes of NixOS 23.05 ] ( https://nixos.org/manual/nixos/stable/release-notes.html#sec-release-23.05 -notable-changes ) .
212
166
213
167
214
168
## Significant package updates
215
169
216
- - docker-compose: 1.29 -> 2.12
217
- - git: 2.36 -> 2.38
218
- - gitlab: 15.4.6 -> 15.8.4
219
- - glibc: 2.34 -> 2.35
220
- - haproxy: 2.5 -> 2.6
221
- - k3s: 1.23 -> 1.25
222
- - keycloak: 18 -> 20
223
- - nix: 2.8 -> 2.11
224
- - openssh: 9.0 -> 9.1
225
- - postfix: 3.6.6 -> 3.7.3
226
- - powerdns: 4.6 -> 4.7
227
- - rabbitmq: 3.9 -> 3.10
228
- - roundcube: 1.5 -> 1.6
229
- - systemd: 250 -> 251
230
- - telegraf: 1.22 -> 1.24
231
- - varnish: 7.1 -> 7.2
232
- - zlib: 1.2.12 -> 1.2.13
233
- - zsh: 5.8 -> 5.9
170
+ - asterisk: 19.8.0 -> asterisk-20.2.1
171
+ - bash: 5.1 -> 5.2
172
+ - binutils: 2.39 -> 2.40
173
+ - bundler: 2.3 -> 2.4
174
+ - curl: 7.86.0 -> 8.0
175
+ - dnsmasq: 2.87 -> 2.89
176
+ - docker-compose: 2.12 -> 2.17
177
+ - ffmpeg: 4.4.2 -> 5.1
178
+ - gcc: 11 -> 12
179
+ - git: 2.38 -> 2.40
180
+ - glibc: 2.35 -> 2.37
181
+ - grafana: 9.4 -> 9.5
182
+ - haproxy: 2.6 -> 2.7
183
+ - k3s: 1.25 -> 1.26
184
+ - kubernetes-helm: 3.10 -> 3.11
185
+ - linux: 5.15 -> 6.1
186
+ - nginx: 1.22 -> 1.24
187
+ - nss-cacert: 3.86 -> 3.89
188
+ - openjdk: 17 -> 19 (same for other Java default packages like ` jre ` )
189
+ - openssh: 9.1 -> 9.3
190
+ - podman: 4.3 -> 4.5
191
+ - rabbitmq-server: 3.10 -> 3.11
192
+ - ruby: 2.7 -> 3.1
193
+ - systemd: 251 -> 253
194
+ - telegraf: 1.24 -> 1.26
195
+ - xfsprogs: 5.19 -> 6.2
0 commit comments