Tags give the ability to mark specific points in history as being important
-
20260724
bfb25689 · ·syscfg 20260724 NEWS: * Makefile variables $BIN_INSTALL, $MAN1_INSTALL, $INS, $BIN_FLAGS, and $MAN_FLAGS have been removed. Technically a breaking change, and is therefore marked as one. Breaking (backward-incompatible) change. * Synced shell-glossary to release 20260723. For more information, refer to the corresponding documentation. - Filtered log of core changes: 65de4d5 syscfg: `.` char instead of `x` at CS EOF f54d317 .gitmodules: shell-glossary -> `20260723` 75b4cce syscfg: Improve Makefile/build - Complete log between 20260628 and 20260724: bfb2568 syscfg 20260724 65de4d5 syscfg: `.` char instead of `x` at CS EOF f54d317 .gitmodules: shell-glossary -> `20260723` f78dd3b syscfg: [fmt] more consistent help text readability 75b4cce syscfg: Improve Makefile/build 20374ae Makefile: Cleanup useless variables
-
20260628
41a5fe25 · ·syscfg 20260628 NEWS: * Fixed critical use-without-assert `eval` vulnerability in ed_exec() and precisely clarified the type of format accepted. * Documented how syscfg is not yet secure. (5c2fabc) * Synced shell-glossary to release 20260625. This removes the `---` format option of info(); also applies to err(). In syscfg, this change also applies to __info() and __err() API functions. Breaking (backward-incompatible) change. * Introduced new __say() API function. It simply prints a string as passed, naturally avoiding $IFS quirks and/or client string prefix of __info(). Intended for programmatical strings/clients. - Filtered log of core changes: a6823a0 syscfg: Add __say() API func d422660 .gitmodules: shell-glossary -> `20260625` a6ceb0a syscfg: Fix insecure `eval` in ed_exec() - Complete log between 20260620 and 20260628: 41a5fe2 syscfg 20260628 a6823a0 syscfg: Add __say() API func d422660 .gitmodules: shell-glossary -> `20260625` 7a05ae1 doc: Clarify $NO_COLOR 930e55c NEWS: 20260622 5c2fabc doc: Note syscfg is not yet secure a6ceb0a syscfg: Fix insecure `eval` in ed_exec()
-
20260620
5f293229 · ·syscfg 20260620 NEWS: * Fixed 7660e94 ("syscfg: Fix `.` positional parameters pollution") for dash / strict POSIX shell implementations. Positional parameters are now reliable across all tested shells: bash, dash, and ksh. - Filtered log of core changes: 1363d96 Fixup "syscfg: Fix `.` positional parameters pollution" - Complete log between 20260619 and 20260620: 5f29322 syscfg 20260620 1363d96 Fixup "syscfg: Fix `.` positional parameters pollution" -
20260619
40ed6409 · ·syscfg 20260619 NEWS: * Fixed syscfg polluting the positional parameters of clients and files specified by $source. They will now have only $0 to access and all other parameters will be free to use, as was intended. Breaking (backward-incompatible) change. * Fixed syscfg polluting the environment of clients and files specified by $source with readonly variables. From our point of view, clients and $source files will now have a mostly identical environment. Additionally clarified the environment for clients and $source files in documentation. - Filtered log of core changes: 3153a53 syscfg: Fix pollution of client environment 7660e94 syscfg: Fix `.` positional parameters pollution - Complete log between 20260617 and 20260619: 40ed640 syscfg 20260619 3153a53 syscfg: Fix pollution of client environment 7660e94 syscfg: Fix `.` positional parameters pollution
-
20260617
822e800c · ·syscfg 20260617 NEWS: * Removed the EACCES assert to fix non-root users unable to create files and other potential issues. * Clarified why both `-uid`/`-user` (or `-gid`/`-group`) should be specified together to avoid unspecified behavior. (649bc2e) * Clarified hints take priority over EUID/EGID. (4612a73) * Fixed `-no-sync` hint being considered as invalid. (15d0ca6) * Internally, hint() takes one additional required parameter now. This would typically be a breaking change for any independent hint implementations, if any, and is therefore marked as one. Breaking (backward-incompatible) change. * Clarified and formally specified more hint priorities. (242cd77, e018aaa, 93961dc) * Clarified $OBJ_PATH in __ed(). (42b22bf) - Filtered log of core changes: 42b22bf __ed(): Clarify and specify variable behavior e018aaa __action(): Give delete hint priority over truncation 242cd77 __write(): Give negation hint priority eb3a2a4 syscfg: Improve hints documentation 2549465 syscfg: Inline hint type in the call 15d0ca6 Fixup "syscfg: Implement inode synchronization behavior" ce46712 Fixup "syscfg: RTL hint offset functionality" e3e219a syscfg: Remove EACCES assert - Complete log between 20260531 and 20260617: 822e800 syscfg 20260617 84047c0 NEWS: 20260617 42b22bf __ed(): Clarify and specify variable behavior 93961dc syscfg: [doc] specify hint priorities e018aaa __action(): Give delete hint priority over truncation 242cd77 __write(): Give negation hint priority cd95e63 README: List dependencies 1d2e47a Makefile: `install`/`uninstall` recipes cd4ba8c README: Note _the best_ feature of syscfg eb3a2a4 syscfg: Improve hints documentation 2549465 syscfg: Inline hint type in the call 245500a NEWS: 20260612 15d0ca6 Fixup "syscfg: Implement inode synchronization behavior" ce46712 Fixup "syscfg: RTL hint offset functionality" 4612a73 syscfg: [doc] clarify hint priority over EGID/EUID 649bc2e syscfg: [doc] clarify user/group hints specification e3e219a syscfg: Remove EACCES assert
-
20260531
327b0d4a · ·syscfg 20260531 NEWS: * Fixed bad inode alignment behavior since commit f92315c ("syscfg: Remove EUID 0 runtime requirement"). Object ownership hints are now authoritative to write alignment and treated as sole source of truth when specified. * Fixed write avoidance not considering the output of `ls -ld` in edge cases. - Filtered log of core changes: 073a340 syscfg: Fix write avoidance not considering `ls -ld` ambiguity 845b62a Fixup "syscfg: Fix broken inode alignment" - Complete log between 20260530 and 20260531: 327b0d4 syscfg 20260531 073a340 syscfg: Fix write avoidance not considering `ls -ld` ambiguity 845b62a Fixup "syscfg: Fix broken inode alignment" -
20260530
229e5de1 · ·syscfg 20260530 NEWS: * Fixed broken inode alignment since commit f92315c ("syscfg: Remove EUID 0 runtime requirement"). * Fixed spurious EACCES error conditions. - Filtered log of core changes: d74478b syscfg: Fix spurious EACCES errors 392d023 syscfg: Fix broken inode alignment - Complete log between 20260501 and 20260530: 229e5de syscfg 20260530 d74478b syscfg: Fix spurious EACCES errors 392d023 syscfg: Fix broken inode alignment f3f33e7 Makefile: Improve and harden `clean` recipe bec8622 rel_commit.sh: GPG sign the release commit -
20260501
ed16f653 · ·syscfg 20260501 NEWS: * Fixed EACCES oversight where files will not be written if the directory is read-only. Writes in /proc, for example. * Fixed the old year date of the manpage. - Filtered log of core changes: d583c06 syscfg: Fix EACCES test oversight cd86fb9 __ed(): Print format on CRC mismatch - Complete log between 20260423 and 20260501: ed16f65 syscfg 20260501 a2d350a syscfg.1: Fix year 4f0dbc3 Makefile: Recipe to create the release commit d583c06 syscfg: Fix EACCES test oversight cd86fb9 __ed(): Print format on CRC mismatch 0c6e60e Makefile: Add recipe `srcs` to `.PHONY` 0fa26db Makefile: Recipe to add all git sources locally
-
20260423
a7b27fda · ·syscfg 20260423 NEWS: * Fixed ENOENT being issued by __action() for `-del`/`-trunc` hints. * Fixed the exit status of the client being disrupted by the pipe construct when a pager is used. * Synced shell-glossary to release 20260422. This fixes backward-incompatible CRC checksum breakage that manifested after ~20250925. (d8d5fe8) Breaking (backward-incompatible) change. - Filtered log of core changes: d8d5fe8 .gitmodules: shell-glossary -> `20260422` 9346d64 syscfg: Fix exit status masked by pager pipe 820bffe __action(): Fix ENOENT issued for `-del`/`-trunc` - Complete log between 20260422 and 20260423: a7b27fd syscfg 20260423 8153b4a NEWS: Announce important info regarding d8d5fe8 d8d5fe8 .gitmodules: shell-glossary -> `20260422` 9346d64 syscfg: Fix exit status masked by pager pipe 820bffe __action(): Fix ENOENT issued for `-del`/`-trunc` 19fb56f README.md: Update showcase for 20260422
-
20260422
7f4b1a40 · ·syscfg 20260422 NEWS: * Fixed EACCES being returned when the target and its parent are both missing. * Now supports `--no-color` to disable all ANSI color escape sequences in syscfg and its API. Clients can still manually issue them; it is expected that clients themselves support $NO_COLOR, which will additionally be set by syscfg. * Now supports `--status-pager` (and `-p`/`--pager`) to inspect the output of a client. By default, `less` is used (hardcoded) if no pager is specified. - Filtered log of core changes: 6c65b3f syscfg: Support `--status-pager` 9f5a2cb syscfg: Support `--no-color` 2947ad9 syscfg: Fix EACCES error when no parents - Complete log between 20260410 and 20260422: 7f4b1a4 syscfg 20260422 6c65b3f syscfg: Support `--status-pager` 9f5a2cb syscfg: Support `--no-color` 2947ad9 syscfg: Fix EACCES error when no parents 05c288a doc: Clarify how $CLIENT_NAME is manually specified 7dce754 README.md: Update showcase for 20260410
-
20260410
333155df · ·syscfg 20260410 NEWS: * Now supports `-S`/`--silent`. Useful for programmatical clients whose output shall not be polluted. * Now supports `-o`/`--output`. - Filtered log of core changes: d62c862 syscfg: Support `-o`/`--output` 856dbab syscfg: Support `-S`/`--silent` - Complete log between 20260329 and 20260410: 333155d syscfg 20260410 d62c862 syscfg: Support `-o`/`--output` 856dbab syscfg: Support `-S`/`--silent` 00feeaf syscfg: [doc] fix comments d61a29f CREDITS: Update PGP key db44096 README.md: Simplify feature description 182c9fe README.md: Showcase cmdline usage
-
20260329
4c7e900d · ·syscfg 20260329 NEWS: * syscfg will trap EXIT instead of continuing to emulate it. (670ec0b) * syscfg now has a standard cmdline and documentation. Additionally, it now builds shell-glossary into itself. (c205fcc) Breaking (backward-incompatible) change. * Internally, the hint system underwent peculiar maintainer-focused improvements. (37d6931, 4ed6cc2, 89dcc88) * The created filesystem parents for a write now inherit all relevant inode properties of the target, and their mode is additionally specified to be "umask-explicit" (default mkdir-driven directory mode). * Synced shell-glossary to release 20260328. (de12818) * A <newline> character (one) will always be stripped from the CRC hint when passed along with the string. * EUID 0 is not a runtime requirement anymore. Instead, EACCES would be issued where appropriate. * Fixed an oversight of how `-d`/`-D` options shall work and clarified their role and related documentation. Behavior now matches `-no-avoid`/`-no-sync` hints, respectively. Breaking (backward-incompatible) change. * $opd has been renamed to $CLIENT_NAME and formally specified. Clients shall not set it themselves anymore; `syscfg` manages it now, and the caller can also specify it using `-n`/`--client-name`. Additionally, `syscfg` now supports passing any arguments to only one client and in turn does not consider the arguments to be more clients to execute. Breaking (backward-incompatible) change. * Now supports `-s`/`--source`. - Filtered log of core changes: 520c651 syscfg: Support `-s`/`--source` 935f39b syscfg: Manage and define the client name e70c491 syscfg: Fix and clarify `-d`/`-D` options f92315c syscfg: Remove EUID 0 runtime requirement 772c544 syscfg: Clarify clients are (shell) files d08d550 Fixup "syscfg: Standard hint offset mechanism/function" eb6767e syscfg: Always strip a <newline> from CRC hint de12818 .gitmodules: shell-glossary -> `20260328` 0c05253 syscfg: Missing directory parents inherit ownership 89dcc88 syscfg: RTL hint offset functionality 4ed6cc2 syscfg: Improve the spec for hint_act() 37d6931 syscfg: Standard hint offset mechanism/function c205fcc syscfg: Dedicated cmdline handling and documentation 581b3e8 syscfg: Remove assertive_functions skeleton 670ec0b syscfg: Trap 0 (EXIT) signal cc027f2 syscfg: Move utility functions in helper_functions() 5113611 syscfg: [utility_functions] rework to fit helper_functions() - Complete log between 20260315 and 20260329: 4c7e900 syscfg 20260329 2cd8e3a rel.sh: Commits with tag `[fmt]` are not important f1fd0c8 rel.sh: Remove showing last commit in parentheses 7695c7d rel.sh: Implement showing release news 520c651 syscfg: Support `-s`/`--source` 935f39b syscfg: Manage and define the client name 2ebe52d __ed(): [doc] more accurate `.ec` description e70c491 syscfg: Fix and clarify `-d`/`-D` options f92315c syscfg: Remove EUID 0 runtime requirement 772c544 syscfg: Clarify clients are (shell) files 0497cb6 doc: Improve util description 4dfefe6 NEWS: Add missing entry for de12818 f013463 NEWS: Mark c205fcc as breaking change d08d550 Fixup "syscfg: Standard hint offset mechanism/function" eb6767e syscfg: Always strip a <newline> from CRC hint de12818 .gitmodules: shell-glossary -> `20260328` 0c05253 syscfg: Missing directory parents inherit ownership 9ed4e70 NEWS: 20260326 89dcc88 syscfg: RTL hint offset functionality 4ed6cc2 syscfg: Improve the spec for hint_act() 37d6931 syscfg: Standard hint offset mechanism/function 2b31fc2 doc: Clarify overwrites and their options 656357c NEWS: 20260323 c205fcc syscfg: Dedicated cmdline handling and documentation 581b3e8 syscfg: Remove assertive_functions skeleton 3540238 syscfg: [fmt] remove `:` from empty case 0b0d312 NEWS: 20260321 670ec0b syscfg: Trap 0 (EXIT) signal cc027f2 syscfg: Move utility functions in helper_functions() 5113611 syscfg: [utility_functions] rework to fit helper_functions() a04e934 unmount(): [fmt] clarify 776a06d chattr_remove(): [doc] [fmt] clarify 75704de syscfg: [doc] add missing `.ec` header/info 7f74a88 rel.sh: Categorize `.gitmodules:` commits as core changes
-
20260315
b47c2c27 · ·syscfg 20260315 - Filtered log of core changes: b47c2c2 syscfg: Remove artifical newline in err output 9db2c2c syscfg: Verbose inode sync operations 959b348 syscfg: Implement inode synchronization behavior 9da5d0a Fixup "syscfg: Rework write API" d16537e syscfg: Gracefully handle a missing specified log 6b8835e syscfg: Add pluggable hint override mechanism - Complete log between 20250926 and 20260315 (b47c2c2): b47c2c2 syscfg: Remove artifical newline in err output 85f7117 Update copyright year (2026) 2f3943f README.md: Add info for breaking changes fe6b3af Makefile: Define `.PHONY` 78d98da rel.sh: Use mainly tag names for log refs 83064c6 NEWS: 20260315 a08e5a3 .gitmodules: shell-glossary -> `20251116` 423a3f5 Move scripts to scripts/ 9db2c2c syscfg: Verbose inode sync operations 6923144 NEWS: 20260314 959b348 syscfg: Implement inode synchronization behavior 9da5d0a Fixup "syscfg: Rework write API" d16537e syscfg: Gracefully handle a missing specified log 6b8835e syscfg: Add pluggable hint override mechanism
-
20250926
b8e816b5 · ·syscfg 20250926 - Filtered log of core changes: b8e816b syscfg: Do not provide temporary files 1c8df2e __write(): Print `$?` on random failures 10118fb __write(): Support hint `-sanit` 0c670e3 syscfg: `-out-req` -> `-req-out` a9ca333 syscfg: Remove hint `-log-fed` f78f90b syscfg: Remove hint `-clear-log` - Complete log between 20250925 and b8e816b: b8e816b syscfg: Do not provide temporary files 3a88b46 .gitmodules: shell-glossary -> `20250926` 1c8df2e __write(): Print `$?` on random failures 10118fb __write(): Support hint `-sanit` c91c207 syscfg: [doc] fix func order 0c670e3 syscfg: `-out-req` -> `-req-out` d5036b7 syscfg: [doc] improve hint docs 622ee9f __ed(): [doc] fix desc of `-log` a9ca333 syscfg: Remove hint `-log-fed` f78f90b syscfg: Remove hint `-clear-log` 6f9b111 unmount(): [doc] [fmt] remove cruft 2358a81 cmd_exec(): [doc] note purpose 4035924 .gitmodules: shell-glossary -> `20250925`
-
20250925
106465b7 · ·syscfg 20250925 - Filtered log of core changes: 106465b syscfg: Rework __fed() 2570ca6 hint_set(): Support arg offset 837b598 __cmd(): Add missing args assert e1b9c86 syscfg: Remove cruft $silent_cmd readonly def - Complete log between 20250923 and 106465b: 106465b syscfg: Rework __fed() a183f99 hint_set(): [doc] denote hints in `.desc.ext` 2570ca6 hint_set(): Support arg offset 837b598 __cmd(): Add missing args assert 9bf48c9 hint(): [doc] improve param fmt 39bae75 syscfg: [doc] remove cruft format 5a4631a syscfg: [doc] note supported hints in funcs 5a9303a syscfg: [doc] clarify params for hints e1b9c86 syscfg: Remove cruft $silent_cmd readonly def
-
20250923
06a45fd9 · ·syscfg 20250923 - Filtered log of core changes: 06a45fd syscfg: Rework command exec API a8da6b3 hint(): Abstract with hint_set() 54e46bf syscfg: Add hint_set() d9c5231 validate_write(): [fmt] use concise syntax 9e1573c syscfg: Remove and use is_octal() inline 3939cb8 mkdir_parents(): Fix bad rootfs strip logic be212ca syscfg: Remove str_sfix() fba3c56 syscfg: Remove exist() 7a65d37 syscfg: Remove dir() 2129b31 syscfg: Remove cmd() - Complete log between 20250917 and 06a45fd: 06a45fd syscfg: Rework command exec API 36b6ab6 hint_set(): [doc] clarify params to avoid confusion a8da6b3 hint(): Abstract with hint_set() 54e46bf syscfg: Add hint_set() 50c267e syscfg: [doc] update assertive_functions() requirements d9c5231 validate_write(): [fmt] use concise syntax 9e1573c syscfg: Remove and use is_octal() inline 3939cb8 mkdir_parents(): Fix bad rootfs strip logic be212ca syscfg: Remove str_sfix() fba3c56 syscfg: Remove exist() 7a65d37 syscfg: Remove dir() 2129b31 syscfg: Remove cmd()
-
20250917
0f515ffb · ·syscfg 20250917 - Filtered log of core changes: 0f515ff syscfg: Remove __git_get() 1e52285 write_info_stat(): Fix `-log-fed` print oversight 80b078c write(): Prioritize ID hints d9b489a __action(): Preserve $OBJ on `-no-sanit` ecd6f10 __action(): Use $OBJ_PATH directly 91c2317 hint(): Make $1 (offset) mandatory 60708df syscfg: [fmt] utility_functions() -> client_lib() a77bbdc syscfg: _info() -> __info() ca3da0a syscfg: _err() -> __err() f3dfb10 syscfg: [fmt] remove utility_functions_err skeleton 94eab05 syscfg: Introduce __action() 5a208a3 syscfg: Rework write API 6bc2601 syscfg: Remove rc() 47bebe6 syscfg: `^IE` -> `^I` 1210965 syscfg: Remove info output on err 7eb66b0 syscfg: [fmt] employ consistent continuation indent 3f20cdc syscfg: [fmt] remove dup comments 7ec00a7 syscfg: __OBJ_cmd() -> __cmd_OBJ() 6b1d214 syscfg: Fix handling of dangling symlinks 76a4ad9 syscfg: Fix env reset when broken symlinks e471e9a syscfg: Remove loc_link_ptr() - Complete log between 20250902 and 0f515ff: 0f515ff syscfg: Remove __git_get() 803d894 .gitmodules: shell-glossary -> `20250915` 1e52285 write_info_stat(): Fix `-log-fed` print oversight 80b078c write(): Prioritize ID hints d9b489a __action(): Preserve $OBJ on `-no-sanit` ecd6f10 __action(): Use $OBJ_PATH directly fc0d25c hint(): [doc] clarify args 91c2317 hint(): Make $1 (offset) mandatory 60708df syscfg: [fmt] utility_functions() -> client_lib() 4f8e5ce __info(): [doc] simplify description a77bbdc syscfg: _info() -> __info() 0f4191a __err(): [doc] simplify description ca3da0a syscfg: _err() -> __err() f3dfb10 syscfg: [fmt] remove utility_functions_err skeleton 94eab05 syscfg: Introduce __action() 5a208a3 syscfg: Rework write API 8ced6f6 .gitmodules: shell-glossary -> `20250913` e3dda4d sbm_up.sh: Fix logic when $SRC_LOG empty 71c5e52 sbm_up.sh: Recognize `src: ` as core change tag 64d292a rel.sh: Fix logic when $SRC_LOG empty 6bc2601 syscfg: Remove rc() 47bebe6 syscfg: `^IE` -> `^I` 1210965 syscfg: Remove info output on err 7eb66b0 syscfg: [fmt] employ consistent continuation indent 3f20cdc syscfg: [fmt] remove dup comments 7ec00a7 syscfg: __OBJ_cmd() -> __cmd_OBJ() 41fd7e1 .gitmodules: shell-glossary -> `20250823` ff79e03 rel.sh: Add missing $LOG conditional 9dc9085 Employ basic submodule update infrastructure 6b1d214 syscfg: Fix handling of dangling symlinks 76a4ad9 syscfg: Fix env reset when broken symlinks e471e9a syscfg: Remove loc_link_ptr() 54d9f32 Employ basic release infrastructure
-
20250902
72d4d335 · ·syscfg 20250902 - Filtered log of core changes: 72d4d33 syscfg: Rework variable declarations b56c3a0 syscfg: Remove/deprecate *_preload syscfg funcs e74bb8d main(): Remove cruft options/switches d0d7798 syscfg: Treat relative paths as files using `--` a219ee6 syscfg: Improve and standardize behavior/err 72ad64d syscfg: Source files of submodule `shell-glossary` - Complete log between 2025-08-17 and 72d4d33: 72d4d33 syscfg: Rework variable declarations b56c3a0 syscfg: Remove/deprecate *_preload syscfg funcs b0b70ea NEWS: Fix date of entry e74bb8d main(): Remove cruft options/switches d0d7798 syscfg: Treat relative paths as files using `--` a219ee6 syscfg: Improve and standardize behavior/err 68d79c3 syscfg: [doc] standardize EEXIST description 72ad64d syscfg: Source files of submodule `shell-glossary` 18bdbba .gitmodules: Add `shell-glossary` as submodule
-
2025-08-17
a7f61c2d · · -