Skip to content

sem

v0.5.0 Feature

This release adds 4 notable features for engineering teams evaluating rollout.

Published 1mo Version Control
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-agents code-intelligence coding-agents developer-tools git llm-tools
+4 more
semantic-diff tree-sitter typescript version-control

Summary

AI summary

Zero-config language detection now identifies 19 languages from file content without extensions.

Full changelog

What's New

Zero-config language detection for extensionless files

sem now detects 19 languages from file content alone, no extension needed. It scans the first ~20 lines for high-confidence markers (imports, declarations, opening tags). Shebang lines and vim modelines also work.

.semrc custom extension mappings

Drop a .semrc in your project root to map any extension to a supported language:

.xyz = cpp
.j = json
.mypy = python

.gitattributes support

sem reads your existing diff= and linguist-language= patterns automatically. No extra config needed.

Intra-file move detection

When a method moves between classes or impl blocks within the same file, sem now reports it as a move instead of a delete + add.

Parent name context in output

Entity changes now show parent context: Calculator::add instead of just add. Thanks @nminev (#97)

Precise parent suppression

When a container's own declaration changes alongside its children, both are now reported correctly. Thanks @nminev (#98)

Path-based sem entities

sem entities now accepts file/directory paths, skipping invalid files gracefully. Thanks @Celsiusss (#102)

Other

  • PHP .inc/.phtml/.module extension support
  • Depth-limited impact analysis with fallback warning
  • #[non_exhaustive] on SemanticChange for safer downstream use

Contributors

@nminev, @Celsiusss, @SebastianJL, @scottchiefbaker

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track sem

Get notified when new releases ship.

Sign up free

About sem

Semantic version control => entity-level diffs, blame, and impact analysis on top of git. 26 languages via tree-sitter. Built for coding agents.

All releases →

Beta — feedback welcome: [email protected]