Skip to content

numd 0.3.0

Choose a tag to compare

@maxim-uvarov maxim-uvarov released this 01 Jan 03:28
· 79 commits to main since this release

Breaking Changes

  • Simplified configuration API: Replaced --config-path (YAML) with --eval flag that accepts inline Nushell code or sourced .nu files
    # Before: numd run file.md --config-path config.yaml
    # After:
    numd run file.md --eval '$env.numd.table-width = 80'
    numd run file.md --eval (open -r numd_config.nu)
  • Removed flags: --result-md-path, --save-ansi, --no-backup, --no-save (simplified API)
  • Renamed test commands: testing → test, testing-unit → test-unit, testing-integration → test-integration

New Features

  • Reproducible output by default: Runs intermediate scripts with nu -n (no config files) for consistent output across systems. Use --use-host-config to load host environment when needed
  • Git safety check: Errors on uncommitted changes before overwriting. Use --ignore-git-check to bypass
  • CI support: Added --fail flag to toolkit.nu test for non-zero exit on test failures
  • Test update mode: Added --update flag to automatically stage changed integration test files
  • Plumbing commands: New low-level composable commands in numd/plumbing.nu:
    • parse-file, strip-outputs, execute-blocks, to-markdown, to-numd-script
  • Command examples: Added @example attributes to commands for better discoverability

Bug Fixes

  • Fixed clear-outputs without --echo creating empty files
  • Fixed $env.numd fields being overwritten instead of merged in config loading

Improvements

  • Standardized terminology to "fence options" throughout codebase
  • Reorganized module structure: moved capture and parse-help to separate files
  • --echo now outputs only markdown without stats for cleaner piping
  • Added pipe-to helper for cleaner pipeline generation
  • Added unit tests for plumbing commands using nutest framework

CI/Infrastructure

  • Added Windows testing to GitHub Actions
  • Improved workflow with git diff reporting after integration tests