sed 0.1.1

sed ~ implemented as universal (cross-platform) utils, written in Rust
Documentation
### **uutils sed 0.1.1 Release:**

We are excited to announce the first release of **uutils sed 0.1.1** - bringing a **comprehensive sed implementation** to the uutils ecosystem with **robust GNU compatibility** and **high performance**!

---

### Highlights:

- **Aims at a complete sed Implementation**
  - Full command compilation framework with function pointers for optimal performance
  - Comprehensive address compilation supporting all standard sed addressing modes
  - All major sed commands implemented: `a`, `c`, `i`, `d`, `p`, `s`, `y`, `n`, `N`, `l`, `q`, `Q`, and more
  - Advanced features including in-place editing (`-i`), multiple files support, and optimized processing

- **Performance focus**
  - Optimized text processing with memory-mapped file I/O for large files
  - Efficient operations with copy_file_range(2) on Linux
  - Smart buffer management and text optimization for `a`, `c`, `i` commands

- **GNU sed Compatibility**
  - Comprehensive error reporting with accurate line numbers and context
  - Improved GNU compatibility for append, change, and insert commands
  - Proper handling of script and file arguments matching GNU sed semantics
  - Support for silent comment commands and advanced regex handling

- **Modern Rust Implementation**
  - Built on Rust 2024 edition with robust safety guarantees
  - Integration with uutils ecosystem using uucore, uutests, and uufuzz built for the Rust Coreutils
  - Comprehensive test suite ensuring reliability and correctness

- **Cross-Platform Support**
  - Available for Apple Silicon macOS, Intel macOS, Windows (x64), and Linux (x64, ARM64, MUSL). Port to other OS/arch are welcome.
  - Automated release pipeline with cargo-dist for consistent builds

- **Developer Experience**
  - Integrated fuzzing support for enhanced reliability
  - Performance benchmarking infrastructure with CodSpeed integration
  - Comprehensive CI/CD pipeline ensuring code quality

---

### Key Contributions:

This release represents a significant achievement in bringing a high-quality, performant sed implementation to the Rust ecosystem. **Diomidis Spinellis** has been the primary architect behind this implementation, contributing the core sed engine, command compilation framework, address parsing, and most of the advanced functionality that makes this a GNU-compatible sed alternative.

This work has been documented by Diomidis Spinellis in this paper:
https://ieeexplore.ieee.org/document/11119110

---

### Platform Availability:

| Platform | Architecture | Package |
|----------|-------------|---------|
| macOS | Apple Silicon | [sed-aarch64-apple-darwin.tar.xz]https://github.com/uutils/sed/releases/download/0.1.1/sed-aarch64-apple-darwin.tar.xz |
| macOS | Intel | [sed-x86_64-apple-darwin.tar.xz]https://github.com/uutils/sed/releases/download/0.1.1/sed-x86_64-apple-darwin.tar.xz |
| Windows | x64 | [sed-x86_64-pc-windows-msvc.zip]https://github.com/uutils/sed/releases/download/0.1.1/sed-x86_64-pc-windows-msvc.zip |
| Linux | ARM64 | [sed-aarch64-unknown-linux-gnu.tar.xz]https://github.com/uutils/sed/releases/download/0.1.1/sed-aarch64-unknown-linux-gnu.tar.xz |
| Linux | x64 | [sed-x86_64-unknown-linux-gnu.tar.xz]https://github.com/uutils/sed/releases/download/0.1.1/sed-x86_64-unknown-linux-gnu.tar.xz |
| Linux | x64 MUSL | [sed-x86_64-unknown-linux-musl.tar.xz]https://github.com/uutils/sed/releases/download/0.1.1/sed-x86_64-unknown-linux-musl.tar.xz |

---

### Call to Action:

🚀 **Sponsor uutils development** to accelerate the ecosystem: [github.com/sponsors/uutils](https://github.com/sponsors/uutils)
🔧 **Try sed 0.1.1** and report feedback: [github.com/uutils/sed/issues](https://github.com/uutils/sed/issues)
🌍 **Contribute to the project** and help build the future of cross-platform utilities

## Major Implementation Milestones

### Core Architecture
* Complete CLI processing and compilation framework by @dspinellis in https://github.com/uutils/sed/pull/40
* Address compilation implementation by @dspinellis in https://github.com/uutils/sed/pull/57
* Command compilation refactoring with function pointers by @dspinellis in https://github.com/uutils/sed/pull/108
* Complete implementation of all commands and optimizations by @dspinellis in https://github.com/uutils/sed/pull/77

### Command Implementation
* Comprehensive sed commands implementation by @dspinellis in https://github.com/uutils/sed/pull/64
* GNU compatibility improvements for a, c, i commands by @dspinellis in https://github.com/uutils/sed/pull/109
* Silent comment command implementation by @dspinellis in https://github.com/uutils/sed/pull/120
* Text optimization for a, c, i commands by @dspinellis in https://github.com/uutils/sed/pull/111

### Performance & Optimization
* Performance improvements with copy_file_range(2) by @dspinellis in https://github.com/uutils/sed/pull/161
* Error reporting improvements by @dspinellis in https://github.com/uutils/sed/pull/92
* Regular expression handling improvements by @dspinellis in https://github.com/uutils/sed/pull/201

### Project Infrastructure
* CI improvements and job optimization by @cakebaker in https://github.com/uutils/sed/pull/14
* Testing framework migration to uutests by @sylvestre in https://github.com/uutils/sed/pull/48
* Fuzzing infrastructure integration by @sylvestre in https://github.com/uutils/sed/pull/72
* Performance monitoring with CodSpeed by @sylvestre in https://github.com/uutils/sed/pull/212
* Release automation with cargo-dist by @sylvestre in https://github.com/uutils/sed/pull/214

### Modern Rust Migration
* Rust 2024 edition migration by @cakebaker in https://github.com/uutils/sed/pull/50
* LazyLock migration and once_cell removal by @cakebaker in https://github.com/uutils/sed/pull/51
* IsTerminal migration and atty removal by @cakebaker in https://github.com/uutils/sed/pull/73
* Build system cleanup and optimization by @cakebaker in https://github.com/uutils/sed/pull/75

### Version & Release Management
* Version support implementation by @pocopepe in https://github.com/uutils/sed/pull/206
* Direct binary generation by @sylvestre in https://github.com/uutils/sed/pull/208
* Release pipeline improvements by @sylvestre in https://github.com/uutils/sed/pull/220

## New Contributors
* @dspinellis - **Primary sed implementation architect**
* @sylvestre - **Project leadership and infrastructure**
* @cakebaker - CI improvements and modern Rust migration
* @renovate[bot] - Automated dependency management
* @oech3 - Build optimizations
* @pocopepe - Version support

**Full Changelog**: https://github.com/uutils/sed/commits/0.1.1