Forum OpenACS Development: Could we refresh the OpenACS compatibility matrix?

Hi everyone,

could we please update the OpenACS compatibility matrix? It’s extremely helpful, but currently it ends at OpenACS 5.10.0 and PostgreSQL 12, so it doesn’t reflect what people are actually running or recommending today.

A few examples that show the picture is a bit scattered:

  • What was actually tested with: The 5.10.0 release notes explicitly say: “All packages of the release were tested with PostgreSQL 13.*”. That context never made it into the matrix.
    openacs.org/doc/release-notes

  • Community guidance: In Q&A, Gustaf Neumann recommended PostgreSQL 15 for new installs and noted that 5.10 works with newer PG versions as well. This kind of guidance would be great to capture centrally.
    Recommended version of PostgreSQL?

  • Release notes wording: In the 5.10.1 release notes, under Version requirements you’ll find “Require … PostgreSQL 12 (PostgreSQL 11 EOL …)”. This reads as a minimum version, but it isn’t spelled out as “12 or newer,” which can be confusing—especially since PostgreSQL 12 has been EOL since Nov 14, 2024.
    – Release notes: openacs.org/doc/release-notes
    – PostgreSQL 12 EOL: postgresql.org news item

  • Real-world reports: There’s a thread confirming OpenACS 5.10.1 with PostgreSQL 17 working fine (Docker). That’s exactly the sort of field signal the matrix should reflect or at least link to.
    OpenACS 5.10.1 with PostgreSQL 17

  • Docs still point to the matrix: The “Install OpenACS – prereqs” page tells readers to check the matrix for versions, so keeping it current would close the loop.
    Install OpenACS – prereqs

Small addition that might help readers: a brief legend clarifying when a cell is “Yes” (green) vs. “Maybe” (e.g., clean install without critical errors; automated testing completes; or still community-verified only) would make the status unambiguous.

If maintainers who are closer to the current stack agree, aligning the matrix with these signals (and adding a short legend) would be hugely helpful for newcomers and upgrades.

Thanks a lot for maintaining the docs!

Collapse
Posted by Gustaf Neumann on
Go ahead and edit the matrix. It is a wiki file.

Recommendation of PostgreSQL: All the new versions work perfectly fine. We cannot exclude that future versions might have problems. In general, i would recommend for production the newest major version of PostgreSQL, with a release version greater than 0.

All the versions in the "Require" section of the release notes are minimal requirements (meaning this version or newer),

Collapse
Posted by Michael Aram on

I took a conservative pass at updating the compatibility matrix (with some AI assistance) and would really appreciate a review.

Summary of changes:

  • Added 5.10.1 column and filled values defensively (only where explicit minimums are documented).
  • Added NaviServer 5.0 row (mirrors 4.99.x; explicit 5.10.1 note for 5.0+).
  • Added Tcl 9.0 row as unknown (no explicit OpenACS support yet).
  • Added PostgreSQL 13+ and 14+ rows; linked each PG version label to its docs and marked EOL in link titles.
  • Added Oracle 19c row (Yes for 5.10.1 fresh installs; unknown elsewhere).
  • Added tooltips for storing the rationales. Had to add them in title attributes of wrapping anchor tags because CKEditor strips td titles (i.e., the "links" are only there to preserve these tooltips.)

If anyone sees inaccuracies or wants to refine any of the assumptions, please let me know — happy to adjust.

Collapse
Posted by Gustaf Neumann on
Regarding PostgreSQL versions: the main source of incompatibilities across PostgreSQL releases typically arises when legacy features are removed in newer versions. Fortunately, such changes are relatively rare. As a result, OpenACS continues to work unchanged with many recently released PostgreSQL versions.

For example, the DB-inclusive OpenACS container setup runs successfully with the currently newest release, i.e. PostgreSQL 18 (see [1]).

all the best
-g

https://github.com/gustafn/docker-ns/tree/main/examples/oacs-db-inclusive