v0.3.0

MinishLab/semblev0.3.0May 27, 2026by Pringled

Upgrading?

Release notes summary

This major update introduces JSON output, index persistence, and a new content flag, while removing several deprecated arguments and changing CLI output format.

Key Highlights

  • CLI and MCP results now output JSON instead of formatted text.
  • Added `--content` flag for docs, config, and code search.
  • Introduced index persistence to save and load indices automatically.
  • Removed `extensions=` argument in favor of `.sembleignore`.

Breaking Changes

  • CLI and MCP results are now JSON instead of formatted text.
  • `extensions=` was removed from SembleIndex.from_path() and SembleIndex.from_git() in favor of `.sembleignore`.
  • `model=` was replaced by `model_path=`.
  • `Encoder` is no longer exported from `semble`.

New Features

  • JSON output
  • Index persistence
  • Content flag for search
  • Semblyignore support

Full Release Notes

## What's Changed
* feat: Add --content flag for docs, config, and code search by @Pringled in https://github.com/MinishLab/semble/pull/142
* feat: add index persistence by @stephantul in https://github.com/MinishLab/semble/pull/140
* feat: add JSON output by @stephantul in https://github.com/MinishLab/semble/pull/147
* chore: Add pull request template, update contributing guidelines, update docs by @Pringled in https://github.com/MinishLab/semble/pull/157
* chore: Update email by @Pringled in https://github.com/MinishLab/semble/pull/158
* feat: Auto-indexing in cache folder. by @stephantul in https://github.com/MinishLab/semble/pull/162

## Breaking changes 🚨
- CLI and MCP results are now JSON instead of formatted text.
- `extensions=` was removed from `SembleIndex.from_path()` and `SembleIndex.from_git()` in favor of `.sembleignore`.
- `model=` was replaced by `model_path=`.
- `Encoder` is no longer exported from `semble`.

## Deprecation warnings ⚠️

`--include-text-files` and `include_text_files=` are deprecated and will be removed in a future release. `--content` now controls this.

## Migration notes

- Replace `--include-text-files` with `--content all`.
- Replace `include_text_files=True` with `content=[ContentType.CODE, ContentType.DOCS, ContentType.CONFIG]`.
- Replace `extensions=` with `content=` for built-in file groups, or `.sembleignore` negation rules like `!*.proto` for custom extensions. See "Controlling which files are indexed" in the [CLI section](https://github.com/MinishLab/semble#cli) for more info.
- Replace `model=` with `model_path=`, or set `SEMBLE_MODEL_NAME`.
- If you parse CLI output, update scripts to parse JSON.

**Full Changelog**: https://github.com/MinishLab/semble/compare/v0.2.0...v0.3.0

Related Repositories