We're excited to announce the v1.0 release! 🎉

While v1.0 may seem like a major milestone, this release is actually no different from our regular version updates.  
We've reached a point where core functionality is complete, performance is stable, and we have no plans for breaking changes—making this the right time for a major version.

Version 1.0 doesn't mean Repomix is perfect or complete.  
We've received many feature requests and still have significant features planned for future releases.  
None of this would have been possible without our contributors, users, and sponsors.  
Thank you, and we look forward to continuing this journey together!

## New Features 🚀

### Enhanced stdin Support (#648, #650, #653, #680)
A new `--stdin` flag allows you to process file lists directly from the command line.  
This enables more flexible integration with shell pipelines and scripts.

```bash
# Select files with find command
find src -name "*.ts" -type f | repomix --stdin

# Get tracked files with git
git ls-files "*.ts" | repomix --stdin

# Search files with specific content using ripgrep
rg -l "TODO|FIXME" --type ts | repomix --stdin

# Interactive file selection with fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
```

- Read file lists from stdin with the `--stdin` flag
- Apply include/ignore pattern filtering to stdin file lists

For more details, see the documentation: https://repomix.com/guide/usage#file-list-input-stdin

### Remote Repository Processing (`--remote`) Improvements (#658)
GitHub repository processing is now more reliable.

- Introduced archive download priority with git clone fallback mechanism
- Archive downloads work in environments without git commands and make `--remote` processing faster

## Improvements ⚡

### Conditional Summary Display (#682)
- Summary purpose display can now be conditionally controlled based on file selection

Special thanks to @eriknygren for this contribution!

### Performance Optimizations (#645, #654)
- Optimized token counting for top files display by calculating only the necessary files based on file size instead of processing all files

### Security Enhancements (#678)
- Stopped outputting secretlint results to the terminal. This prevents key leakage when coding agents and similar tools use repomix

## Bug Fixes 🐛

### Remote Repository Processing (#673, #684)
- Prevented unnecessary file copying in stdout mode and improved processing efficiency

## Breaking Changes ⚠️

### Node.js Requirements Update (#698)
- Ended support for Node.js 18, now requires Node.js 20 or higher
  - This enables more stable operation and the use and addition of modern features

## Internal Changes 🔧

### Security and Maintenance Improvements (#651)
- Enhanced security by pinning GitHub Actions to commit SHAs
  - Mitigated supply chain attack vectors and improved workflow reliability

Special thanks to @LordMelkor for this contribution!

### Dependency and Build Improvements (#649)
- Added `git-up` and `@secretlint/types` to fix pnpm build errors

Special thanks to @sztu-wtr for this contribution!

### Performance Optimizations (#677)
- Reduced overhead by using `node --run` instead of `npm run`

Special thanks to @yoshi-taka for this contribution!

## How to Update

```bash
npm update -g repomix
```

Or use the latest version directly:

```bash
npx repomix@latest
```

---

If you have any questions or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).