Releases: inherent-design/empack
Releases · inherent-design/empack
v0.4.0-alpha.8
v0.4.0-alpha.8 - 2026-04-14
Bug Fixes
- Diagnose repeated restricted downloads
- Align restricted rerun diagnostics
- Trim duplicate rerun diagnostics
Maintenance
- Update changelog for 0.4.0-alpha.7
Other
- Satisfy clippy on rerun diagnostics
v0.4.0-alpha.7
v0.4.0-alpha.7 - 2026-04-12
Bug Fixes
- Harden restricted download continuation
Documentation
- Point PR CI badge at dev
Maintenance
- Update changelog for 0.4.0-alpha.6
v0.4.0-alpha.6
v0.4.0-alpha.6 - 2026-04-12
Bug Fixes
- Restore curated smoke fallback
CI/CD
- Add curated import smoke to PR checks
Maintenance
- Update changelog for 0.4.0-alpha.5
v0.4.0-alpha.5
v0.4.0-alpha.5 - 2026-04-12
Features
- Stabilize cli contracts and tracked local deps
Bug Fixes
- Preserve reported restricted download paths
- Tighten exit and restricted parser heuristics
- Align zip type exit handling and build validation
- Suppress duplicate process error output
- Classify local dependency validation as usage
- Harden restricted parsing and local removal
- Bound subprocess marker cleanup
- Guard local key collisions and empty urls
- Guard clean and restricted build edges
- Harden local dependency validation
- Detect recent restricted downloads by metadata
- Harden import and local path handling
Testing
- Backfill reviewer lint and coverage pass
- Stabilize interactive browser opener e2e
- Align init e2e with display error output
- Expand import and path guard coverage
Documentation
- Consolidate specs and drop stale audit
- Update README CI badge
CI/CD
- Split branch, pr, and post-merge workflows
- Pass release token via input
Maintenance
- (deps) Update softprops/action-gh-release action to v3
- Update changelog for 0.4.0-alpha.4
Other
- Merge remote-tracking branch 'origin/main' into dev
Conflicts:
crates/empack-lib/src/application/commands.rs
crates/empack-lib/src/application/commands.test.rs
crates/empack-lib/src/application/session_mocks.rs
v0.4.0-alpha.4
v0.4.0-alpha.4 - 2026-04-12
Features
- Stabilize cli contracts and tracked local deps
Bug Fixes
- Preserve reported restricted download paths
- Tighten exit and restricted parser heuristics
- Align zip type exit handling and build validation
- Suppress duplicate process error output
- Classify local dependency validation as usage
- Harden restricted parsing and local removal
- Bound subprocess marker cleanup
- Guard local key collisions and empty urls
- Guard clean and restricted build edges
- Harden local dependency validation
Testing
- Backfill reviewer lint and coverage pass
- Stabilize interactive browser opener e2e
- Align init e2e with display error output
Documentation
- Consolidate specs and drop stale audit
CI/CD
- Split branch, pr, and post-merge workflows
Maintenance
- Update changelog for 0.4.0-alpha.3
- (deps) Update rust crate sha2 to 0.11
v0.4.0-alpha.3
v0.4.0-alpha.3 - 2026-04-10
Bug Fixes
- Make clean non-destructive
- Recover interrupted clean state
Maintenance
- Update changelog for 0.4.0-alpha.2
v0.4.0-alpha.2
v0.4.0-alpha.2 - 2026-04-10
Features
- Land smoke continuation and coverage hardening
Bug Fixes
- Harden windows e2e and cleanup
- Repair session command resolution build
- Tighten continue build cli contract
- Dedupe post-continue restricted counts
- Copy binary build template assets
Testing
- Relax windows path casing assertion
- Stabilize direct download wrapper failures
Documentation
- Regenerate specs and align runtime docs
Maintenance
- Update changelog for 0.4.0-alpha.1
v0.4.0-alpha.1
v0.4.0-alpha.1 - 2026-04-09
Features
- Add telemetry instrumentation with tracing-chrome and OTLP
- Add wide structured events at command completion
- Managed packwiz-tx binary auto-download
- Wire --no-refresh into import and sync pipelines
- Add adaptive resolve pacing and live output
Bug Fixes
- Per-layer filtering and Chrome flush in telemetry
- Dep-key regression, semaphore check, filter dedup
- Stderr TTY detection and telemetry clippy in CI
- CF key guard on cobblemon E2E, codecov PR comments, stem mismatch warn
- Graceful skip for telemetry trace test without feature
- Relax live import pw.toml count assertions
- Stop swallowing import failures; add retry with backoff
- Increase retry backoff for Modrinth 429 rate limits
- Address P2 review findings in import pipeline
- Lowercase pw.toml stems in diagnostic check to match derive_dep_key
- Include custom datapack folder in pw.toml stem scan
- Wire managed packwiz-tx binary path to all execution callsites
- Replace reqwest::blocking with curl for packwiz-tx download
- Use managed resolver for has_packwiz; add PATH lookup tier
- Only use --offline when pre-resolved metadata is complete
- Use PACKWIZ_TX_VERSION constant in requirements E2E assertion
- Verify packwiz-tx binary works instead of comparing path strings
- Log packwiz-tx resolution errors; silence curl progress
- Check packwiz refresh exit code after batch operations
- Satisfy clippy in streaming process loop
- Tighten live issue filtering and CF pacing
- Harden rate budget rollover accounting
- Stage managed packwiz binary for linux
- Preserve future budget reservations
- Stabilize cross-platform test and packwiz flows
- Restore shared dotenv loading
- Break smoke pty loop on eof
- Gate legacy loader boundaries
- Harden runtime edge paths
- Tighten release hardening cleanup
Testing
- (e2e) Add live modpack import and interactive tests
- (e2e) Add telemetry chrome trace verification
- (e2e) Verify packwiz-tx managed binary in requirements output
- Expand rate budget coverage
- Expand runtime coverage across slices
- Expand runtime coverage
- Harden platform-specific CI coverage
- Harden CI platform env coverage
- Stabilize interactive ci flow
- Split interactive pty and input coverage
- Tighten env and import e2e guards
- Tighten final review coverage fixes
- Scope cli env cleanup in loader tests
- Guard cache env overrides
- Raise headroom for live import builds
- Tighten final greptile cleanup
Performance
- Concurrent mod resolution in import pipeline
- Batch filesystem scans in import content loop
- Use --offline flag to skip packwiz API calls in batch imports
Refactoring
- Simplify terminal detection; delegate to console crate
- Migrate from packwiz to packwiz-tx
- Rename modpack-survey.py to import-smoke-test.py
CI/CD
- Add telemetry feature check to lint job
- Deduplicate PR+push runs and bump test timeout
- Fix codecov comments, prettier coverage summary
- Make patch coverage informational, not blocking
- Enable telemetry feature in coverage pipeline
- Unify push and pr concurrency keys
- Restore original concurrency key
Maintenance
- Update changelog for 0.3.0-alpha.3
- Remove packwiz-tx from mise; will be managed binary
- Use mise depends for binary build before test/e2e tasks
- Gitignore python cache
Other
- Revert "ci: make patch coverage informational, not blocking"
This reverts commit cbf232a
- Format fake packwiz helper
v0.3.0-alpha.3
v0.3.0-alpha.3 - 2026-04-06
Features
- (test) Scaffold live E2E harness with assert_cmd and expectrl
- (test) Add TestProject, skip macros, and empack_cmd builder
- (test) Enable E2E coverage via instrumented binary resolution
- Add modpack survey script for import compatibility testing
- (config) Add datapack_folder and acceptable_game_versions to empack.yml
- (init) Add --datapack-folder and --game-versions CLI flags
- (import) Auto-detect datapack folder and route CF datapacks
- (build) Parse packwiz-installer output for CF restricted mods
- (build) Add --downloads-dir flag and interactive browser open for restricted mods
- (build) Scan downloads dir for restricted mod files and auto-place
- Implement CurseForge URL modpack download; add sync progress bar
Bug Fixes
- Return Err on error conditions instead of Ok(())
- (test) Reduce MockNetworkProvider HTTP timeout from 30s to 1ms
- Windows binary discovery, CI build step, clippy, version string
- (ci) Build binary before all tests, add sudo for macOS packwiz
- (ci) Remove cargo tools from mise, use taiki-e for nextest/llvm-cov
- (ci) Add Go for packwiz build, build binary before all tests
- (test) Gate HermeticSessionBuilder test on unix
- Exclude E2E from test task to avoid double-run; add exit code assertion
- Gate live API test, remove redundant build/env steps
- (ci) Build instrumented empack binary before coverage tests
- (ci) Use show-env to build instrumented binary for coverage
- (ci) Use eval instead of bash process substitution for sh compat
- (ci) Plain cargo build before llvm-cov nextest
- Use ProcessOutput::error_output() for packwiz error reporting
- (import) Resolve mrpack platform refs via SHA1 and CurseForge batch lookup
- Remove unused variables in modpack survey script
- Validate both ForgeCD URL segments as numeric; read CF key from env
- (import) Detect CF datapacks (classId 6945) in detect_datapack_folder
- Gate datapack folder prompt on --yes; short-circuit write_pack_toml_options when both params are None
- (import) Detect datapack folder before writing empack.yml
- Point badges at main branch
- (ci) Commit changelog to main instead of dev on release
- CF restricted mod detection now queries API instead of .pw.toml
- Use filesystem abstraction for copy, check retry results, scan-ahead parser
- Restricted parser, --type datapack, --dry-run init, net_timeout, progress bars
- (build) Pass restricted mod results through pipeline instead of dropping
- Deduplicate restricted mods across targets; guard empty URL; remove duplicate doc comment
- Address PR review findings
- (ci) Instrument empack binary for E2E coverage
- (ci) Add --no-clean to coverage nextest invocation
- (ci) Use hardcoded CF key for E2E tests
Testing
- (e2e) Add init and build subprocess tests
- (e2e) Add subprocess tests for add command and interactive init
- (e2e) Add codegen matrix tests via macros
- Delete test files replaced by E2E subprocess tests
- Strengthen weak assertions; update testing docs
- Add datapack folder detection and CLI flag tests
- (e2e) Add import+build lifecycle tests; writing guidelines pass
- Add unit tests for parse_installer_restricted_output and format_empack_yml
- Dead test cleanup and codegen matrix expansion
- Consolidate build tests and add E2E coverage
- Add 110 unit tests for coverage gaps
Documentation
- Update specs and bootstrap for live E2E harness
- Update CONTRIBUTING.md for mise-based workflow
- Remove stale v1/v2 reference from project structure
Refactoring
- Inline mise tasks, add packwiz/nextest to tools, use mise-action in CI
- (test) Remove HermeticSessionBuilder and dead infrastructure
- Deduplicate format_empack_yml; guard empty CF project_id in resolve
- Remove broken CF restricted mod pre-flight scan
- Collapse command handler params into Args structs
- Delete dead code modules
CI/CD
- Unify CI workflows; add cross-platform E2E and coverage
- (release) Generate and commit full changelog on release
- Add Codecov integration and fix coverage summary formatting
Maintenance
- Set workspace version to 0.0.0-dev; inject from tag at release time
- Gitignore lcov.info coverage artifact
v0.3.0-alpha.2
v0.3.0-alpha.2 - 2026-04-05
Features
- (build) Parse packwiz-installer output for CF restricted mods
- (build) Add --downloads-dir flag and interactive browser open for restricted mods
- (build) Scan downloads dir for restricted mod files and auto-place
Bug Fixes
- CF restricted mod detection now queries API instead of .pw.toml
- Use filesystem abstraction for copy, check retry results, scan-ahead parser
Testing
- (e2e) Add import+build lifecycle tests; writing guidelines pass
Refactoring
- Remove broken CF restricted mod pre-flight scan