Scriptella 1.4 is the next planned release. Development takes place on the
master branch under version 1.4-SNAPSHOT. Scriptella 1.3 remains the latest
published release.
There is no committed 1.4 release date yet. This page summarizes the intended user-visible direction and will be updated as work is completed. It is not a release announcement or compatibility promise for an unreleased snapshot.
1.4 prioritizes project maintainability and modernization: a current Java baseline, fewer obsolete dependencies, and packaging that matches how Scriptella is actually built and run. Features are secondary.
- Keep optional drivers that still serve real (even if niche) users when a
small hygiene fix is enough — e.g. Velocity reports stay supported, but the
fat
velocity-dep.jargoes away in favor of explicit JARs. - Drop stacks that are no longer relevant — HSQLDB 1.8 has been removed from tests, samples, and distributions and replaced by H2 2.4.240. The ODBC / JDBC-ODBC bridge adapter has also been removed.
- Do not force library bumps that break existing scripts without a deliberate migration (e.g. Commons JEXL stays on 2.0.1 after a failed 2.1.1 trial).
Scriptella 1.4 requires Java 17 for building and running and produces Java 17
bytecode (class-file major version 61). Maven and Ant compile with
release=17 (plan Chunk 5C complete). Runtime packaging for JDK 17
(scripting, Rhino, distribution layout) is also on master.
JavaScript execution now uses the official Mozilla Rhino 1.9.1 JSR-223
provider. The binary and examples distributions include the matching
rhino-engine and rhino JARs, so JavaScript works through the normal
standalone commands without relying on Nashorn.
The common JavaScript language names remain supported, including js,
JavaScript, and rhino. Maven applications that assemble Scriptella from
modules must add org.mozilla:rhino-engine:1.9.1 when they use JavaScript.
The remaining 1.4 work aims for conservative JDK 17 compatibility rather than upgrading every library to its newest major version. Chunk 5A impact analysis is complete; see chunk-5a-dependency-impact.md.
Completed (Chunk 5B partial):
- Janino 3.1.12 (with matching commons-compiler)
- JavaMail
com.sun.mail:javax.mail:1.6.2and Activation 1.1.1 (still thejavax.mailAPI) - Ant 1.10.17 for the tools module Maven dependency
- Commons Logging 1.2 (embedded for JEXL)
- Velocity 1.7 with explicit Commons Collections 3.2.2 and Commons
Lang 2.6 JARs; the fat
velocity-dep.jarhas been removed
Rejected for 1.4 after trial:
- Commons JEXL 2.1.1 — 2.1 introduces
varandreturnas reserved words, so identifiers like${var}fail to parse. Stay on 2.0.1. JEXL 3.6.4 remains deferred (issue #45) and would need the same keyword and migration analysis.
Still planned (maintenance-first order):
raise Maven and Ant compiles to— done;release=17/ class-file major 61 (Chunk 5C)remove HSQLDB 1.8 entirely and replace it in tests and examples with H2 2.4.240 (Chunk 6)— done;remove the ODBC driver and sample (Chunk 6A)— done;Velocity 1.7 with explicit JARs (drop fat— done; the optional Velocity driver remains available for existing report ETLs;velocity-dep.jar)Spring Framework 5.3.x with a small Scriptella migration for the removed— done;SingletonBeanFactoryLocatorAPI- reconciling Maven, Ant, the all-in-one JAR, examples, licenses, and distribution archives so they contain consistent dependency versions.
If a proposed upgrade requires a larger behavior or API migration, it will be reconsidered and documented rather than introduced silently.
The launcher now accepts canonical double-dash options (--help, --debug,
--quiet, --version, --no-stat, --no-jmx, --template) in addition to
the legacy single-dash forms. Unrecognised options are rejected with exit code 3
and a clear error message; prefix matching is no longer supported. The
CLI contract doc (docs/cli-usage.md) has been
updated for the new option set, exit codes, and missing-file behaviour.
Existing scripts using single-dash option names will continue to work. New scripts should prefer the double-dash forms for clarity.
Before release, the complete Maven, Ant, packaging, launcher, example, and runtime matrix will be repeated on Java 17. User-visible behavior changes will be recorded in the changelog with migration guidance where needed.
The detailed implementation scope, decisions, validation evidence, and exit criteria are maintained in the Scriptella 1.4 release plan.