github chmln/sd 1.0.0-beta.0
1.0.0-beta.0 - 2023-11-05

latest release: v1.0.0
pre-release10 months ago

The official v1.0 release is out. Check that out instead!

Original release notes

This is the official beta release for v1.0. Expect the 1.0 release in the coming days. Enjoy 🎉

A quick note to any packages. The generated shell completions and man page are
now in the gen directory of the repo. They're also included in the pre-built
release artifacts on the releases page.

Improvements

  • #115 Do not replace symlink with output file (@SimplyDanny)
    • Fixes an issue where a symlink would be replaced with a regular file
  • #124 Fix tests (@Linus789)
    • Removed displaying the file path when passing the --preview flag and fixed
      how text coloring was handled in tests

Breaking

  • #192 Rename --string-mode to --fixed-strings (@CosmicHorrorDev)
    • Renamed -s --string-mode to -f --fixed-strings to better match
      similar tools
    • -s and --string-mode will still continue to work for backwards
      compatibility, but are no longer documented
  • #258 Error on $<num><non_num> capture replacement names (@CosmicHorrorDev)
    • Previously when you tried to use a numbered capture group right before some
      letters in the replacement text (e.g. $1foo) then it would be considered
      the impossible-to-use 1foo capture. The correct way to pass the numbered
      capture group in this case would be to surround the number with curly braces
      like so ${1}foo. The error just detects this case and informs the user of
      the issue

Docs

  • #93 Add note about in-place file modification to --help output (@jchook)
  • #148 Doc: nitpick -- has no special meaning to shells (@hexagonrecursion)
  • #181 Fix man page -f flag help text (@ulope)
    • Fixed copy-pasted text in the man page's -f flag's help text
  • #186 Improve error message for failed replacements (@CosmicHorrorDev)
  • #187 Freshen up README (@CosmicHorrorDev)
    • Added a repology badge to document different installation methods
    • Improved the formatting of the benchmarks
  • #207 Documenting $ escape (@yahkbar)
    • Adds a section in the README that covers that $$ is a literal $ in the
      replacement text
  • #227 Improve README readability (@vassudanagunta)
    • Various formatting improvements
  • #231 Use clap_mangen and roff to generate manpage (@nc7s)
    • This change ensures the man page contents stay in sync with the CLI
      automatically, and fixes some broken rendering of the existing manpage
  • #243 Exclude unsupported packages from the repology badge (@CosmicHorrorDev)

Pre-built Releases

  • (11295fb) Add ARM target (@chmln)
    • Added the arm-unknown-linux-gnueabihf target to CI and releases
  • #114 Adding aarch64-apple-darwin target (@yahkbar)
  • #143 Fix paths to release binary in "publish" action (@skrattaren)
  • #179 Build Adjustments (@yahkbar)
    • striped release binaries and added the aarch64-ubuntu-linux-musl target
  • #204 Adding armv7-unknown-linux-gnueabihf target (@yahkbar)
    • Added the armv7-unknown-linux-gnueabihf target to the list of targets to
      build in CI and for each release
  • #205 Resolving broken aarch64-apple-darwin tests (@yahkbar)
    • Switched aarch64-apple-darwin to only try building the executable without
      running the tests since there seems to be no easy way to test for ARM Apple
      targets
  • #206 Adding Windows builds back (@yahkbar)
    • Added the x86_64-pc-windows-gnu and x86_64-windows-musl targets back to
      the list of targets to build in CI and for each release

Internal

Don't miss a new sd release

NewReleases is sending notifications on new releases.