Release History

Version Date      Release Highlights
4.7.3 February,
  • Update dependency versions
4.7.2 November,
  • Add session fixation attack prevention
4.7.1 September,
  • jQuery updated to 3.5.1
  • Tomcat updated to 9.0.37
4.6.5 September,
  • Tomcat updated to 8.5.57
4.7.0 June,
  • Java 11 support
  • Tomcat 9 support
  • Removed Java 7 support
4.6.4 May,
  • Add session fixation attack prevention
  • Disable outlines for inputs in browsers
  • Minor bug fixes
4.6.3 September,
  • Various fixes for IE
  • Prevent IE from enabling a compatibility view mode in IE
  • Automatically enable Xvfb in non-headless mode on Linux
  • Update jQuery and jQuery UI to the latest version
4.6.2 July,
  • Updated library components
  • A few minor UI fixes
  • Bug fixes
4.6.1 January,
  • Smooth handling of JLayeredPane elements enabled
  • Scrolling for JTable elements stabilized
  • A few other UI fixes and improvements have been made
4.6.0 September,
  • Tomcat upgraded to version 8
  • JDK 1.8 support enabled
  • Other major libraries were upgraded as well
4.5.1 June,
  • A few fixes and improvements have been made
  • Some minor updates to EULA and Privacy Policy
4.5.0 September,
  • Stopped supporting JDK 1.5, 1.6.
  • Updated library components: Activation.jar,, Commons-io.jar, Commons-lang.jar, Custom_rhino.jar, Freemake.jar, Jackson-core-asl.jar, Jackson-mapper-asl.jar, Jna.jar, Phpsrvlt.jar, Platform.jar, Resourceaccelerate.jar, Urlrewrite.jar
  • A lot of minor improvements and couple of minor bug fixes were made.
4.4.3 July,
  • Issue with FontCalibration is resolved.
  • "openInNewTab" method works stable now.
  • Issue with download in multiple tabs is fixed.
  • Reloading issues with iframe is resolved.
  • Couple of minor improvements were made.
4.4.2 May,
  • Proper resize cursor behavior for dialog windows based on JDialog and its subclass ensured.
  • Operation of SwingSet2 component in Firefox was improved.
  • A lot of minor bugs were fixed.
  • AjaxSwing works on Linux more stable now!
4.4.1 February,
  • Stabilized performance on Red Hat Linux after fixing several Java exceptions.
  • Ensured smooth running on custom CI instances after AjaxSwing startup procedure was improved.
  • Removed hard-coded .png files to support customization of URLs.
  • Fixed issues with input of special characters such as @, %, Ü etc.
  • Fixed problems with dialogues including visibility of titles and text alignment.
  • Optimized memory and thread usage for better performance and scalability.
4.4.0 January,
  • Improved isolation of web user sessions and focus management in a shared JVM to fix issues like comboboxes opened in concurrent sessions affecting each other.
  • Apps are more stable in IE now: no clipped group tree names, proper rendering of radio button and area borders etc.
  • A couple of scrolling issues fixed: load scroll panes are fully rendered, and column headings in Clients tables are moving correctly when scrolled.
  • Proper on-hover behavior of mouse pointer and links ensured.
  • Issues with missing borders in text areas fixed.
4.3.3 August,
  • CSRF protection added everywhere
  • Performance of submenus optimized
  • Custom templates enabled for all pages
  • Support for beginOperation() and endOperation() commands added
  • Apache fileuploader vulnerabilties mitigated - see a library update at mailing list
  • Stop supporting old versions of GoogleChrome, Firefox, Safari, Internet Explorer
  • Also we fixed some bugs related to fonts, hyperlink underlines etc.
4.3.2 December,
  • Fix for JDK 8 on Linux
  • Experimental Feature: Rich Text Editor, based on TinyMCE.
    Use richTextEditor property to enable it.
4.3.1 August,
  • JDK 7 support up to rev. 80
  • JDK 8 support up to rev. 51
  • Resolved the issue with AjaxSwing Console on JDK 8
  • Fixed RMI port vulnerability
4.3.0 July,
  • Introducing JDK 8 support (up to revison 25).
  • Various bug fixes and improvements
4.2.1 June,
  • Added DocumentValidation feature
  • Pass wordwrap policy from JTextArea to <textarea>
  • Resolved "Multiline label in JSlider" issue
  • Resolved "Scrollbars missing in JEditorPane" issue
