GitHub repository: NaluKit/nalu
Description: Routing based application framework for GWT 2, GWT 3 & J2CL
Topics: client-side, eventbus, gwt, j2cl, java, mvp, mvp-architecture, router, routing

2.20.0: tag_name: 2.20.0
body: Relase of version 2.20.0

This release uses GWT 2.11.0 and requires at least Java 11.
2.12.7: tag_name: 2.12.7
body: Relase of version 2.12.7
2.12.6: tag_name: 2.12.6
body: Relase of version 2.12.6
2.12.5: tag_name: 2.12.5
body: Relase of version 2.12.5
2.12.4: tag_name: 2.12.4
body: Relase of version 2.12.4
2.12.3: tag_name: 2.12.3
body: Relase of version 2.12.3
2.12.2: tag_name: 2.12.2
body: Relase of version 2.12.2
v2.12.1: tag_name: v2.12.1
body: Fixed:
#304 - injection of parameters in composites does not work (in some cases)
#306 - make bind-method for handlers optional
v2.12.0: tag_name: v2.12.0
body: Implemented:
#302 - Controller: add new unbind-method
v2.11.3: tag_name: v2.11.3
body: Fixed:
#298 - use INSTANCE instead .get() to get a factory instance
#299 - RouterstateEvent behavior is strange in case inside a routing another routing is triggered ... 
v2.11.2: tag_name: v2.11.2
body: Fixed:
#296 - shells with composites defined in module does not work

v2.11.1: tag_name: v2.11.1
body: Fixed:
#291 - Javadoc warnings for generated classes (@mamta & @TDesjardins: Thanks for contributing!)
#293 - shell: composite handling is buggy
v2.11.0: tag_name: v2.11.0
body: Implemented:
#270 - update GWT groupId to >>org.gwtproject<<
#274 - Remove annotation >>BuildWithNalu<< as it is not used
#275 - Update plugin & dependency versions
#278 - allow using composite in shells
#283 - NaluApplicationEvent: add method 'usingObject'
#284 - NaluApplicationEvent: add 'commandStore' and 'dataStore'
#285 - ShowBlockComponentEvent: add 'commandStore' and 'dataObjectStore'
#286 - HideBlockComponentEvent: add 'commandStore' and 'dataObjectStore'


Fixed:
#272 - Test Templates show some hard coded HEAD-SNAPSHOT version
#277 - @Composites-annotation can be added to other classes than controllers



v2.10.1-gwt-2.8.2: tag_name: v2.10.1-gwt-2.8.2
body: Fixed:

https://github.com/NaluKit/nalu/issues/266 - Logger does not respect 'sdmOnly' in case of using a custom logger
https://github.com/NaluKit/nalu/issues/267 - getHandlerRegistrations() method is set to deprecated, but it is used
https://github.com/NaluKit/nalu/issues/268 - Modules does not handle Eventhandler-annotation correctly
v2.10.1: tag_name: v2.10.1
body: Fixed:

#266 - Logger does not respect 'sdmOnly' in case of using a custom logger
#267 - getHandlerRegistrations() method is set to deprecated, but it is used
#268 - Modules does not handle Eventhandler-annotation correctly 
v2.10.0-gwt-2.8.2: tag_name: v2.10.0-gwt-2.8.2
body: Implemented:
#260 - Implement EventHandler-annotation

