Skip to content

changelog

David Sowerby edited this page Oct 3, 2017 · 26 revisions

Change Log for krail

0.12.0.1 (2017-10-03)

Summary

  • Updated version
  • Updated release notes
  • Merge branch 'vaadin7' into develop
  • Merge remote-tracking branch 'origin/master'
  • kaytee-plugin to 0.18.10.0

Issues closed

None

Detail

Updated version


Updated release notes


Merge branch 'vaadin7' into develop

Conflicts:

build.gradle


Merge remote-tracking branch 'origin/master'


kaytee-plugin to 0.18.10.0



0.12.0.0 (2017-09-19)

Summary

  • Merge branch 'kaytee'
  • Fix 633 update kaytee-plugin to 0.18.9.0
  • Version to 0.12.0.0, to align with version policy in Readme
  • Update release notes
  • Bring version in line with policy defined in Readme
  • Readme update - versions for Vaadin 8 transition
  • Readme update - versions for Vaadin 8 transition
  • Update kaytee-plugin, Fix 631 and Fix 622
  • Fix 629 Changed to v7 compatibility import for Tree. All tests now pass
  • See 629 Changed AbstractField and TextField imports to v7 compatibility type, fixes DefaultOptionPopupTest
  • Merge pull request 628 from taurus227/vaadin8
  • Fix 607 Change vaadin version to 8.1.3
  • Fix 607 Changes for Vaadin8
  • Fix 627 Change vaadin version to 8.1.3
  • Vaadin8: Ran migration tool
  • Disabled KayTee plugin

Issues closed

Fixes

  • 622 KayTee build: Generate Change Log failed
  • 629 Test failures after upgrade to Vaadin 8
  • 631 Collaborators unable to build without API token
  • 633 KayTee build: Merge to Master failed

Enhancements

  • 607 Consider running as embedded

Tasks

  • 627 com.vaadin:vaadin-server 8.1.3

Detail

Merge branch 'kaytee'


Fix 633 update kaytee-plugin to 0.18.9.0


Version to 0.12.0.0, to align with version policy in Readme


Update release notes


Bring version in line with policy defined in Readme


Readme update - versions for Vaadin 8 transition


Readme update - versions for Vaadin 8 transition


Update kaytee-plugin, Fix 631 and Fix 622

Update enables normal clone and build to take place without the need for API keys. Cleaning up dependencies for Hamcrest matchers in the chain also appears to have fixed the change log generation failure


Fix 629 Changed to v7 compatibility import for Tree. All tests now pass


See 629 Changed AbstractField and TextField imports to v7 compatibility type, fixes DefaultOptionPopupTest


Merge pull request 628 from taurus227/vaadin8

Vaadin8


Fix 607 Change vaadin version to 8.1.3


Fix 607 Changes for Vaadin8


Fix 627 Change vaadin version to 8.1.3


Vaadin8: Ran migration tool


Disabled KayTee plugin



0.10.2.0 (2017-08-31)

Summary

  • Fix 626 Gradle wrapper was git ignored
  • Tutorial I18N Components and Validation Complete
  • Tutorial I18N Complete
  • Tutorial User Access Control Complete
  • Tutorial Configuration from ini file complete
  • Tutorial Options and UserHierarchies Complete
  • Tutorial User Notification complete
  • Tutorial UI & Theme complete
  • Tutorial 'Pages and Navigation' complete

Issues closed

None

Detail

Fix 626 Gradle wrapper was git ignored

Removed redundant Kotlin dependencies Updated wrapper task to 4.1 Tutorial updates removed mavneLocal() from build.gradle to avoid difference between local and public run


Tutorial I18N Components and Validation Complete


Tutorial I18N Complete


Tutorial User Access Control Complete


Tutorial Configuration from ini file complete


Tutorial Options and UserHierarchies Complete


Tutorial User Notification complete


Tutorial UI & Theme complete


Tutorial 'Pages and Navigation' complete



0.10.1.0 (2017-08-27)

Summary

  • KayTee plugin updated
  • Tutorial 'Getting Started' amended. Tutorial functional at this point
  • Amend Tutorial

Issues closed

None

Detail

KayTee plugin updated


Tutorial 'Getting Started' amended. Tutorial functional at this point


Amend Tutorial



0.10.0.2 (2017-08-27)

Summary

  • Disabled changelog, causing build to fail
  • Tutorial updates
  • KayTee plugin updated to 0.17.0.0
  • Kotlin to 1.1.4-2
  • Update README.md

Issues closed

None

Detail

Disabled changelog, causing build to fail


Tutorial updates


KayTee plugin updated to 0.17.0.0


Kotlin to 1.1.4-2


Update README.md



0.10.0.0 (2017-08-23)