4.2.0 March,
  • Added compatibility with Oracle JDK 1.7.0_40
  • Updated jQuery to 1.10.2, jQuery UI to 1.10.3
  • Server side file browsing (save & open).
  • Application menu highlight
  • Emulate actionPerformed in JTextField only if it hasn't occurred yet.
  • Other minor fixes and improvements
4.1.0 April,
  • Fix critical issues with conflicting EvenQueue
  • Improve performance
  • Improve component support and rendering
  • Gradients rendering improvements
  • Other minor fixes and improvements
4.0.0 May,
  • 100% match between what you see in Swing application and the browser
  • Speed. We have cut the processing overhead by 50%
  • Full keyboard and mouse support
  • Custom components support out of the box
  • Native focus events and focus traversal
  • It just works!
3.2.7 March, 2012
  • Improve JTable value and editor handling
  • Support hidden items in JMenu bar
  • Support non-visible divier in JSplitterPane
  • Fix blinking of images with SnapshotRenderer
  • Support cell selection in JTable
  • Use Alpha channel background in SnapshotRenderer
  • Fix page sometimes scrolled over top in Chrome
  • Improve focus support and table layout rendering
  • Other minor fixes and improvements
3.2.6 October, 2011
  • Support for JDK7
  • Force modal dialogs to always show on top
  • Support for inner component in JSplitterPane splitter bar
  • Support for Swing ArrowButton
  • Fixed possible share of ClientAgent between agents (fix that was previously suggested by you)
  • Re-validate browser cache for CSS and JavaScript if they are changed (eg if AjaxSwing is updated)
  • Fixed backspace invoking "Back" when clicked on readonly field
  • Added drag and drop support for SnapshotRenderer
  • Added drag and drop gestures API support
  • Support drag and drop for table rows and tree nodes
  • Support one touch expand/collapse on vertical slider in JSplitter
  • Other minor fixes and improvements
3.2.3 December, 2010
  • Several users can now download files with same name from different ClientAgents
  • Fixed JList rendering on large lists
  • Fixed JTable updating when no editor installed on table
  • Improved JTable automatic changes detection
  • Fixed error page displaying "null" instead of error message
  • Fixed JEditorPane invalid size when "<br>" used inside HTML content
  • Fixed JTable issues with multiple row selection in browser
  • Fixed JTextField invalid update with "\" appearing in value
  • Support for changes to JPopupMenu while it's visible
  • Corrected invalid URLs to
  • Other minor fixes and improvements
3.2.2 December, 2010
  • Improved browser side validation for numbers
  • Fixed JComboBox rendering issues (empty gaps, background color, list size)
  • Improved JTable updating with custom editors
  • Improved JSlider updating (inverted support, wrong values fixed)
  • Fixed issues with TitledBorder rendering
  • Improved i18n support (do not display exception, JavaScript i18n)
  • Implemented support for undecorated JDialog
  • Improved ajax scrolling for JTable
  • Other minor fixes and improvements
3.2.1 November, 2010
  • Tuned MultiLanguage(I18N) Support
  • Added new I18N Languages
  • Fixed upload large files issue
  • Other small fixes and improvements
3.2.0 October, 2010
  • Added MultiLanguage(I18N) Support
  • All messages displayable to the user are externalized
  • Provides API for defining user preffered browser locale
  • Provides API for setting locale from Swing Application
  • Groups agents in JVMs by locale (Locale.setDefault() on JVM level)
  • Other small fixes and improvements
3.1.1 October, 2010
  • Fixed dialog z-index issue when third level dialog appeared below others
  • Added support for inverted property in JSlider
  • Added support for invisible items in JMenu (were renderer as visible before)
  • Fixed JMenu rendering when it contains normal components (labels, panels, etc)
  • Improved ajax table scrolling
  • Added support for rendering JTableHeader on top a the table while you scroll it
  • Improved rendering of TitledBorder, support difference title placement and border styles
  • Fixed exception in TemporaryFileRemover thread
  • Improved layout for JScrollPane, JComboBox, JCheckBox, JButton
  • Other small fixes and improvements
3.1 July, 2010
  • Added support for ajax scrolling in scrollpanes and tables
  • Added drag and drop support
  • Performance improvements
  • Added browser timezone support
  • Added dynamic tooltips
  • Improved tooltip support
  • Fixed problem with updating scroll position when it was changed by application
  • JScrollPane now saves Scroll Position from last submit
  • Various small bug fixes
