Changelog
Version history and release notes
v2.3.15 - August 2026 Latest
Auto-highlight and Playwright Test Coverage
- E2E-017 auto-highlight verified via xterm.js DOM
- 11/11 Playwright tests passing
- WO-SETUP-QA: 16 bugs fixed across setup wizard
v2.3.14 - August 2026
Test Adoption - Full Coverage
- WO-TEST-ADOPTION: 11/11 Playwright E2E tests (was 0)
- AID matrix 25/25 (was 7/25)
- AUTH-005/010/011/012 + SESS-004/005/006 tests added
- BIDI-009/010 + FE-005/006/008/013/014 tests added
- 586 frontend tests (was 491)
- make test-all --passWithNoTests removed
- scripts/run-all-tests.sh added
v2.3.13 - July 2026
F5, Citrix, Kerberos, and Setup Wizard QA
- imterm-setup: 16 bugs fixed across all 15 wizard phases
- Port conflict dialog: offers 8443 as alternative when 443 is in use
- Root check: accepts imterm user who owns /opt/imterm/
- F5 BIG-IP, Kerberos, Citrix, VT320, 2500-file migration in setup wizard
- kerberos-setup.html, f5-bigip-setup.html in delivery package
v2.3.9 - July 2026
OIDC/SSO Testing and UI Polish
- OIDC/SSO testing documentation: 4 options (mockoidc, Google, Entra ID, button-only)
- Spool viewer dialog focus fix: paste now targets password field correctly
- xterm.js decoration API replaces HighlightOverlay: zero ghost text, MSGW cells highlighted directly
- Demo/production build separation:
--build demotag for demo builds
v2.3.8 - July 2026
Test Suite and Security Hardening
- Comprehensive test suite expansion: 10 new test packages (security, cluster, tn5250, bidi, auth, api, migration, load, setup, resilience)
- Path traversal security hardening: session IDs validated in capture and recording filenames
- staticcheck cleanup: zero static analysis warnings across all packages
v2.3.7 - July 2026
New Features
- Interactive sizing calculator at /imterm/calculator.html
- Setup wizard Phase 0: RAM auto-detection for capacity recommendations
- Slave printer session support: TN5250E
*PRTdevice type for transparent host print passthrough - NVT mode fallback per RFC 2355
- MultiSheet print: collect multiple screens into one print job
- Ctrl+C double-confirmation safety guard in server mode
v2.3.6 - July 2026
Cluster and Capacity
- Cluster standby mode: node states STANDBY/ONLINE/DRAINING/OFFLINE with
imterm activate/deactivateCLI - IMTE7123-7132 audit events for cluster node operations
- Capacity-aware health endpoint: returns
capacity_pct, HTTP 503 when full - IMTE7210W session refused (capacity), IMTE7211I/7212I capacity log events
- Windows deployment guide and setup wizard (
imterm-setup.exe) - Capacity sizing calculator
v2.3.5 - July 2026
TN5250E Correctness (13 defects fixed)
- IC order now reads 2-byte address correctly (cursor position was wrong on every screen)
- FFW field attribute masks corrected against IBM SA21-9247-6
- 26 EBCDIC code pages generated from IBM source data (CP424 Hebrew, CP803, CP420 Arabic)
- 27x132 wide screen (Model 4/5) support fixed
- CC2 flags wired: alarm, message-waiting, leave-cursor-where-it-is
- WTD prefix commands: Roll, WriteErrorCode, SaveScreen, RestoreScreen
- Terminal-side field validation: numeric-only, digits-only, mandatory-fill
- Field Exit, Field+, Field- semantics corrected per spec
- GDS HLP flag: OIA now shows help-available indicator
- SCS printer: NUL/NOP, HT, RNL, RFF, BS all handled correctly
- Delete key no longer terminates the session
- F13 Shift key no longer gets stuck after window loses focus
- Hebrew "Active" ghost text eliminated (BiDi LTR passthrough fix)
New Features
- Live trace toggle from admin console (no restart needed)
- Documentation served locally at /docs/ (works without internet)
- Display Preferences accessible before connecting
- Local 3-node cluster test scripts (scripts/cluster-local/)
v2.3.2
July 2026
New Features
- Active-Active peer mesh cluster - every node is equal, no SPOF
- LDAP / Active Directory / Kerberos authentication
- AS/400 automatic failover hosts (primary + backup)
- HLLAPI bridge for UiPath, QTP/UFT, Blue Prism, and other RPA tools
- Performance reports with P50/P95/P99 session latency
- Macro recorder - record, save, and play back AS/400 workflows
- PowerTerm session file import (.pts format)
- Interactive enterprise setup TUI (imterm-setup) with 13 phases
- Graceful drain with configurable timeout
- Node identity (node_id) in all audit events
- Hebrew PDF rendering with embedded Cousine font
- OpenAPI 3.0 spec + Swagger UI at /api/docs
- Webhook delivery for session and security events
Fixes
- Session cookie Secure flag auto-detected via X-Forwarded-Proto
- Account lockout returns HTTP 429 with JSON body and IMTE7032W audit event
- Screen flash on certain AS/400 commands fixed
- Print toolbar remains responsive after any error
- Father-Son File > Exit behavior corrected
- All Fable5 security review findings addressed (Critical through Low)
Documentation
- Complete installation guide (10 chapters)
- Complete user guide for AS/400 operators
- Complete admin guide with full config reference
- Complete message reference (all 96 IMTE codes with Splunk queries)
- Best practices guide (Hebrew, cluster, security, RPA, Agent Mode)
- GUI reference (every menu item, dialog, and admin tab)
v2.0.1
2026
Natural / Adabas Compatibility
- Comprehensive Natural/Adabas test suite: 105 Go backend tests, 49 TypeScript frontend tests
- VT220 PF key sequences verified: F1-F4 (SS3), F5-F12 (CSI), F13-F20 (Shift+F1-F8)
- ISO 8859-8 Hebrew code page (NATPAGE=8): all 27 Hebrew letters and 5 final forms verified
- NATPAGE code page mapping: NATPAGE 0, 8, 15, 19, 37, 424 all verified end-to-end
- CP424 EBCDIC Hebrew in TN3270 screens: field attribute decoding and BiDi layout
- Natural VT220 keymap preset added (F1=Help, F3=Exit, F5=Save, F7=Backward, F8=Forward)
v2.0.0
2026
Security & Authentication
- Kerberos SPNEGO deep integration: gokrb5/v8, keytab file support, group-to-role mapping
- mTLS client certificates: ClientCA configuration, CN-to-role mapping for certificate-based access control
- FIPS 140-2 via BoringCrypto: validated build (certificate #3678) for regulated environments
Infrastructure & Backend
- Redis cluster backend: RESP client with no external Go dependency, supports Redis Cluster and Sentinel
- Session recording: JSONL format, REST playback API for audit and compliance replay
- REST API v2: OpenAPI 3.0.3 specification, Swagger UI served at
/api/v2/docs/ - PSL migration tool:
psl2jsCLI,/api/v2/psl2jsendpoint, Script Editor import
Terminal Features
- Split screen: Ctrl+Backslash to toggle, draggable divider, independent session panes
- VT220 Hebrew BiDi: VTBiDiAddon xterm.js hook for right-to-left rendering in VT sessions
- CCSID auto-detect from TN5250E NEW-ENVIRON negotiation
- Spool file viewer: FTP from QSYS.LIB/QSPL.LIB, PDF preview in browser
- Copy as HTML to clipboard: dual-format copy (text/html + text/plain)
File Transfer
- SFTP client: github.com/pkg/sftp integration for SSH file transfer
- FTPS implicit and explicit: TLS over FTP, both RFC 4217 and legacy implicit-TLS modes
Scripting & Automation
- Scheduled scripts: cron-based scheduling, web UI management, JSON persistence
- Event-driven scripts: 5 event types, regex pattern matching, configurable rate limiting
Testing
- SCS printer end-to-end pipeline test suite
v1.9.5
- Cluster backend: Redis and etcd support for multi-node deployments
- VT220 Hebrew BiDi rendering
- Session recording in JSONL format
v1.9.0
- Scheduled scripts with cron syntax and web UI
- Event-driven hooks: 5 event types with regex pattern matching and rate limiting
- Split screen: Ctrl+Backslash toggle with draggable divider
- CCSID auto-detect from TN5250E NEW-ENVIRON negotiation
- Spool file viewer: FTP from QSYS.LIB/QSPL.LIB with PDF preview
- Copy as HTML to clipboard: text/html + text/plain dual-format
v1.8.0
- Kerberos SPNEGO authentication via gokrb5/v8: keytab support and group-to-role mapping
- SCS printer end-to-end test suite
v1.7.0
- SFTP client integration (github.com/pkg/sftp)
- FTPS client: implicit and explicit TLS over FTP (RFC 4217 and legacy modes)
- mTLS client certificates: ClientCA support, CN-to-role mapping
v1.6.2 demo-ready as400-ready
Mock Server
- Expanded to 14 screens: Hebrew invoice, WRKSPLF, DSPSYSSTS screens added
5250 Testing
- AID key test suite for all F1–F24 and system keys
- Hebrew deep tests: 27 Hebrew letters plus final forms verified end-to-end
Polish
- Demo scripts and connection profile templates
- Error message polish throughout
- Full keyboard shortcut audit and corrections
v1.6.1 hardened
Bug Fixes
- tn3270go: fix 0x19 prefix handling in TN3270E data stream
- Field classification fix: correct handling of Display=0x00 protected fields
Real Host Validation
- Tested against z/OS on Hercules 4.9.1 running MVS 3.8j TK5
v1.6.0 parity
tn3270go Pure-Go Library
- Complete TN3270/TN3270E implementation in pure Go (milestones M1–M8)
- All terminal models (2–5), EWA, WSF, IND$FILE, EBCDIC codepages, BiDi
- PowerTerm parity score: 32/36 checks passing (89%)
Security
- FIPS 140-2 BoringCrypto build option
Printing
- CUPS/LPR printing support
- SCS color PDF: ANSI terminal colors reproduced in print output
- Print Archive Pro: searchable compliance archive with configurable 7-year retention
Terminal Features
- Power Pad: 4×6 button grid (View > Power Pad) with drag-and-drop, macros, scripts, CL commands; saved per profile
- Copy as Image: copy screen to clipboard as PNG
Mock Server
- Expanded from 5 to 14 screens (sign-on, main menu, subfiles, data entry, confirmation dialogs, print flows)
v1.5.x
Enterprise Security
- LDAP, OIDC (Okta/Azure AD/Google), and SAML (ADFS/PingFederate) SSO authentication
- RBAC with 3 roles: Admin, Operator, User
- Multi-tenant configuration via config.yaml
- Audit log with rotation
- Admin console: users, sessions, audit viewer
- Session sharing: view-only links for training and collaboration
File Transfer
- IND$FILE (3270/5250), FTP/IFS (AS/400), SCP (VT220/SSH)
Printing
- SCS host printing via TN5250 printer sessions (IBM-3812)
Packaging
- RPM, DEB, AppImage, and tarball packages
Operations
- Server statistics telemetry:
imterm statsCLI,/api/stats,/api/health - Multi-instance nginx cluster with shared NFS data directory and cross-instance seat counting
- Tested at 2,000+ concurrent WebSocket sessions per node
- Connection profile export/import
- Container support: Dockerfile, data volume
v1.4.x
Screen Modernization & API
- Screen-to-HTML: Modern View panel, ScreenAnalyzer, ScreenToHTML renderer
- Custom templates: built-in registry, titlePattern matching
- HLLAPI REST API for host-application integration
Agent Mode (AI Automation)
- 5 LLM providers: Anthropic Claude, OpenAI GPT, Google Gemini, Ollama, Mock
- JavaScript scripting with CodeMirror editor
- Save as Script from Agent Mode conversations
UI
- Keyboard mapper: rebind any key per connection profile
- Windows installer (install.ps1) with non-interactive modes: local, run, remove
- 27×132 wide-screen mode: IBM-3477-FC terminal model
- Copy Right-to-Left: Edit > Copy Right to Left for Hebrew clipboard workflows
- Auto-reconnect: 5-attempt exponential backoff (2/4/8/16/32 s)
- Hotspots: clickable menu numbers and URLs
- Command history: Up/Down recall, Ctrl+R search, persistent per session
- Screen history: Ctrl+PageUp/PageDown to browse previously seen screens
v1.3.x and earlier
Protocol Support
- TN5250E pure Go client: field types, AID keys F1–F24, 24×80 and 27×132 screen sizes
- TN3270E via s3270 subprocess: models 2–5, extended attributes, colors, ISPF, IND$FILE
- VT220/SSH: full DEC VT family (VT52–VT525), SSH v2 with key and password auth
Hebrew / BiDi
- Hebrew BiDi pipeline: bidi-js preprocessing before xterm.js rendering
- CP424 EBCDIC ↔ UTF-8 round-trip verified end-to-end
- Security hardening: CSP, HSTS, X-Frame-Options, X-Content-Type-Options headers
- WebSocket: 64 KB read limit, origin validation in server mode
- SSH Trust-on-first-use host key verification (IMTE2030W/2031E)
- SAML signature bypass fix (goxmldsig v1.6.0, GO-2026-4753)
- Session ID validation in HLLAPI URL path
Foundation
- WebSocket + JSON transport with xterm.js rendering
- Multi-session tabs, connection profiles
- Lazy-loaded panels for fast initial load
- 116/116 verification checks green at v1.0 release
- Verified against PUB400.COM IBM i 7.5