What's Changed
- tests/unit/test_xaprintf.c: Fix test by using streq() instead of strcmp(3) by @alejandro-colomar in #1280
- login: fixed PID matching when PAM (and forking) used by @Karlson2k in #1282
- */: Fix including <config.h> as system header by @Karlson2k in #1294
- lib/shadow/grp/: agetgroups(): Fix possible buffer overrun on non-Linux systems by @alejandro-colomar in #1295
- lib/utmp.c: Fixed generated strings for "ut_id" by @Karlson2k in #1301
- Fix fprintf(3)-related issues. by @alejandro-colomar in #1299
- lib/utmp.c: align generated "ut_id" with other software by @Karlson2k in #1293
- Fixes related to use of forked PID by @Karlson2k in #1305
- fixes for configure and autotools by @Karlson2k in #1287
- chpasswd: Check hash before write when using -e by @mmpx12 in #1285
- Disable building subids support on systems that don't have the prctl by @sthibaul in #1269
- Make sure that logind is enabled if requested, make --disable-logind mandatory to disable logind integration by @Karlson2k in #1318
- src/groupmod.c: --help: wfix by @alejandro-colomar in #1316
- Correct finding UTMP entry by @Karlson2k in #1292
- While-loop readability improvements. by @alejandro-colomar in #1303
- lib/agetpass.c: Pass "" instead of NULL as an ignored prompt by @alejandro-colomar in #1321
- Make parsing of gecos field more robust and strict by @alejandro-colomar in #1307
- lib/utmp.c: Fix use of last utmp entry instead of patrial-match entry by @Karlson2k in #1326
- Fixed memory leak in UTMP processing by @Karlson2k in #1332
- share/ansible/: fix Debian 13 build by @ikerexxe in #1337
- lib/subordinateio.c: list_owner_ranges(): Fix duplicate range when username matches ID by @alejandro-colomar in #1345
- man/chsh: remove duplicate paragraph by @tacerus in #1342
- CI: add Python linter by @ikerexxe in #1349
- src/su.c: Fix incorrect (non-matching) parentheses by @alejandro-colomar in #1353
- Subid v3 by @AndersBlomdell in #1351
- Use available libc macros for paths, instead of creating our own. by @alejandro-colomar in #1355
- lib/, src/: Use consistent style using strchr(3) in conditionals by @alejandro-colomar in #1048
- lib/string/README: Add guidelines for using strings by @alejandro-colomar in #1338
- po/nl.po: Update by @alejandro-colomar in #1365
- A couple of patches around SSSD integration by @alexey-tikhonov in #1366
- Move shadow APIs to lib/shadow/ by @alejandro-colomar in #1197
- No news is good news by @alejandro-colomar in #1371
- src/useradd.c: chroot or prefix SELinux file context by @ikerexxe in #1258
- lib/commonio.c: Rename structure members that look like libc APIs by @alejandro-colomar in #1324
- Add STRNEQ(), and use it instead of its pattern by @alejandro-colomar in #1336
- X by @alejandro-colomar in #1263
- lib/utmp.c: is_my_tty(): Simplify by @alejandro-colomar in #1376
- Add strerrno(), and use it instead of its pattern by @alejandro-colomar in #1375
- [dd] Remove dead code by @alejandro-colomar in #1271
- tests/unit/test_exit_if_null.c: Test through XMALLOC() instead of xaprintf() by @alejandro-colomar in #1384
- clarify -U option in groupadd help output by @ashgit23 in #1389
- useradd: Do not automatically add supplements groups for system users by @SgAkErRu in #1156
- a2i(): Maximal minimalism by @alejandro-colomar in #1372
- Improve Clang support (regarding attributes) by @alejandro-colomar in #1320
- Rename array macro wrappers with an _a suffix instead of uppercase by @alejandro-colomar in #1373
- lib/string/: strerrno(): Use statement expression to perform lvalue conversion by @alejandro-colomar in #1390
- doc/contributions/: enhance Python test framework by @ikerexxe in #1348
- Minor improvements around fgets(3) calls by @alejandro-colomar in #1386
- tests/unit/: Small improvements by @alejandro-colomar in #1383
- Use a simpler interface for append_range(), based on reallocf(3) by @alejandro-colomar in #1356
- lib/: Use simple assignment instead of memcpy(3) by @alejandro-colomar in #1309
- configure.ac: Propagate ./configure flags to 'distcheck' by @alejandro-colomar in #1319
- src/usermod.c: $user_home: Remove all trailing '/'s by @alejandro-colomar in #1370
- Use const correctly. by @alejandro-colomar in #1393
- useradd: fix uninitialized flags causing aarch64 failure by @ikerexxe in #1396
- Update po and potfiles by @hallyn in #1399
- src/: Fix uninitialized flags, and use const appropriately by @alejandro-colomar in #1400
- Add typeas() and use it by @alejandro-colomar in #1395
- newusers: allow not passing a password by @terceiro in #1341
- Turn some -Wunused-* diagnostics into errors, and solve them by @alejandro-colomar in #1394
- Expand system test framework by @ikerexxe in #1340
- Replace fgetsx() by fgets(3) and fputsx() by fputs(3) by @alejandro-colomar in #1056
- Some improvements to type-safe macros by @alejandro-colomar in #1388
- rmdir_leading() improvements by @alejandro-colomar in #1135
- (pre-)Release 4.19.0-rc1 by @hallyn in #1411
New Contributors
- @Karlson2k made their first contribution in #1282
- @mmpx12 made their first contribution in #1285
- @tacerus made their first contribution in #1342
- @AndersBlomdell made their first contribution in #1351
- @alexey-tikhonov made their first contribution in #1366
- @ashgit23 made their first contribution in #1389
- @terceiro made their first contribution in #1341
Full Changelog: 4.18.0...4.19.0-rc1