for more informations see: [Event Handling](https://github.com/NaluKit/nalu/wiki/08.-Eventbus#event-handling)
v2.10.0: tag_name: v2.10.0
body: Implemented:
https://github.com/NaluKit/nalu/issues/260 - Implement EventHandler-annotation

for more informations see: [Event Handling](https://github.com/NaluKit/nalu/wiki/08.-Eventbus#event-handling)
v2.9.0-gwt-2.8.2: tag_name: v2.9.0-gwt-2.8.2
body: Implemented:
#245 - Add support for passing object parameters to PopUpControllers
#246 - Submodules load version from parent pom
#247 - Refactor: ♻️ Make renamings of versions for unittests obsolete
#248 - Feature: ✨ Version wiki pages with code
#253 - IsCustomConfirmPresenter enhancement
#255 - Nalu Processor Test Resources Generation Cleaning

v2.9.0: tag_name: v2.9.0
body: Implemented:
#245 - Add support for passing object parameters to PopUpControllers
#246 - Submodules load version from parent pom
#247 - Refactor: ♻️ Make renamings of versions for unittests obsolete
#248 - Feature: ✨ Version wiki pages with code
#253 - IsCustomConfirmPresenter enhancement
#255 - Nalu Processor Test Resources Generation Cleaning


v2.8.0-gwt-2.8.2: tag_name: v2.8.0-gwt-2.8.2
body: Fixed:
#240 - make internal Nalu methods 'final'
#241 - Rename Router & ConfigurableRouter interface

Important note:
In case the `Router`- or `ConfigurableRouter`-Interface is used, they have to be renamed:

* **Router** -> **IsRouter**
* **ConfigurableRouter** -> **IsConfigurableRouter**
v2.8.0: tag_name: v2.8.0
body: Fixed:
#240 - make internal Nalu methods 'final'
#241 - Rename Router & ConfigurableRouter interface

Important note:
In case the `Router`- or `ConfigurableRouter`-Interface is used, they have to be renamed:

* **Router** -> **IsRouter**
* **ConfigurableRouter** -> **IsConfigurableRouter**
v2.7.2-gwt-2.8.2: tag_name: v2.7.2-gwt-2.8.2
body: Fixed:
#238  - removeUrlStartParameterAtStart=true only works in case a startRoute is present
v2.7.2: tag_name: 2.7.2
body: Fixed:
#238  - removeUrlStartParameterAtStart=true only works in case a startRoute is present
v2.7.1-gwt-2.8.2: tag_name: v2.7.1-gwt-2.8.2
body: Fixed:
#237 - Undesired behavior in case two controllers are using to the same route and and added to the same slot
v2.7.1: tag_name: v2.7.1
body: Fixed:
#237  - Undesired behavior in case two controllers are using to the same route and and added to the same slot
v2.7.0-gwt-2.8.2: tag_name: v2.7.0-gwt-2.8.2
body: Implemented:
#231 - Enable the use of {} to mark a path part as variable name

Fixed:
#227 - Error in a hashOnStart route will cause a routing loop
#230 - let build time return a Date instead of Timestamp
#234 - PopUpController: onBefroreEvent gets not fired
v2.7.0: tag_name: v2.7.0
body: Implemented:
#231 - Enable the use of {} to mark a path part as variable name

Fixed:
#227 - Error in a hashOnStart route will cause a routing loop
#230 - let build time return a Date instead of Timestamp
#234 - PopUpController: onBefroreEvent gets not fired
v2.6.0-gwt-2.8.2: tag_name: v2.6.0-gwt-2.8.2
body: Implemented:
#205 - add possibility to validate route parameter
#221 - make popup rendering configurable


Fixed:
#211 - NPE in RouterParser class in case a parameter is not set
#219 - Throwing a RoutingInterceptException does not remove all old components
v2.6.0: tag_name: v2.6.0
body: Implemented:
#205 - add possibility to validate route parameter
#221 - make popup rendering configurable


Fixed:
#211 - NPE in RouterParser class in case a parameter is not set
#219 - Throwing a RoutingInterceptException does not remove all old components
v2.5.0-gwt-2.8.2: tag_name: v2.5.0-gwt-2.8.2
body: Implemented:
#201 - Add stealth routing

Fixed:
#199 - Update GSON version to latest


v2.5.0: tag_name: v2.5.0
body: Implemented:
#201 - Add stealth routing

Fixed:
#199 - Update GSON version to latest
v2.4.2-gwt-2.8.2: tag_name: v2.4.2-gwt-2.8.2
body: Fixed: 
#197 - Remove the route parameter from onFinishCreating-method in IsControllerCreator 
#198 - The bind method of the controller does not have access to the parameters
v2.4.2: tag_name: v2.4.2
body: Fixed:
#197 - Remove the route parameter from onFinishCreating-method in IsControllerCreator
#198 - The bind method of the controller does not have access to the parameters
v2.4.1-gwt-2.8.2: tag_name: v2.4.1-gwt-2.8.2
body: This is a patch release for 2.4.0.

Fixed:
#195 - Remove Js.debugger in nalu-plugin-core-web
v2.4.1: tag_name: v2.4.1
body: This is a patch release for 2.4.0.

Fixed:
#195 - Remove Js.debugger in nalu-plugin-core-web
v2.4.0: tag_name: v2.4.0
body: #192 - Possibility to reset URL (delete parameters from URL)
v2.4.0-gwt-2.8.2: tag_name: v2.4.0-gwt-2.8.2
body: #192 - Possibility to reset URL (delete parameters from URL)
v2.3.0: tag_name: v2.3.0
body: Implemented:
#178 - Nalu Modules: start route can only be a route of the main module
#182 - Add Global Popup Filter Feature
#183 - Add showing popups conditional feature
#185 - add the possibility to execute in action in case a ShowPopUpEvent is canceled by a filter
#189 - Remove deprecated code that is older than six month ...
#190 - Default route in case of illegal route


Fixed:
#179 - Make Eventbus available from Filters - now also works in modules



v2.2.1: tag_name: v2.2.1
body: Implemented:
-

Fixed:
#176 - wrong version in comments of generated classes
#177 - Fix typo in method name
#179 - Make Eventbus available from Filters 
#181 - Add Support for GWT 2.9.0 & Elemantal2 1.1.0

Attention:
Starting from this version there will be a version for GWT 2.9.0 and another one for GWT 2.8.2. If you want to work with GWT 2.8.2 please use the one which have '-gwt-2.8.2' at the end of the version string.
v2.2.0: tag_name: v2.2.0
body: Implemented:
#163 - update junit to version 4.13
#164 - replace deprecated code in tests
#166 - PopUpController: make method 'onBeforeShow' asynchronous
#167 - PopUpController: make method 'bind' (of controller) asynchronous
#168 - Provide version and build Timestamp
#170 - Add PostLoader to Nalu

Fixed:
#158 - redirectTo-method of filter gets called twice
#162 - Registered handlers will removed on controller deactivation
#169 - wrong selector selected in case two composites of same class are used in a component
#173 - Var 'lastRoute' isn't used


v2.1.0: tag_name: v2.1.0
body: Implemented:
#132 - Manage visibility of Block Components using Events
#133 - Improve logging by enabling Nalu to send log messages to the server
#134 - remove @Debug annotation
#135 - update dependencies & plugins to latest version
#137 - add bind-method to AbstractPopUpComponentController
#144 - Improve loading of modules
#145 - Remove useless statement
#149 - Remove not needed code in generated sources
#150 - improve context handling in modules
#154 - add loader feature to modules
#155 - add local and unmanaged context to AbstractContext
#157 - remove 'remove'-method in AbstractCompositeComponent

Fixed:
#136 - remove useless warning
#138 - In case a controller is not cached, the `deactivate`-method is called twice
#139 - In case a composite is not cached, the `deactivate`-method is called twice
#140 - Understanding of composite in sub module
#142 - stop() method is never called in cached controllers
#143 - activate() method is not triggered when You enter again to cached presenter
#147 - NPE on ModuleGenerator.generate 
#152 - Nalu does not load PopUpController configurations from Module
#153 - Nalu does not load BlockController configurations from Module
v2.0.2: tag_name: v2.0.2
body: Implemented:
#122 - Composites: notify if the selector is not resolved
#126 - Multi route support for controllers
#127 - Reuse elements in case route does not change

Fixed:
#124 - management of BlockControllerModel is wrong
#129 - Call 'removeHandler' from AbstractComponentController in 'deactive' method
#130 - Call 'removeHandler' from AbstractCompositeController in 'deactive' method
v2.0.1: tag_name: v2.0.1
body: Implemented:
#113 - add a new method to the router which routes without confirmation
#117 - enable the use of custom alert and confirm
#118 - error-message is wrong
#119 - remove gwt-maven-plugin

Fixed:
#109 - error message is wrong
#110 - Loop detection error in case a routing is stopped by confirmation
#111 - hash gets doubled in case of confirmation
#112 - The activeComponents map does not updated correctly
v2.0.0: tag_name: v2.0.0
body: Many bug-fixes & improvements.

Implemented:
#59 - create AbstractContext class
#61 - improve error handling
#62 - implement sub-modules
#63 - remove plugin feature
#65 - implement block feature
#70 - Create generic event to use in inter-module-communication
#73 - add caching behaviour of composites in branch 2.0.0
#80 - Remove method getContext from interface IsContext
#83 - Set SourceVersion of processor to latestSupport
#84 - Unused generated code is causing compiler warnings
#86 - ErrorPopUp-Feature
#90 - Add html metatag manipulation support for page navigation
#96 - Add possibility to get the current route
#99 - add nalu-plugin-elemento to v2
#102 - Composite names in a controller must be unique
#103 - Implement @AcceptParameter validation

Fixed:
#82 - Validate: start route needs to be more than a route to a shell
#95 - ErrorProne check: CollectionIncompatibleType in AbstractRouter
#101 - Problem using the same composite conditional over two composite routes - v2.0.0
#105 - Same RouteConfig added every time a Controller is modified - v2.0.0

v1.3.5: tag_name: 1.3.5
body: Implemented:
#98 - Dedicated Elemento Plugin (Thanks to @HPehl)

Fixed:
#100 - Problem using the same composite conditional over two composite routes
#104 - Same RouteConfig added every time a Controller is modified
v1.3.4: tag_name: v1.3.4
body: Implemented:
#96 Add possibility to get the current route

Fixed:
#92 Nalu route parameter with whitespace
v1.3.2: tag_name: v1.3.2
body: Implemented:
#72 Global caching of composites
#74 Support parameters on cached controllers
#76 Add time stamp to generated classes

Fixed:
#66 Add the route to the RoutingEvent
#67 Caching of composite doesn't work as expected
#71 Stop all controllers in case of shell replacement
#75 Global caching and normal caching of composites fails

several bug fixes & improvements


v1.3.1: tag_name: v1.3.1
body: Implemented:
#53 Add caching support for composites
#58 Implement a "RoutingEvent" after routing was done
#64 deprecate plugin feature

Fixed:
#54 Fix typo
#56 NaluProcessor generates duplicate code
#57 Bug when routing in PopupController

several bug fixes & improvements

* fixed an issue that the start route is always  used in case of a reload
* fixed an issue in case the no-hash-feature' is used 
* fixed a problem in case no-history-feature is used
* improved log output

v1.3.0: tag_name: v1.3.0
body: Implemented:
#45 add support for controllers without route
#46 Make conditionals composite components
#50 Loader functionality for shell
#52 make the behavior in case of missing hash configurable

Fixed:
#44 onAttach()-method of composite not called
#48 Replace SimpleTypeVisitor6
#51 Redirect to start url in case of missing hash

several bug fixes & improvements

**Attention!**
The bind-method inside a shell and a controller now works in the same way.
If you had already overwritten the bind-method of a shell, you have to update your code. To update an existing implementation of a bind-method inside a shell:
* add `ShellLoader loader` as parameter to the method
* add `throws RoutingInterceptionException` to the bind-method
* call `loader.continueLoading();` once you want to leave the method.
v1.2.1: tag_name: v1.2.1
body: #42 Provide utility methods to compare routes
#41 Improve error handling in Nalu
#39 Add bind method to controller
#38 Improve routing
#37 Add router instance to application loader

several bug fixes & improvements
v1.2.0: tag_name: v1.2.0
body: #34 Allow Nalu app to be embedded into existing webpage.
#35 Add possibility to log user actions

several bug fixes & improvements
v1.1.0: tag_name: v1.1.0
body: #23 Use browser history API for navigation instead of #hash.
#24 Improve query-handling of start url
#28 Caching does not work correct with Composites
#30 Add methods for activation state to controller

several bug fixes & improvements

v1.0.1: tag_name: release/v1.0.1
body: #20 Remove 'sudo: false' from travis.yml

#22 Composite added to shell not removed

improve documentation
v1.0.0: tag_name: v1.0.0
body: Initial release of Nalu.