ItsNat - Release Notes
Version 1.3.1
- Fixed bugs:
- Regression: <script> elements in plain text are not correctly managed in some cases
- Feature Showcase:
- Fixed a bug removing data in "Stateless Free List Example" example
Version 1.3
- 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
- Added methods
- ItsNatDocument.isCreatedByStatelessEvent()
- ItsNatEvent.getExtraParamMultiple(String)
- Fixed bugs:
- Sent data is not decoded with UTF-8 (regression introduced when GAE was supported)
- SVGWeb doesn't work in MSIE 8 (because SVGWeb works different in MSIE 8)
- ItsNatDocument.getAttributeNames() returns values instead of names
- ElementTable.setTableValues(List<List<Object>>) provided data is not correctly copied
- ElementTable.setTableValues(Object[][] values) provided data is not correctly copied
- Removed support of many old browsers.
- Feature Showcase:
- Added two examples working in stateless mode
- Fixed some SVG example
- Fixed a bug launching servlets (both must define the same values in
ItsNatServletContext
- Improved scripts to upload the application to GAE
Version 1.2
- CHANGED LICENSE TO BUSINESS FRIENDLY LGPL v3 !!
- Added methods:
- ItsNatServletConfig.isUseSyncXHROnUnloadEvent()
- ItsNatServletConfig.setUseSyncXHROnUnloadEvent(boolean)
- ItsNatDocumentTemplate.isUseSyncXHROnUnloadEvent()
- ItsNatDocumentTemplate.setUseSyncXHROnUnloadEvent(boolean)
- Added to Reference Manual: "5.1.2.23 Communication mode of internal unload event"
Version 1.1.2
- Fixed an important bug on JavaScript generation (usually MSIE v6-8 is affected),
UPGRADE RECOMMENDED.
- 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).
- Fixed bug:
NumberFormat
and DateFormat
shared objects specified
in ItsNatDocumentTemplate
or ItsNatServletConfig
are now cloned
per ItsNatDocument
because they are not thread safe and cannot be shared
between documents.
- Added methods:
ItsNatDocFragmentTemplate.loadDocumentFragment(ItsNatDocument,ItsNatServletRequest,ItsNatServletResponse)
ItsNatHTMLDocFragmentTemplate.loadDocumentFragmentHead(ItsNatDocument,ItsNatServletRequest,ItsNatServletResponse)
ItsNatHTMLDocFragmentTemplate.loadDocumentFragmentBody(ItsNatDocument,ItsNatServletRequest,ItsNatServletResponse)
Version 1.1.1
- 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.
- Data size on serialization has been heavily reduced in some cases (many partial page changes
with attribute ids). Batik management of elements with ids has been fully changed
avoiding unnecessary cached elements (serialized alongside the session).
- New methods:
- ItsNatServletContext.isSessionSerializeCompressed()
- ItsNatServletContext.setSessionSerializeCompressed(boolean)
- ItsNatServletContext.isSessionExplicitSerialize()
- ItsNatServletContext.setSessionExplicitSerialize(boolean)
- Workaround for a bug of
javax.swing.text.AbstractDocument
(this error is still present in Java 1.6),
registered DocumentListener
and UndoableEditListener
listeners are not serialized.
This class is used as default data model of text components.
- Fixed:
NameValue
is not serializable.
- Fixed problems in applications with two or more ItsNat based servlets.
- Fixed other bugs.
If you are using session replication, upgrading is strongly recommended.
- Added method:
ItsNatInclude.includeFragment(String)
- Supported SVGWeb 2010-02-03 "Lurker Above" (previous versions deprecated).
- Fixed bug: XHTML namespace and another different namespace declared in HTML element causes reinsertion of this element.
- Fixed bug: SVGWeb does not work in attached clients in full remote control mode (SVGWeb recently changed to SVGLoad instead load
event to notify when it is ready).
- Fixed regression introduced by version 1.1 in Pocket IE: fail accessing attributes and
content of HEAD element.
- Reference Manual: "2.6.3 Session management" and "2.6.4 Google Application Engine support" have
been rewritten because in spite of some limitations, session replication is now a first class
citizen in ItsNat.
- Feature Showcase:
- Fixed a bug launching servlets (both must define the same values in
ItsNatServletContext
- Improved scripts to upload the application to GAE
Version 1.1
- 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.
New Methods:
- ItsNatDocument.disconnectChildNodesFromClient(Node)
- ItsNatDocument.reconnectChildNodesToClient(Node)
- ItsNatDocument.isDisconnectedChildNodesFromClient(Node)
Feature Showcase: Added "Core/Extreme Mashups/Disconnect Nodes from Client" example.
- Added tolerance to intrusive nodes inserted alongside HEAD and BODY elements by non-ItsNat JS libraries (usually browser extensions).
In previous version of ItsNat, extraneous elements were automatically removed.
- Added tolerance to intrusive nodes inserted in the end of HEAD and BODY elements by non-ItsNat JS libraries
(usually browser extensions and other JS libraries).
In previous version of ItsNat, only one element introduced by FireBug was ignored.
- Improved speed in server when detecting whether innerHTML can be used generating JavaScript code
(notably when inserting big subtrees).
- BlackBerry Browser of JDE 6.0 (Torch 9800) is officially supported in spite of it worked on v1.0.
This new browser is now WebKit based very different to previous versions.
- Supported SVGWeb 2010-08-10 (Owlephant), previous version deprecated. ItsNat also adds a workaround
for a SVGWeb bug (event listeners are not correctly removed in removeEventListener).
- Fixed bug (regression): events in Batik applet are not working.
- Workaround for a Chrome bug: Event.timeStamp is not an integer in Chrome.
- Reference Manual:
- Added "6.23 SAVING SERVER MEMORY: DISCONNECTED NODES".
- Because of improved tolerance to DOM modifications in client by non-ItsNat JavaScript
code, the chapter "6.42 EXTERNAL JAVASCRIPT LIBRARIES AND BROWSER EXTENSIONS" has
been rewritten.