Bug Fixes
-
prevent newline amplification
A fuzzer found input sized 780kb, but the output becomes
180MB in size, ultimately taking 48s to parse on M1 Pro.Note that the parsing itself is fast, but we seem to modify
the input in such a way that parsing takes way longer than it
should. That might be another issue which it will probably find
next, let's wait for it. -
File::from_globals()
now also provides options of the Git installation.
That way, it's usable for learning everything about credentials for example.
New Features (BREAKING)
-
gix-config
convenience initiative
A newgix_config::AsKey
trait allows allgix_config::File
methods
to receive an implementation ofAsKey
instead of the tuple of
(section, subsection, value_name)
. This is the default, and all
methods that take a tuple have been renamed to<name>_by()
, note the_by
suffix.The terminology was reworked so that
key
is now only used to identify a value.This change also affects the public API of
gix
, which provides
ways to set values on configuration snapshots which now by default
will only take aAsKey
implementation.Note that
gix::config::tree::*
keys now also implementAsKey
,
which allows them to be used more conveniently when setting values,
too.
Commit Statistics
- 25 commits contributed to the release over the course of 57 calendar days.
- 62 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
- Uncategorized
- Release gix-glob v0.16.4, gix-attributes v0.22.3, gix-command v0.3.8, gix-filter v0.11.3, gix-fs v0.11.2, gix-commitgraph v0.24.3, gix-revwalk v0.13.2, gix-traverse v0.39.2, gix-worktree-stream v0.13.1, gix-archive v0.13.2, gix-config-value v0.14.7, gix-tempfile v14.0.1, gix-ref v0.45.0, gix-sec v0.10.7, gix-config v0.38.0, gix-prompt v0.8.6, gix-url v0.27.4, gix-credentials v0.24.3, gix-ignore v0.11.3, gix-index v0.33.1, gix-worktree v0.34.1, gix-diff v0.44.1, gix-discover v0.33.0, gix-pathspec v0.7.6, gix-dir v0.6.0, gix-mailmap v0.23.5, gix-negotiate v0.13.2, gix-pack v0.51.1, gix-odb v0.61.1, gix-transport v0.42.2, gix-protocol v0.45.2, gix-revision v0.27.2, gix-refspec v0.23.1, gix-status v0.11.0, gix-submodule v0.12.0, gix-worktree-state v0.11.1, gix v0.64.0, gix-fsck v0.4.1, gitoxide-core v0.39.0, gitoxide v0.37.0 (a1b73a6)
- Update manifests (by cargo-smart-release) (0470df3)
- Prepare changelog prior to release (99c00cc)
- Release gix-path v0.10.9 (15f1cf7)
- Be more generous with
mem::usage()
expected peak (7dd58b8) - Merge branch 'config-fuzz' (ed66357)
- Prevent newline amplification (0dc2a0c)
- Reproduce a fuzz issue causing the config parsing to take too long (6c0364a)
- Merge branch 'config-globals' (929744a)
File::from_globals()
now also provides options of the Git installation. (a9a3545)- Release gix-path v0.10.8 (8d89b86)
- Merge branch 'tar-only' (1dfa90d)
- Remove binary files in favor of
tar
files (dcab79a) - Merge branch 'config-key' (5663a2c)
gix-config
convenience initiative (0ec2389)- Addditional fixes on top of the merge commit (dbe1f22)
- Merge branch 'main' into config-key-take-2 (9fa1054)
- Merge branch 'status' (2f9f0ac)
- Thanks clippy (acc1331)
- Merge pull request #1361 from EliahKagan/freebsd (9c65d98)
- Regenerate archives for changed scripts (ea12fc2)
- Make bash script shebangs more portable (68cbea8)
- Release gix-fs v0.11.1, gix-glob v0.16.3 (2cefe77)
- Merge pull request #1385 from Byron/fix-gix-ref (8da55a3)
- Release gix-ref v0.44.1 (2d0a352)