3.0 January, 2010
  • Brand new Light theme that makes applications shine.
  • JTree now support components with different height for each node.
  • JPopup now support custom components inside it.
  • JPopup now support input field inside it.
  • JList now support updates for custom components inside it.
  • We can now specify custom JS code that should be appended to page from client side.
  • We now have property in conf file to reduce font size
  • Fixed JPopups not showing some times. Fixed JPopup's now showing after popup in inner dialog.
  • Fixed IE showing it's own context dialog on right click when need to show popup dialog.
  • JSlider now renderes labels, fixed JSlider bar position
  • JSlider now support disabled state
  • Now you can't put JSlider bar between tick if stickToTicks in enabled in Swing
  • Added support for JSpinner component
  • JTextFiled now renders borders only when Swing renders them
  • Click "enter" in JTextArea now create new line instead of submitting dialog
  • Added support for JSeparator component
  • JTree now support custom cell renderers/editors and updates for them
  • JList now support custom cell renderers/editors and updates for them
  • JComboBox now support custom cell renderers
  • In-Place editing for table cells and tree cells
  • Added support for server side JPopupMenu
  • JTable now support column selection for right click and double click
  • JTable now not refresh table when user change selection in browser (you can now click on checkbox in different row with dynamic event, and it would work correct)
  • JButton now support mouse listeners, not only action listeners
  • Automatic support for buttons that shows popup on event
  • New customizable error dialogs for both server side errors and javascript errors, with support of custom css, custom title/text, and auto-refresh feature
  • Added configuration parameter to pass text to swing in JEditorPane (sometimes required for correct layout)
  • HTTP request info is now available to Swing app via ClientAgent
  • Support FileOpener when rendering JRadioButton
  • Custom/editable JComboBox now renders using system styled button
  • Added support for custom component in JTable header
  • Support for different height in JTable header, support for header label wrapping
  • Support for resizing columns in JTable
  • Click in JTable, but outside any row now clears selection
  • Support for file names with characters like " " in export dialog
  • Checkbox/RadioButton are now toggled by clicking on text, not just on the box
  • Support for selectedDisabled state for icons
  • You can now configure to remove temp files that are larger than agent.cleanupTempFiles.smallerThan not on session end, but when they become older than agent.cleanupTempFiles.afterTime
2.5 July, 2009
  • Fast JTable rendering and client side pagination
  • Automatically run applyPatches script every time startServer.bat is run if JDK version has changed since the last run
  • Standalone JScrollbar support
  • -Xbootclasspath Java startup parameter is optional in router process when all applications have inProcess=false
  • Optimized JInternalFrame updates and rendering
  • Support client side validation thru client properties in addition to with Validable interface
2.4 June, 2009
  • Support for mouse event listeners: mouse clicks, mouse down, mouse over are now supported
  • Automatically display browse dialog for FileOpenDialog instead of going through intermediate dialog when support interface FileOpener is implemented
  • Action listeners are now supported for JTable cells
  • Performance improvement - if there are no changes on the client (keyboard presses or non-event related mouse clicks) no updates are done to server components
  • Support rollover icons for buttons (see SwingSet2 demo)
2.3 December, 2008
  • Safari brower support
  • Google Chrome brower support
  • Server-side push that allows pushing the updates to the browser without user interaction
2.2 August, 2008
  • Server-side rendering and emulation optimizations that improve performance by up to 50%
  • Client-side JavaScript optimizations that improve performance by up to 50%
  • Firefox 3.0 compatibility
  • Scroll positions retention between the requests
  • Visual improvemens throughout the product
  • Numerous bug fixes
2.1 May, 2008
AjaxSwing 2.0 January, 2008
  • Product renamed to AjaxSwing
  • AJAX functionality for component rendering and asynchronous communication with the server
  • Asynchronous submit of client-side events and operations
  • Partial page updates only to changed components
  • Dramatic speed improvements in rendering and request processing
  • Row context menus in JTable (see TableSupport)
  • Custom node icons and context menus in JTree (see TreeSupport)
  • Improved scripts on UNIX platforms
  • Allow environment variables and directories of JARS in agent.classPath
  • Drop shadows are added to windows
