Skip to content

FormsLang 1.0.0

Choose a tag to compare

@gevianajr gevianajr released this 04 Sep 23:20
· 207 commits to main since this release

The first stable release of FormsLang: convert, document, diff and version Oracle Forms modules, and hand the resulting APEX 26.1 application to a pipeline. The CLI, the session file, the export layout and the workbench's local HTTP API are promised stable within 1.x.

Installers

  • FormsLang_1.0.0_x64-setup.exe — Windows setup (NSIS)
  • FormsLang_1.0.0_x64_en-US.msi — Windows installer (MSI)

Both bundle the engine and nothing else. Opening .fmb files still needs your own licensed Oracle Forms install; Forms2XML .xml files need nothing.

What's new

  • formslang export <session.db> — the headless twin of the workbench's Export APEX 26.1 button: same exporter, same choices (remembered on the session), same bytes. --json for tooling.
  • formslang apex validate|import <zip> — SQLcl driven from a terminal or CI. Target from flags, FORMSLANG_APEX_CONNECT/FORMSLANG_APEX_USER or Settings; password from FORMSLANG_APEX_PASSWORD, the OS credential store or a hidden prompt — never a command-line argument. Exit 1 when SQLcl prints APEXlang Compile Errors with exit 0.
  • Deterministic exports — an unchanged session exports byte-identical ZIPs: name-ordered entries, fixed timestamps, one checksum salt per session. Rebuild, cache and diff what was reviewed.
  • Export and Import dialogs show the command line that reproduces them, and the export dialog pre-fills the previous export's choices.
  • docs/ci-cd.md + examples/ci/formslang-apex.yml — the pipeline contract and a complete GitHub Actions workflow (export → validate → import on main, plus a structural formslang diff job on pull requests).
  • MultiLine="true" text items export as textarea.
  • Oracle Forms homes under C:\Oracle are found with no ORACLE_HOME set (e.g. C:\Oracle\FR1412).
  • Multi-user mode as a saved setting in the Settings screen, with the first-Owner status and a terminal shortcut for formslang auth bootstrap-owner.
  • docs/apex-import-verification.md — the repeatable render-time check through ORDS for the class of defect apex validate cannot see.
  • README rewritten for 1.0: CLI reference, versioning workflow, CI/CD, complete environment-variable table, architecture map.

Fixed

  • A hidden-label item 1 or 2 grid columns wide failed to render in App Builder (LABEL_COLUMN_SPAN_TOO_BIG); hidden labels now emit labelColumnSpan: 0.

Full details in CHANGELOG.md.