# Security Policy

This project implements the Eclipse Foundation Security Policy

* https://www.eclipse.org/security

## Supported Versions

These versions of Jakarta Annotations are currently being supported with
security updates.

| Version | Released   | Supported | 
| ------- | ---------- | --------- | 
| 3.0     | 2023-09-01 | Yes       | 
| 2.1.1   | 2022-06-15 | Yes       | 
| < 2.1   | 2022-01-31 | No        | 

## Reporting a Vulnerability

Please report vulnerabilities to the Eclipse Foundation Security Team at
security@eclipse.org