WebCream 6.0 July, 2007
  • Revamped rendering algorithm that now produces strictly complient HTML (bye-bye quirks mode)
  • Client-side sorting of JTable
  • Client-side filtering of JTable
  • Client-side splitter that actively resizes components in the browser
  • Client side validation via Validatable interface
  • Automatic resizing of maximized JFrame when the browser window is resized
  • Disable all components on submit and reenable them on focus gain
  • Support JFileChooser with SAVE_DIALOG option via file download
  • Built-in WYSIWIG Editor with spell checking and HTML formatting
  • Improved directory structure for scripts and stylesheets
  • Custom stylesheet for clean customization
  • Proper support for internal frames (all frames should be rendered, user should be able to click on frame header to switch to it)
  • Titled borders now use <fieldset> tag
  • keepAlive configuration parameter to keep server session alive by pinging the server as long as the browser window is open
  • notifyBeforeExpiration configuration parameter to display a notification in the browser allowing the user to prevent the session from expiring
5.2 October, 2006
  • JFileChooser view details now allows traversing into a subdirectory
  • Titled border rendering is improved for IE and Firefox
  • Correct processing of undecorated windows (no title and maximize/resize buttons are rendered)
  • Stack trace of the exception is now written into the log file
  • Client Agent now stores last thrown exception throughout the processing of a request
5.1 January, 2005
  • Automatic generation of images using SnapshotRenderer for images, dynamically generated by the application
  • A parameter specifying the quality of JPEG image generation for SnapshotRenderer is added
  • Support for multiple selection in JTree
  • Multiple port range for RMI registry
  • Tomcat 5.0 is shipped as the built-in web server
5.0 June 12, 2004
4.6 February 2, 2004
  • Scrollbar position is retained between page submits
  • Improved rendering for Netscape 6+ browsers
  • Dialogs and frames have different CSS styles for "window" and "border"
4.5 November 11, 2003
  • Dynamic event emulation refactored to ensure that the component that triggered the event is updated last. This prevents data race conditions for dynamic windows.
  • Improved rendering of JTable
  • Improved rendering for Netscape 6+ browsers
  • JFileChooser can be rendered as a file upload from the client machine. Instead of browsing the server disk, JFileChooser be default now allows users to upload files to a temporary directory on the server
  • Tomcat 4.1.24 is included as a built-in web server
  • Action emulators are added to allow customization of action emulation and to give more flexibility for integration
  • Dynamic events enabling and disabling is now configurable on window and component level
  • Images on tabs are now supported for JTabbedPane
4.4 February 10, 2003
  • JTable HTML rendering now supports clicking on column headers for sorting
  • Browser cursor is now set to hourglass after a form is submitted to avoid double submission
  • Cell renderers and updaters are fully supported for JTable
4.4 December 12, 2002
  • SnapshotRenderer provides universal support to any component
  • Implement a generic custom renderer that produces a GIF and forwards mouse clicks
  • JDK 1.4.1 is now supported
  • Custom error.jsp and exit.jsp allow specifying a custom page that is displayed by AjaxSwing on error or session exit
  • Added "auto-refresh" and "auto-submit" features that refresh/submit the page every X seconds
  • Support for JFileChooser to browse the local disk contents
4.3 September 10, 2002
  • Dynamic clustering of JVMs for best performance and scalability
  • JComboBox mapping to HTML is enhanced to have a drop down list
  • Splitters are now resizable on HTML page
  • AjaxSwing allows specifying alternative custom responses to actions and events sent by the HTML page
  • JavaHelp is supported thru action overrides
4.2 June 4, 2002
  • JDK 1.4 support
  • Standard Edition now allows one custom renderer and one custom updater
4.1 May 8, 2002
  • Improved scalability by adding a "warmup JVM" capability. For stand-alone mode AjaxSwing now pre-starts a JVM. For both in-process and stand-alone modes AjaxSwing now pre-initializes the graphics subsystem and Swing inside the JVM
  • Internationalization support is added. AjaxSwing now properly renders applications that do not use English.
4.0 November 4, 2001
  • New rendering engine that uses positioned components
  • True one-to-one matching between generated HTML and Java GUIs
  • IE 6.0 and Netscape 6.0 support
3.1 November 18, 2000
  • New HTML themes
  • Now you can easily pass parameters to applets and customize getCodeBase and getDocumentBase() return values
  • API exposed for fine control of AjaxSwing engine in multithreaded applications
3.0 October 12, 2000
  • JDK 1.3 support
  • JTree, JSlider, JScrollBar and JProgressBar support
  • Major improvements in the events emulation for GUI applications and multithreading
2.0 March 22, 2000
  • First public release of AjaxSwing
  • AjaxSwing now ships with a built in web server
  • Support for JTable, JScrollPane and other major UI elements
WebCream 1.0 November 12, 1999
  • Unofficial release of AjaxSwing which has the rendering and UI engine complete but very limited support of controls