Sd Versions Save

Intuitive find & replace CLI (sed alternative)

v1.0.0

6 months ago

A huge thanks to everyone who helped make this release happen! :tada:

A quick note to any packagers. 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

  • #118 Fix master (@SimplyDanny)
    • Fixes several cross-compilation issues that effected different targets in CI
  • #182 cargo update (@CosmicHorrorDev)
    • Bumps dependencies to their latest compatible versions
  • #183 Switch memmap -> memmap2 (@CosmicHorrorDev)
    • Switches away from an unmaintained crate
  • #184 Add editor config file matching rustfmt config (@CosmicHorrorDev)
    • Adds an .editorconfig file matching the settings listed in the .rustfmt.toml file
  • #185 Fix warnings and clippy lints (@CosmicHorrorDev)
  • #188 Switch atty for is-terminal (@CosmicHorrorDev)
    • Switches away from an unmaintained crate
  • #189 Replace structopt with clap v4 (@CosmicHorrorDev)
    • Switches away from a defacto deprecated crate
  • #190 Change how all shell variants are expressed (@CosmicHorrorDev)
    • Tiny tidying up PR
  • #196 Move generating static assets to a cargo-xtask task (@CosmicHorrorDev)
    • Moves the generation of the man page and shell completions from a build script to a cargo-xtask task
  • #197 Add a release checklist (@CosmicHorrorDev)
  • #209 Dependency updates (@yahkbar)
  • #235 Update generated assets (@CosmicHorrorDev)
  • #236 Tone down dependabot (@CosmicHorrorDev)
  • #245 Update sd to 2021 edition (@CosmicHorrorDev)
    • Updates sd to the Rust 2021 edition
  • #248 Misc Cargo.toml tweaks (@CosmicHorrorDev)
    • Switches to use workspace edition and dependencies where appropriate
  • #249 Resolve CI warnings (@CosmicHorrorDev)
    • Switched from actions-rs actions to dtolnay@rust-toolchain
    • Switched from using ::set-output to $GITHUB_ENV
  • #251 Update dependencies (@CosmicHorrorDev)
  • A lot of sad CI tweaking:
    • #252 Fix build target usage in CI (@CosmicHorrorDev)
    • #253 Improve publishing CI job (@CosmicHorrorDev)
    • #256 More CI tweaks (@CosmicHorrorDev)
    • #257 Fix publish action (@CosmicHorrorDev)
  • #267 Rework the replacements flag (@CosmicHorrorDev)
  • #269 Make modified text blue instead of green (@CosmicHorrorDev)
  • #271 Fix release checklist indentation (@CosmicHorrorDev)
  • #272 Remove outdated release checklist step (@CosmicHorrorDev)
  • #274 Prepare 1.0.0-beta.0 release (@CosmicHorrorDev)
  • #275 Update sd version in lockfile (@CosmicHorrorDev)

1.0.0-beta.0

6 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 :tada:

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

  • #118 Fix master (@SimplyDanny)
    • Fixes several cross-compilation issues that effected different targets in CI
  • #182 cargo update (@CosmicHorrorDev)
    • Bumps dependencies to their latest compatible versions
  • #183 Switch memmap -> memmap2 (@CosmicHorrorDev)
    • Switches away from an unmaintained crate
  • #184 Add editor config file matching rustfmt config (@CosmicHorrorDev)
    • Adds an .editorconfig file matching the settings listed in the .rustfmt.toml file
  • #185 Fix warnings and clippy lints (@CosmicHorrorDev)
  • #188 Switch atty for is-terminal (@CosmicHorrorDev)
    • Switches away from an unmaintained crate
  • #189 Replace structopt with clap v4 (@CosmicHorrorDev)
    • Switches away from a defacto deprecated crate
  • #190 Change how all shell variants are expressed (@CosmicHorrorDev)
    • Tiny tidying up PR
  • #196 Move generating static assets to a cargo-xtask task (@CosmicHorrorDev)
    • Moves the generation of the man page and shell completions from a build script to a cargo-xtask task
  • #197 Add a release checklist (@CosmicHorrorDev)
  • #209 Dependency updates (@yahkbar)
  • #235 Update generated assets (@CosmicHorrorDev)
  • #236 Tone down dependabot (@CosmicHorrorDev)
  • #245 Update sd to 2021 edition (@CosmicHorrorDev)
    • Updates sd to the Rust 2021 edition
  • #248 Misc Cargo.toml tweaks (@CosmicHorrorDev)
    • Switches to use workspace edition and dependencies where appropriate
  • #249 Resolve CI warnings (@CosmicHorrorDev)
    • Switched from actions-rs actions to dtolnay@rust-toolchain
    • Switched from using ::set-output to $GITHUB_ENV
  • #251 Update dependencies (@CosmicHorrorDev)
  • A lot of sad CI tweaking:
    • #252 Fix build target usage in CI (@CosmicHorrorDev)
    • #253 Improve publishing CI job (@CosmicHorrorDev)
    • #256 More CI tweaks (@CosmicHorrorDev)
    • #257 Fix publish action (@CosmicHorrorDev)
  • #267 Rework the replacements flag (@CosmicHorrorDev)
  • #269 Make modified text blue instead of green (@CosmicHorrorDev)
  • #272 Fix release checklist indentation (@CosmicHorrorDev)
  • #272 Remove outdated release checklist step (@CosmicHorrorDev)

1.0.0-alpha.0

6 months ago

An alpha release for the upcoming v1.0 release. A beta release should follow in the coming days

1.0.0-pre-alpha.5

6 months ago

This is just a pre-alpha, so don't get too excited (yet). We're just making sure that all the assets get built and uploaded correctly for the pending official release

v0.7.6

3 years ago

v0.7.5

4 years ago

Changes:

  • 60684510eb625b3ac228a9422e6d3b5781ddeb87 (cargo-release) version 0.7.5
  • 1014135f0ed7d209c555d402a0d0c73b73367b8d Add empty-file check for memmep use in stdout [ #76 ]

This list of changes was auto generated.

v0.7.4

4 years ago

Changes:

  • c1f6242c7925893e036b9da4dd4529bb32162a92 (cargo-release) version 0.7.4
  • 88e2d3ed6dd909a9383cbaaf293e7b75c63adef8 replace: isolate memmap from file errs
  • 39c29b20cb6c6aae602622ba7eaa4fb23fb08b35 Ensure memmap source is not empty [ #74 ]
  • 4a5700595944c434511148c2c520ce46565da5fe Update cargo.toml + lock

This list of changes was auto generated.

v0.7.3

4 years ago

Changes:

  • c8022e292f3ab2686843312f9c0a76987c3f1130 Fix #68: Do not write empty content to file (#71)

This list of changes was auto generated.

v0.7.2

4 years ago

Changes:

  • Enable multi-line matching by default
  • 87491b4dc9640c572e70bbc8409fb49576538810 Let ^$ match lines by default [ #60 ]
  • 1a622ce1fd40ef565c84ff815ba251ba66e1628f Add s flag to make . match newline instructions and e flag to disable multi-line matching

0.6.5

4 years ago

Changes:

  • 5ece9994db18f61d1ea6ac373b675f92175260c0 (cargo-release) version 0.6.5
  • 3e0a8e1747203a2df29542d4d3659f6ba20f6f88 Fix stdin replacement with no matches + memmap size [ #41, #42 ]

This list of changes was auto generated.