Support for all versions of a programming language
Semgrep language support has several levels of maturity. The Generally available (GA) maturity level means that Semgrep broadly supports all versions of that programming language.
When the Semgrep team adds support for a new language, the team creates a parser intended for the most recent or one of the most recent versions of that language. More recent versions of a programming language tend to be supersets of previous versions; they are typically backward compatible. Therefore, a parser of a more recent version generally supports previous versions as well.
If a change occurs in a language's syntax or semantics, the Semgrep Program Analysis team and Security Research team make the requisite changes to the parser and any affected Pro rules to ensure that Semgrep maintains its level of support and coverage for that language. Updates to parsers and rules are made weekly.
See How to add support for a new language for more information on the process of adding a language to Semgrep.
- Semgrep Pro rules are actively maintained by the Security Research team and are kept up-to-date.
- Community rules are maintained by the community and have varying levels of support.
Not finding what you need in this doc? Ask questions in our Community Slack group, or see Support for other ways to get help.