Summary

  • Enabled release
  • Fix 603 KayTee applied. Release at 0.10.0.0
  • Fix 543 net.jodah.typetools removed, no longer used
  • Fix 596, Fix 595 Updated test dependencies, cleaned up test layout
  • Fix 619 mkdocs.yml had been scrambled by some wayward search and replace
  • Fix 600 Vaadin 7.7.10
  • Fix 598 Shiro to 1.4.0
  • Fix 553 Guice 4.1.0
  • Application configuration moved to krail-config. Current refactoring task now complete
  • Renamed VaadinI18NModule to KrailI18NModule to be consistent. All unit and functional tests green. I18N and Option refactoring complete
  • Corrected another missing binding. Units tests pass, functional tests have the same failures as at start (see davidsowerby/krail-testApp#18)
  • Corrected some missing bindings
  • Updated release notes
  • I18N and Option are external
  • Updated option-api, which now eliminates the need for i18n-persist-api
  • Switched to option-api (which now incorporates option-persist-api)
  • OptionContainerProvider moves to uk.q3c.krail.option.persist.OptionContainerProvider
  • krail-config-api extracted. AbstractServiceModule and DependencyDefinition extract to krail-service-api
  • krail-service-api extracted. NamedAndDescribed moved to krail-i18n-api. eventbus-api extracted
  • Package rename 'uk.q3c.krail.core.services' becomes 'uk.q3c.krail.core.service'
  • External krail-option-persist-api
  • External krail-i18n-persist-api
  • OptionKey definitions moved from PatternSourceProvider to DefaultPatternSourceProvider, I18NKeys defined for I18n persist
  • External option-api
  • External persist-api
  • External i18n-api
  • VaadinContainerProvider is parameterised. Moved JPAContainer interfaces back to krail-jpa.
  • Moved JPAContainer interfaces in to the core from krail-jpa to remove krail-jpa dependency on Vaadin
  • Relocated 'In Memory' and Container related classes
  • I18N pacage free of references to Shiro and Vaadin
  • I18NModule javadoc change only, references to Vaadin removed. TestI18NModule redundant PatternSource binding removed
  • DefaultClassPatternDao uses OptionContext instead of VaadinOptionContext
  • DefaultPatternCacheLoader uses OptionContext instead of VaadinOptionContext
  • PatternSourceProvider uses OptionContext instead of VaadinOptionContext
  • I18NModule binding of CurrentLocale is to DefaultCurrentLocale. VaadinI18NModule binds to VaadinCurrentLocale
  • Binding methods in I18NModule overridden in VaadinI18NModule to use Vaadin related scopes
  • OptionSource and DefaultOptionSource have getContainer() method moved to VaadinOptionSource and DefaultOptionSource, to remove dependency on Vaadin
  • OptionContext changed to remove dependency on Vaadin
  • Javadoc incorrect but also create import on Vaadin
  • Scope binding removed from OptionCache binding, removes dependency on Vaadin
  • SimpleUserHierarchy replaced with DefaultUserHierarchy to decouple Option from Shiro
    • There were some annotations with names beginning with '@Default', which can cause a name clash, as most implementations are 'Defaultxxx'. The following annotations changed:
  • PermissionVerifier introduced to help decouple Option from Shiro
  • First cut at relocating Option
  • PersistenceConfigurationException added
  • MockTranslate improved. VaadinI18NModule added. DefaultTranslate implements "strictness" from MessageFormat2
  • uk.q3c.krail.core.testutil.option and uk.q3c.krail.core.testutil.i18n moved to uk.q3c.krail.option.test and uk.q3c.krail.i18n.test
  • Scope of DefaultOptionCache is set in OptionModule instead of by annotation
  • KrailPersistenceUnitHelper split into I18NPersistenceHelper and OptionPersistenceHelper
  • KrailPersistenceUnit split into I18NPersistenceEnabler and OptionPersistenceEnabler
  • Re-arranged i18n to accommodate persistence structure
  • Moved I18n to proposed new location. BusMessage moved out to eventbus-api
  • Refactoring uk.q3c.krail.core.data, most moved to uk.q3c.krail.persist
  • Config package restructured
  • Utility classes moved to q3c-util
  • Updated Readme
  • @Nonnull and @Nullable removed from all. These are not applied consistently enough to be reliable, and the IDE can often generate different test results (from Gradle) by applying runtime assertions on these annotations
  • Deleted coveralls and travis files
  • Updated gitignore to exclude all IDEA project files

Issues closed

Fixes

  • 619 ReadTheDocs failed

Tasks

  • 543 net.jodah:typetools 0.4.5
  • 553 com.google.inject:guice 4.1.0
  • 595 org.spockframework:spock-core 1.1-groovy-2.4
  • 596 org.assertj:assertj-core 3.7.0
  • 598 org.apache.shiro:shiro-all 1.4.0
  • 600 com.vaadin:vaadin-server 7.7.10

Documentation

  • 619 ReadTheDocs failed

Detail

Enabled release


Fix 603 KayTee applied. Release at 0.10.0.0


Fix 543 net.jodah.typetools removed, no longer used


Fix 596, Fix 595 Updated test dependencies, cleaned up test layout

All testCompile dependencies updated to latest versions Unnecessary use of compile for test dependencies removed, Spock still needed for OptionDaoTestBase (which is used externally, hence in src branch)


Fix 619 mkdocs.yml had been scrambled by some wayward search and replace


Fix 600 Vaadin 7.7.10


Fix 598 Shiro to 1.4.0


Fix 553 Guice 4.1.0

Required later version of commons-beanutils TestKrailI18NModule+ moved to java folder - not visible to all tests when in Groovy folder


Application configuration moved to krail-config. Current refactoring task now complete

EventBus and Service packages will be reviewed when we consider Eclipse Vert.x, as either could end up being replaced


Renamed VaadinI18NModule to KrailI18NModule to be consistent. All unit and functional tests green. I18N and Option refactoring complete


Corrected another missing binding. Units tests pass, functional tests have the same failures as at start (see davidsowerby/krail-testApp#18)


Corrected some missing bindings


Updated release notes


I18N and Option are external


Updated option-api, which now eliminates the need for i18n-persist-api


Switched to option-api (which now incorporates option-persist-api)


OptionContainerProvider moves to uk.q3c.krail.option.persist.OptionContainerProvider


krail-config-api extracted. AbstractServiceModule and DependencyDefinition extract to krail-service-api


krail-service-api extracted. NamedAndDescribed moved to krail-i18n-api. eventbus-api extracted


Package rename 'uk.q3c.krail.core.services' becomes 'uk.q3c.krail.core.service'


External krail-option-persist-api


External krail-i18n-persist-api


OptionKey definitions moved from PatternSourceProvider to DefaultPatternSourceProvider, I18NKeys defined for I18n persist


External option-api


External persist-api


External i18n-api


VaadinContainerProvider is parameterised. Moved JPAContainer interfaces back to krail-jpa.


Moved JPAContainer interfaces in to the core from krail-jpa to remove krail-jpa dependency on Vaadin


Relocated 'In Memory' and Container related classes

All Container related classes remain in the core, as they relate only to Vaadin (though they will become redundant under Vaadin 8) All classes relating to the provision of In Memory "persistence", are within option and option-api, primarily for use in testing


I18N pacage free of references to Shiro and Vaadin


I18NModule javadoc change only, references to Vaadin removed. TestI18NModule redundant PatternSource binding removed


DefaultClassPatternDao uses OptionContext instead of VaadinOptionContext


DefaultPatternCacheLoader uses OptionContext instead of VaadinOptionContext


PatternSourceProvider uses OptionContext instead of VaadinOptionContext


I18NModule binding of CurrentLocale is to DefaultCurrentLocale. VaadinI18NModule binds to VaadinCurrentLocale


Binding methods in I18NModule overridden in VaadinI18NModule to use Vaadin related scopes


OptionSource and DefaultOptionSource have getContainer() method moved to VaadinOptionSource and DefaultOptionSource, to remove dependency on Vaadin


OptionContext changed to remove dependency on Vaadin

  • OptionContext.getOption() changed to OptionContext.optionInstance()
  • OptionContext is parameterised to enable response to different change event types.
  • VaadinOptionContext extends OptionContext and replaces most existing uses of OptionContext

Javadoc incorrect but also create import on Vaadin


Scope binding removed from OptionCache binding, removes dependency on Vaadin


SimpleUserHierarchy replaced with DefaultUserHierarchy to decouple Option from Shiro


  • There were some annotations with names beginning with '@Default', which can cause a name clash, as most implementations are 'Defaultxxx'. The following annotations changed:
    • @DefaultUserHierarchy renamed to @UserHierarchyDefault
    • @DefaultActiveOptionSource renamed to @ActiveOptionSourceDefault
    • @DefaultLocale renamed to @LocaleDefault

PermissionVerifier introduced to help decouple Option from Shiro


First cut at relocating Option


PersistenceConfigurationException added


MockTranslate improved. VaadinI18NModule added. DefaultTranslate implements "strictness" from MessageFormat2


uk.q3c.krail.core.testutil.option and uk.q3c.krail.core.testutil.i18n moved to uk.q3c.krail.option.test and uk.q3c.krail.i18n.test


Scope of DefaultOptionCache is set in OptionModule instead of by annotation


KrailPersistenceUnitHelper split into I18NPersistenceHelper and OptionPersistenceHelper


KrailPersistenceUnit split into I18NPersistenceEnabler and OptionPersistenceEnabler


Re-arranged i18n to accommodate persistence structure


Moved I18n to proposed new location. BusMessage moved out to eventbus-api


Refactoring uk.q3c.krail.core.data, most moved to uk.q3c.krail.persist


Config package restructured


Utility classes moved to q3c-util


Updated Readme


@Nonnull and @Nullable removed from all. These are not applied consistently enough to be reliable, and the IDE can often generate different test results (from Gradle) by applying runtime assertions on these annotations


Deleted coveralls and travis files


Updated gitignore to exclude all IDEA project files



0.9.9 (2016-02-18)

Summary

  • Released at version 0.9.9
  • Fix 539 Vaadin 7.6.3
  • Fix 537 Gradle needs groovy files in groovy folder
  • Fix 536 Tutorial reference to Vaadin Push notes
  • See 535 Test amendment
  • Fix 535 Call to Broadcaster.broadcast with component
  • Fix 534 Translation test failures
  • Fix 533 Logging for push
  • Fix 524 Tutorial updates
  • See 524 Tutorial updates
  • Fix 532 ViewBase getTranslate() added
  • Fix 530 ConfigurationModuleBase addConfig() made public
  • Fix 526 Test base and helpers moved to testUtil
  • Fix 525 Removed UnitTestFor annotation
  • Readme date
  • See 513 Badges added
  • See 513 Separation from master
  • See 513 .travis.yml
  • See 513 Move Spock tests
  • Fix 522 Gitter badge added

Issues closed

Fixes

  • 530 ConfigurationModuleBase.addConfig() needs to be public
  • 532 Translate must be visible in ViewBase sub-classes
  • 534 Translation tests failing

Quality

  • 534 Translation tests failing

Tasks

  • 522 Gitter tag on README
  • 524 Check Tutorial
  • 526 Move test base and helpers to enable JPA separation
  • 533 Improve logging for push
  • 535 Broadcaster.broadcast() needs to be easier to call
  • 539 Vaadin 7.6.3

Documentation

  • 524 Check Tutorial
  • 536 Tutorial should reference push config info in Vaadin documentation

Detail

Released at version 0.9.9


Fix 539 Vaadin 7.6.3


Fix 537 Gradle needs groovy files in groovy folder


Fix 536 Tutorial reference to Vaadin Push notes


See 535 Test amendment

Should have been with previous commit


Fix 535 Call to Broadcaster.broadcast with component

A bit more logging added in PushMessageRouter


Fix 534 Translation test failures

TestLabelKey had been moved to testUtil, but its associated translations had not


Fix 533 Logging for push

Removed clear text messages from logging, replaced with UIKey (sender) identifier and message id


Fix 524 Tutorial updates

Updates to krail 0.9.9, for sections 1-12 inclusive


See 524 Tutorial updates

Updates to krail 0.9.9, for sections 1-9 inclusive


Fix 532 ViewBase getTranslate() added


Fix 530 ConfigurationModuleBase addConfig() made public


Fix 526 Test base and helpers moved to testUtil

Also refactored packages to mirror the core structure


Fix 525 Removed UnitTestFor annotation

Not used consistently, serves no real purpose


Readme date


See 513 Badges added

Travis and Coveralls badges added. Item 8 complete


See 513 Separation from master

Items 1, 2 & 3 completed


See 513 .travis.yml

Items 4 & 5 done (should not actually copy coveralls.yml, the key is different)


See 513 Move Spock tests

Item 6 complete, all Spock tests in the src/test/groovy folder


Fix 522 Gitter badge added

Also added licence as badge



0.9.8 (2016-02-13)

Summary

  • Released at version 0.9.8
  • Release notes and version.properties generated
  • Version files updated
  • Fix 521 Improve NavigationState
  • See 500 code coverage 90%
  • Fix 520 Merged ViewBase18N into ViewBase
  • See 500, code coverage 88%
  • Code coverage 87%
  • Code coverage 86%
  • Fix 514 Vaadin 7.6.2
  • Fix 517 Tests corrected
  • 15 separated q3c-testUtil from master build
  • Fix 515 injector made package visible
  • 513 backed out of separation from master
  • 513 adding coverage via coveralls
  • 513 handling I18NKey - Enum conversions
  • 513 specify java 8
  • 513 Build fails with gradlew
  • 513 Separated krail core from master project
  • 513 travis.yml missed the '.' prefix
  • 513 travis.yml added
  • 36 rename build file
  • Fix 499 krail-testUtil merged back into core
  • Fix 400 Navigation components aware of excluded nodes
  • Fix 502 exceptionToThrow removed from ShiroMethodInterceptor
  • Fix 512 OptionKey is immutable
  • Fix 509 Reduced duplication of Option handling
  • Fix 503 AnnotationOptionList and OptionList inlcuded in conversion
  • Fix 511 Option.set parameter order
  • Fix 497 Acknowledge FindBugs
  • Fix 342 Multi-user testing
  • Fix 460 Incorrect InMemory mapping
  • Fix 510 DefaultOptionCache is VaadinSessionScoped
  • Fix 508 restructured packages
  • Fix 507 OptionCacheKey is generic
  • Javadoc and documentation
  • 500 Code coverage 83%
  • Fix 501 Removed field injection from ShiroMethodInterceptor
  • Pattern and Option Dao re-structure
  • See 340 FindBugs analysis complete
  • Fix 417 ApplicationConfiguration as an interface
  • Fix 416 Fluent addConfig() added
  • Fix 415 Config layers priority the same as Option
  • Fix 496 Vaadin 7.6.1
  • Fix 244 Singleton Thread safety
  • See 244. MasterSitemap thread safety
  • Fix 236 Replaced static utilities
  • Fix 89 LoginView Submit button is default
  • Fix 85 Shiro cache added
  • Fix 492 Vaadin 7.6.0
  • Fix 494 net.jodah update
  • Fix 493 update org.reflections to 0.9.10
  • Amended README. Tutorial 'latest' not building, yet master does

Issues closed

Fixes

  • 342 Scope differences incorrectly handled, Navigator and UserStatus
  • 400 Navigation components, confused when parent has all children hidden
  • 459 DefaultOptionPopup not converting data types
  • 460 Field mapping for In Memory OptionEntity incorrect
  • 503 OptionList and AnnotationOptionList missing from DefaultOptionStringConverter.convertStringToValue
  • 515 Cannot test "destroy context with null injector"
  • 517 DefaultClassPatternDao test fails

Quality

  • 501 ShiroMethodInterceptor using field injection
  • 515 Cannot test "destroy context with null injector"
  • 517 DefaultClassPatternDao test fails

Enhancements

  • 415 ApplicationConfiguration override opposite order to Option
  • 416 ApplicationConfiguration fluent interface to addConfig
  • 417 ApplicationConfiguration should be an interface
  • 501 ShiroMethodInterceptor using field injection
  • 89 login default button

Tasks

  • 236 Should ResourceUtils be singleton?
  • 244 Check Singletons
  • 492 Vaadin 7.6.0
  • 493 org.reflections 0.9.10
  • 494 net.jodah:typetools 0.4.3
  • 496 Vaadin 7.6.1
  • 497 Acknowledge FindBugs
  • 499 benefit in separate testUtil module?
  • 502 Review use of exceptionToThrow in ShiroMethodInterceptor
  • 507 Make OptionCacheKey generic
  • 508 Restructure packages
  • 509 Reduce duplication in Option handling
  • 510 Restrict OptionCache to VaadinSessionScoped?
  • 511 Option.set method parameters reversed
  • 512 OptionKey should be immutable
  • 514 Vaadin 7.6.2
  • 520 Merge ViewBaseI18N into ViewBase
  • 521 Improve NavigationState
  • 85 Enable Shiro caching

Documentation

  • 497 Acknowledge FindBugs

Detail

Released at version 0.9.8


Release notes and version.properties generated


Version files updated


Fix 521 Improve NavigationState

Addressed consistency, exception thrown if content accessed and state is inconsistent Deprecated non-fluent setters Logic for correct interpretation of URI structure still resides in URIFragmentHandler, so that can be implemented differently if a developer so requires


See 500 code coverage 90%


Fix 520 Merged ViewBase18N into ViewBase

Added interface NamedAndDescribed with name and description I18NKeys. KrailView and Service extend this interface and ViewBase / AbstractService provide the translation. This means that all views are now constructed with a Translate parameter ScopedUI makes use of this to add view name to the page title MockTranslate added to simplify testing with I18N


See 500, code coverage 88%


Code coverage 87%


Code coverage 86%

Fix 459 Data conversion for OptionPopup

Data conversion had been omitted, so was only working when the option value type and field value type were the same. Corrected using Vaadin's DefaultConverterFactory, but expect that to be changed again under 518.


Fix 514 Vaadin 7.6.2


Fix 517 Tests corrected

Needed patternCacheKey.getKeyAsEnum() resolving from mock


15 separated q3c-testUtil from master build


Fix 515 injector made package visible

Enables testing of null injector Gradle wrapper files re-instated


513 backed out of separation from master

Deferring 513 until later, reverting to centralised build under 'master'


513 adding coverage via coveralls


513 handling I18NKey - Enum conversions

Only casues a problem with Travis build


513 specify java 8


513 Build fails with gradlew

Despite being committed, Travis reports: "Could not find or load main class org.gradle.wrapper.GradleWrapperMain"


513 Separated krail core from master project


513 travis.yml missed the '.' prefix


513 travis.yml added

Ticket cannot be closed until Travis build successful


36 rename build file

reverted to 'build.gradle' to enable Travis


Fix 499 krail-testUtil merged back into core


Fix 400 Navigation components aware of excluded nodes

TreeCopy calls on NodeModifier for implementation specific responses for a node with no children (a 'leaf'), but also adds an 'override' so that TreeCopy can enforce a limited depth copy. Net result is that navigation components correctly display regardless of whether nodes are excluded or not Some unused classes deleted


Fix 502 exceptionToThrow removed from ShiroMethodInterceptor

There was no value to the previous arrangement Also corrected SourcePanel - missed from previous commit


Fix 512 OptionKey is immutable

Only effect is on an experimental page, which can be addressed later


Fix 509 Reduced duplication of Option handling

Restructured OptionDao to use a delegate for different persistence providers, currently just InMemory and JPA. This removes duplicated logic in krail-jpa, and also enables Option tests to be inherited. OptionStringConverter renamed OptionElementConverter


Fix 503 AnnotationOptionList and OptionList inlcuded in conversion

OptionListConverter invoked directly from the OptionDao renamed OptionStringConverter OptionElementConverter AnnotationOptionList added to the OptionElementConverter


Fix 511 Option.set parameter order

Changed to be in key-value order


Fix 497 Acknowledge FindBugs


Fix 342 Multi-user testing

Changes are actually in testApp


Fix 460 Incorrect InMemory mapping

Completely replaced the unnecessarily complex InMemory store with a much simpler version.

Refactored classes that were missed under 508 - a number of persistence related classes were in core i18n and option packages.


Fix 510 DefaultOptionCache is VaadinSessionScoped

Using annotation instead of binding. Removed userId from OptionCacheKey


Fix 508 restructured packages


Fix 507 OptionCacheKey is generic


Javadoc and documentation


500 Code coverage 83%

DefaultOptionStringConverter corrected: LocalDateTime format, recognition of I18NKey and Enum StackTraceUtil replaced by commons.lang.ExceptionUtil


Fix 501 Removed field injection from ShiroMethodInterceptor

Replaced by using providers to avoid the Guice Lifecycle conflict that the field injection was intended to avoid


Pattern and Option Dao re-structure

Needed to accommodate restucutruin of Daos, see 18


See 340 FindBugs analysis complete


Fix 417 ApplicationConfiguration as an interface

Also a few minor code changes from quality review, and improved test coverage


Fix 416 Fluent addConfig() added


Fix 415 Config layers priority the same as Option

Previously the configuration layers in ApplicationConfiguration were the opposite way round to that used in Option. Both now have the lowest number as the highest priority


Fix 496 Vaadin 7.6.1

Also Guava to 19.0


Fix 244 Singleton Thread safety

All Singletons checked for thread safety

Further changes to Services design, partly to overcome deadlocks. RelatedServicesExecutor is delegate to start/stop dependencies/dependants The lifecycle is abbreviated with a Cause added, mainly for STOPPED and FAILED states


See 244. MasterSitemap thread safety

Introduced SitemapQueue, which is not yet necessary but will help with 254, as it enables the switching of MasterSitemap versions. A timeout has been added for loading of the MasterSitemap.

MasterSitemap is now locked after initial load, which removes the need for managing concurrent thread access, as it is now read-only once loaded.

A common BusProvider interface has been added

ApplicationConfiguration considered for making Threadsafe. See 495 for explanation. Tutorial and Javadoc updated

A number of small changes made as part of quality review


Fix 236 Replaced static utilities

ClassNameUtils and ResourceUtils are interfaces with default implementations, enabling replacement by developers. Bindings are in UtilsModule


Fix 89 LoginView Submit button is default

'Enter' submits credentials


Fix 85 Shiro cache added

Cache implementation can be changed by overriding DefaultShiroModule.bindCacheManager()


Fix 492 Vaadin 7.6.0


Fix 494 net.jodah update

net.jodah:typetools:0.4.3


Fix 493 update org.reflections to 0.9.10


Amended README. Tutorial 'latest' not building, yet master does



0.9.7 (2015-12-30)

Summary

  • Released at version 0.9.7
  • Release notes and version.properties generated
  • Updated version and version description
  • Demo removed from the build
  • Tutorial is now complete and Dev Guide material migrated
  • Fix 491 Dependency parameter 'required' changed to 'optional'
  • Fix 395 Manual merge of Eclipse chapter
  • Fix 486 Corrected navigation response to invalid URI
  • Fix 488 Service with state INITIAL cannot be stopped or failed
  • Fix 489 ScopedUI unregisters from Broadcaster
  • Fix 490 Push added as part of standard build
  • Fix 484 @Dependency in SitemapService replaced
  • Fix 485 Use event bus providers
  • Corrected Tutorial index
  • Tutorial for Vaadin Push completed
  • Tutorial file names changed to names instead of numbers
  • Services tutorial complete
  • EventBus tutorial complete.
  • Javadoc updates only
  • Fix 482 Vaadin 7.5.10
  • Fix 483 Acknowledgements
  • Tutorial 11 (Guice scopes) added
  • typos in tutorial01
  • Fix 480 Using Guice to define Service dependencies
  • Fix 478 Vaadin 7.5.9
  • Fix 240 Services redesigned
  • Fix 477 Vaadin 7.5.8
  • Fix 468 Merge AbstractService & AbstractServiceI18N
  • Fix 474 Vaadin 7.5.7
  • Fix 465 Change to MkDocs index file
  • Update README
  • Update README

Issues closed

Pull Requests

  • 395 elipse ide
  • 483 Update README.md

Fixes

  • 486 Error 500 instead of Invalid URI
  • 488 Service INITIAL to STOPPED
  • 489 DefaultBroadcaster holds strong UI references
  • 490 Push in build file not valid

Enhancements

  • 240 Loop detection for @Dependency
  • 466 ServicesMonitor to be active
  • 473 Remove need for start up logic in specific services
  • 491 @Dependency annotation params not consistent

Tasks

  • 102 i18N documentation
  • 111 Document I18N in tables
  • 112 Document I18N in Tutorial
  • 168 Re-write tutorial
  • 465 MkDocs change format in mkdocs.yml file
  • 468 Merge AbstractService & AbstractServiceI18N
  • 469 Standardise composite Service.Status and make public
  • 474 Vaadin 7.5.7
  • 477 Vaadin 7.5.8
  • 478 Vaadin 7.5.9
  • 480 Use Guice to specify dependencies
  • 482 Vaadin 7.5.10
  • 484 Remove @Dependency from SitemapService
  • 485 DefaultServicesMonitor to use GlobalBusProvider

Documentation

  • 102 i18N documentation
  • 111 Document I18N in tables
  • 112 Document I18N in Tutorial
  • 168 Re-write tutorial
  • 262 Complete Refining User Navigation
  • 320 Example ValidationKeys
  • 331 Update Option documentation
  • 332 Document user hierarchies

Detail

Released at version 0.9.7


Release notes and version.properties generated


Updated version and version description


Demo removed from the build


Tutorial is now complete and Dev Guide material migrated

Close 332 Close 331 Close 320 Close 262 Close 168 Close 112 Close 111 Close 102


Fix 491 Dependency parameter 'required' changed to 'optional'

Devguide files changed to meaningful names and references corrected


Fix 395 Manual merge of Eclipse chapter


Fix 486 Corrected navigation response to invalid URI

Handling of invalid URI moved from KrailErrorHandler to InvalidURIHandler injected directly into Navigator. Binding for InvalidURIHandler (formerly InvalidURIExceptionHandler) moved to NavigationModule


Fix 488 Service with state INITIAL cannot be stopped or failed

reset() added to Service (changes state from a stopped or failed state to INITIAL)


Fix 489 ScopedUI unregisters from Broadcaster

Unregistered before it completes detach()


Fix 490 Push added as part of standard build

Plus minor corrections to tutorial.


Fix 484 @Dependency in SitemapService replaced

Replaced with Guice-specified dependency, ApplicationConfigurationService no longer injected


Fix 485 Use event bus providers

Replaced all cases of @UIBus, @SessionBus and @GlobalBus annotated constructor parameters with UOIBusProvider, SessionBusProvider and GlobalBusProvider


Corrected Tutorial index


Tutorial for Vaadin Push completed

Corrected file names


Tutorial file names changed to names instead of numbers


Services tutorial complete


EventBus tutorial complete.

Plus minor Tutorial amends


Javadoc updates only


Fix 482 Vaadin 7.5.10


Fix 483 Acknowledgements

Manual merge and update


Tutorial 11 (Guice scopes) added


typos in tutorial01


Fix 480 Using Guice to define Service dependencies

Design reworked again - design of 478 did not work well with using Guice to define dependencies. Now possible to define dependencies using annotations or Guice or any combination of them. Service classes are represented using a ServiceKey to avoid problems with class names changing when enhanced by AOP (or any other enhancer).

Global, Session and UI BusProviders remove risk of annotated constructor paramenters being overriden by an event bus of the wrong scope.

ServiceController replaced by ServicesModel. Although not implemented it would be perfectly possible to change dependencies or dependency types at run time by manipulating the ServiceModel


Fix 478 Vaadin 7.5.9


Fix 240 Services redesigned

Major rework of Services and the management of dependencies between them.

Fix 473 AbstractService provides more robust handling of state changes, making sub-classing simpler. Fix 466 ServicesController added for active intervention (starting / stopping services), while ServiceMonitor stays passive Fix 469 Service.State defined in the Service interface, along with helper methods

Configuration of dependencies can still be applied using @Dependency, but requires implementing ServiceUsingDependencyAnnotation Dependencies can now also be configured through Guice.

The lifecycle now includes transitional states of STARTING and STOPPING.


Fix 477 Vaadin 7.5.8


Fix 468 Merge AbstractService & AbstractServiceI18N

AbstractService provides I18N name and description @Dependency requiredAtStart=false behaviour clarified, and tests amended. This setting makes the dependency optional. ClassnameUtils renamed ClassNameUtils ServiceUtils removed- functionality is in ClassNameUtils


Fix 474 Vaadin 7.5.7

Upgrade to Vaadin 7.5.7


Fix 465 Change to MkDocs index file

MkDocs have updated their file format for mkdocs.yml


Update README


Update README



0.9.6 (2015-08-09)

Summary

  • Released at version 0.9.6
  • Release notes and version.properties generated
  • Pre-release - update version descriptions and version properties
  • Tutorial step 09 completed
  • Tutorial step 08a verified and updated
  • Tutorial step 08 verified and updated
  • Tutorial step 07 verified
  • Tutorial step 06 verified and updated
  • Tutorial step 05 verified and updated
  • Tutorial step 04 verified
  • Tutorial step 03 verified
  • Tutorial step 02 verified
  • Tutorial step 01 verified
  • Fix 455 Vaadin 7.5.3
  • Fix 454 String conversion provided for all core Option data types
  • Fix 449 Vaadin 7.5.2
  • Fix 452 Shiro 1.2.4
  • Fix 450 Pattern and Option defaults
  • Fix 447 Tutorial updated
  • Fix 448 InMemory option dao available by default
  • Fix 446 InMemoryBundleReader and Writer implemented by default
  • Fix 444 Removed @Singleton from DefaultOptionSource
  • Fix 432 Validation keys added to export
  • See 432 Export keys added to PatternUtility
  • Fix 439 Vaadin 7.5.1
  • Fix 377 Removed FileSitemap
  • refactoring krail-jpa
  • IDE incorrectly removing "unnecessary" cast. Using explicit intermediate variable to overcome
  • See 14 Pattern persistence separated from Option
  • OptionModule active source set by default
  • See 12 OptionDao.write returns saved entity
  • Separated OptionContainer from Pattern
  • Fix 438 OptionPopup scrolls
  • OptionView shows active and selected options sources
  • CombinedContainerProvider added, enables a single point of selection for Option or Pattern containers. Use with caution
  • InMemoryContainer added. ContainerType move to krail core from krail-jpa
  • VaadinContainerProvider returns DefaultJpaContainerProvider with correct EntityManagerProvider injected
  • Dynamic selection of OptionDao (see #434) and PatternDao (see #435)
  • Fix 433 Vaadin 7.5.0
  • Tutorial update for use of @CoreDao
  • Persistence Integration and JPA improvements
  • Changed Person<Integer,Integer> to Person<Long,Integer> to use with StandardJPADao
  • Tutorial 08a complete
  • Javadoc only
  • PatternDao binding moved to I18NModule
  • Additional debug statements in DefaultI18NFiledScanner, no code changes
  • Default PatternDao added
  • Tests added, no changes needed
  • Tutorial 08a standard components done
  • Javadoc only
  • Tutorial 08 completed
  • Separated InMemoryPatternStrore, Singleton scoped
  • Added cleanup() to clearCache() methods for immediacy
  • Tutorial 08 additions
  • I18N integration improvements
  • Fix 429 Fluent methods in I18NModule
  • See 429 I18NModule changes
  • Tutorial 08 single language only
  • Tutorial 02 - removed creation of Caption, it is not used until Tutorial 08
  • Merge remote-tracking branch 'origin/master'
  • Tutorial 08 started
  • Merge pull request 427 from Odhrean/develop
  • Corrections to Tutorial 07
  • Update tutorial06.md

Issues closed

Fixes

  • 438 OptionPopup not scrollable
  • 448 OptionDao not valid with zero config

Enhancements

  • 377 Remove File based sitemap loader
  • 429 fluent supportedLocale() & defaultLocale() in I18NModule
  • 432 Export I18NKeys as part of System Admin

Tasks

  • 430 BundleWriter for Database
  • 433 Vaadin 7.5.0
  • 439 Vaadin 7.5.1
  • 444 DefaultOptionSource - should not need to be a @Singleton
  • 446 InMemory "database" reader could be provided
  • 447 Explicit Vaadin version fixed
  • 449 Vaadin 7.5.2
  • 450 Revisit Option and Pattern (persistence) defaults
  • 452 Shiro 1.2.4
  • 454 Option conversion for all core Option types
  • 455 Vaadin 7.5.3

Documentation

  • 447 Explicit Vaadin version fixed

Detail

Released at version 0.9.6


Release notes and version.properties generated


Pre-release - update version descriptions and version properties


Tutorial step 09 completed


Tutorial step 08a verified and updated


Tutorial step 08 verified and updated


Tutorial step 07 verified


Tutorial step 06 verified and updated


Tutorial step 05 verified and updated


Tutorial step 04 verified


Tutorial step 03 verified


Tutorial step 02 verified


Tutorial step 01 verified


Fix 455 Vaadin 7.5.3


Fix 454 String conversion provided for all core Option data types

OptionList and AnnotationOptionList added. Both retain a predictable order, and with DefaultOptionStringConverter OptionList will take any element type that is also supported by DefaultOptionStringConverter


Fix 449 Vaadin 7.5.2


Fix 452 Shiro 1.2.4


Fix 450 Pattern and Option defaults

Significant change to the way I18N patterns are managed through to persistence. PatternDao implementations replace the BundleReader/BundleWriter implementations Support for properties files as persistence for Krail core dropped, but there is an open issue 451 to provide utility support. I18NModule now enables simpler selection of I18N pattern sources, and also add targets for use with auto-stub. PatternSourceProvider added to simplify injection of pattern related Guice configuration PatternUtility completely re-implemented Option defaults not changed Test coverage improved


Fix 447 Tutorial updated

No longer need to specify the Vaadin version. Tutorial intro includes the need for Gradle 2.5, as required by the plugin update


Fix 448 InMemory option dao available by default

The DefaultBindingManager calls InMemoryModule.provideOptionDao() in addPersistenceModules. GuiceModuleTestBase created for Spock tests


Fix 446 InMemoryBundleReader and Writer implemented by default

Developer does not need to provide implementations now. Tests added, and merged into a single Spock test, coverage improved


Fix 444 Removed @Singleton from DefaultOptionSource


Fix 432 Validation keys added to export

Validation reworked. ValidationKey provides a complete set of I18NKey to replace the Apache BVal string based keys, and there is now no need for the developer to provide substitution. The translations provided by BVal have been transposed. Exporting ValidationKey added to PatternUtility and the Systems Management pages The option to include the field name in the validation message has been removed - as this is based on the property name it also requires translation, which is better done outside of the validation process.


See 432 Export keys added to PatternUtility

Does not yet include Validation keys, and is still to be added to a Sys Admin page

Fix 430 BundleWriter for Database. Much of the BundleWriter was actually done earlier

Dev guide - correction to I18N documentation

See 432 Export keys

Export of LabelKey, DescriptionKey and MessageKey made available in @Experimental page in SystemAdminPages. ValidationKeys still to do Translate API extended to include option to disable check for supported locales

See 432 ValidationKey added

Keys defined for all the JSR303 and the 2 additional BVal validation messages. Translations for en, es,de,it transferred from BVal


Fix 439 Vaadin 7.5.1


Fix 377 Removed FileSitemap


refactoring krail-jpa


IDE incorrectly removing "unnecessary" cast. Using explicit intermediate variable to overcome

Cast had gone missing from DatabaseBundleWriterBase Javadoc correction to Dao


See 14 Pattern persistence separated from Option

PatternEntity renamed PatternEntity_LongInt to reflect that it is only for use with Long id and integer version Changed to principle of sub-classing DatabaseBundleReaderBase and DatabaseBundleWriterBase, so that the sub-classes can be added to the bundle sources in 18NModule CombinedContainerProvider removed


OptionModule active source set by default

to maintain principle of working "out-of-the-box", active source set to InMemory in DefaultBindingManager


See 12 OptionDao.write returns saved entity


Separated OptionContainer from Pattern

Data now loads correctly but issue with Jpa method of storing entity (davidsowerby/krail-jpa#12)


Fix 438 OptionPopup scrolls

Used Panel to hold baseLayout


OptionView shows active and selected options sources

Renaming to DefaultOptionSource OptionKey is no longer immutable, but there is a setter only for the default value. This is useful for setting a common default for groups of options (see SourcePanel for an example)


CombinedContainerProvider added, enables a single point of selection for Option or Pattern containers. Use with caution


InMemoryContainer added. ContainerType move to krail core from krail-jpa


VaadinContainerProvider returns DefaultJpaContainerProvider with correct EntityManagerProvider injected


Dynamic selection of OptionDao (see #434) and PatternDao (see #435)

Both these DAOs now use annotations for InMemory and JPA persistence units - even an unannotated JPA PU actually gets an annotated (@CoreDao) DAO.

These allows the implementation used by Krail core to be changed externally, and dynamically through CoreOptionDaoProvider and CorePatternDaoProvider

Many of the changes in this commit are a result of enforcing a more consistent apprach tot he use ofOptional in the Option framework. All values to and from Option are natively typed. All values to and from OptionCache, DefaultOptionCacheLoader, OptionDao are wrapped in Optional.

Selection of the active Dao (and therefore persistence source) is via the activeDao() methods of the OptionModule and I18NModule


Fix 433 Vaadin 7.5.0


Tutorial update for use of @CoreDao


Persistence Integration and JPA improvements

Some small changes in Krail core to make Dao structure simpler Major changes in krail-jpa to provide a single, simplified, transaction-managed generic Dao (BaseJpaDao). krail-jpa also has a simplified API for instance configuration. This includes removing BlockDao and StatementDao which were not very useful in practice. Generic Dao can be instantiated for any persistence unit, using annotation identification. The test-app adds tests for Dao providers to ensure that bindings are operating correctly

All DAOs now are annotated (for krail core the annotation is @CoreDao). This makes it possible to configure any future persistence module to provide persistence for Krail core. All persistence modules should now implement KrailPersistenceModule

The persistence elements of Option and I18N have been taken out of their respective Guice modules, and placed in a separate InMemoryModule - the latter now represents the equivalent of a persistence module and is therefore readily interchangeable.

A lot of tests were changed to incorporate TestPersistenceModule (which is just InMemoryModule with some pre-configuration)


Changed Person<Integer,Integer> to Person<Long,Integer> to use with StandardJPADao


Tutorial 08a complete


Javadoc only


PatternDao binding moved to I18NModule

PatternDao binding was in DataModule, but this caused a massive and inappropriate dependency on DataModule


Additional debug statements in DefaultI18NFiledScanner, no code changes


Default PatternDao added


Tests added, no changes needed


Tutorial 08a standard components done


Javadoc only


Tutorial 08 completed


Separated InMemoryPatternStrore, Singleton scoped


Added cleanup() to clearCache() methods for immediacy


Tutorial 08 additions


I18N integration improvements

Redundant check for default locale in supported locales removed from DefaultCurrentLocale Added database bundle reader to I18NModule Created InMemoryPatternDao DataModule cleaned up and fluent method added


Fix 429 Fluent methods in I18NModule

All relevant methods now fluent, so this module could now be fully configured without sub-classing. Also made naming more consistent - the terms 'source' and 'reader' had been mixed up Some breaking changes because of the renaming


See 429 I18NModule changes

Removed the code relating to 'excludeDrillDown' - this was made redundant by 389 but got left behind


Tutorial 08 single language only


Tutorial 02 - removed creation of Caption, it is not used until Tutorial 08


Merge remote-tracking branch 'origin/master'


Tutorial 08 started


Merge pull request 427 from Odhrean/develop

Update tutorial06.md


Corrections to Tutorial 07


Update tutorial06.md

Now "tutorial.completed from krail.ini is unchanged as there is no value for it in moreConfig.ini" makes sense :)



Clone this wiki locally