Release Notes of version 1.4
First release uploaded to JCenter/Maven.
Goodbye Symbian, all BlackBerries and Internet Explorer 6/7, only IE 8 is still supported. Minimum version Android stock browser is 4.0.4. Minimum version of Safari iPhone/iPad/iPod is iOS 7.1. Minimum version of Safari Mac OS/X is 6.0.5. Detected MSIE Edge (v12).
Supported current Opera and Opera Mobile Android based on WebKit, old Opera browsers based on Presto (desktop, Opera Mobile Classic Android and Opera Mini) are still supported, the only reason is because Opera Mini is still a supported browser by Opera company and is based on Presto.... read more
Fixed important bug:
New stateless mode
Updated to Java 1.5 (source and binary) as minimum (compiled with Oracle JDK 1.6), generics have been added to some public method
* CHANGED LICENSE TO BUSINESS FRIENDLY LGPL v3 !!
* Added methods:
* Added to Reference Manual: "126.96.36.199 Communication mode of internal unload event"
* Interface ItsNatHTMLDocFragmentTemplate moved to org.itsnat.core.tmpl package.
* Session is discarded when something goes wrong on serialization (session replication enabled),
this allows a new ItsNat session is created and you have some option to avoid the problem (for
instance attached clients do not work fine when session replication is enabled in Google App Engine). ... read more
This release adds first class support to cloud environments like Google App Engine with no support of sticky sessions (only session replication).
* Very improved support of session replication (ItsNatServletContext.setSessionReplicationCapable(boolean) set to true), for instance in Google App Engine (GAE):
- Memory leaks have been fixed because the cleaner thread (CleanerThread) of Batik
cannot be launched in GAE. ItsNat NO LONGER needs this cleaner thread and is not
launched anymore. ... read more
* New feature "Disconnect Nodes from Client": this feature, complementary to node caching in templates to save server memory, allows removing nodes in server but not in client saving server memory, the client DOM subtree can be changed freely. Use this technique when you need to render in some way a DOM subtree (of course in server) and not going to be changed anymore.
Disconnection is reversible (client is again in sync with server) calling ItsNatDocument.reconnectChildNodesToClient(Node) or adding a child node to the node which content was disconnected. ... read more
ItsNat v1.0 is the result of years of investigation, development and refinement to provide a flexible, simple and powerful tool for development of web application and sites intensive on AJAX.
This is a summary of new features:
* Added <script> based client/server communication for events besides
AJAX (see CommMode new name of SyncMode, atribute names and values have changed).
This new mode has been only tested in MSIE 6+ and latest FireFox, Chrome, Opera
and Safari browsers, this new feature may work in any other browser supported
by ItsNat (including mobile ones). ... read more
* In this release Xerces DOM has been replaced by Batik DOM (not included SVG) , Batik DOM is extended in ItsNat to support HTML DOM APIs and to fix some serious threading issue and providing even mode transparency following the approach "The Browser Is The Server". For instance ((EventTarget)element).addEventListener("click",listener,false) registers now a remote event listener.... read more
In this release, ItsNat has been heavily refactored to prepare it for full remote control support. In fact this feature is already present but not enabled, contact if you need this feature now.
More features have been added like:
* Final support of modal layers (ItsNatModalLayer)
* Improved default renderers.
* Event capturing simulation in MSIE 6+
* Event capturing and bubbling simulation in Pocket IE (support of this browser has been highly improved).
* Improved default in place edition. It works in all browsers including Opera Mini and Pocket IE.
* Event listener chain control (ItsNatEventListenerChain)
* Developer control of the response when session is expired or page not found or page lost in normal requests and remote view/control.
* Comet is now event based.
* New browsers supported like NetFront 3.4, S60WebKit since S60 3rd FP1, S40WebKit (since S40 6th v0.9), IE Mobile 6 of WM 6.1.4 (IE 6 on 6), Internet Explorer v8 etc.
* Fixed some bugs and added more workarounds to avoid bugs in browsers.
* Manual and Feature Showcase updated with new features and APIs.... read more
In summary this release adds new mobile browsers and a prerelease of "modal layers" (to build modal panel/windows).
• New browsers with AJAX officially supported:
- Opera Mobile 9.5 beta
- Opera Mobile 8.65
- Fennec (a.k.a FireFox Mobile) 1.0a1 (tested Windows desktop version)
- SkyFire 0.8
- BlackBerry Bold (JDE 4.6) and Storm (JDE 4.7)
• Improved referrers support and back/forward buttons (avoiding page caching) on Opera Mobile 8.6x. Only IE Mobile, Opera Mini and BlackBerry have problems with referrers and back/forward buttons (no automatic reload, page caching cannot be avoided). ... read more
Changes in this minor release:
* Fixed bug: client/server node path resolution fails in some specific circunstances.
* Arora browser is recognized now as a QtWebKit browser.
* QtWebKit for Windows CE works with ItsNat. There is no official release of this browser and current state is still buggy.
o Changed "6.9 COMET NOTIFIER" the statement that a blocking thread solution does not scale is currently being debunked (see http://paultyma.blogspot.com/2008/03/writing-java-multithreaded-servers.html\).... read more
This release is mainly a bug fix release including support of new web browsers.
• Improved security against tampering and hijacking.
• More refactoring, more quality.
• New officially supported browsers:
o Google Chrome Beta
o FireFox v3
o Android v0.9 Beta r1 (deprecated m5-rc15)
o QtWebKit of Qt Embedded 4.4 (tested 4.4.1 Linux)
• Workaround for the iPhone 2.0 bug: change event not fired on select elements with defined "size" or "multiple" attributes. Solution: a change event is fired when a blur event is fired. More info about the bug:
• Documents are automatically invalidated when the session is lost, this affects, for instance, to remote views and comet notifiers (automatically stopped) avoiding "ever alive" documents when a user never closes an ItsNat page (AJAX) or the browser cannot guaranty unload notification when the page is closed (Opera 9, some mobile browsers etc).
• Fixed the lifecycle of remove views: event in load phase not dispatched to listeners. Lifecycle of remove views is now clearly well defined.
• Fixed: the attribute/property "value" of OPTION is set as boolean.
• Fixed: "auto-build components" feature not working in XML documents.
• Fixed: current value of an ItsNatHTMLTextArea component is not shown when the component is used for editing inplace the second time and successive.
• Fixed: editing in place doesn't work on iPhone.
• Fixed: editing in place using a select combo doesn't work on S60WebKit.
• Added ItsNatBoot, this is the new root class, now ItsNat is an interface.
• Added registry for global event listeners per servlet, per template and per document.
• Improved security of variable resolvers.
• Added methods, changed names etc. See Release Notes.... read more
* ItsNat engine has been deeply refactored to fit the new features, quality and extensibility of the internal architecture is highly improved.
* Support of new desktop browsers:
o Safari 3+ support (tested 3.0 on Mac and 3.1 on Windows)
o Opera 9+ support (tested 9.26).
o QtWebKit (Qt 4.4)
* Some or complete support of mobile browsers including AJAX: Opera Mini 4, Opera Mobile 8.6, NetFront 3.5, Minimo 0.2, IE Mobile of Windows Mobile 6, iPhone/iPod Touch/iPhone SDK, Android (m5-rc15), S60WebKit (S60 3rd), Iris 1.0.8 and QtWebKit (Qt 4.4) based browsers.
* Remote control now is browser independent!! Now another page open with any supported browser can be monitored using any supported browser.
* Pure SVG documents now have AJAX events and server state (browsers with SVG support)!! Now SVG documents (served as image/svg+xml) are first class AJAX capable documents much like X/HTML documents are.
* Markup driven feature of forms: server forms can be automatically updated with client state (using components behind scenes configured as "markup driven"). Explicit use of ItsNat components is not necessary in this mode.
* Improved client/server synchronization on form controls. This ensures the client shows the state of the server after loading, and if components are used, form controls are ever in sync with the server.
o In spite of pages are requested from server, Opera (desktop) and Safari autofill forms with previous values (usually returning with back button). These changes are automatically reverted by ItsNat to the server state. This is not a problem in FireFox, MSIE and others (when the page is requested to the server autofill is disabled).
o Forms changed by the user while the page is loading (before the initial script is executed) are reverted to the server state.
* Configurable mobile modes in components:
o Keyboard is not needed for selection in "free" components (CTRL key "ever" pressed).
o Joystick mode: stylus/mouse is not needed to click in "free" components (useful for mobile devices without touchscreen).
* Method ItsNatDocument.toDOM(String) to convert a String to DOM (DocumentFragment) on the fly (use similar to innerHTML).
* "Reload" button or direct URL no longer lost the referrer in Internet Explorer.
* Dispatching order of DOM event listeners in MSIE is the same as W3C browsers (first registered/first dispatched).
* Updated CyberNeko HTML Parser to 1.9.7 (Apache 2.0 license).
* Bug fixes
* Added, updated, removed methods
* New examples in the Feature Showcase (pure SVG, markup driven forms, mobile modes etc)
* Feature Showcase packaged as a NetBeans 6.1 project.
* Updated reference manual
Released ItsNat v0.2
This release introduces some important new features:
* License text is updated to the final AGPL v3 version as published by GNU
* New “server-sent events” (events fired by the server) option. Events created by the server now can be dispatched directly to the server DOM with no browser interaction, following the W3C DOM Events standard including “capturing” and “bubbling” phases. This feature is unique in the server-centric web development world.... read more