Skip to content

chore: merge main into release#23

Merged
catinspace-au merged 5 commits into
releasefrom
chore/merge-to-release
Mar 24, 2026
Merged

chore: merge main into release#23
catinspace-au merged 5 commits into
releasefrom
chore/merge-to-release

Conversation

@catinspace-au
Copy link
Copy Markdown
Collaborator

Automated Release Merge

Merging main into release (4 commits).

Commits

d0946ca chore: version 1.17.0-dev.9 [skip ci]
afe7a1d fix: add SensitiveString type, ConfigReloader registry hook, redaction tests
fa880a6 chore: version 1.17.0-dev.8 [skip ci]
c6a796b fix: add config redaction, /config endpoint, change notification

Derek and others added 5 commits March 24, 2026 13:07
Registry now auto-redacts sensitive fields (password, secret, token,
key, credential, auth, private, cert, encryption) in dump_effective().

New /config admin endpoint on http-server (opt-in via
enable_config_endpoint) returns redacted effective + defaults JSON.

Opt-in change notification: registry.on_change(key, callback) fires
when registry.update() is called for that key. Modules that need
hot-reload subscribe; others keep the OnceLock init-once pattern.
# [1.17.0-dev.8](v1.17.0-dev.7...v1.17.0-dev.8) (2026-03-24)

### Bug Fixes

* add config redaction, /config endpoint, change notification ([c6a796b](c6a796b))
* wire scaling, grpc, secrets configs into registry ([c1bd924](c1bd924))
…n tests

SensitiveString provides compile-time safe secret handling — Serialize
always outputs ***REDACTED***, only .expose() reveals the value.

Three-layer secret protection:
1. #[serde(skip_serializing)] — field absent entirely
2. Heuristic auto-redaction — pattern matching on field names
3. SensitiveString type — value always redacted regardless of name

ConfigReloader.with_registry_update(key) connects hot-reload to the
registry so listeners get notified on config changes.

19 registry tests + 12 sensitive string tests cover all redaction
guarantees including deep nesting, arrays, case insensitivity, and
a full string-scan leak check.
# [1.17.0-dev.9](v1.17.0-dev.8...v1.17.0-dev.9) (2026-03-24)

### Bug Fixes

* add SensitiveString type, ConfigReloader registry hook, redaction tests ([afe7a1d](afe7a1d))
# Conflicts:
#	CHANGELOG.md
#	Cargo.toml
#	VERSION
@catinspace-au catinspace-au merged commit 9938f47 into release Mar 24, 2026
2 checks passed
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 1.19.5 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@catinspace-au catinspace-au deleted the chore/merge-to-release branch March 24, 2026 21:19
catinspace-au added a commit that referenced this pull request May 21, 2026
catinspace-au added a commit that referenced this pull request May 21, 2026
catinspace-au added a commit that referenced this pull request May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants