Migrate to v0.3
This page covers the breaking changes in v0.4.3.
1) CLI behavior in command mode is stricter
In v0.4.3, --strict applies to all output paths, including command mode.
- Duplicate exported keys now fail in strict mode before child command execution.
- Invalid exported env keys also fail before child command execution.
Migration action:
- Ensure each injection pipeline produces one final value per key.
- Rename non-shell env keys to valid names (
[A-Za-z_][A-Za-z0-9_]*).
2) Rust module imports moved to explicit core/commands boundaries
The crate now uses explicit boundaries:
- runtime internals:
envlock::core::* - subcommands:
envlock::commands::*
If you imported old flat paths, migrate imports directly.
Examples:
rust
use envlock::core::app::App;
use envlock::core::config::RuntimeConfig;
use envlock::commands::preview::run as run_preview;3) Validate migration
bash
envlock --version
envlock preview --profile ./profiles/dev.json
envlock --profile ./profiles/dev.json --output json
envlock --strict --profile ./profiles/dev.json -- bash -lc 'env | grep ENVLOCK || true'If these commands behave as expected, migration is complete.