File: VERSIONING.md

package info (click to toggle)
pljs 1.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,704 kB
  • sloc: ansic: 69,356; javascript: 5,408; sql: 878; makefile: 443; sh: 123
file content (57 lines) | stat: -rw-r--r-- 2,281 bytes parent folder | download
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.