···10451045 </listitem>
10461046 <listitem>
10471047 <para>
10481048+ The <literal>taskserver</literal> module no longer implicitly
10491049+ opens ports in the firewall configuration. This is now
10501050+ controlled through the option
10511051+ <literal>services.taskserver.openFirewall</literal>.
10521052+ </para>
10531053+ </listitem>
10541054+ <listitem>
10551055+ <para>
10481056 The <literal>autorestic</literal> package has been upgraded
10491057 from 1.3.0 to 1.5.0 which introduces breaking changes in
10501058 config file, check
+4
nixos/doc/manual/release-notes/rl-2205.section.md
···443443444444- `services.miniflux.adminCredentialFiles` is now required, instead of defaulting to `admin` and `password`.
445445446446+- The `taskserver` module no longer implicitly opens ports in the firewall
447447+ configuration. This is now controlled through the option
448448+ `services.taskserver.openFirewall`.
449449+446450- The `autorestic` package has been upgraded from 1.3.0 to 1.5.0 which introduces breaking changes in config file, check [their migration guide](https://autorestic.vercel.app/migration/1.4_1.5) for more details.
447451448452- For `pkgs.python3.pkgs.ipython`, its direct dependency `pkgs.python3.pkgs.matplotlib-inline`
···9090 """
9191 return subprocess.check_output(
9292 [CERTTOOL_COMMAND] + list(args),
9393- preexec_fn=lambda: os.umask(0077),
9393+ preexec_fn=lambda: os.umask(0o077),
9494 stderr=subprocess.STDOUT,
9595 **kwargs
9696 )
···164164 pubcert = os.path.join(basedir, "public.cert")
165165166166 try:
167167- os.makedirs(basedir, mode=0700)
167167+ os.makedirs(basedir, mode=0o700)
168168169169 certtool_cmd("-p", "--bits", CERT_BITS, "--outfile", privkey)
170170···301301 return None
302302 if name not in self.users.keys():
303303 output = taskd_cmd("add", "user", self.name, name,
304304- capture_stdout=True)
304304+ capture_stdout=True, encoding='utf-8')
305305 key = RE_USERKEY.search(output)
306306 if key is None:
307307 msg = "Unable to find key while creating user {}."
···412412 if org is not None:
413413 if self.ignore_imperative and is_imperative(name):
414414 return
415415- for user in org.users.keys():
415415+ for user in list(org.users.keys()):
416416 org.del_user(user)
417417- for group in org.groups.keys():
417417+ for group in list(org.groups.keys()):
418418 org.del_group(group)
419419 taskd_cmd("remove", "org", name)
420420 del self._lazy_orgs[name]