v1.16.0

ggml-org/llama.cppv1.16.0Jun 29, 2026by yamadashy

AI Summary

This release introduces granular control over file inclusion levels via `output.patterns`, a new cwd-relative output path style, and a `--skill-project-name` option. It also includes robustness improvements for compression and fixes for file matching.

Key Highlights

  • Per-file inclusion levels (`output.patterns`) allowing Full content, Compressed, or Directory-structure-only modes per glob pattern
  • New `cwd-relative` output path style for clearer paths in multi-root runs
  • New `--skill-project-name` option for skill generation
  • Improved compression robustness to handle unparseable files without aborting

New Features

  • Per-file inclusion levels
  • cwd-relative path style
  • --skill-project-name option
  • Compression robustness improvements

Full Release Notes

This release adds **per-file inclusion levels** via `output.patterns` for fine-grained control over how each file is packed, a new **cwd-relative output path style**, and a **`--skill-project-name`** option, along with compression-robustness and file-matching fixes.

## What's New 🚀

### Per-file Inclusion Levels (`output.patterns`) (#1653, #608)

You can now control the detail level **per glob** from your configuration file. `output.patterns` is an ordered array of `{ pattern, compress?, directoryStructureOnly? }` entries; the first matching glob wins and overrides the global `output.compress` for that file. Each file resolves to one of three levels:

- **Full content** (default)
- **Compressed** (`compress: true`) — passed through the same Tree-sitter pipeline as `output.compress`
- **Directory-structure-only** (`directoryStructureOnly: true`) — listed in the directory structure, but its content is omitted

For example, compress `docs/**` while reducing `website/**` to structure only:

```json5
{
  "output": {
    "compress": false,
    "patterns": [
      { "pattern": "docs/**/*", "compress": true },
      { "pattern": "website/**/*", "directoryStructureOnly": true }
    ]
  }
}
```

This option is config-file only. See [Per-file Inclusion Levels](https://repomix.com/guide/configuration#per-file-inclusion-levels).

Special thanks to @PAMulligan for designing and implementing this feature! 🎉

### cwd-relative Output Path Style (#1646)

A new output path style renders file paths relative to the current working directory instead of the target directory — handy for multi-root runs and clearer paths. Set `output.filePathStyle: "cwd-relative"` in your config, or pass `--output-file-path-style cwd-relative` (default remains `target-relative`).

Special thanks to @Samsen879 for this contribution! 🎉

### `--skill-project-name` Option (#1649)

Skill generation now exposes a `--skill-project-name` option so you can set the project name explicitly.

Special thanks to @WilliamK112 for this contribution! 🎉

## Improvements âš¡

- `--compress` is now resilient: a single file that Tree-sitter cannot parse — including pathological files that trigger a WASM runtime abort — no longer aborts the whole pack. It falls back to uncompressed output with a warning, and the rest of the run completes normally (#1679, #1668).
- File extensions are now matched case-insensitively when selecting the comment manipulator, so files like `.PY` or `.TS` are handled correctly (#1632).
- Split-output files are now copied correctly after remote packing (#1631).

Special thanks to @serhiizghama and @Samsen879 for these fixes! 🎉

## How to Update

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

---

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