IM3270 Changelog
Version history and release notes
v0.46.11
Latest 2026-05-04
Security
- Closed remaining Dependabot advisories:
npm audit fix --forcebumpedelectron-builder24.13.3 → 26.8.1, closing all 6 remaining high-severitytaradvisories and 1 low-severity@tootallnate/onceadvisory in dev-scope transitive dependencies. Backendgolang.org/x/netbumped 0.17.0 → 0.53.0, closing 3 medium-severity advisories. After this release, bothnpm auditand Dependabot report 0 open vulnerabilities. Verified via 548-test frontend Jest suite, backend Go tests, and full Linux build with electron-builder 26.x.
v0.46.10
2026-05-04
Security
- Dependency vulnerability sweep:
npm audit fixclosed 5 high-severity and 2 moderate-severity advisories in dev-scope npm packages (transitive deps of build tooling —minimatch,tar,@xmldom/xmldom,picomatch,lodash). No customer-visible behavior change; runtime Electron and Node code paths unchanged. Dependabot is now enabled on the source repo, so future advisories surface immediately. - Pre-commit secret scanning: Developer-only
gitleakshook (.gitleaks.toml+scripts/install-hooks.sh) blocks API keys, HMAC keys, and tokens from accidentally landing in commits. Does not ship to customers and does not run on user machines. Documented indocs/DEVELOPER-GUIDE.md.
v0.46.9
2026-05-03
Fixed
- "Check for updates" failed after releases-repo rename: The in-product update checker used
https.getwithout redirect handling, so a 301 response (returned by GitHub after a repo rename or transfer) rejected withGitHub API returned status 301. The handler now follows up to 5 redirects, so future renames do not break already-shipped builds. Replaced the misleading "feature will work once the repository is public" 404 message with one that describes what 404 actually means at this endpoint. Note for users on v0.43.x – v0.46.7: Your installed updater predates this fix and cannot reach the new releases location. A one-time manual install of v0.46.11 is required; automatic update checks will work normally from then on.
v0.46.8
2026-04-23
Fixed
- Ctrl++/- truncated host-expanded screens: When the host expanded to 43 rows (e.g., TSO DDLIST), changing font size reset the terminal to 32 rows (Model 3 default), hiding the bottom rows until a keystroke. Terminal now tracks
hostRowsand preserves it across font-size/preference changes.
Added
- Previous Stable Version fallback (#126): Downloads page now shows a "Previous Stable Version" section linking to the prior release, so users can roll back if the latest release has a regression.
v0.46.7
2026-04-20
Fixed
- Windows WebSocket handshake failure (303 error): On Windows, IPv4 and IPv6 are separate bind namespaces. If another process owned IPv4 port 8080, the backend's dual-stack bind on
[::]:8080could succeed while the renderer's WebSocket hit the other server and received a 303. Also,localhostresolves to::1(IPv6) first on Windows — if anything squatted on::1:8080, Chromium never tried IPv4. Backend now bindstcp4on127.0.0.1:8080; renderer connects to127.0.0.1explicitly. - Diagnostics flag port fallback: Both the Tools menu diagnostics (Windows) and
scripts/diagnose-log.sh(Linux) now detect when the backend fell back from 8080 and show thenetstat/sscommand to identify the squatting process. - HTTP API locked to loopback: Backend's HTTP API endpoints are now bound to
127.0.0.1only (no external access).
v0.46.6
2026-04-19
Added
- Console Output Log: New floating panel (View > Toggle Console Output Log, Ctrl+`) with real-time color-coded connection events, errors, warnings, and transfer results. Includes interactive command bar with commands: help, diagnose, status, tabs, port, version, history, clear. Arrow keys for command history.
- Connection diagnostics: IP typo detection warns about suspicious IPs (e.g., 192.169.x.x) before connecting. Pre-connect TCP reachability check warns if host is unreachable. Timeout error messages now include host:port.
- Log diagnostics: Tools > Run Log Diagnostics analyzes the application log for timeouts, IP typos, startup failures, SSL errors, port conflicts, and more. Also available via
diagnosecommand in Console Output Log orscripts/diagnose-log.shfrom command line. - Transfer history: File transfer dialog shows a "Recent Transfers" dropdown with the last 20 transfers. Select an entry to auto-fill all form fields.
- Automatic port selection: Backend tries port 8080 first; if occupied, the OS assigns a free port. Eliminates the "WebSocket undefined" error when another process uses port 8080.
- SBOM in distribution: CycloneDX SBOM files now included in Linux tar.gz bundle for supply chain compliance.
Fixed
- Login denial message not displayed: When mainframe sends a denial screen and immediately disconnects, the terminal now captures and displays the message.
- Font size change hid terminal lines: Ctrl++/- no longer causes lines to disappear until the next keypress.
- Install script showed wrong name: Help text in install.sh referenced the old script name.
v0.46.3
2026-04-06
Added
- UI Scale preference: Slider in Preferences > Display (50%-150%) to scale the entire UI without affecting terminal font size
- Help > View Application Log: Opens ~/.im3270/im3270.log in system default text editor
- Help > Open Log Folder: Opens ~/.im3270/ directory in file manager
- Message IDs: All log messages now use standardized IMEM prefix with unique IDs for troubleshooting
- SBOM (Software Bill of Materials): CycloneDX SBOM files included with releases
- Consolidated logs: Frontend and backend now write to a single log file
Fixed
- s3270 version check failed on startup: Used single-dash instead of double-dash flag
v0.46.2
2026-04-06
Added
- Help > View Application Log: Opens log file in system text editor (cross-platform)
- Help > Open Log Folder: Opens ~/.im3270/ in file manager
Fixed
- Ctrl+B / Ctrl+Shift+B shortcut conflict: Ctrl+B now correctly toggles icon toolbar, Ctrl+Shift+B toggles PF toolbar
- PF Toolbar menu item: Added View > Toggle PF Toolbar (Ctrl+Shift+B)
- Right-click toast to copy: Right-click any toast notification to copy the message
- Scrollable dialogs on small screens: Connect dialog and profiles list scroll properly on laptops
v0.46.1
2026-04-05
Improved
- SSL/TLS error reporting: SSL failures now show specific, actionable error messages instead of silently hanging
- SSL connection dialog: Detailed tooltips on all SSL options
- Macro Manager dialog: Responsive layout for small laptop screens
Fixed
- Script help overlay: Added close button and Escape key to close
v0.46.0
2026-04-05
Added
- JavaScript Scripting Engine: Full scripting system with side-by-side editor panel
- Script Editor Side Panel: Opens alongside terminal with draggable resizer
- Step-Through Debugger: Execute scripts line by line
- API Command Picker: Interactive help with click-to-insert
- Pre-Run Validation: Catches syntax errors and common mistakes before execution
- Macro-to-Script Conversion: Convert recorded macros to editable JavaScript
- Ctrl+Z mapped to PA2: Undo unsent typing instead of disconnecting
v0.45.0
2026-03-23
Added
- REVEDIT editor support: MVS 3.8 RPF editor with editor-relative cursor display
- Smart paste: Word-wraps text to fit editor data area width
- YouTube tutorial videos: Embedded on website
- Updated man page: New features and shortcuts documented
Fixed
- Cursor not moving after Ctrl+C copy
- Crosshair position after color change
- Notepad resize on Linux
- Update dialog close button position
v0.44.5
2026-03-16
Fixed
- Right-Click JCL Selection: Auto-selects JCL token at click position before showing context menu; fixed coordinate alignment using xterm.js render dimensions
- Ctrl+Shift+1-9 Copy Buffers: Fixed copy-to-buffer shortcuts (Shift changes event.key to symbols; now uses event.code)
- Triple-Click Line Selection: In ISPF editor, triple-click now selects line text without line number prefix
- Selection Overlay Cleanup: Single click and Escape reliably clear the yellow selection box
- Context Menu UX: Menu appears 15px below click to not cover selected text; Escape or any keypress closes menu
- Tab Switch Cursor Position: Cursor position in status bar now updates when switching tabs via Ctrl+Tab
Changed
- s3270 License Compliance: Replaced "powered by" and "proven" marketing language with neutral wording per BSD 3-Clause non-endorsement clause
v0.44.4
2026-03-15
Added
- Icon Toolbar: 17 SVG icon buttons for quick access to Connect, Disconnect, Send/Receive File, New Tab, Copy, Paste, Find, Crosshair, Keypad, Split Screen, Notepad, Timer, Editor, Macro Record, Print, and Preferences
- State-Aware Toolbar Buttons: Buttons disable when disconnected, highlight when active, turn red when macro recording
- Toggle Toolbar: View > Toggle Toolbar (Ctrl+B) to show/hide, preference saved across sessions
- Edit Screen in External Editor: Toolbar button opens current screen content in vim for editing
v0.44.3
2026-02-26
Added
- PDS Wildcard Receive (*): Enter
'DATASET(*)'in the Host File field when receiving to automatically list all PDS members with all checkboxes pre-selected
Fixed
- About Dialog: Reduced size with max-height and scrollbar so the Close button is always accessible on smaller screens
v0.44.2
2026-02-25
Added
- Accessibility Widget: Reusable popup widget with font size, letter/word spacing, reading mode, high contrast, and keyboard highlight controls. Persists settings via localStorage. Integrated into all 14 site pages
- DEB/RPM Packages: Linux releases now include .deb (Debian/Ubuntu) and .rpm (Fedora/RHEL/AlmaLinux) packages alongside AppImage and tar.gz bundle
Changed
- Free/Trial Card: Added "All PRO features for 60 days" to clarify trial benefits
v0.44.1
2026-02-25
Added
- Free License Card: Added "Free License" ($0, 60-day trial) card to downloads and pricing sections for better trial visibility
- Web Accessibility (WCAG 2.1): Skip navigation links, ARIA labels on nav/forms/downloads, focus-visible outlines, emoji aria-hidden, heading hierarchy fixes, table scope attributes, SVG aria-hidden, descriptive QR code alt text
Changed
- Color Contrast (WCAG AA): Improved text contrast across all website pages
- Pricing Grid: Widened to 3-column layout on downloads and home pages
- Comparison Table: Renamed "Trial" column to "Free" on home page
v0.44.0
2026-02-25
Added
- GPG Release Signing: All release artifacts are now signed with a GPG key for download verification
- SHA256 Checksums: SHA256SUMS file generated and GPG-signed for every release
- Install-time Verification: Linux installer optionally verifies AppImage checksum before installation
- Security Page: New dedicated security page with verification instructions
Changed
- Release Scripts: create-release.sh and publish-release.sh now generate and upload SHA256SUMS + GPG signature
- Downloads & Installation Pages: Added download verification instructions
v0.43.25
2026-02-24
Added
- Terminal Font Preference: Choose between IBM Plex Mono (modern) and IBM 3270 (classic mainframe) in Preferences
- Bundled Fonts: IBM Plex Mono and IBM 3270 fonts shipped locally – no Google Fonts CDN dependency, works fully offline
Fixed
- Windows character alignment: Fixed misaligned characters on startup caused by xterm.js measuring cell dimensions before fonts loaded
- License dialog: Renamed "Activate" to "Apply", show Apply button when replacing an existing license
v0.43.23
2026-02-22
Fixed
- LISTDS overlay on SPF/ISPF: Use TSO LISTDS prefix on all ===> prompts to clear screen before output
- False PDS members: Filter out SPF/ISPF panel chrome lines from member name parsing
- LISTDS command field: Added EraseEOF before typing LISTDS command to clear leftover text
- Pre-transfer drain timeout: Increased drain deadline from 10s to 30s, fixing batch transfer timeout on slow hosts
- s3270 error messages on screen: Prevent s3270 error text from bleeding into screen display
v0.43.22
2026-02-18
Added
- PDS Member Browser: Browse and select PDS members from the host for batch file transfer with pagination support
- Batch File Transfer: Transfer multiple PDS members in a single operation with progress tracking and cancel support
- Batch Send to Host: Select multiple local files or a folder to batch-send as PDS members
- Auto-create directories: Receive transfers automatically create the target directory if it doesn't exist
- Demo Panels: ISPF panel and CLIST demos for displaying IM3270 product info on mainframes
Fixed
- Batch transfer race condition: Fixed pre-transfer cleanup responses being mistaken for transfer results
- Send file browser: Fixed file picker not showing extensionless files
v0.43.21
2026-02-10
Added
- Notepad Panel (Ctrl+Shift+N): Floating draggable/resizable notepad for session notes. Auto-saves per host to localStorage
- Timer / Clock Panel (Ctrl+J): Floating panel with Clock, Countdown Timer (with Tibetan singing bowl alert), and Stopwatch
- Preferences: Show Notepad/Timer on startup, Notepad font size, Timer alert sound
Fixed
- Ctrl+V Paste: Fixed application hang when pasting large multi-line buffers
- Keyboard Help: Corrected swapped descriptions for End and Ctrl+End
v0.43.20
2026-02-10
Added
- Editor-Relative Cursor Position: Status bar shows Line: N, Col: M relative to the data area when in ISPF Edit, Browse, or View. Supports ISPF action bar layout and horizontal scrolling
v0.43.19
2026-02-10
Added
- File Transfer Dialog: Remember last used field values - fields are pre-filled with previous transfer settings when reopening the dialog
v0.43.16
2026-02-08
Fixed
- Profile Manager: Fixed clicking a profile causing Save to update the existing profile instead of creating a new one
- Profile Manager: Fixed auto-selecting first profile on open
- Profile Manager: Renamed "Cancel" button to "New" for clarity
v0.43.15
2026-02-08
Fixed
- ISPF Option 11 (Workplace) field misalignment: 2-byte UTF-8 characters (like broken bar) were not rendered, causing fields to shift left and cursor to appear one position ahead
v0.43.14
2026-01-20
Added
- Profile Manager Keyboard Navigation: Arrow Up/Down to navigate profiles, Enter to connect, Delete to remove
- Quick Connect Keyboard Navigation: Arrow Up/Down or Tab/Shift+Tab to navigate, Enter to connect
- Paste to Data Area (Ctrl+Shift+V): New paste mode for ISPF editor - pastes multi-line text into data area, automatically skipping line command fields
- Startup Diagnostic Log: Automatic logging to ~/.im3270/im3270.log - captures app startup, s3270 version check, backend status
Changed
- Keyboard Lock Indicator: Changed "LOCKED" to "WAIT" for clearer visual feedback when waiting for host response
Fixed
- Split Screen Focus: Fixed cursor not moving and unable to type in split tab
v0.43.13
2026-01-18
Fixed
- Windows Backend Port Conflict: Fixed port 8080 already in use error on Windows when restarting after crash or force-close
v0.43.12
2026-01-17
Fixed
- Keyboard Shortcuts: Changed New Tab (Ctrl+T to Ctrl+Shift+T) and Close Tab (Ctrl+W to Ctrl+Shift+Q) to avoid conflicts
- Alt+J Selection: Fixed smart JCL selection not clearing when pressing Escape
- Website Links: Fixed License and Privacy URLs pointing to incorrect locations
- Profile Settings: Fixed "MM Lab" typo to "IM Lab"
Improved
- Linux Installer: Added upgrade support - automatically removes old AppImage versions when installing new version
v0.43.11
2026-01-08
Added
- Direct Update Download: Update dialog now downloads the appropriate installer directly for your platform instead of opening GitHub
v0.43.10
2026-01-08
Fixed
- SDSF Block Operations: Fixed keyboard lock during block inline operations like //P - arrow keys and mouse now work correctly
v0.43.9
2026-01-08
Fixed
- File Transfer PDS Members: Fixed file transfer truncating dataset names with parentheses like 'DATASET(MEMBER)'
- Transfer Dialog Width: Increased host file input field width and dialog size for longer dataset names
v0.43.8
2026-01-06
Fixed
- Rectangular Selection Copy: Fixed copy not capturing correct rows when terminal is scrolled
- Multi-line Paste: Added proper support for pasting rectangular selections - maintains row structure
- Clipboard Copy: Fixed race condition where selection could clear before text was copied
- Keyboard Reference: Corrected multiple incorrect keyboard shortcuts in documentation
- Alt+J/T/F Shortcuts: Fixed mismatch between menu accelerators and keyboard mappings
- Linux Screen Flickering: Disabled hardware acceleration on Linux by default, batched terminal writes
Added
- Keystroke Display toggle (Ctrl+Shift+Y) in keyboard help
- Password Mode toggle (Ctrl+Alt+Y) in keyboard help
- Find on Screen (Ctrl+F) in keyboard help
- Toggle Split Orientation (Ctrl+Shift+O) in keyboard help
Changed
- Domain Update: Changed all references from zos.co.il to im3270.infomanta.com
v0.43.7
2026-01-04
Fixed
- Backspace Key: Fixed to use traditional PC behavior (move left + delete character)
- Keystroke Display: Shows only "Backspace" instead of "BackSpace+Delete"
v0.43.3
2025-12-28
Added
- Google Analytics Tag: Added tracking code for im3270-site
- PRO Badge on Split Screen: Split Screen now marked as PRO feature throughout documentation
Changed
- Documentation Updates: Updated all guides with Pro features and licensing information
- License Comparison Tables: Updated to show Trial vs Personal vs Team feature differences
- Trial Behavior Clarified: All features work for 60 days, then Pro features lock
v0.43.2
2025-12-28
Added
- Trial Expired Dialog: Shows list of locked Pro features with link to purchase
- Split Screen as Pro Feature: Split Screen now requires license after trial
Changed
- Trial Expiration Behavior: Core features continue working after trial, only Pro features locked
- Pro Features: Split Screen, Crosshair, Magnifier, Keystroke Display require license
Fixed
- PowerShell Script: Fixed generate-license.ps1 syntax errors for Windows
- License State: Fixed isProFeatureAvailable() to properly check trial expiration
v0.43.1
2025-12-26
Added
- Pro Feature Restrictions: Crosshair, Magnifier, and Keystroke Display now require a valid license
- PRO Badge: Golden badge shown in preferences for restricted features
- Trial Status: Shows "(No support)" indicator for trial users
- License Validation: Backend validates license keys with expiration checking
Fixed
- Hercules Connection: Fixed intermittent connection failures with Hercules/MVS 3.8J TK5
- Split Screen Pointer: Crosshair now follows cursor when switching between split tabs
- Color Mapping: Fixed base color mapping for 3279 terminals
- License Script: Fixed generate-license.sh to use "personal" instead of invalid "standard" type
v0.43.0
2025-12-25
Added
- Keystroke Display: KeyWiz-style on-screen keystroke overlay for demos/presentations
- s3270 Text Mode: Improved reliability with text-based s3270 communication
Changed
- Connection Method: Uses Connect() command instead of command-line argument for better reliability
- Wait for 3270 Mode: Added proper wait for terminal readiness before screen requests
v0.42.2
2025-12-24
Added
- CRT Retro Effects: Scanlines, glow, and chromatic aberration effects (View menu)
- Pointer Sonar: Visual cursor locator with Ctrl+Shift+F
- Pointer Highlight: Persistent cursor highlight with Ctrl+H
Fixed
- Various stability improvements
v0.42.1
2025-12-24
Fixed
- Minor bug fixes and improvements
v0.42.0
2025-12-24
Added
- Session Keep-alive: Configurable ping interval to prevent timeouts (Preferences)
- Response Timeout: Configurable timeout for host responses
v0.41.0
2025-12-23
Added
- License System: 60-day Pro trial with license key activation
v0.40.0
2025-12-22
Added
- Macro Recording: Record and playback keystroke sequences (Ctrl+Shift+F12)
- Play Last Macro: Ctrl+Shift+M to replay last recorded macro
v0.39.0
2025-12-21
Added
- Split Screen: Horizontal and vertical split views (Ctrl+Shift+H/V)
- Multiple Connections: View two sessions side by side
v0.38.0
2025-12-20
Added
- Custom Keypad Labels: Define your own PF key labels
- Keypad Label Styles: PF1-24, F1-24, 1-24, or custom