1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
# PLJS Versioning Policy
PLJS generally follows [Semantic Versioning](https://semver.org) with some PLJS specific changes.
Support for major and minor versions of PLJS ends three (3) years after the release of the following version. On a case-by-case basis, we will extend support for back-ported regressions.
### Determining your PLJS Version
You can use two ways to determine which version of PLJS you are using:
```sql
SELECT pljs_version();
```
and
```sql
DO $$ pljs.elog(NOTICE, pljs.version); $$ LANGUAGE pljs;
```
## Major Version
Major versions increments with major changes in the codebase that could affect users and their code in a significant manner. Any changes that could impact a users experience such as a major performance change or breaking change of existing behavior warrants a major version change.
## Minor Version
Minor versions increment when there is a possibility of changes that can affect execution, but where the amount of code changed is minimal and thus those changes have minimal impact on user code. Changes could include:
- Additional functionality added as per the roadmap
- Bug fixes and refinements
- Fixes for diagnostic issues such as avoiding the use of `is` in code, as flagged by PLJS diagnostics
The goal is to avoid disruptive changes between minor releases.
## Patch Versions
Patch versions increment with a bug fix or minor improvement. Some minor version releases will include experimental code enabled at compile-time, disabled by default.
## PLJS Version Support
PLJS versions are generally supported at the minor release level for three (3) years after release.
| PLJS Version | PLJS Release Date | End of PLJS Support Date |
| ------------ | ----------------- | ------------------------ |
| 1.0 | June 25, 2025 | |
## Bugs
In general, bugs are fixed with each minor release of PLJS.
### Back-porting of Patches
Back-porting of patches to a previous minor version is on a case-by-case basis. Generally if a version of PLJS is beyond its support window, and not generally offered, then no back-porting of bug fixes will occur.
## Postgres Version Support
PLJS maintains Postgres support for the current four (4) major releases of Postgres at a PLJS minor version level.
|