# 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 | | | ## 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.