Releases: webfirmframework/wff
wffweb-3.0.1
Release changes
This release contains some major changes and mainly for thread-safety
improvements level 1. Some internal code syntax is upgraded to Java 8
version as part of code optimization.
Bug fixes and improvements:-
Thread safety improvements: will be useful when using it as wffweb app
in a multi-threading manner.
Thread safety improvements are done in lot of needful places, Style
class is also made thread-safe, now Style.getCssProperties returns an
unmodifiable Collection to avoid any thread-safety loophole.
Replaced getBytes("UTF-8") method with getBytes(StandardCharsets.UTF_8)
wherever possible for better optimization.
Fixed an existing deadlock bug while using appendChild method.
Major improvement/change for holdPush and unholdPush in BrowserPage
when holdPush/unholdPush method is called by multiple threads from the same browserPage instance, if the holdPush is called three times the unholdPush needs to be called three times to unhold the push (in previous versions one unholdPush call will unhold the push).
Optimizations and performance improvements:-
reduced the amount of sending data from server to client.
Optimized code for performance improvements
New features:-
New feature methods in CssColorName
Added beforeRender, afterRender, beforeToHtml, afterToHtml in
BrowserPage to override and use
Implemented other base64 hash methods, setEnableDeferOnWffScript,
setAutoremoveWffScript in BrowserPage
Implemented getCssPropertiesSize, isCssPropertiesEmpty in Style class
Implemented removeHeaderId, removeHeaderIds, removeAllHeaderIds in
Headers class
Basic implementation for IsMap, UseMap, Nonce class
Implemented getIdBasedJsObject(String functionName, Collection<String> onlyForTagNames), getIdBasedJsObject(String functionName),
getIdBasedJsObjectPlus(final String functionName, Collection<String> additionalTagNames) feature methods in Form class
New feature methods in JsUtil: getJsObjectForFieldsValue( Map<String, Object> jsKeyAndElementId, String alternativeFunction),
getJsObjectForFieldsValue(Set<Object> ids, String alternativeFunction), getJsObjectForFieldsValueWithAltFun(String alternativeFunction, String... ids), getJsObjectForFieldsValue(Set<Object> inputIds, Set<Object> checkboxIds), getJsObjectForFieldsValue(Set<Object> inputIds, Set<Object> checkboxIds, String alternativeFunction)
New feature methods in Form:- getIdBasedJsObject(String functionName, Collection<String> onlyForTagNames), getIdBasedJsObject(String functionName), getIdBasedJsObjectPlus(String functionName, Collection<String> additionalTagNames).
New feature methods in AbstractHtml: getFirstChild, getChildAt,
prependChildren etc...
wffweb-3.0.0
New features:-
Upgraded Java version to 8
New finder methods in TagRepository
Improvements
Performance improvements & parallel processing in TagRepository
wffweb-2.1.15
Release changes :
New features:-
Some times it is required to update the attribute value state in the server but it may not be required to synch this change to the client.
Eg:- In the input type text, the value attribute's value is changed whenever the user changes its value and this value may need to be updated from the client to server but the server need not sync the value again to the client. In such case there needs a server method which doesn't synch value to the client so
Implemented setAttributeValue(boolean updateClient, String value) in needful attribute classes.
Implemented setValue(boolean updateClient, String value) in ClassAttribute, Rel and AutoComplete attribute classes. The updateClient represents whether to sync this attribute value to the client browser page.
Declared needful constants in AutoComplete
Improvements and bug fixes
Performance improvements & optimizations, some minor bug fixes and code improvements
wffweb-2.1.14
This is a patch release for internal improvements.
Release changes :
New features:-
Declared needful constants in HeightCss and WidthCss
Improvements
Atomic operation improvements
wffweb-2.1.13
Release changes :
New features:-
#46
A method resetHierarchy is implemented in AbstractHtml tag. It resets
the hierarchy of this tag so that it can be used in another instance of
BrowserPage. If a tag is used under a BrowserPage instance and the same
instance of tag needs to be used in another instance of BrowserPage then
the tag needs to be reset before use otherwise there could be some
strange behaviour in the UI. To avoid compromising performance such
usage never throws any exception. NB:- Child tag cannot be reset, i.e.
this tag should not be a child of another tag.
#45
Implementation for getIdBasedJsObject in Form tag class
Implemented BrowserPageContext#exists(BrowserPage) method which checks
the existence of the given BrowserPage instance in the context.
Declared constants STYLESHEET and NOOPENER Rel attribute class
Implemented some feature methods in Form tag class related to generating
js object string.
Implemented method to load all tag classes in TagRegistry
Implemented method to load all attribute classes in AttributeRegistry
Improvements and bug fixes
Fixed bug #44
WffBMObject was unable to parse when its value is an empty array. Eg:-
when parsing bm bytes of {'key' : []} WffBMObject was throwing exception
because an empty WffBMArray is represented by no bytes.
Fixed bug #43
Due to this bug the bm bytes received from client caused parsing error
at server side
Exception:- com.webfirmframework.wffweb.WffRuntimeException: Not a valid
Wff BM Object bytes
Fixed bug #42
The method AbstractHtml#appendChildren throws exception while using
NoTag in its argument tags.
Bug fixes in UrlCss3Value css class
Improvements in JsUtil
Major minification improvements for generated JavaScript
Optimization in AbstractEventAttribute class
Improvements in handling websocket communication.
Javadoc improvements
Needful test case implementations
wffweb-2.1.12
Release changes :
New features:-
Implemented the following methods for tags
toBigHtmlString methods
toBigOutputStream methods
Improvements and bug fixes
Thread safety improvements for AbstractHtml#toHtmlString() method
Improvements for AbstractHtml#toHtmlString() method to return the modified html
string (requested ticket: #41)
Improvements for AbstractHtml#setChildren() method
Minor performance improvements
wffweb-2.1.11
Release changes :
New features:-
Implemented the following methods in TagRepository
findTagsByTagName(String tagName)
findOneTagByTagName(String tagName)
findOneTagAssignableToTag(Class)
findTagsAssignableToTag(Class)
findAttributesByTagName(String)
executeJs(String)
execute(BrowserPageAction)
Implemented an alternative class SrcCssProperty for Src css property
class to avoid naming conflicts with Src attribute class.
Implemented shared data methods in AbstractHtml which is common for the
whole tag hierarchy.
setSharedData
getSharedData
Implemented AbstractHtml#getRootTag which returns the root tag (top
level tag) in the whole tag hierarchy.
Improvements and bug fixes
Security improvements
Test case updates and improvements
wffweb-2.1.10
Release changes :
This is a bug fix and improvements release.
Improvements and bug fixes
Thread safety improvements for AbstractAttribute
Fix for side effects caused by the js optimization in the previous
release.
Some improvements in handling websocket connection
wffweb-2.1.9
Release changes :
New features
Implementation for HTML5 attribute Open - ticket #32
Implementation for Optimum attribute - ticket #33
Implementation for Defer attribute - ticket #34
Implementation for Default attribute - ticket #35
Implementation for DirName attribute - ticket #36
Implementation for High & Low attribute classes - ticket #37
Implementation for Reversed attribute class - ticket #38 Implementation for Poster` attribute class - ticket #39
Major Improvements and bug fixes
ClassAttribute contains methods to return the class names it contained.
The ClassAttribute#getAttributeValue now returns the value string
instead of null - #40
Style#getAttributeValue is also returning value string instead of null.
Major bug fixes and optimizations for performance improvements in
TagRepository.
Improvements for Form#getNameBasedJsObject to contain name.checked in
its generated string if type attribute's value is radio.
Major bug in AbstractAttribute pushing changes to the client when its
value is changed by setAttributeValue method. It's an internal bug fix.
Implemented getter setter methods for jsPreFunctionBody and jsPostFunctionBody for event attributes.
Assigned a default 25000ms ws hearbeat interval for BrowserPage
wffweb-2.1.8
Release changes :
New features
Implementation of TagRepository. It contains bugs in this version which will be fixed in the next version.
Method to set websocket client reconnect time in BrowserPage.
Implemented client ping for socket communication
Major Improvements and bug fixes
Optimization for performance improvements and less memory consumption.