You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/03/19 19:00:22 UTC

[isis] branch release-2.0.0-M5-RC1 updated (1a79832 -> 8db16a9)

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a change to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git.


 discard 1a79832  ISIS-2450: resetting version
    omit 2bd88eb  ISIS-2450: bumps version to 2.0.0-M5
    omit a1709a6  ISIS-2450: bumps pom.xml to 2.0.0-M5
     add ccb74ba  Removing m2e profile from core pom
     add 6fd3972  Removing m2e profile from core pom
     add ef4364e  Bump jnr-posix from 3.1.4 to 3.1.5
     add 74205d5  Bump jnr-enxio from 0.32.3 to 0.32.4
     add d239cd8  Bump approvaltests from 10.0.1 to 10.2.0
     add 41fd411  Bump structurizr.version from 1.6.0 to 1.6.1
     add bde5876  Bump dependency-check-maven from 6.1.1 to 6.1.2
     add 3617c5e  Bump vaadin-maven-plugin from 14.4.8 to 19.0.0
     add 3229a79  ISIS-2445: fix compile after vaadin bump (v19)
     add 1705890  ISIS-2445: fixes swagger convergence issues (after vaadin bump)
     add 079db5f  ISIS-2445: Demo: fixes invalid yaml syntax
     add a1fc026  ISIS-2445: migrating Demo Vaadin
     add 172605a  ISIS-2445: git-ignore some more node.js stuff
     add 6619ce2  ISIS-2572: RO/Swagger: fixes generated schema and ui links
     add 5c8811d  ISIS-2496: further narrow down possibility for false positive type incompatibility checks
     add 2a4c11b  ISIS-2573: promote REST reg. tests to stable
     add c52b6f0  Bump swagger-parser from 1.0.39 to 1.0.54
     add 6d6ed08  Bump swagger-models from 2.0.5 to 2.1.7
     add 6e48214  Bump swagger-core from 2.0.5 to 2.1.7
     add 03d8a3a  Bump swagger-compat-spec-parser from 1.0.39 to 1.0.54
     add 22f3e82  Bump swagger-parser-v3 from 2.0.5 to 2.0.24
     add da97721  Bump swagger-parser-core from 2.0.5 to 2.0.24
     add 99824b6  ISIS-2573: some incubating test fixes
     add 0aed2c8  set dep bot target-branch: "post-m5-release"
     add a4fcd83  ISIS-2572: RO/Swagger: fixes generated schema and ui links
     add ac6dc42  dependabot target 'edge' branch
     add 0ff2cc3  Merge branch 'master' into edge
     add 2fe8379  ISIS-2573: adds initial Xray viewer
     add 7c796a2  ISIS-2573: Xray: remove unused interface
     add 2329c93  ISIS-2573: lombok javac issue
     add 0f8f85e  ISIS-2573: Xray: simplify and remove service
     add dc3c90d  ISIS-2573: Can: adds getLast()
     add 9e666f4  ISIS-2573: xray: integrate with transaction listener
     add 695da2f  ISIS-2573: xray: add sequence diagram data model
     add 7509b66  ISIS-2573: xray: use sequence diagrams for interactions and transactions
     add fdfe01c  Bump vaadin.version from 19.0.0 to 19.0.1
     add 4d597c5  ISIS-2573: xray, sequence dia.: allow multi-line labels
     add e9fbcdd  ISIS-2573: xray: add execution context info
     add 22dbab3  ISIS-2573: xray: reduce number of tree nodes rendered
     add 1d43996  ISIS-2573: xray: housekeeping
     add 06936e5  Fix type in README.md
     add 734854d  Merge remote-tracking branch 'origin/master' into edge
     add 7415f56  Bump git-commit-id-plugin from 4.0.3 to 4.0.4
     add 2cd6a9e  ISIS-2573: app layer tests: simplify
     add cb5a32d  ISIS-2577: invoke property clearing with non-null value adapter
     add 8eca78e  Merge remote-tracking branch 'origin/master' into edge
     add 7e6fbfb  ISIS-2444: fixes demo for auditing
     add 09c9410  ISIS-2579: fix jpa-entity-facet to also detect deleted/removed entity state
     add c7c0200  Merge remote-tracking branch 'origin/master' into edge
     add 19ad535  ISIS-2579: prepare for ff of 'master'
     add 485d9ba  ISIS-2575: Wicket: fix PanelAbstract generics
     add 79630ff  ISIS-2575: add mignotes
     add bf00157  ISIS-2576: let WebPageBase handle the favicon
     add 3c6c114  ISIS-2445: CI: skip jacoco reports
     add 93d9395  ISIS-2445: CI: skip jacoco reports (2)
     add c2c80ab  ISIS-2445: CI: skip jacoco reports (3)
     add e6e15ad  ISIS-2445: 'clear' github action checkout cache
     add 9e47e45  ISIS-2445: CI: fix jacoco missing deps.
     add 25ca2bb  ISIS-2445: CI: revert prev. commit
     add e80ec0a  ISIS-2445: CI: remove jacoco plugin
     add 533e3e3  ISIS-2445: CI: reinstate jacoco plugin but disable reporting?
     add b5944af  ISIS-2582: properly deserialize ComponentHintKey
     new 8f8d1ff  ISIS-2450: fixing up config docs
     new f002e71  ISIS-2450: fixes unit tests
     new 66e9e6c  ISIS-2450: updates to relnotes, and cutting-a-release
     new d42f493  ISIS-2450: updates config docs
     new 4971106  ISIS-2450: updates projdoc tooling
     new 771d8a3  ISIS-2450: bumps hardcoded version to 2.0.0-M5
     new 0e112a5  ISIS-2450: bumps version to 2.0.0-M5
     new 8db16a9  ISIS-2450: resetting version

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (1a79832)
            \
             N -- N -- N   refs/heads/release-2.0.0-M5-RC1 (8db16a9)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/dependabot.yml                             |   8 +-
 .../workflows/ci-build-artifacts-no-push-maven.yml |  17 +-
 .gitignore                                         |   4 +
 README.adoc                                        |   2 +-
 .../modules/ROOT/pages/cutting-a-release.adoc      | 150 ++++-
 .../ROOT/pages/post-release-successful.adoc        |  24 +
 .../components/docs/modules/ROOT/pages/about.adoc  |   6 +-
 .../modules/_overview/pages/about.adoc             | 194 +++++-
 .../index/services/appfeat/ApplicationFeature.adoc |   6 +
 .../appfeat/ApplicationFeatureRepository.adoc      |   3 +-
 .../index/services/iactn/ActionInvocation.adoc     |   2 +-
 .../pages/index/services/iactn/PropertyEdit.adoc   |   2 +-
 .../applib/pages/index/util/ReasonBuffer.adoc      |   2 +-
 .../applib/pages/index/util/ReasonBuffer2.adoc     |   6 +-
 .../modules/applib/pages/index/util/Reasons.adoc   |   2 +-
 .../commons/pages/index/collections/Can.adoc       |  16 +
 .../index/cors/impl/IsisModuleExtCorsImpl.adoc     |   2 +-
 .../webmodule/WebModuleJaxrsResteasy4.adoc         |   2 +-
 .../{migrating-to-2.0.0.adoc => mignotes.adoc}     |   2 -
 .../pages/{2020 => 2021}/2.0.0-M5/mignotes.adoc    |  21 +-
 .../pages/{2020 => 2021}/2.0.0-M5/relnotes.adoc    |   0
 .../relnotes/modules/ROOT/pages/about.adoc         |  21 +-
 antora/supplemental-ui/index.html                  |  96 ++-
 .../applib/services/iactn/ActionInvocation.java    |   3 +-
 .../isis/applib/services/iactn/Execution.java      |   7 +-
 .../isis/applib/services/iactn/PropertyEdit.java   |   3 +-
 .../applib/services/repository/EntityState.java    |   2 +-
 .../isis/applib/services/user/UserMemento.java     |  11 +-
 .../org/apache/isis/commons/collections/Can.java   |  13 +
 .../apache/isis/commons/collections/Can_Empty.java |   5 +
 .../isis/commons/collections/Can_Multiple.java     |   5 +
 .../isis/commons/collections/Can_Singleton.java    |   5 +
 .../commons/internal/debug/xray/XrayDataModel.java | 139 +++++
 .../commons/internal/debug/xray/XrayEnable.java    |  19 +-
 .../commons/internal/debug/xray/XrayModel.java     |  91 +++
 .../internal/debug/xray/XrayModelSimple.java       |  89 +++
 .../isis/commons/internal/debug/xray/XrayUi.java   | 275 +++++++++
 .../commons/internal/debug/xray/_SwingUtil.java    |  72 +++
 .../debug/xray/sequence/SequenceDiagram.java       | 244 ++++++++
 .../internal/debug/xray/sequence/_Graphics.java    | 155 +++++
 commons/src/main/resources/xray/key-value.png      | Bin 0 -> 4545 bytes
 commons/src/main/resources/xray/sequence.png       | Bin 0 -> 4195 bytes
 .../commons/internal/base/debug/XrayUiTest.java    |  70 +++
 core/config/generateConfigDocs.groovy              |  25 +-
 ...datanucleus~post.adoc => datanucleus~post.adoc} |   0
 ...anucleus-conf~pre.adoc => datanucleus~pre.adoc} |   0
 ...s-conf~post.adoc => isis.core.config~post.adoc} |   0
 ...anucleus~pre.adoc => isis.core.config~pre.adoc} |   0
 .../adoc/modules/config/pages/sections/Other.adoc  |  99 +++
 .../adoc/modules/config/pages/sections/_nav.adoc   |   7 +-
 .../modules/config/pages/sections/datanucleus.adoc | 171 ++++++
 ...{jdo-datanucleus.adoc => isis.core.config.adoc} |  23 +-
 .../pages/sections/isis.core.runtime-services.adoc |   2 +-
 .../config/pages/sections/isis.core.runtime.adoc   |   2 +-
 .../config/pages/sections/isis.value-types.adoc    |   9 -
 .../pages/sections/isis.viewer.restfulobjects.adoc |   9 +
 .../config/pages/sections/isis.viewer.wicket.adoc  |  61 +-
 .../pages/sections/jdo-datanucleus-conf.adoc       | 293 ---------
 .../modules/config/pages/sections/resteasy.adoc    |  45 +-
 .../isis/core/config/DatanucleusConfiguration.java | 263 ++++++++
 .../apache/isis/core/config/IsisConfiguration.java |  60 +-
 .../isis/core/config/IsisModuleCoreConfig.java     |   9 +-
 .../apache/isis/core/config/JdoDatanucleus.java    | 250 --------
 .../isis/core/config/RestEasyConfiguration.java    |  42 +-
 .../additional-spring-configuration-metadata.json  |  40 +-
 .../interaction/session/InteractionSession.java    |   4 +-
 .../metamodel/commons/CanonicalParameterUtil.java  |  75 ++-
 ...tySetterOrClearFacetForDomainEventAbstract.java |  26 +-
 .../update/clear/PropertyClearFacet.java           |  10 +-
 ...earFacet.java => PropertyClearingAccessor.java} |  10 +-
 .../update/modify/PropertySetterFacet.java         |  17 +-
 ...tterFacet.java => PropertySettingAccessor.java} |  16 +-
 .../isis/core/metamodel/spec/ManagedObjects.java   |   4 +-
 core/pom.xml                                       |  21 +-
 .../core/runtime/events/MetamodelEventService.java |   7 +-
 .../runtime/events/TransactionEventEmitter.java    |   8 +-
 .../org/apache/isis/core/runtime/events/_Xray.java | 123 ++++
 .../apache/isis/core/runtime/util/XrayUtil.java    |  53 ++
 .../confmenu/ConfigurationViewServiceDefault.java  |  28 +-
 .../executor/MemberExecutorServiceDefault.java     |  21 +-
 .../isis/core/runtimeservices/executor/_Xray.java  |  83 +++
 .../session/InteractionFactoryDefault.java         |  14 +-
 .../isis/core/runtimeservices/session/_Xray.java   | 112 ++++
 .../wrapper/WrapperFactoryDefault.java             |  51 +-
 ...inObjectEntityChangePublishingVm_updateAll.java |  10 +-
 .../demo/domain/src/main/resources/application.yml |   5 +-
 .../src/main/resources/static/images/gift.svg      |  59 ++
 examples/demo/pom.xml                              |  14 +
 examples/demo/vaadin/pom.xml                       |   2 +-
 .../java/demoapp/webapp/wicket/DemoAppWicket.java  |   2 +
 .../wicket/ui/custom/WhereInTheWorldPanel.java     |   4 +-
 .../cors/impl/IsisModuleExtCorsImpl.java           |  18 +-
 .../cors/impl/IsisModuleExtCorsImplTest.java       |  15 +-
 .../ui/components/CollectionContentsAsExcel.java   |   5 +-
 .../ui/component/CalendaredCollectionAbstract.java |   4 +-
 .../pdfjs/ui/components/PdfJsViewerPanel.java      |   7 +-
 .../PdfJsViewerPanelComponentFactory.java          |   4 +-
 .../pdfjs/ui/components/PdfJsViewerReference.java  |   3 +
 .../ui/components/ScalarPanelAbstractLegacy.java   |   5 +-
 incubator/viewers/vaadin/model/pom.xml             | 119 +++-
 incubator/viewers/vaadin/ui/pom.xml                |   5 -
 .../ui/auth/VaadinAuthenticationHandler.java       |  12 +-
 .../viewer/vaadin/ui/pages/main/MainViewVaa.java   |   6 -
 .../viewer/IsisModuleIncViewerVaadinViewer.java    |   4 +-
 isis-parent/pom.xml                                |   4 +
 .../JpaEntityInjectionPointResolver.java           |   5 +-
 .../metamodel/JpaEntityFacetFactory.java           |  15 +-
 .../jdo/JdoEntityChangesPublishingTest.java        |  25 +-
 .../jdo/JdoEntityPropertyChangePublishingTest.java |   3 +-
 .../JdoEntityPropertyChangePublishingTest2.java    | 169 ------
 .../publishing/jdo/JdoExecutionPublishingTest.java |  15 +-
 .../applayer/ApplicationLayerTestFactory.java      | 308 ++++++----
 .../isis/testdomain/jdo/JdoInventoryResource.java  |   2 +-
 .../testdomain/util/rest/RestEndpointService.java  |   3 +
 .../RestServiceSimpifiedRepresentationTest.java    |   0
 .../isis/testdomain/rest/RestServiceTest.java      |   0
 security/adoc/modules/ROOT/pages/about.adoc        |   2 +-
 .../pages/about/configuring-isis-to-use-shiro.adoc |   4 +-
 .../pages/about/enhanced-wildcard-permission.adoc  |   2 +-
 .../adoc/modules/shiro/pages/about/ini-realm.adoc  |   4 +-
 .../adoc/modules/shiro/pages/about/jdbc-realm.adoc |   8 +-
 .../adoc/modules/shiro/pages/about/ldap-realm.adoc |  34 +-
 .../simpleapp-modules-dependencies.pptx            | Bin 47706 -> 48246 bytes
 .../images/simpleapp/flyway/tables-created.png     | Bin 0 -> 73788 bytes
 .../simpleapp/simpleapp-modules-dependencies.png   | Bin 64551 -> 64728 bytes
 starters/adoc/modules/starters/pages/about.adoc    |  20 +-
 ...orld-script.adoc => helloworld-script-jdo.adoc} |   4 +-
 ...orld-script.adoc => helloworld-script-jpa.adoc} |   4 +-
 .../adoc/modules/starters/pages/helloworld.adoc    | 251 ++++----
 ...leapp-script.adoc => simpleapp-script-jdo.adoc} |   4 +-
 ...leapp-script.adoc => simpleapp-script-jpa.adoc} |   4 +-
 .../adoc/modules/starters/pages/simpleapp.adoc     | 672 ++++++++++++++-------
 starters/pom.xml                                   |   2 +-
 .../applib/IsisInteractionHandler.java             |  11 -
 tooling/pom.xml                                    |   2 +-
 valuetypes/asciidoc/ui/pom.xml                     |   4 +-
 .../webmodule/WebModuleJaxrsResteasy4.java         |  12 +-
 .../service/swagger/SwaggerServiceMenu.java        |   3 +-
 .../service/swagger/internal/Generation.java       |  10 +-
 .../viewer/wicket/model/util/ComponentHintKey.java |  43 +-
 .../wicket/ui/components/WebComponentBase.java     |   2 +-
 .../wicket/ui/components/about/AboutPanel.java     |   4 +-
 .../ui/components/actioninfo/ActionInfoPanel.java  |   4 +-
 .../ui/components/actionlink/ActionLinkPanel.java  |   4 +-
 .../entityactions/AdditionalLinksPanel.java        |   3 +-
 .../serviceactions/CssMenuItemPanelAbstract.java   |   5 +-
 .../serviceactions/CssSubMenuItemsPanel.java       |   3 +-
 .../actionprompt/ActionPromptHeaderPanel.java      |   4 +-
 .../actions/ActionParametersFormPanel.java         |   4 +-
 .../components/actions/ActionParametersPanel.java  |   4 +-
 .../bookmarkedpages/BookmarkedPagesPanel.java      |   5 +-
 .../ui/components/collection/CollectionPanel.java  |   2 +-
 .../selector/CollectionSelectorPanel.java          |   4 +-
 .../CollectionContentsAsAjaxTablePanel.java        |   2 +-
 .../icons/CollectionContentsAsIconsPanel.java      |   3 +-
 .../CollectionContentsMultipleViewsPanel.java      |   3 +-
 .../summary/CollectionContentsAsSummary.java       |   4 +-
 .../unresolved/CollectionContentsHiddenPanel.java  |   6 +-
 .../ui/components/empty/EmptyCollectionPanel.java  |   4 +-
 .../entity/collection/EntityCollectionPanel.java   |   4 +-
 .../components/entity/fieldset/PropertyGroup.java  |   2 +-
 .../entity/header/EntityHeaderPanel.java           |   4 +-
 .../entity/icontitle/EntityIconAndTitlePanel.java  |   3 +-
 .../wicket/ui/components/footer/FooterPanel.java   |   3 +-
 .../wicket/ui/components/header/HeaderPanel.java   |   3 +-
 .../ui/components/layout/bs3/BS3GridPanel.java     |   4 +-
 .../components/layout/bs3/clearfix/ClearFix.java   |   4 +-
 .../wicket/ui/components/layout/bs3/col/Col.java   |   5 +-
 .../wicket/ui/components/layout/bs3/row/Row.java   |   5 +-
 .../ui/components/layout/bs3/tabs/TabPanel.java    |   4 +-
 .../components/property/PropertyEditFormPanel.java |   3 +-
 .../ui/components/property/PropertyEditPanel.java  |   4 +-
 .../PropertyEditPromptHeaderPanel.java             |   4 +-
 .../ui/components/scalars/ScalarPanelAbstract.java |   3 +-
 .../scalars/image/JavaAwtImagePanel.java           |   4 +-
 .../scalars/markup/StandaloneMarkupPanel.java      |   4 +-
 .../StandaloneCollectionPanel.java                 |   4 +-
 .../ui/components/tree/StandaloneTreePanel.java    |   4 +-
 .../ui/components/unknown/UnknownModelPanel.java   |   7 +-
 .../ui/components/value/StandaloneValuePanel.java  |   4 +-
 .../ui/components/voidreturn/VoidReturnPanel.java  |   3 +-
 .../wicket/ui/components/welcome/WelcomePanel.java |   3 +-
 .../widgets/breadcrumbs/BreadcrumbPanel.java       |   3 +-
 .../widgets/buttons/ContainedButtonPanel.java      |   3 +-
 .../widgets/buttons/ToggleButtonsPanel.java        |   4 +-
 .../widgets/checkbox/ContainedToggleboxPanel.java  |   3 +-
 .../ui/components/widgets/favicon/Favicon.java     |  73 ---
 .../zclip/SimpleClipboardModalWindowPanel.java     |   3 +-
 .../widgets/zclip/ZeroClipboardPanel.java          |   3 +-
 .../isis/viewer/wicket/ui/pages/PageAbstract.html  |   1 -
 .../isis/viewer/wicket/ui/pages/PageAbstract.java  |  11 +-
 .../isis/viewer/wicket/ui/pages/WebPageBase.java   |  27 +-
 .../wicket/ui/panels/FormExecutorDefault.java      |  20 +-
 .../viewer/wicket/ui/panels/PanelAbstract.java     |  19 +-
 .../wicket/ui/panels/PromptFormPanelAbstract.java  |   6 +-
 195 files changed, 4218 insertions(+), 1957 deletions(-)
 rename antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/{migrating-to-2.0.0.adoc => mignotes.adoc} (99%)
 rename antora/components/relnotes/modules/ROOT/pages/{2020 => 2021}/2.0.0-M5/mignotes.adoc (95%)
 rename antora/components/relnotes/modules/ROOT/pages/{2020 => 2021}/2.0.0-M5/relnotes.adoc (100%)
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/debug/xray/XrayDataModel.java
 copy viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/zclip/SimpleClipboardModalWindowPanel.java => commons/src/main/java/org/apache/isis/commons/internal/debug/xray/XrayEnable.java (65%)
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/debug/xray/XrayModel.java
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/debug/xray/XrayModelSimple.java
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/debug/xray/XrayUi.java
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/debug/xray/_SwingUtil.java
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/debug/xray/sequence/SequenceDiagram.java
 create mode 100644 commons/src/main/java/org/apache/isis/commons/internal/debug/xray/sequence/_Graphics.java
 create mode 100644 commons/src/main/resources/xray/key-value.png
 create mode 100644 commons/src/main/resources/xray/sequence.png
 create mode 100644 commons/src/test/java/org/apache/isis/commons/internal/base/debug/XrayUiTest.java
 rename core/config/src/main/adoc/modules/config/pages/section-hooks/{jdo-datanucleus~post.adoc => datanucleus~post.adoc} (100%)
 rename core/config/src/main/adoc/modules/config/pages/section-hooks/{jdo-datanucleus-conf~pre.adoc => datanucleus~pre.adoc} (100%)
 rename core/config/src/main/adoc/modules/config/pages/section-hooks/{jdo-datanucleus-conf~post.adoc => isis.core.config~post.adoc} (100%)
 rename core/config/src/main/adoc/modules/config/pages/section-hooks/{jdo-datanucleus~pre.adoc => isis.core.config~pre.adoc} (100%)
 create mode 100644 core/config/src/main/adoc/modules/config/pages/sections/datanucleus.adoc
 rename core/config/src/main/adoc/modules/config/pages/sections/{jdo-datanucleus.adoc => isis.core.config.adoc} (61%)
 delete mode 100644 core/config/src/main/adoc/modules/config/pages/sections/jdo-datanucleus-conf.adoc
 create mode 100644 core/config/src/main/java/org/apache/isis/core/config/DatanucleusConfiguration.java
 delete mode 100644 core/config/src/main/java/org/apache/isis/core/config/JdoDatanucleus.java
 copy core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/clear/{PropertyClearFacet.java => PropertyClearingAccessor.java} (82%)
 copy core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/modify/{PropertySetterFacet.java => PropertySettingAccessor.java} (71%)
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/events/_Xray.java
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/util/XrayUtil.java
 create mode 100644 core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/executor/_Xray.java
 create mode 100644 core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/_Xray.java
 create mode 100644 examples/demo/domain/src/main/resources/static/images/gift.svg
 delete mode 100644 regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoEntityPropertyChangePublishingTest2.java
 rename regressiontests/{incubating => stable}/src/test/java/org/apache/isis/testdomain/rest/RestServiceSimpifiedRepresentationTest.java (100%)
 rename regressiontests/{incubating => stable}/src/test/java/org/apache/isis/testdomain/rest/RestServiceTest.java (100%)
 create mode 100644 starters/adoc/modules/starters/images/simpleapp/flyway/tables-created.png
 copy starters/adoc/modules/starters/pages/{helloworld-script.adoc => helloworld-script-jdo.adoc} (93%)
 rename starters/adoc/modules/starters/pages/{helloworld-script.adoc => helloworld-script-jpa.adoc} (93%)
 copy starters/adoc/modules/starters/pages/{simpleapp-script.adoc => simpleapp-script-jdo.adoc} (87%)
 rename starters/adoc/modules/starters/pages/{simpleapp-script.adoc => simpleapp-script-jpa.adoc} (87%)
 delete mode 100644 viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java

[isis] 08/08: ISIS-2450: resetting version

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 8db16a97084c62d4174cbc6bcaebedfab4b0a6b2
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 19 18:59:56 2021 +0000

    ISIS-2450: resetting version
---
 api/applib/pom.xml                                 |  2 +-
 api/schema/pom.xml                                 |  2 +-
 commons/pom.xml                                    |  2 +-
 core/codegen-bytebuddy/pom.xml                     |  2 +-
 core/config/pom.xml                                |  2 +-
 core/interaction/pom.xml                           |  2 +-
 core/internaltestsupport/pom.xml                   |  2 +-
 core/jdk-supplemental/pom.xml                      |  2 +-
 core/metamodel/pom.xml                             |  2 +-
 core/pom.xml                                       | 90 +++++++++++-----------
 core/runtime/pom.xml                               |  2 +-
 core/runtimeservices/pom.xml                       |  2 +-
 core/security/pom.xml                              |  2 +-
 core/transaction/pom.xml                           |  2 +-
 core/webapp/pom.xml                                |  2 +-
 extensions/core/command-log/impl/pom.xml           |  2 +-
 extensions/core/command-log/pom.xml                |  4 +-
 extensions/core/command-replay/pom.xml             |  8 +-
 extensions/core/command-replay/primary/pom.xml     |  2 +-
 extensions/core/command-replay/secondary/pom.xml   |  2 +-
 extensions/core/flyway/impl/pom.xml                |  2 +-
 extensions/core/flyway/pom.xml                     |  2 +-
 extensions/core/model-annotation/pom.xml           |  2 +-
 extensions/core/quartz/impl/pom.xml                |  2 +-
 extensions/core/quartz/pom.xml                     |  2 +-
 extensions/pom.xml                                 | 44 +++++------
 extensions/security/secman/api/pom.xml             |  2 +-
 .../security/secman/encryption-jbcrypt/pom.xml     |  2 +-
 extensions/security/secman/model/pom.xml           |  2 +-
 extensions/security/secman/persistence-jdo/pom.xml |  2 +-
 extensions/security/secman/persistence-jpa/pom.xml |  2 +-
 extensions/security/secman/pom.xml                 | 12 +--
 extensions/security/secman/shiro-realm/pom.xml     |  4 +-
 extensions/security/shiro-realm-ldap/impl/pom.xml  |  2 +-
 extensions/security/shiro-realm-ldap/pom.xml       |  2 +-
 extensions/vro/cors/impl/pom.xml                   |  2 +-
 extensions/vro/cors/pom.xml                        |  2 +-
 extensions/vw/exceldownload/pom.xml                |  2 +-
 extensions/vw/exceldownload/ui/pom.xml             |  2 +-
 extensions/vw/fullcalendar/applib/pom.xml          |  2 +-
 extensions/vw/fullcalendar/pom.xml                 |  2 +-
 extensions/vw/fullcalendar/ui/pom.xml              |  2 +-
 extensions/vw/pdfjs/applib/pom.xml                 |  2 +-
 extensions/vw/pdfjs/metamodel/pom.xml              |  2 +-
 extensions/vw/pdfjs/pom.xml                        |  2 +-
 extensions/vw/pdfjs/ui/pom.xml                     |  2 +-
 isis-parent/pom.xml                                |  2 +-
 mappings/jaxrsclient/applib/pom.xml                |  2 +-
 mappings/jaxrsclient/impl/pom.xml                  |  2 +-
 mappings/jaxrsclient/pom.xml                       |  2 +-
 mappings/pom.xml                                   | 10 +--
 mappings/restclient/applib/pom.xml                 |  2 +-
 mappings/restclient/pom.xml                        |  2 +-
 mavendeps/integspecs/pom.xml                       |  2 +-
 mavendeps/integtests/pom.xml                       |  2 +-
 mavendeps/jdk11/pom.xml                            |  2 +-
 mavendeps/jdo/pom.xml                              |  2 +-
 mavendeps/jpa/pom.xml                              |  2 +-
 mavendeps/pom.xml                                  | 20 ++---
 mavendeps/unittests/pom.xml                        |  2 +-
 mavendeps/webapp/pom.xml                           |  2 +-
 persistence/jdo/applib/pom.xml                     |  2 +-
 persistence/jdo/datanucleus/pom.xml                |  2 +-
 persistence/jdo/integration/pom.xml                |  2 +-
 persistence/jdo/metamodel/pom.xml                  |  2 +-
 persistence/jdo/pom.xml                            |  2 +-
 persistence/jdo/provider/pom.xml                   |  2 +-
 persistence/jdo/spring/pom.xml                     |  2 +-
 persistence/jpa/applib/pom.xml                     |  2 +-
 persistence/jpa/eclipselink/pom.xml                |  2 +-
 persistence/jpa/integration/pom.xml                |  2 +-
 persistence/jpa/metamodel/pom.xml                  |  2 +-
 persistence/jpa/pom.xml                            |  2 +-
 security/bypass/pom.xml                            |  2 +-
 security/keycloak/pom.xml                          |  4 +-
 security/shiro/pom.xml                             |  4 +-
 security/spring/pom.xml                            |  2 +-
 starters/pom.xml                                   | 16 ++--
 subdomains/base/applib/pom.xml                     |  2 +-
 subdomains/base/pom.xml                            |  2 +-
 subdomains/docx/applib/pom.xml                     |  2 +-
 subdomains/docx/pom.xml                            |  2 +-
 subdomains/excel/applib/pom.xml                    |  2 +-
 subdomains/excel/fixture/pom.xml                   |  2 +-
 subdomains/excel/integtests/pom.xml                |  2 +-
 subdomains/excel/pom.xml                           |  2 +-
 subdomains/excel/testing/pom.xml                   |  2 +-
 subdomains/freemarker/applib/pom.xml               |  2 +-
 subdomains/freemarker/pom.xml                      |  2 +-
 subdomains/ognl/applib/pom.xml                     |  2 +-
 subdomains/ognl/pom.xml                            |  2 +-
 subdomains/pdfbox/applib/pom.xml                   |  2 +-
 subdomains/pdfbox/pom.xml                          |  2 +-
 subdomains/pom.xml                                 | 28 +++----
 subdomains/spring/applib/pom.xml                   |  2 +-
 subdomains/spring/pom.xml                          |  2 +-
 subdomains/xdocreport/applib/pom.xml               |  2 +-
 subdomains/xdocreport/pom.xml                      |  2 +-
 subdomains/zip/applib/pom.xml                      |  2 +-
 subdomains/zip/pom.xml                             |  2 +-
 testing/fakedata/applib/pom.xml                    |  2 +-
 testing/fakedata/fixtures/pom.xml                  |  2 +-
 testing/fakedata/integtests/pom.xml                |  2 +-
 testing/fakedata/pom.xml                           |  2 +-
 testing/fixtures/applib/pom.xml                    |  2 +-
 testing/fixtures/pom.xml                           |  2 +-
 testing/h2console/pom.xml                          |  2 +-
 testing/h2console/ui/pom.xml                       |  2 +-
 testing/hsqldbmgr/pom.xml                          |  2 +-
 testing/hsqldbmgr/ui/pom.xml                       |  2 +-
 testing/integtestsupport/applib/pom.xml            |  2 +-
 testing/integtestsupport/pom.xml                   |  2 +-
 testing/pom.xml                                    | 22 +++---
 testing/specsupport/applib/pom.xml                 |  2 +-
 testing/specsupport/pom.xml                        |  2 +-
 testing/unittestsupport/applib/pom.xml             |  2 +-
 testing/unittestsupport/pom.xml                    |  2 +-
 valuetypes/asciidoc/applib/pom.xml                 |  2 +-
 valuetypes/asciidoc/metamodel/pom.xml              |  2 +-
 valuetypes/asciidoc/persistence/jdo-dn5/pom.xml    |  4 +-
 valuetypes/asciidoc/persistence/pom.xml            |  2 +-
 valuetypes/asciidoc/pom.xml                        |  2 +-
 valuetypes/asciidoc/ui/pom.xml                     |  2 +-
 valuetypes/asciidoc/ui/wicket/pom.xml              |  2 +-
 valuetypes/markdown/applib/pom.xml                 |  2 +-
 valuetypes/markdown/metamodel/pom.xml              |  2 +-
 valuetypes/markdown/persistence/jdo-dn5/pom.xml    |  4 +-
 valuetypes/markdown/persistence/pom.xml            |  2 +-
 valuetypes/markdown/pom.xml                        |  2 +-
 valuetypes/markdown/ui/pom.xml                     |  2 +-
 valuetypes/markdown/ui/wicket/pom.xml              |  2 +-
 valuetypes/pom.xml                                 | 26 +++----
 valuetypes/sse/applib/pom.xml                      |  2 +-
 valuetypes/sse/metamodel/pom.xml                   |  2 +-
 valuetypes/sse/pom.xml                             |  2 +-
 valuetypes/sse/ui/pom.xml                          |  2 +-
 valuetypes/sse/ui/wicket/pom.xml                   |  2 +-
 viewers/common/pom.xml                             |  2 +-
 viewers/restfulobjects/applib/pom.xml              |  2 +-
 viewers/restfulobjects/jaxrs-resteasy-4/pom.xml    |  2 +-
 viewers/restfulobjects/pom.xml                     |  2 +-
 viewers/restfulobjects/rendering/pom.xml           |  2 +-
 viewers/restfulobjects/testing/pom.xml             |  2 +-
 viewers/restfulobjects/viewer/pom.xml              |  2 +-
 viewers/wicket/model/pom.xml                       |  2 +-
 viewers/wicket/pom.xml                             |  2 +-
 viewers/wicket/ui/pom.xml                          |  2 +-
 viewers/wicket/viewer/pom.xml                      |  2 +-
 148 files changed, 282 insertions(+), 282 deletions(-)

diff --git a/api/applib/pom.xml b/api/applib/pom.xml
index 4c3875c..ae98b79 100644
--- a/api/applib/pom.xml
+++ b/api/applib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/api/schema/pom.xml b/api/schema/pom.xml
index fbce36c..103278c 100644
--- a/api/schema/pom.xml
+++ b/api/schema/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/commons/pom.xml b/commons/pom.xml
index 609f6dd..acb7eef 100644
--- a/commons/pom.xml
+++ b/commons/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/core/codegen-bytebuddy/pom.xml b/core/codegen-bytebuddy/pom.xml
index c72c8e6..a7ff1bc 100644
--- a/core/codegen-bytebuddy/pom.xml
+++ b/core/codegen-bytebuddy/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-codegen-bytebuddy</artifactId>
diff --git a/core/config/pom.xml b/core/config/pom.xml
index c7d044f..e047ca3 100644
--- a/core/config/pom.xml
+++ b/core/config/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-config</artifactId>
diff --git a/core/interaction/pom.xml b/core/interaction/pom.xml
index 935d049..5b8870d 100644
--- a/core/interaction/pom.xml
+++ b/core/interaction/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-interaction</artifactId>
diff --git a/core/internaltestsupport/pom.xml b/core/internaltestsupport/pom.xml
index 9a1e677..d9e0184 100644
--- a/core/internaltestsupport/pom.xml
+++ b/core/internaltestsupport/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-internaltestsupport</artifactId>
diff --git a/core/jdk-supplemental/pom.xml b/core/jdk-supplemental/pom.xml
index 9031346..ec261ed 100644
--- a/core/jdk-supplemental/pom.xml
+++ b/core/jdk-supplemental/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-jdk-supplemental</artifactId>
diff --git a/core/metamodel/pom.xml b/core/metamodel/pom.xml
index fea07c7..917556e 100644
--- a/core/metamodel/pom.xml
+++ b/core/metamodel/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-metamodel</artifactId>
diff --git a/core/pom.xml b/core/pom.xml
index 386bce4..9543de3 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis</groupId>
 		<artifactId>isis-parent</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../isis-parent/pom.xml</relativePath>
 	</parent>
 
@@ -641,237 +641,237 @@
 					in use -->
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-jdk-supplemental</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.commons</groupId>
 				<artifactId>isis-commons</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-internaltestsupport</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-config</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-schema</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-interaction</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-metamodel</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-runtime</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-runtimeservices</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-transaction</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-webapp</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-common</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-rendering</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-viewer</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-testing</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-security</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.security</groupId>
 				<artifactId>isis-security-bypass</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.security</groupId>
 				<artifactId>isis-security-keycloak</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.security</groupId>
 				<artifactId>isis-security-shiro</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.security</groupId>
 				<artifactId>isis-security-spring</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-codegen-bytebuddy</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-provider</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-integration</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-metamodel</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-datanucleus</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-spring</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jpa-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jpa-metamodel</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jpa-integration</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jpa-eclipselink</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-jaxrsresteasy4</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-model</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-ui</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-viewer</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-unittests</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integtests</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integspecs</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jdo</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jpa</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-webapp</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jdk11</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 
diff --git a/core/runtime/pom.xml b/core/runtime/pom.xml
index 668f25d..7f32a70 100644
--- a/core/runtime/pom.xml
+++ b/core/runtime/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-runtime</artifactId>
diff --git a/core/runtimeservices/pom.xml b/core/runtimeservices/pom.xml
index db31a75..48241af 100644
--- a/core/runtimeservices/pom.xml
+++ b/core/runtimeservices/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-runtimeservices</artifactId>
diff --git a/core/security/pom.xml b/core/security/pom.xml
index 227a59b..b358545 100644
--- a/core/security/pom.xml
+++ b/core/security/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-security</artifactId>
diff --git a/core/transaction/pom.xml b/core/transaction/pom.xml
index 239c274..7649f3c 100644
--- a/core/transaction/pom.xml
+++ b/core/transaction/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-core-transaction</artifactId>
diff --git a/core/webapp/pom.xml b/core/webapp/pom.xml
index 47683a4..65cdf05 100644
--- a/core/webapp/pom.xml
+++ b/core/webapp/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-core-webapp</artifactId>
diff --git a/extensions/core/command-log/impl/pom.xml b/extensions/core/command-log/impl/pom.xml
index 1c227d8..40afeae 100644
--- a/extensions/core/command-log/impl/pom.xml
+++ b/extensions/core/command-log/impl/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-command-log</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-command-log-jdo</artifactId>
diff --git a/extensions/core/command-log/pom.xml b/extensions/core/command-log/pom.xml
index b85eecd..4fd42ca 100644
--- a/extensions/core/command-log/pom.xml
+++ b/extensions/core/command-log/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
@@ -32,7 +32,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
diff --git a/extensions/core/command-replay/pom.xml b/extensions/core/command-replay/pom.xml
index e4ce8d9..8bbfddf 100644
--- a/extensions/core/command-replay/pom.xml
+++ b/extensions/core/command-replay/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
@@ -32,7 +32,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -40,7 +40,7 @@
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -48,7 +48,7 @@
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
diff --git a/extensions/core/command-replay/primary/pom.xml b/extensions/core/command-replay/primary/pom.xml
index 242c629..b83a439 100644
--- a/extensions/core/command-replay/primary/pom.xml
+++ b/extensions/core/command-replay/primary/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-command-replay</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-command-replay-primary</artifactId>
diff --git a/extensions/core/command-replay/secondary/pom.xml b/extensions/core/command-replay/secondary/pom.xml
index 65ebc02..2f31d1c 100644
--- a/extensions/core/command-replay/secondary/pom.xml
+++ b/extensions/core/command-replay/secondary/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-command-replay</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-command-replay-secondary</artifactId>
diff --git a/extensions/core/flyway/impl/pom.xml b/extensions/core/flyway/impl/pom.xml
index 9047a53..9b3caf2 100644
--- a/extensions/core/flyway/impl/pom.xml
+++ b/extensions/core/flyway/impl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions-flyway</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-extensions-flyway-impl</artifactId>
diff --git a/extensions/core/flyway/pom.xml b/extensions/core/flyway/pom.xml
index a546f96..d16f4b6 100644
--- a/extensions/core/flyway/pom.xml
+++ b/extensions/core/flyway/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/extensions/core/model-annotation/pom.xml b/extensions/core/model-annotation/pom.xml
index 98d8ef2..0851f59 100644
--- a/extensions/core/model-annotation/pom.xml
+++ b/extensions/core/model-annotation/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/extensions/core/quartz/impl/pom.xml b/extensions/core/quartz/impl/pom.xml
index 0218d16..4dc41ce 100644
--- a/extensions/core/quartz/impl/pom.xml
+++ b/extensions/core/quartz/impl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions-quartz</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-extensions-quartz-impl</artifactId>
diff --git a/extensions/core/quartz/pom.xml b/extensions/core/quartz/pom.xml
index 9d414ba..fe676b8 100644
--- a/extensions/core/quartz/pom.xml
+++ b/extensions/core/quartz/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/extensions/pom.xml b/extensions/pom.xml
index d77cb25..89291a0 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -68,49 +68,49 @@
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-command-log-jdo</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-quartz-impl</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-command-replay-primary</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-command-replay-secondary</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-exceldownload-ui</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-flyway-impl</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-modelannotation</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-pdfjs-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
@@ -120,72 +120,72 @@
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-pdfjs-metamodel</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-pdfjs-ui</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-fullcalendar-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-fullcalendar-ui</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-model</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-encryption-jbcrypt</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-persistence-jdo</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-persistence-jpa</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-shiro-realm</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-shiro-realm-ldap-impl</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-cors-impl</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<!-- testing -->
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 
diff --git a/extensions/security/secman/api/pom.xml b/extensions/security/secman/api/pom.xml
index 4e5efae..8e645a3 100644
--- a/extensions/security/secman/api/pom.xml
+++ b/extensions/security/secman/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/encryption-jbcrypt/pom.xml b/extensions/security/secman/encryption-jbcrypt/pom.xml
index c65ef00..30b6379 100644
--- a/extensions/security/secman/encryption-jbcrypt/pom.xml
+++ b/extensions/security/secman/encryption-jbcrypt/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/model/pom.xml b/extensions/security/secman/model/pom.xml
index 2b44fa1..e2b4279 100644
--- a/extensions/security/secman/model/pom.xml
+++ b/extensions/security/secman/model/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/persistence-jdo/pom.xml b/extensions/security/secman/persistence-jdo/pom.xml
index c306e12..02b6541 100644
--- a/extensions/security/secman/persistence-jdo/pom.xml
+++ b/extensions/security/secman/persistence-jdo/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/persistence-jpa/pom.xml b/extensions/security/secman/persistence-jpa/pom.xml
index a7e345e..d6b04de 100644
--- a/extensions/security/secman/persistence-jpa/pom.xml
+++ b/extensions/security/secman/persistence-jpa/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/pom.xml b/extensions/security/secman/pom.xml
index dea986d..038c957 100644
--- a/extensions/security/secman/pom.xml
+++ b/extensions/security/secman/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -43,27 +43,27 @@
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-api</artifactId>
-                <version>2.0.0-M5</version>
+                <version>2.0.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-encryption-jbcrypt</artifactId>
-                <version>2.0.0-M5</version>
+                <version>2.0.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-persistence-jdo</artifactId>
-                <version>2.0.0-M5</version>
+                <version>2.0.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-persistence-jpa</artifactId>
-                <version>2.0.0-M5</version>
+                <version>2.0.0-SNAPSHOT</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-shiro-realm</artifactId>
-                <version>2.0.0-M5</version>
+                <version>2.0.0-SNAPSHOT</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
diff --git a/extensions/security/secman/shiro-realm/pom.xml b/extensions/security/secman/shiro-realm/pom.xml
index 4c8ef67..a439081 100644
--- a/extensions/security/secman/shiro-realm/pom.xml
+++ b/extensions/security/secman/shiro-realm/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -54,7 +54,7 @@
 		<dependency>
 			<groupId>org.apache.isis.extensions</groupId>
 			<artifactId>isis-extensions-secman-api</artifactId>
-			<version>2.0.0-M5</version>
+			<version>2.0.0-SNAPSHOT</version>
 			<scope>provided</scope>
 		</dependency>
 
diff --git a/extensions/security/shiro-realm-ldap/impl/pom.xml b/extensions/security/shiro-realm-ldap/impl/pom.xml
index 53a4fa5..c3aa5ef 100644
--- a/extensions/security/shiro-realm-ldap/impl/pom.xml
+++ b/extensions/security/shiro-realm-ldap/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-shiro-realm-ldap</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-shiro-realm-ldap-impl</artifactId>
diff --git a/extensions/security/shiro-realm-ldap/pom.xml b/extensions/security/shiro-realm-ldap/pom.xml
index 2c5b5f2..dcb91a1 100644
--- a/extensions/security/shiro-realm-ldap/pom.xml
+++ b/extensions/security/shiro-realm-ldap/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/vro/cors/impl/pom.xml b/extensions/vro/cors/impl/pom.xml
index 42843ba..b0e8b0f 100644
--- a/extensions/vro/cors/impl/pom.xml
+++ b/extensions/vro/cors/impl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions-cors</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-extensions-cors-impl</artifactId>
diff --git a/extensions/vro/cors/pom.xml b/extensions/vro/cors/pom.xml
index 38ccbb7..09de723 100644
--- a/extensions/vro/cors/pom.xml
+++ b/extensions/vro/cors/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/extensions/vw/exceldownload/pom.xml b/extensions/vw/exceldownload/pom.xml
index 873803e..ffb02f1 100644
--- a/extensions/vw/exceldownload/pom.xml
+++ b/extensions/vw/exceldownload/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/vw/exceldownload/ui/pom.xml b/extensions/vw/exceldownload/ui/pom.xml
index 5dca066..dc92d45 100644
--- a/extensions/vw/exceldownload/ui/pom.xml
+++ b/extensions/vw/exceldownload/ui/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-exceldownload</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-exceldownload-ui</artifactId>
diff --git a/extensions/vw/fullcalendar/applib/pom.xml b/extensions/vw/fullcalendar/applib/pom.xml
index 9432575..f7e6aba 100644
--- a/extensions/vw/fullcalendar/applib/pom.xml
+++ b/extensions/vw/fullcalendar/applib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-fullcalendar</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-fullcalendar-applib</artifactId>
diff --git a/extensions/vw/fullcalendar/pom.xml b/extensions/vw/fullcalendar/pom.xml
index 9062084..de962f8 100644
--- a/extensions/vw/fullcalendar/pom.xml
+++ b/extensions/vw/fullcalendar/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/vw/fullcalendar/ui/pom.xml b/extensions/vw/fullcalendar/ui/pom.xml
index 77717b3..f34db02 100644
--- a/extensions/vw/fullcalendar/ui/pom.xml
+++ b/extensions/vw/fullcalendar/ui/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-fullcalendar</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-fullcalendar-ui</artifactId>
diff --git a/extensions/vw/pdfjs/applib/pom.xml b/extensions/vw/pdfjs/applib/pom.xml
index 1ecb8b9..0c5cbd9 100644
--- a/extensions/vw/pdfjs/applib/pom.xml
+++ b/extensions/vw/pdfjs/applib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-pdfjs</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-pdfjs-applib</artifactId>
diff --git a/extensions/vw/pdfjs/metamodel/pom.xml b/extensions/vw/pdfjs/metamodel/pom.xml
index 140a597..7234b3a 100644
--- a/extensions/vw/pdfjs/metamodel/pom.xml
+++ b/extensions/vw/pdfjs/metamodel/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-pdfjs</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-pdfjs-metamodel</artifactId>
diff --git a/extensions/vw/pdfjs/pom.xml b/extensions/vw/pdfjs/pom.xml
index 41e6c93..df19943 100644
--- a/extensions/vw/pdfjs/pom.xml
+++ b/extensions/vw/pdfjs/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/vw/pdfjs/ui/pom.xml b/extensions/vw/pdfjs/ui/pom.xml
index 620c853..f05f67b 100644
--- a/extensions/vw/pdfjs/ui/pom.xml
+++ b/extensions/vw/pdfjs/ui/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-pdfjs</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-extensions-pdfjs-ui</artifactId>
diff --git a/isis-parent/pom.xml b/isis-parent/pom.xml
index a0fc4c4..61af93e 100644
--- a/isis-parent/pom.xml
+++ b/isis-parent/pom.xml
@@ -51,7 +51,7 @@ under the License.
 
 	<groupId>org.apache.isis</groupId>
 	<artifactId>isis-parent</artifactId>
-	<version>2.0.0-M5</version>
+	<version>2.0.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<!-- APACHE ISIS customisation 1/7: end -->
diff --git a/mappings/jaxrsclient/applib/pom.xml b/mappings/jaxrsclient/applib/pom.xml
index 90099d7..fbaa7a1 100644
--- a/mappings/jaxrsclient/applib/pom.xml
+++ b/mappings/jaxrsclient/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings-jaxrsclient</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mappings-jaxrsclient-applib</artifactId>
diff --git a/mappings/jaxrsclient/impl/pom.xml b/mappings/jaxrsclient/impl/pom.xml
index 1974d1f..98cf901 100644
--- a/mappings/jaxrsclient/impl/pom.xml
+++ b/mappings/jaxrsclient/impl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings-jaxrsclient</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mappings-jaxrsclient-impl</artifactId>
diff --git a/mappings/jaxrsclient/pom.xml b/mappings/jaxrsclient/pom.xml
index f4606d7..375c0e8 100644
--- a/mappings/jaxrsclient/pom.xml
+++ b/mappings/jaxrsclient/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mappings-jaxrsclient</artifactId>
diff --git a/mappings/pom.xml b/mappings/pom.xml
index d4620d6..1253c48 100644
--- a/mappings/pom.xml
+++ b/mappings/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -65,26 +65,26 @@
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings-restclient-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings-jaxrsclient-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings-jaxrsclient-impl</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<!-- testing -->
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 
diff --git a/mappings/restclient/applib/pom.xml b/mappings/restclient/applib/pom.xml
index 9d855cc..0a521e3 100644
--- a/mappings/restclient/applib/pom.xml
+++ b/mappings/restclient/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/mappings/restclient/pom.xml b/mappings/restclient/pom.xml
index 5795275..12d37c8 100644
--- a/mappings/restclient/pom.xml
+++ b/mappings/restclient/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mappings-restclient</artifactId>
diff --git a/mavendeps/integspecs/pom.xml b/mavendeps/integspecs/pom.xml
index ffd9b0a..99976b9 100644
--- a/mavendeps/integspecs/pom.xml
+++ b/mavendeps/integspecs/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-integspecs</artifactId>
diff --git a/mavendeps/integtests/pom.xml b/mavendeps/integtests/pom.xml
index 3076a22..ce921a5 100644
--- a/mavendeps/integtests/pom.xml
+++ b/mavendeps/integtests/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-integtests</artifactId>
diff --git a/mavendeps/jdk11/pom.xml b/mavendeps/jdk11/pom.xml
index 2974b44..f664e05 100644
--- a/mavendeps/jdk11/pom.xml
+++ b/mavendeps/jdk11/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-jdk11</artifactId>
diff --git a/mavendeps/jdo/pom.xml b/mavendeps/jdo/pom.xml
index 5552ce3..f67663a 100644
--- a/mavendeps/jdo/pom.xml
+++ b/mavendeps/jdo/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-jdo</artifactId>
diff --git a/mavendeps/jpa/pom.xml b/mavendeps/jpa/pom.xml
index f162c78..b3c2e71 100644
--- a/mavendeps/jpa/pom.xml
+++ b/mavendeps/jpa/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-jpa</artifactId>
diff --git a/mavendeps/pom.xml b/mavendeps/pom.xml
index 1b5e126..491ff83 100644
--- a/mavendeps/pom.xml
+++ b/mavendeps/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -73,7 +73,7 @@
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
@@ -81,7 +81,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
@@ -89,43 +89,43 @@
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-unittests</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integtests</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integspecs</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jdo</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jpa</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-webapp</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jdk11</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
diff --git a/mavendeps/unittests/pom.xml b/mavendeps/unittests/pom.xml
index 06f7c20..049ab40 100644
--- a/mavendeps/unittests/pom.xml
+++ b/mavendeps/unittests/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-unittests</artifactId>
diff --git a/mavendeps/webapp/pom.xml b/mavendeps/webapp/pom.xml
index e995d16..b07151b 100644
--- a/mavendeps/webapp/pom.xml
+++ b/mavendeps/webapp/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-webapp</artifactId>
diff --git a/persistence/jdo/applib/pom.xml b/persistence/jdo/applib/pom.xml
index dc9b62e..ea038f6 100644
--- a/persistence/jdo/applib/pom.xml
+++ b/persistence/jdo/applib/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-applib</artifactId>
diff --git a/persistence/jdo/datanucleus/pom.xml b/persistence/jdo/datanucleus/pom.xml
index 8327c4b..920590b 100644
--- a/persistence/jdo/datanucleus/pom.xml
+++ b/persistence/jdo/datanucleus/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-datanucleus</artifactId>
diff --git a/persistence/jdo/integration/pom.xml b/persistence/jdo/integration/pom.xml
index 2376752..f684aa5 100644
--- a/persistence/jdo/integration/pom.xml
+++ b/persistence/jdo/integration/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-integration</artifactId>
diff --git a/persistence/jdo/metamodel/pom.xml b/persistence/jdo/metamodel/pom.xml
index c6fd604..69aa414 100644
--- a/persistence/jdo/metamodel/pom.xml
+++ b/persistence/jdo/metamodel/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-metamodel</artifactId>
diff --git a/persistence/jdo/pom.xml b/persistence/jdo/pom.xml
index 594d728..f2da331 100644
--- a/persistence/jdo/pom.xml
+++ b/persistence/jdo/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/persistence/jdo/provider/pom.xml b/persistence/jdo/provider/pom.xml
index e834698..23cc9f3 100644
--- a/persistence/jdo/provider/pom.xml
+++ b/persistence/jdo/provider/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-provider</artifactId>
diff --git a/persistence/jdo/spring/pom.xml b/persistence/jdo/spring/pom.xml
index 7777087..aad235b 100644
--- a/persistence/jdo/spring/pom.xml
+++ b/persistence/jdo/spring/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-spring</artifactId>
diff --git a/persistence/jpa/applib/pom.xml b/persistence/jpa/applib/pom.xml
index 0ca57a2..a07b8f0 100644
--- a/persistence/jpa/applib/pom.xml
+++ b/persistence/jpa/applib/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jpa</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jpa-applib</artifactId>
diff --git a/persistence/jpa/eclipselink/pom.xml b/persistence/jpa/eclipselink/pom.xml
index 86fa8a0..f8b7729 100644
--- a/persistence/jpa/eclipselink/pom.xml
+++ b/persistence/jpa/eclipselink/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jpa</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jpa-eclipselink</artifactId>
diff --git a/persistence/jpa/integration/pom.xml b/persistence/jpa/integration/pom.xml
index 04a9375..14d197b 100644
--- a/persistence/jpa/integration/pom.xml
+++ b/persistence/jpa/integration/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jpa</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jpa-integration</artifactId>
diff --git a/persistence/jpa/metamodel/pom.xml b/persistence/jpa/metamodel/pom.xml
index 622b070..30dc02b 100644
--- a/persistence/jpa/metamodel/pom.xml
+++ b/persistence/jpa/metamodel/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jpa</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-persistence-jpa-metamodel</artifactId>
diff --git a/persistence/jpa/pom.xml b/persistence/jpa/pom.xml
index 60fd543..abf4ba9 100644
--- a/persistence/jpa/pom.xml
+++ b/persistence/jpa/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/security/bypass/pom.xml b/security/bypass/pom.xml
index 32c1f99..b118f2f 100644
--- a/security/bypass/pom.xml
+++ b/security/bypass/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/security/keycloak/pom.xml b/security/keycloak/pom.xml
index a2ed2c7..c6cd4fd 100644
--- a/security/keycloak/pom.xml
+++ b/security/keycloak/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-    	<version>2.0.0-M5</version>
+    	<version>2.0.0-SNAPSHOT</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
@@ -47,7 +47,7 @@
             <dependency>
                 <groupId>org.apache.isis.security</groupId>
                 <artifactId>isis-security-keycloak</artifactId>
-                <version>2.0.0-M5</version>
+                <version>2.0.0-SNAPSHOT</version>
             </dependency>
     	</dependencies>
     </dependencyManagement>
diff --git a/security/shiro/pom.xml b/security/shiro/pom.xml
index 811a475..ea563bf 100644
--- a/security/shiro/pom.xml
+++ b/security/shiro/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-    	<version>2.0.0-M5</version>
+    	<version>2.0.0-SNAPSHOT</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
@@ -47,7 +47,7 @@
             <dependency>
                 <groupId>org.apache.isis.security</groupId>
                 <artifactId>isis-security-shiro</artifactId>
-                <version>2.0.0-M5</version>
+                <version>2.0.0-SNAPSHOT</version>
             </dependency>
     	</dependencies>
     </dependencyManagement>
diff --git a/security/spring/pom.xml b/security/spring/pom.xml
index 09abde1..69c662b 100644
--- a/security/spring/pom.xml
+++ b/security/spring/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/starters/pom.xml b/starters/pom.xml
index d4e1d77..fe2e874 100644
--- a/starters/pom.xml
+++ b/starters/pom.xml
@@ -20,7 +20,7 @@
 		in build-artifacts.sh -->
 	<groupId>org.apache.isis.app</groupId>
 	<artifactId>isis-app-starter-parent</artifactId>
-	<version>2.0.0-M5</version>
+	<version>2.0.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<parent>
@@ -90,7 +90,7 @@
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -98,7 +98,7 @@
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -112,7 +112,7 @@
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -120,7 +120,7 @@
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -128,7 +128,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -136,14 +136,14 @@
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integtests</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
diff --git a/subdomains/base/applib/pom.xml b/subdomains/base/applib/pom.xml
index 0048dbf..6fc3911 100644
--- a/subdomains/base/applib/pom.xml
+++ b/subdomains/base/applib/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains-base</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 	
     <artifactId>isis-subdomains-base-applib</artifactId>
diff --git a/subdomains/base/pom.xml b/subdomains/base/pom.xml
index da842af..c559811 100644
--- a/subdomains/base/pom.xml
+++ b/subdomains/base/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 	
     <artifactId>isis-subdomains-base</artifactId>
diff --git a/subdomains/docx/applib/pom.xml b/subdomains/docx/applib/pom.xml
index 24a897e..875c9d1 100644
--- a/subdomains/docx/applib/pom.xml
+++ b/subdomains/docx/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-docx</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-docx-applib</artifactId>
diff --git a/subdomains/docx/pom.xml b/subdomains/docx/pom.xml
index 1a57b21..f36af1b 100644
--- a/subdomains/docx/pom.xml
+++ b/subdomains/docx/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-docx</artifactId>
diff --git a/subdomains/excel/applib/pom.xml b/subdomains/excel/applib/pom.xml
index a012720..cace29c 100644
--- a/subdomains/excel/applib/pom.xml
+++ b/subdomains/excel/applib/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains-excel</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-subdomains-excel-applib</artifactId>
diff --git a/subdomains/excel/fixture/pom.xml b/subdomains/excel/fixture/pom.xml
index 4851888..a288446 100644
--- a/subdomains/excel/fixture/pom.xml
+++ b/subdomains/excel/fixture/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/subdomains/excel/integtests/pom.xml b/subdomains/excel/integtests/pom.xml
index e278060..2d4a1f6 100644
--- a/subdomains/excel/integtests/pom.xml
+++ b/subdomains/excel/integtests/pom.xml
@@ -24,7 +24,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/subdomains/excel/pom.xml b/subdomains/excel/pom.xml
index fe66deb..7a53b04 100644
--- a/subdomains/excel/pom.xml
+++ b/subdomains/excel/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-subdomains-excel</artifactId>
diff --git a/subdomains/excel/testing/pom.xml b/subdomains/excel/testing/pom.xml
index e0e6cbe..5af12f8 100644
--- a/subdomains/excel/testing/pom.xml
+++ b/subdomains/excel/testing/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains-excel</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-subdomains-excel-testing</artifactId>
diff --git a/subdomains/freemarker/applib/pom.xml b/subdomains/freemarker/applib/pom.xml
index 5bab4be..4b1d5fb 100644
--- a/subdomains/freemarker/applib/pom.xml
+++ b/subdomains/freemarker/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-freemarker</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-freemarker-applib</artifactId>
diff --git a/subdomains/freemarker/pom.xml b/subdomains/freemarker/pom.xml
index 7a96d12..56f8ead 100644
--- a/subdomains/freemarker/pom.xml
+++ b/subdomains/freemarker/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-freemarker</artifactId>
diff --git a/subdomains/ognl/applib/pom.xml b/subdomains/ognl/applib/pom.xml
index 2474a68..b6c5ebf 100644
--- a/subdomains/ognl/applib/pom.xml
+++ b/subdomains/ognl/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/subdomains/ognl/pom.xml b/subdomains/ognl/pom.xml
index f89c82f..3595942 100644
--- a/subdomains/ognl/pom.xml
+++ b/subdomains/ognl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-ognl</artifactId>
diff --git a/subdomains/pdfbox/applib/pom.xml b/subdomains/pdfbox/applib/pom.xml
index 2a16b15..3b04c84 100644
--- a/subdomains/pdfbox/applib/pom.xml
+++ b/subdomains/pdfbox/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-pdfbox</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-pdfbox-applib</artifactId>
diff --git a/subdomains/pdfbox/pom.xml b/subdomains/pdfbox/pom.xml
index 1c1463b..3f0a9e4 100644
--- a/subdomains/pdfbox/pom.xml
+++ b/subdomains/pdfbox/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-pdfbox</artifactId>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index 8931644..d2d8072 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -65,77 +65,77 @@
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-base-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-docx-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-testing</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-fixtures</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-integtests</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-freemarker-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-ognl-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-pdfbox-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-spring-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-xdocreport-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-zip-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<!-- testing -->
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
diff --git a/subdomains/spring/applib/pom.xml b/subdomains/spring/applib/pom.xml
index 90adb95..5d55c86 100644
--- a/subdomains/spring/applib/pom.xml
+++ b/subdomains/spring/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-spring</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-spring-applib</artifactId>
diff --git a/subdomains/spring/pom.xml b/subdomains/spring/pom.xml
index 36ca96c..c5ebbde 100644
--- a/subdomains/spring/pom.xml
+++ b/subdomains/spring/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-spring</artifactId>
diff --git a/subdomains/xdocreport/applib/pom.xml b/subdomains/xdocreport/applib/pom.xml
index 2f572fc..1a4b217 100644
--- a/subdomains/xdocreport/applib/pom.xml
+++ b/subdomains/xdocreport/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-xdocreport</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-xdocreport-applib</artifactId>
diff --git a/subdomains/xdocreport/pom.xml b/subdomains/xdocreport/pom.xml
index ff31dc8..81c2736 100644
--- a/subdomains/xdocreport/pom.xml
+++ b/subdomains/xdocreport/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-xdocreport</artifactId>
diff --git a/subdomains/zip/applib/pom.xml b/subdomains/zip/applib/pom.xml
index 9630f1f..eda0e91 100644
--- a/subdomains/zip/applib/pom.xml
+++ b/subdomains/zip/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-zip</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-zip-applib</artifactId>
diff --git a/subdomains/zip/pom.xml b/subdomains/zip/pom.xml
index 71172b5..6b3812e 100644
--- a/subdomains/zip/pom.xml
+++ b/subdomains/zip/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-subdomains-zip</artifactId>
diff --git a/testing/fakedata/applib/pom.xml b/testing/fakedata/applib/pom.xml
index c31b599..4e84da8 100644
--- a/testing/fakedata/applib/pom.xml
+++ b/testing/fakedata/applib/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing-fakedata</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-testing-fakedata-applib</artifactId>
diff --git a/testing/fakedata/fixtures/pom.xml b/testing/fakedata/fixtures/pom.xml
index 703913b..9b04d00 100644
--- a/testing/fakedata/fixtures/pom.xml
+++ b/testing/fakedata/fixtures/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing-fakedata</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-testing-fakedata-fixtures</artifactId>
diff --git a/testing/fakedata/integtests/pom.xml b/testing/fakedata/integtests/pom.xml
index 54da9c6..f869a29 100644
--- a/testing/fakedata/integtests/pom.xml
+++ b/testing/fakedata/integtests/pom.xml
@@ -24,7 +24,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing-fakedata</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-testing-fakedata-integtests</artifactId>
diff --git a/testing/fakedata/pom.xml b/testing/fakedata/pom.xml
index 97b6757..d00b2ba 100644
--- a/testing/fakedata/pom.xml
+++ b/testing/fakedata/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-testing-fakedata</artifactId>
diff --git a/testing/fixtures/applib/pom.xml b/testing/fixtures/applib/pom.xml
index 4b4bd1a..9142a1b 100644
--- a/testing/fixtures/applib/pom.xml
+++ b/testing/fixtures/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-fixtures</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-fixtures-applib</artifactId>
diff --git a/testing/fixtures/pom.xml b/testing/fixtures/pom.xml
index b3a962e..1c6885e 100644
--- a/testing/fixtures/pom.xml
+++ b/testing/fixtures/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-fixtures</artifactId>
diff --git a/testing/h2console/pom.xml b/testing/h2console/pom.xml
index 52a9550..1c7e1ec 100644
--- a/testing/h2console/pom.xml
+++ b/testing/h2console/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-h2console</artifactId>
diff --git a/testing/h2console/ui/pom.xml b/testing/h2console/ui/pom.xml
index a7beef4..ed632ca 100644
--- a/testing/h2console/ui/pom.xml
+++ b/testing/h2console/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-h2console</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-h2console-ui</artifactId>
diff --git a/testing/hsqldbmgr/pom.xml b/testing/hsqldbmgr/pom.xml
index 763934c..0888af1 100644
--- a/testing/hsqldbmgr/pom.xml
+++ b/testing/hsqldbmgr/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-hsqldbmgr</artifactId>
diff --git a/testing/hsqldbmgr/ui/pom.xml b/testing/hsqldbmgr/ui/pom.xml
index c47a564..53655fe 100644
--- a/testing/hsqldbmgr/ui/pom.xml
+++ b/testing/hsqldbmgr/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-hsqldbmgr</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-hsqldbmgr-ui</artifactId>
diff --git a/testing/integtestsupport/applib/pom.xml b/testing/integtestsupport/applib/pom.xml
index 0b9f0d4..f5dc1f7 100644
--- a/testing/integtestsupport/applib/pom.xml
+++ b/testing/integtestsupport/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-integtestsupport</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-integtestsupport-applib</artifactId>
diff --git a/testing/integtestsupport/pom.xml b/testing/integtestsupport/pom.xml
index 8601e79..2244f1d 100644
--- a/testing/integtestsupport/pom.xml
+++ b/testing/integtestsupport/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-integtestsupport</artifactId>
diff --git a/testing/pom.xml b/testing/pom.xml
index 41c59a5..0c50715 100644
--- a/testing/pom.xml
+++ b/testing/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -66,60 +66,60 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-integtestsupport-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-h2console-ui</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-hsqldbmgr-ui</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-specsupport-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fakedata-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fakedata-fixtures</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fakedata-integtests</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-unittestsupport-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<!-- dependencies -->
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-spring-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 		</dependencies>
diff --git a/testing/specsupport/applib/pom.xml b/testing/specsupport/applib/pom.xml
index c936410..598ac3a 100644
--- a/testing/specsupport/applib/pom.xml
+++ b/testing/specsupport/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-specsupport</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-specsupport-applib</artifactId>
diff --git a/testing/specsupport/pom.xml b/testing/specsupport/pom.xml
index 6d78812..dbff4e6 100644
--- a/testing/specsupport/pom.xml
+++ b/testing/specsupport/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-testing-specsupport</artifactId>
diff --git a/testing/unittestsupport/applib/pom.xml b/testing/unittestsupport/applib/pom.xml
index 2ed9362..7833d9f 100644
--- a/testing/unittestsupport/applib/pom.xml
+++ b/testing/unittestsupport/applib/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing-unittestsupport</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-testing-unittestsupport-applib</artifactId>
diff --git a/testing/unittestsupport/pom.xml b/testing/unittestsupport/pom.xml
index 29913e7..1c9d5f1 100644
--- a/testing/unittestsupport/pom.xml
+++ b/testing/unittestsupport/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-testing-unittestsupport</artifactId>
diff --git a/valuetypes/asciidoc/applib/pom.xml b/valuetypes/asciidoc/applib/pom.xml
index 9e74135..87a57ee 100644
--- a/valuetypes/asciidoc/applib/pom.xml
+++ b/valuetypes/asciidoc/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-applib</artifactId>
diff --git a/valuetypes/asciidoc/metamodel/pom.xml b/valuetypes/asciidoc/metamodel/pom.xml
index 64308e9..cc3fd50 100644
--- a/valuetypes/asciidoc/metamodel/pom.xml
+++ b/valuetypes/asciidoc/metamodel/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-metamodel</artifactId>
diff --git a/valuetypes/asciidoc/persistence/jdo-dn5/pom.xml b/valuetypes/asciidoc/persistence/jdo-dn5/pom.xml
index 1ff3af7..0b6afb3 100644
--- a/valuetypes/asciidoc/persistence/jdo-dn5/pom.xml
+++ b/valuetypes/asciidoc/persistence/jdo-dn5/pom.xml
@@ -17,12 +17,12 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc-persistence</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-persistence-jdo-dn5</artifactId>
 	<name>Apache Isis Val - Asciidoctor (persistence jdo DN5)</name>
-	<version>2.0.0-M5</version>
+	<version>2.0.0-SNAPSHOT</version>
 
 	<properties>
 		<jar-plugin.automaticModuleName>org.apache.isis.valuetypes.asciidoc.persistence.jdo.dn5</jar-plugin.automaticModuleName>
diff --git a/valuetypes/asciidoc/persistence/pom.xml b/valuetypes/asciidoc/persistence/pom.xml
index 7e06063..dcd8eab 100644
--- a/valuetypes/asciidoc/persistence/pom.xml
+++ b/valuetypes/asciidoc/persistence/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-persistence</artifactId>
diff --git a/valuetypes/asciidoc/pom.xml b/valuetypes/asciidoc/pom.xml
index 2b641d1..bb04765 100644
--- a/valuetypes/asciidoc/pom.xml
+++ b/valuetypes/asciidoc/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc</artifactId>
diff --git a/valuetypes/asciidoc/ui/pom.xml b/valuetypes/asciidoc/ui/pom.xml
index 672f0e0..66b9725 100644
--- a/valuetypes/asciidoc/ui/pom.xml
+++ b/valuetypes/asciidoc/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-ui</artifactId>
diff --git a/valuetypes/asciidoc/ui/wicket/pom.xml b/valuetypes/asciidoc/ui/wicket/pom.xml
index 7b9ac48..0e5dd0b 100644
--- a/valuetypes/asciidoc/ui/wicket/pom.xml
+++ b/valuetypes/asciidoc/ui/wicket/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc-ui</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-ui-wkt</artifactId>
diff --git a/valuetypes/markdown/applib/pom.xml b/valuetypes/markdown/applib/pom.xml
index 7f44ffa..e127a1c 100644
--- a/valuetypes/markdown/applib/pom.xml
+++ b/valuetypes/markdown/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-applib</artifactId>
diff --git a/valuetypes/markdown/metamodel/pom.xml b/valuetypes/markdown/metamodel/pom.xml
index 8d0afbb..9a763a3 100644
--- a/valuetypes/markdown/metamodel/pom.xml
+++ b/valuetypes/markdown/metamodel/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-metamodel</artifactId>
diff --git a/valuetypes/markdown/persistence/jdo-dn5/pom.xml b/valuetypes/markdown/persistence/jdo-dn5/pom.xml
index fbda4a2..9a6d77a 100644
--- a/valuetypes/markdown/persistence/jdo-dn5/pom.xml
+++ b/valuetypes/markdown/persistence/jdo-dn5/pom.xml
@@ -17,12 +17,12 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown-persistence</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-persistence-jdo-dn5</artifactId>
 	<name>Apache Isis Val - Markdown (persistence jdo DN5)</name>
-	<version>2.0.0-M5</version>
+	<version>2.0.0-SNAPSHOT</version>
 
 	<properties>
 		<jar-plugin.automaticModuleName>org.apache.isis.valuetypes.markdown.persistence.jdo.dn5</jar-plugin.automaticModuleName>
diff --git a/valuetypes/markdown/persistence/pom.xml b/valuetypes/markdown/persistence/pom.xml
index d2920ba..2ce1b6f 100644
--- a/valuetypes/markdown/persistence/pom.xml
+++ b/valuetypes/markdown/persistence/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-persistence</artifactId>
diff --git a/valuetypes/markdown/pom.xml b/valuetypes/markdown/pom.xml
index 6d067dc..14279c6 100644
--- a/valuetypes/markdown/pom.xml
+++ b/valuetypes/markdown/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown</artifactId>
diff --git a/valuetypes/markdown/ui/pom.xml b/valuetypes/markdown/ui/pom.xml
index 2b3af98..ba0d246 100644
--- a/valuetypes/markdown/ui/pom.xml
+++ b/valuetypes/markdown/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-ui</artifactId>
diff --git a/valuetypes/markdown/ui/wicket/pom.xml b/valuetypes/markdown/ui/wicket/pom.xml
index f296372..b61d531 100644
--- a/valuetypes/markdown/ui/wicket/pom.xml
+++ b/valuetypes/markdown/ui/wicket/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown-ui</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-ui-wkt</artifactId>
diff --git a/valuetypes/pom.xml b/valuetypes/pom.xml
index cabc5b2..73bb84f 100644
--- a/valuetypes/pom.xml
+++ b/valuetypes/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -64,12 +64,12 @@
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-asciidoc-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-asciidoc-metamodel</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
@@ -79,49 +79,49 @@
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-asciidoc-ui-wkt</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-asciidoc-persistence-jdo-dn5</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-markdown-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-markdown-metamodel</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-markdown-ui-wkt</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-markdown-persistence-jdo-dn5</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-sse-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-sse-metamodel</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-sse-ui-wkt</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 			<!-- testing -->
@@ -129,7 +129,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-M5</version>
+				<version>2.0.0-SNAPSHOT</version>
 			</dependency>
 
 		</dependencies>
diff --git a/valuetypes/sse/applib/pom.xml b/valuetypes/sse/applib/pom.xml
index 1d10074..7ae764f 100644
--- a/valuetypes/sse/applib/pom.xml
+++ b/valuetypes/sse/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/valuetypes/sse/metamodel/pom.xml b/valuetypes/sse/metamodel/pom.xml
index 4d22e07..a67f882 100644
--- a/valuetypes/sse/metamodel/pom.xml
+++ b/valuetypes/sse/metamodel/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-sse</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-sse-metamodel</artifactId>
diff --git a/valuetypes/sse/pom.xml b/valuetypes/sse/pom.xml
index b4dc1ad..8e15f60 100644
--- a/valuetypes/sse/pom.xml
+++ b/valuetypes/sse/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-sse</artifactId>
diff --git a/valuetypes/sse/ui/pom.xml b/valuetypes/sse/ui/pom.xml
index ed23586..7c5725f 100644
--- a/valuetypes/sse/ui/pom.xml
+++ b/valuetypes/sse/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-sse</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-sse-ui</artifactId>
diff --git a/valuetypes/sse/ui/wicket/pom.xml b/valuetypes/sse/ui/wicket/pom.xml
index 2987272..a26276a 100644
--- a/valuetypes/sse/ui/wicket/pom.xml
+++ b/valuetypes/sse/ui/wicket/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-sse-ui</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-sse-ui-wkt</artifactId>
diff --git a/viewers/common/pom.xml b/viewers/common/pom.xml
index 4ab4183..adce1ef 100644
--- a/viewers/common/pom.xml
+++ b/viewers/common/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/viewers/restfulobjects/applib/pom.xml b/viewers/restfulobjects/applib/pom.xml
index 05cf4f2..d456b47 100644
--- a/viewers/restfulobjects/applib/pom.xml
+++ b/viewers/restfulobjects/applib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-restfulobjects</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
 	<artifactId>isis-viewer-restfulobjects-applib</artifactId>
diff --git a/viewers/restfulobjects/jaxrs-resteasy-4/pom.xml b/viewers/restfulobjects/jaxrs-resteasy-4/pom.xml
index fce0b8a..c6da57b 100644
--- a/viewers/restfulobjects/jaxrs-resteasy-4/pom.xml
+++ b/viewers/restfulobjects/jaxrs-resteasy-4/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.0.0-M5</version>
+		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>isis-viewer-restfulobjects-jaxrsresteasy4</artifactId>
diff --git a/viewers/restfulobjects/pom.xml b/viewers/restfulobjects/pom.xml
index 5994131..9ae5b46 100644
--- a/viewers/restfulobjects/pom.xml
+++ b/viewers/restfulobjects/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/viewers/restfulobjects/rendering/pom.xml b/viewers/restfulobjects/rendering/pom.xml
index 41bbc27..77a1740 100644
--- a/viewers/restfulobjects/rendering/pom.xml
+++ b/viewers/restfulobjects/rendering/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-restfulobjects</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-viewer-restfulobjects-rendering</artifactId>
diff --git a/viewers/restfulobjects/testing/pom.xml b/viewers/restfulobjects/testing/pom.xml
index a545aa8..3f12ce1 100644
--- a/viewers/restfulobjects/testing/pom.xml
+++ b/viewers/restfulobjects/testing/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-restfulobjects</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-viewer-restfulobjects-testing</artifactId>
diff --git a/viewers/restfulobjects/viewer/pom.xml b/viewers/restfulobjects/viewer/pom.xml
index 34965e0..c8c1de5 100644
--- a/viewers/restfulobjects/viewer/pom.xml
+++ b/viewers/restfulobjects/viewer/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-restfulobjects</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-viewer-restfulobjects-viewer</artifactId>
diff --git a/viewers/wicket/model/pom.xml b/viewers/wicket/model/pom.xml
index c33b308..d92ede6 100644
--- a/viewers/wicket/model/pom.xml
+++ b/viewers/wicket/model/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-wicket</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-viewer-wicket-model</artifactId>
diff --git a/viewers/wicket/pom.xml b/viewers/wicket/pom.xml
index 13c5458..1d12d02 100644
--- a/viewers/wicket/pom.xml
+++ b/viewers/wicket/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/viewers/wicket/ui/pom.xml b/viewers/wicket/ui/pom.xml
index fd709fb..207e935 100644
--- a/viewers/wicket/ui/pom.xml
+++ b/viewers/wicket/ui/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-wicket</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>isis-viewer-wicket-ui</artifactId>
diff --git a/viewers/wicket/viewer/pom.xml b/viewers/wicket/viewer/pom.xml
index 3320975..f0c9d54 100644
--- a/viewers/wicket/viewer/pom.xml
+++ b/viewers/wicket/viewer/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-wicket</artifactId>
-        <version>2.0.0-M5</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <name>Apache Isis Viewer - Wicket (Viewer)</name>

[isis] 03/08: ISIS-2450: updates to relnotes, and cutting-a-release

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 66e9e6c9f2783e398cd1b755d57b52453b40ea34
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 19 06:44:41 2021 +0000

    ISIS-2450: updates to relnotes, and cutting-a-release
---
 .../modules/ROOT/pages/cutting-a-release.adoc       |  6 ++++--
 .../{migrating-to-2.0.0.adoc => mignotes.adoc}      |  2 --
 .../pages/{2020 => 2021}/2.0.0-M5/mignotes.adoc     |  7 +++----
 .../pages/{2020 => 2021}/2.0.0-M5/relnotes.adoc     |  0
 .../relnotes/modules/ROOT/pages/about.adoc          | 21 +++++++++++----------
 5 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/antora/components/comguide/modules/ROOT/pages/cutting-a-release.adoc b/antora/components/comguide/modules/ROOT/pages/cutting-a-release.adoc
index e2b689e..fb33d6e 100644
--- a/antora/components/comguide/modules/ROOT/pages/cutting-a-release.adoc
+++ b/antora/components/comguide/modules/ROOT/pages/cutting-a-release.adoc
@@ -61,7 +61,7 @@ To run the RAT tool, use:
 mvn clean
 
 pushd isis-parent
-mvn org.apache.rat:apache-rat-plugin:check -D rat.numUnapprovedLicenses=1000 -Dreleased -P'!all'
+mvn org.apache.rat:apache-rat-plugin:check -D rat.numUnapprovedLicenses=1000 -Dreleased
 popd
 
 for a in `/bin/find . -name rat.txt -print`; do grep '!???' $a; done > /tmp/rat-qn.txt
@@ -97,7 +97,7 @@ In the root directory:
 
 [source,bash,subs="attributes+"]
 ----
-mvn clean install -o
+mvn clean install -o -DskipTests
 ----
 
 Once this is done, capture the missing license information using:
@@ -138,6 +138,8 @@ Generate the website, ensuring that the config, examples, projdoc (system overvi
 sh preview.sh
 ----
 
+NOTE: this now needs to be run using Java 11 (because of the "projdoc" tooling).
+
 Check for any Asciidoc errors, and fix.
 
 
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/migrating-to-2.0.0.adoc b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/mignotes.adoc
similarity index 99%
rename from antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/migrating-to-2.0.0.adoc
rename to antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/mignotes.adoc
index 3454b3e..916af36 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/migrating-to-2.0.0.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/mignotes.adoc
@@ -2,8 +2,6 @@
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-WARNING: this is work-in-progress.
-
 Search also for: "TODO: v2: " in the .adoc documentation.
 
 == to 2.0.0
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/mignotes.adoc
similarity index 99%
rename from antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc
rename to antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/mignotes.adoc
index 4a9c244..f98c2a4 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/mignotes.adoc
@@ -3,7 +3,6 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
-WARNING: Not released yet.
 
 == Removal of Image Value Type
 
@@ -346,14 +345,14 @@ validity of the used constructor rather than doing construction reflective at ru
 
 == Wicket Viewer
 
-All descendants of `PanelAbstract` now need 2 generic type arguments instead of 1, 
+All descendants of `PanelAbstract` now need 2 generic type arguments instead of 1,
 where the newly added is first and specifies the _IModel's_ generic type parameter.
 
 [source,java]
 .PanelAbstract
 ----
 // PanelAbstract<T extends IModel<?>> extends PanelBase // <-- previously
-PanelAbstract<T, M extends IModel<T>> extends PanelBase<T> // <.> 
+PanelAbstract<T, M extends IModel<T>> extends PanelBase<T> // <.>
 ----
 <.> solves methods clashing 'having same erasure yet neither overrides the other'
 
@@ -361,7 +360,7 @@ PanelAbstract<T, M extends IModel<T>> extends PanelBase<T> // <.>
 .Example Migration
 ----
 // MyPanel extends PanelAbstract<IModel<String>> // <-- previously
-MyPanel extends PanelAbstract<String, IModel<String>> 
+MyPanel extends PanelAbstract<String, IModel<String>>
 ----
 
 == Extensions
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/relnotes.adoc
similarity index 100%
rename from antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/relnotes.adoc
rename to antora/components/relnotes/modules/ROOT/pages/2021/2.0.0-M5/relnotes.adoc
diff --git a/antora/components/relnotes/modules/ROOT/pages/about.adoc b/antora/components/relnotes/modules/ROOT/pages/about.adoc
index ed0d371..b632164 100644
--- a/antora/components/relnotes/modules/ROOT/pages/about.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/about.adoc
@@ -16,15 +16,15 @@ This table summarises all releases of Apache Isis v2.0 to date.
 | Bugs
 | Detail
 
-//| 2.0.0-M5
-//| not released yet (upcoming)
-//| Fifth milestone release for Apache Isis 2.0.0
-//| ?
-//| ?
-//| ?
-//|
-//* xref:relnotes:ROOT:2020/2.0.0-M5/relnotes.adoc[Release Notes]
-//* xref:relnotes:ROOT:2020/2.0.0-M5/mignotes.adoc[Migration Notes]
+| 2.0.0-M5
+| not released yet (upcoming)
+| Fifth milestone release for Apache Isis 2.0.0
+| ?
+| ?
+| ?
+|
+* xref:relnotes:ROOT:2021/2.0.0-M5/relnotes.adoc[Release Notes]
+* xref:relnotes:ROOT:2021/2.0.0-M5/mignotes.adoc[Migration Notes]
 
 | 2.0.0-M4
 | 17-10-2020
@@ -34,7 +34,7 @@ This table summarises all releases of Apache Isis v2.0 to date.
 | 54
 |
 * xref:relnotes:ROOT:2020/2.0.0-M4/relnotes.adoc[Release Notes]
-* xref:relnotes:ROOT:2018/2.0.0-M4/mignotes.adoc[Migration Notes]
+* xref:relnotes:ROOT:2020/2.0.0-M4/mignotes.adoc[Migration Notes]
 * link:https://issues.apache.org/jira/projects/ISIS/versions/12347808[JIRA Rel Notes]
 
 | 2.0.0-M3
@@ -45,6 +45,7 @@ This table summarises all releases of Apache Isis v2.0 to date.
 | 46
 |
 * xref:relnotes:ROOT:2020/2.0.0-M3/relnotes.adoc[Release Notes]
+* xref:relnotes:ROOT:2020/2.0.0-M3/mignotes.adoc[Migration Notes]
 * link:https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=12344784[JIRA Rel Notes]
 
 | 2.0.0-M2

[isis] 04/08: ISIS-2450: updates config docs

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit d42f493c3b7456e15d75b2da9d21cf21e6219ae0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 19 06:54:05 2021 +0000

    ISIS-2450: updates config docs
---
 .../modules/config/pages/sections/datanucleus.adoc | 16 +++---
 .../config/pages/sections/isis.viewer.wicket.adoc  | 61 +++++++++-------------
 2 files changed, 35 insertions(+), 42 deletions(-)

diff --git a/core/config/src/main/adoc/modules/config/pages/sections/datanucleus.adoc b/core/config/src/main/adoc/modules/config/pages/sections/datanucleus.adoc
index dbb9d3e..10faca9 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/datanucleus.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/datanucleus.adoc
@@ -18,19 +18,21 @@ datanucleus.cache.level2.mode
 | 
 | The mode of operation of the L2 cache, deciding which entities are cached.
 
-The default (UNSPECIFIED) is the same as DISABLE_SELECTIVE. NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2[DataNucleus Cache docs].
+The default (UNSPECIFIED) is the same as DISABLE_SELECTIVE.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2[DataNucleus Cache docs].
 
 
 |
 [[datanucleus.cache.level2.type]]
 datanucleus.cache.level2.type
 
-| 
+|  soft
 | Name of the type of Level 2 Cache to use.
 
 Can be used to interface with external caching products. Use "none" to turn off L2 caching; other values include "soft", "weak", "javax.cache".
 
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2[DataNucleus Cache docs].
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2[DataNucleus Cache docs].
 
 
 |
@@ -45,12 +47,12 @@ datanucleus.identifier.case
 [[datanucleus.manage-relationships]]
 datanucleus.manage-relationships
 
-| 
+|  true
 | Whether DataNucleus will try to manage bidirectional relations, correcting the input objects so that all relations are consistent.
 
 This process runs when flush()/commit() is called. You can set it to false if you always set both sides of a relation when persisting/updating.
 
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs]
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs].
 
 
 |
@@ -59,12 +61,12 @@ datanucleus. +
 persistence-by-reachability-at- +
 commit
 
-| 
+|  true
 | Whether to run the "persistence-by-reachability" algorithm at commit time.
 
 This means that objects that were reachable at a call to makePersistent() but that are no longer persistent will be removed from persistence. For performance improvements, consider turning this off.
 
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs]
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs].
 
 
 |
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.wicket.adoc b/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.wicket.adoc
index 7eb5066..3cc4dcf 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.wicket.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.wicket.adoc
@@ -15,7 +15,7 @@ include::../section-hooks/isis.viewer.wicket~pre.adoc[]
 [[isis.viewer.wicket.ajax-debug-mode]]
 isis.viewer.wicket.ajax-debug-mode
 
-|
+| 
 | Whether the Ajax debug should be shown, by default this is disabled.
 
 
@@ -36,7 +36,7 @@ There is usually very little reason to change this from its default.
 isis.viewer.wicket.application. +
 about
 
-|
+| 
 | Label used on the about page.
 
 
@@ -45,7 +45,7 @@ about
 isis.viewer.wicket.application. +
 brand-logo-header
 
-|
+| 
 | Either the location of the image file (relative to the class-path resource root), or an absolute URL.
 
 This is rendered on the header panel. An image with a size of 160x40 works well. If not specified, the application.name is used instead.
@@ -56,7 +56,7 @@ This is rendered on the header panel. An image with a size of 160x40 works well.
 isis.viewer.wicket.application. +
 brand-logo-signin
 
-|
+| 
 | Either the location of the image file (relative to the class-path resource root), or an absolute URL.
 
 This is rendered on the sign-in page. An image with a size of 400x40 works well. If not specified, the application name is used instead.
@@ -66,27 +66,18 @@ This is rendered on the sign-in page. An image with a size of 400x40 works well.
 [[isis.viewer.wicket.application.css]]
 isis.viewer.wicket.application.css
 
-|
+| 
 | URL of file to read any custom CSS, relative to ``static`` package on the class path.
 
 A typical value is ``css``. This will result in this file being read from the ``static/css`` directory (because static resources such as CSS are mounted by Spring by default under ``static`` package).
 
 
 |
-[[isis.viewer.wicket.application.favicon-content-type]]
-isis.viewer.wicket.application. +
-favicon-content-type
-
-|
-| Specifies the content type of the favIcon, if any.
-
-
-|
 [[isis.viewer.wicket.application.favicon-url]]
 isis.viewer.wicket.application. +
 favicon-url
 
-|
+| 
 | Specifies the URL to use of the favIcon.
 
 This is expected to be a local resource.
@@ -96,7 +87,7 @@ This is expected to be a local resource.
 [[isis.viewer.wicket.application.js]]
 isis.viewer.wicket.application.js
 
-|
+| 
 | URL of file to read any custom JavaScript, relative to ``static`` package on the class path.
 
 A typical value is ``js``. This will result in this file being read from the ``static/js`` directory (because static resources such as CSS are mounted by Spring by default under ``static`` package).
@@ -127,7 +118,7 @@ name
 isis.viewer.wicket.application. +
 version
 
-|
+| 
 | The version of the application, eg 1.0, 1.1, etc.
 
 If present, then this will be shown in the footer on every page as well as on the about page.
@@ -194,7 +185,7 @@ max-parent-chain-length
 isis.viewer.wicket. +
 clear-original-destination
 
-|
+| 
 | If the end user uses a deep link to access the Wicket viewer, but is not authenticated, then this configuration property determines whether to continue through to that original destination once authenticated, or simply to go to the home page.
 
 The default behaviour is to honour the original destination requested.
@@ -204,7 +195,7 @@ The default behaviour is to honour the original destination requested.
 [[isis.viewer.wicket.credit]]
 isis.viewer.wicket.credit
 
-|
+| 
 | List of organisations or individuals to give credit to, shown as links and icons in the footer. A maximum of 3 credits can be specified.
 
 IntelliJ unfortunately does not provide IDE completion for lists of classes; YMMV.
@@ -260,7 +251,7 @@ Each Date scalar panel will use ``#getDatePattern()`` or ``#getDateTimePattern()
 isis.viewer.wicket. +
 development-utilities.enable
 
-|
+| 
 | Determines whether debug bar and other stuff influenced by ``DebugSettings#isDevelopmentUtilitiesEnabled()`` is enabled or not.
 
 By default, depends on the mode (prototyping = enabled, server = disabled). This property acts as an override.
@@ -270,7 +261,7 @@ By default, depends on the mode (prototyping = enabled, server = disabled). This
 [[isis.viewer.wicket.dialog-mode]]
 isis.viewer.wicket.dialog-mode
 
-|
+| 
 | Whether the dialog mode rendered when invoking actions on domain objects should be to use the sidebar (the default) or to use a modal dialog.
 
 This can be overridden on a case-by-case basis using ``ActionLayout#promptStyle()``.
@@ -281,7 +272,7 @@ This can be overridden on a case-by-case basis using ``ActionLayout#promptStyle(
 isis.viewer.wicket. +
 dialog-mode-for-menu
 
-|
+| 
 | Whether the dialog mode rendered when invoking actions on domain services (that is, menus) should be to use a modal dialog (the default) or to use the sidebar panel.
 
 This can be overridden on a case-by-case basis using ``ActionLayout#promptStyle()``.
@@ -291,7 +282,7 @@ This can be overridden on a case-by-case basis using ``ActionLayout#promptStyle(
 [[isis.viewer.wicket.live-reload-url]]
 isis.viewer.wicket.live-reload-url
 
-|
+| 
 | If specified, then is rendered on each page to enable live reload.
 
 Configuring live reload also requires an appropriate plugin to the web browser (eg see http://livereload.com/[livereload.com] and a mechanism to trigger changes, eg by watching ``xml`` files.
@@ -303,7 +294,7 @@ isis.viewer.wicket. +
 max-title-length-in-parented- +
 tables
 
-|
+| 
 | null
 
 
@@ -313,7 +304,7 @@ isis.viewer.wicket. +
 max-title-length-in-standalone- +
 tables
 
-|
+| 
 | null
 
 
@@ -354,7 +345,7 @@ This behaviour is enabled by default, but can be disabled using this flag.
 [[isis.viewer.wicket.prompt-style]]
 isis.viewer.wicket.prompt-style
 
-|
+| 
 | Whether to use a modal dialog for property edits and for actions associated with properties.
 
 This can be overridden on a case-by-case basis using ``@PropertyLayout#promptStyle`` and ``@ActionLayout#promptStyle``.
@@ -367,7 +358,7 @@ This behaviour is disabled by default; the viewer will use an inline prompt in t
 isis.viewer.wicket. +
 redirect-even-if-same-object
 
-|
+| 
 | Whether to redirect to a new page, even if the object being shown (after an action invocation or a property edit) is the same as the previous page.
 
 This behaviour is disabled by default; the viewer will update the existing page if it can, making for a smoother user experience. If enabled then this reinstates the pre-1.15.0 behaviour of redirecting in all cases.
@@ -387,7 +378,7 @@ cookie-key
 isis.viewer.wicket.remember-me. +
 encryption-key
 
-|
+| 
 | If the "remember me" feature is available, optionally specifies an encryption key (a complex string acting as salt to the encryption algorithm) for computing the encrypted credentials.
 
 If not set, then (in production mode) the Wicket viewer will compute a random key each time it is started. This will mean that any credentials stored between sessions will become invalid.
@@ -402,7 +393,7 @@ In prototype mode this setting is effectively ignored, because the same key will
 isis.viewer.wicket.remember-me. +
 suppress
 
-|
+| 
 | Whether the sign-in page should have a "remember me" link (the default), or if it should be suppressed.
 
 If "remember me" is available and checked, then the viewer will allow users to login based on encrypted credentials stored in a cookie. An encryption key can optionally be specified.
@@ -446,7 +437,7 @@ By default this is enabled, in other words Wicket tags are stripped. Please be a
 isis.viewer.wicket. +
 suppress-password-reset
 
-|
+| 
 | Whether to suppress the password reset link on the sign-in page.
 
 Although this is disabled by default (in other words the 'reset password' link is not suppressed), note that in addition the application must provide an implementation of the ``UserRegistrationService`` as well as a configured ``EmailNotificationService`` (same conditions as for the ``#isSuppressSignUp()`` sign-up link).
@@ -457,7 +448,7 @@ Although this is disabled by default (in other words the 'reset password' link i
 isis.viewer.wicket. +
 suppress-sign-up
 
-|
+| 
 | Whether to suppress the sign-up link on the sign-in page.
 
 Although this is disabled by default (in other words the sign-up link is not suppressed), note that in addition the application must provide an implementation of the ``UserRegistrationService`` as well as a configured ``EmailNotificationService`` (same conditions as for the ``#isSuppressPasswordReset()`` password reset link).
@@ -467,7 +458,7 @@ Although this is disabled by default (in other words the sign-up link is not sup
 [[isis.viewer.wicket.themes.enabled]]
 isis.viewer.wicket.themes.enabled
 
-|
+| 
 | A comma separated list of enabled theme names, as defined by https://bootswatch.com.
 
 
@@ -496,7 +487,7 @@ IsisWicketThemeSupportDefault
 isis.viewer.wicket.themes. +
 show-chooser
 
-|
+| 
 | Whether the theme chooser widget should be available in the footer.
 
 
@@ -526,7 +517,7 @@ This behaviour is enabled by default.
 [[isis.viewer.wicket.welcome.text]]
 isis.viewer.wicket.welcome.text
 
-|
+| 
 | Text to be displayed on the application’s home page, used as a fallback if welcome.file is not specified. If a @HomePage action exists, then that will take precedence.
 
 
@@ -535,7 +526,7 @@ isis.viewer.wicket.welcome.text
 isis.viewer.wicket. +
 wicket-source-plugin
 
-|
+| 
 | Whether the Wicket source plugin should be enabled; if so, the markup includes links to the Wicket source.
 
 This behaviour is disabled by default. Please be aware that enabloing it can substantially impact performance.

[isis] 02/08: ISIS-2450: fixes unit tests

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit f002e71f5ed9bfd78a690f87138ee9c49c5d1fc0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Mar 18 20:22:12 2021 +0000

    ISIS-2450: fixes unit tests
---
 .../org/apache/isis/core/config/IsisConfiguration.java | 12 ------------
 .../extensions/cors/impl/IsisModuleExtCorsImpl.java    | 18 ++++++++++++------
 .../cors/impl/IsisModuleExtCorsImplTest.java           | 15 +++++++++------
 3 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 2b5108d..3721f56 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -100,18 +100,6 @@ public class IsisConfiguration {
         this.environment = environment;
     }
 
-    @Inject @Named("isis-settings")
-    @Getter(AccessLevel.PRIVATE) private Map<String, String> isisSettings;
-    /**
-     * All of the isis configuration properties, gathered together as an immutable map.
-     */
-    public Map<String, String> getAsMap() {
-        return isisSettings!=null
-                ? Collections.unmodifiableMap(isisSettings)
-                : Collections.emptyMap();
-    }
-
-
     private final Security security = new Security();
     @Data
     public static class Security {
diff --git a/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java b/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
index 76df208..74cb3dc 100644
--- a/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
+++ b/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
@@ -34,6 +34,7 @@ import org.springframework.web.filter.CorsFilter;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.core.config.IsisConfiguration;
+import org.apache.isis.core.config.RestEasyConfiguration;
 
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
@@ -48,18 +49,23 @@ import lombok.extern.log4j.Log4j2;
 public class IsisModuleExtCorsImpl {
 
     @Bean
-    public FilterRegistrationBean<Filter> createCorsFilterRegistration(IsisConfiguration configuration) {
-
-        final Map<String, String> cfgMap = configuration.getAsMap();
-        final String resteasyBase = cfgMap.getOrDefault("resteasy.jaxrs.defaultPath", "/restful/*");
+    public FilterRegistrationBean<Filter> createCorsFilterRegistration(
+            final IsisConfiguration isisConfiguration,
+            final RestEasyConfiguration restEasyConfiguration) {
+
+        String resteasyBase = restEasyConfiguration.getJaxrs().getDefaultPath();
+        if(!resteasyBase.endsWith("/*")) {
+            resteasyBase = resteasyBase + "/*";
+        }
         log.info("Setting up CORS to filter resteasy-base at '{}' with {}",
                 resteasyBase,
-                configuration.getExtensions().getCors());
+                isisConfiguration.getExtensions().getCors());
 
         final FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>();
-        filterRegistrationBean.setFilter(createCorsFilter(configuration));
+        filterRegistrationBean.setFilter(createCorsFilter(isisConfiguration));
         filterRegistrationBean.setUrlPatterns(Collections.singletonList(resteasyBase));
         filterRegistrationBean.setOrder(OrderPrecedence.EARLY - 100);
+
         return filterRegistrationBean;
     }
 
diff --git a/extensions/vro/cors/impl/src/test/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImplTest.java b/extensions/vro/cors/impl/src/test/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImplTest.java
index 4d213eb..b8ffcd9 100644
--- a/extensions/vro/cors/impl/src/test/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImplTest.java
+++ b/extensions/vro/cors/impl/src/test/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImplTest.java
@@ -24,6 +24,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.isis.core.config.IsisConfiguration;
+import org.apache.isis.core.config.RestEasyConfiguration;
 import org.apache.isis.core.metamodel._testing.MetaModelContext_forTesting;
 
 import lombok.val;
@@ -31,24 +32,26 @@ import lombok.val;
 class IsisModuleExtCorsImplTest {
 
     private IsisConfiguration isisDefaultConfiguration;
-    
+    private RestEasyConfiguration restEasyConfiguration;
+
     @BeforeEach
     void setUp() {
         isisDefaultConfiguration = MetaModelContext_forTesting
                 .buildDefault()
                 .getConfiguration();
+        restEasyConfiguration = new RestEasyConfiguration();
     }
-    
+
     @Test
     void defaultIsisConfiguration_shouldYieldCorsUrlPatternWithWildcard() {
         // given
         val isisModuleExtCorsImpl = new IsisModuleExtCorsImpl();
-        
+
         // when
-        val filterRegistration = isisModuleExtCorsImpl.createCorsFilterRegistration(isisDefaultConfiguration);
-        
+        val filterRegistration = isisModuleExtCorsImpl.createCorsFilterRegistration(isisDefaultConfiguration, restEasyConfiguration);
+
         // then
         assertTrue(filterRegistration.getUrlPatterns().contains("/restful/*"));
     }
 
-}
\ No newline at end of file
+}

[isis] 01/08: ISIS-2450: fixing up config docs

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 8f8d1ff1ae8ed9727f21f901a7b9fcba55dea5d2
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Mar 18 19:44:26 2021 +0000

    ISIS-2450: fixing up config docs
---
 .../modules/ROOT/pages/cutting-a-release.adoc      | 144 ++++-
 .../ROOT/pages/post-release-successful.adoc        |  24 +
 .../components/docs/modules/ROOT/pages/about.adoc  |   6 +-
 .../modules/_overview/pages/about.adoc             | 177 +++++-
 .../index/services/appfeat/ApplicationFeature.adoc |   6 +
 .../appfeat/ApplicationFeatureRepository.adoc      |   3 +-
 .../applib/pages/index/util/ReasonBuffer.adoc      |   2 +-
 .../applib/pages/index/util/ReasonBuffer2.adoc     |   6 +-
 .../modules/applib/pages/index/util/Reasons.adoc   |   2 +-
 antora/supplemental-ui/index.html                  |  96 ++-
 core/config/generateConfigDocs.groovy              |  25 +-
 ...datanucleus~post.adoc => datanucleus~post.adoc} |   0
 ...anucleus-conf~pre.adoc => datanucleus~pre.adoc} |   0
 ...s-conf~post.adoc => isis.core.config~post.adoc} |   0
 ...anucleus~pre.adoc => isis.core.config~pre.adoc} |   0
 .../adoc/modules/config/pages/sections/Other.adoc  |  99 +++
 .../adoc/modules/config/pages/sections/_nav.adoc   |   7 +-
 .../modules/config/pages/sections/datanucleus.adoc | 169 ++++++
 ...{jdo-datanucleus.adoc => isis.core.config.adoc} |  23 +-
 .../pages/sections/isis.core.runtime-services.adoc |   2 +-
 .../config/pages/sections/isis.core.runtime.adoc   |   2 +-
 .../config/pages/sections/isis.value-types.adoc    |   9 -
 .../pages/sections/isis.viewer.restfulobjects.adoc |   9 +
 .../config/pages/sections/isis.viewer.wicket.adoc  |   9 +
 .../pages/sections/jdo-datanucleus-conf.adoc       | 293 ---------
 .../modules/config/pages/sections/resteasy.adoc    |  45 +-
 .../isis/core/config/DatanucleusConfiguration.java | 263 ++++++++
 .../apache/isis/core/config/IsisConfiguration.java |  43 +-
 .../isis/core/config/IsisModuleCoreConfig.java     |   9 +-
 .../apache/isis/core/config/JdoDatanucleus.java    | 250 --------
 .../isis/core/config/RestEasyConfiguration.java    |  42 +-
 .../additional-spring-configuration-metadata.json  |  40 +-
 .../confmenu/ConfigurationViewServiceDefault.java  |  28 +-
 security/adoc/modules/ROOT/pages/about.adoc        |   2 +-
 .../pages/about/configuring-isis-to-use-shiro.adoc |   4 +-
 .../pages/about/enhanced-wildcard-permission.adoc  |   2 +-
 .../adoc/modules/shiro/pages/about/ini-realm.adoc  |   4 +-
 .../adoc/modules/shiro/pages/about/jdbc-realm.adoc |   8 +-
 .../adoc/modules/shiro/pages/about/ldap-realm.adoc |  34 +-
 .../simpleapp-modules-dependencies.pptx            | Bin 47706 -> 48246 bytes
 .../images/simpleapp/flyway/tables-created.png     | Bin 0 -> 73788 bytes
 .../simpleapp/simpleapp-modules-dependencies.png   | Bin 64551 -> 64728 bytes
 starters/adoc/modules/starters/pages/about.adoc    |  20 +-
 ...orld-script.adoc => helloworld-script-jdo.adoc} |   4 +-
 ...orld-script.adoc => helloworld-script-jpa.adoc} |   4 +-
 .../adoc/modules/starters/pages/helloworld.adoc    | 251 ++++----
 ...leapp-script.adoc => simpleapp-script-jdo.adoc} |   4 +-
 ...leapp-script.adoc => simpleapp-script-jpa.adoc} |   4 +-
 .../adoc/modules/starters/pages/simpleapp.adoc     | 672 ++++++++++++++-------
 .../webmodule/WebModuleJaxrsResteasy4.java         |  10 +-
 50 files changed, 1706 insertions(+), 1150 deletions(-)

diff --git a/antora/components/comguide/modules/ROOT/pages/cutting-a-release.adoc b/antora/components/comguide/modules/ROOT/pages/cutting-a-release.adoc
index b9d9bc8..e2b689e 100644
--- a/antora/components/comguide/modules/ROOT/pages/cutting-a-release.adoc
+++ b/antora/components/comguide/modules/ROOT/pages/cutting-a-release.adoc
@@ -417,19 +417,34 @@ git fetch
 The remote tags aren't visible locally but can be seen link:https://github.com/apache/isis/tags[online].
 ====
 
+[#update-starter-apps]
 == Update starter apps
 
-For each starter app, we create a new branch and make the changes there, pushing the branch back if the sanity check passes.
+For each of the two starter apps, we maintain four branches:
 
+* `jdo` and `jpa`
++
+These are intended to reference the _most recently released_ version, the first demonstrating persistence using JDO, the second using JPA.
+These are the branches referenced from the home page and getting started pages of the website.
+
+* `jdo-SNAPSHOT` and `jpa-SNAPSHOT`
++
+These reference the most current snapshot nightly build.
+
+The general idea is that a release will fast-forward `jdo` to `jdo-SNAPSHOT` and similarly moves `jpa` up to `jpa-SNAPSHOT`, bumping to the newly released version of the framework in the process.
+
+In order that we don't break the starter apps while a release is being voted on, we do the changes in work branches, `$ISISBRANCH-jdo` and `$ISISBRANCH-jpa`:
 
-* for helloworld, the steps are:
+* for _helloworld_, we create a release branch for both variants:
+
+** for `jdo`:
 +
 [source,bash,subs="attributes+"]
 ----
-git checkout master
+git checkout jdo-SNAPSHOT
 git pull --ff-only
 
-git checkout -b $ISISBRANCH
+git checkout -b $ISISBRANCH-jdo
 
 mvn versions:update-parent -DparentVersion=$ISISREL # <.>
 mvn versions:set -DnewVersion=$ISISREL
@@ -437,51 +452,128 @@ mvn versions:set -DnewVersion=$ISISREL
 mvn clean install -o
 mvn spring-boot:run
 ----
-<.> requires the current parent to exist locally in `~/.m2/repository`.
-If this isn't the case, then manually edit instead.
++
+<.> the top-level `pom.xml` references the ASF staging repository, so this will pull down the release if not already present in `~/.m2/repository`.
++
+Commit any changes and then push the branch to origin:
++
+[source,bash,subs="attributes+"]
+----
+git add .
+git commit -m "$ISISJIRA - updates to $ISISREL (jdo)"
+git push -u origin $ISISBRANCH-jdo
+----
 
-* for simple app, the steps are almost the same:
+** repeat for `jpa`:
 +
 [source,bash,subs="attributes+"]
 ----
-git checkout master
+git checkout jpa-SNAPSHOT
 git pull --ff-only
 
-git checkout -b $ISISBRANCH
+git checkout -b $ISISBRANCH-jpa
+
+mvn versions:update-parent -DparentVersion=$ISISREL
+mvn versions:set -DnewVersion=$ISISREL
+
+mvn clean install -o
+mvn spring-boot:run
+----
++
+Commit any changes and then push the branch to origin:
++
+[source,bash,subs="attributes+"]
+----
+git add .
+git commit -m "$ISISJIRA - updates to $ISISREL (jpa)"
+git push -u origin $ISISBRANCH-jpa
+----
+
+* for _simple app_, the steps are almost the same:
+
+** for `jdo`:
++
+--
+
+[source,bash,subs="attributes+"]
+----
+git checkout jdo-SNAPSHOT
+git pull --ff-only
+
+git checkout -b $ISISBRANCH-jdo
 
 mvn versions:update-parent -DparentVersion=$ISISREL # <.>
 mvn versions:set -DnewVersion=$ISISREL
 
-mvn clean install -Dmetamodel.lockdown
-mvn -pl webapp test -Dmavendeps.lockdown -B         # <.>
+mvn clean install -Dmetamodel.lockdown -B -o        # <.>
 ----
-<.> requires the current parent to exist locally in `~/.m2/repository`.
-If this isn't the case, then manually edit instead.
+
+<.> the top-level `pom.xml` references the ASF staging repository, so this will pull down the release if not already present in `~/.m2/repository`.
 <.> the -B flag is required to avoid control characters in generated output
-+
+
 Approve any failed lockdown tests (the mavendeps will fail first time around because the dependencies on Apache Isis itself have just be bumped).
-+
+
+You could also check the output of the Cucumber tests, under:
+
+*** `webapp-tests/target/cucumber-reports` and
+*** `webapp-tests/target/cucumber-html-reports`.
+
+
 Repeat, then run the app as a sanity check:
-+
+
 [source,bash,subs="attributes+"]
 ----
 mvn -pl webapp spring-boot:run
 ----
-+
-You could also check the output of the Cucumber tests, under:
 
-** `webapp/target/cucumber-reports` and
-** `webapp/target/cucumber-html-reports`.
+Commit any changes and then push the branch to origin:
+
+[source,bash,subs="attributes+"]
+----
+git add .
+git commit -m "$ISISJIRA - updates to $ISISREL (jdo)"
+git push -u origin $ISISBRANCH-jdo
+----
+--
 
-* For both apps, commit any changes and then push the release branch to origin once ok:
+** repeat for `jpa`:
 +
+--
+
+[source,bash,subs="attributes+"]
+----
+git checkout jpa-SNAPSHOT
+git pull --ff-only
+
+git checkout -b $ISISBRANCH-jpa
+
+mvn versions:update-parent -DparentVersion=$ISISREL
+mvn versions:set -DnewVersion=$ISISREL
+
+mvn clean install -Dmetamodel.lockdown -B -o
+----
+
+Approve any failed lockdown tests (the mavendeps will fail first time around because the dependencies on Apache Isis itself have just be bumped).
+
+Repeat, then run the app as a sanity check:
+
+[source,bash,subs="attributes+"]
+----
+mvn -pl webapp spring-boot:run
+----
+
+Commit any changes and then push the branch to origin:
+
 [source,bash,subs="attributes+"]
 ----
 git add .
-git commit -m "$ISISJIRA - updates to $ISISREL"
-git push -u origin $ISISBRANCH
+git commit -m "$ISISJIRA - updates to $ISISREL (jpa)"
+git push -u origin $ISISBRANCH-jpa
 ----
 
+--
+
+
 == Preview website
 
 We also prepare a preview of the next version of the website, then made accessible from link:https://isis.staged.apache.org[].
@@ -517,11 +609,13 @@ done
 popd
 ----
 
-* Back in the `isis` repo's worktree for `master` (as opposed to the `release` worktree, that is), generate the Antora site (from the top-level directory):
+* Back in the `isis` repo's `release` worktree, generate the Antora site (from the top-level directory).
++
+NOTE: this now needs to be run using Java 11 (because of the "projdoc" tooling).
 +
 [source,bash,subs="attributes+"]
 ----
-cd ../isis
+cd ../isis-release
 
 sh preview.sh
 ----
diff --git a/antora/components/comguide/modules/ROOT/pages/post-release-successful.adoc b/antora/components/comguide/modules/ROOT/pages/post-release-successful.adoc
index 0afdf84..b606eb8 100644
--- a/antora/components/comguide/modules/ROOT/pages/post-release-successful.adoc
+++ b/antora/components/comguide/modules/ROOT/pages/post-release-successful.adoc
@@ -492,6 +492,28 @@ git branch -d release-{page-isisrel}-RC1              # branch no longer needed
 
 In `site.yml` file, bump the version of `\{page-isisrel}` and also `\{page-isisprev}`, and commit.
 
+== Update starter projects
+
+As explained in xref:cutting-a-release.adoc#update-starter-apps[cutting a release],for each of the two starter apps, we maintain four branches:
+
+* `jdo` and `jpa`
++
+These are intended to reference the _most recently released_ version, the first demonstrating persistence using JDO, the second using JPA.
+These are the branches referenced from the home page and getting started pages of the website.
+
+* `jdo-SNAPSHOT` and `jpa-SNAPSHOT`
++
+These reference the most current snapshot nightly build.
+
+The general idea is that a release will fast-forward `jdo` to `jdo-SNAPSHOT` and similarly moves `jpa` up to `jpa-SNAPSHOT`, bumping to the newly released version of the framework in the process.
+
+In order that we don't break the starter apps while a release is being voted on, we do the changes in work branches, `$ISISBRANCH-jdo` and `$ISISBRANCH-jpa`.
+
+Now that the release is complete, tidy up these branches and then set up the `-SNAPSHOT` branches as required.
+
+IMPORTANT: The `jdo` and `jpa` branches should always work against the most recent release, whereas the `jdo-SNAPSHOT` and `jpa-SNAPSHOT` can reference more recently nightly builds if necessary.
+
+
 == Update the ASF Reporter website
 
 Log the new release in the link:https://reporter.apache.org/addrelease.html?isis[ASF Reporter website].
@@ -542,6 +564,8 @@ With the release complete, now is a good time to bump versions of dependencies (
 
 You will probably want to create a new JIRA ticket for these updates (or if minor then use the "catch-all" JIRA ticket raised earlier for the next release).
 
+NOTE: We now use github's dependabot feature to keep on top of dependency updates, so this section is no longer quite so critical.
+
 === Merge in any changes from `org.apache:apache`
 
 Check (via link:http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache%22%20a%3A%22apache%22[search.maven.org]) whether there is a newer version of the Apache parent `org.apache:apache`.
diff --git a/antora/components/docs/modules/ROOT/pages/about.adoc b/antora/components/docs/modules/ROOT/pages/about.adoc
index 2f310ef..5aad028 100644
--- a/antora/components/docs/modules/ROOT/pages/about.adoc
+++ b/antora/components/docs/modules/ROOT/pages/about.adoc
@@ -25,9 +25,11 @@
 _Starter Apps_
 
 * xref:docs:starters:helloworld.adoc[HelloWorld]
-(link:https://helloworld.isis.incode.work[online])
+(link:https://helloworld.jdo.isis.incode.work[jdo],
+link:https://helloworld.jpa.isis.incode.work[jpa])
 * xref:docs:starters:simpleapp.adoc[SimpleApp]
-(link:https://simpleapp.isis.incode.work[online])
+(link:https://simpleapp.jdo.isis.incode.work[jdo],
+link:https://simpleapp.jpa.isis.incode.work[jpa])
 
 _POMs_
 
diff --git a/antora/components/refguide-index/modules/_overview/pages/about.adoc b/antora/components/refguide-index/modules/_overview/pages/about.adoc
index 21c7aa3..c6d3d30 100644
--- a/antora/components/refguide-index/modules/_overview/pages/about.adoc
+++ b/antora/components/refguide-index/modules/_overview/pages/about.adoc
@@ -439,7 +439,12 @@ Artifact: isis-testing-fakedata-applib
 Type: jar
 Directory: /testing/fakedata/applib
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.testing.fakedata.applib.services.FakeDataService +
+****
+
+.Dependencies
 ****
 com.github.javafaker:javafaker:jar:<managed> +
 org.apache.isis.commons:isis-commons:jar:<managed> +
@@ -540,7 +545,12 @@ Artifact: isis-testing-h2console-ui
 Type: jar
 Directory: /testing/h2console/ui
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.testing.h2console.ui.webmodule.WebModuleH2Console +
+****
+
+.Dependencies
 ****
 com.h2database:h2:jar:<managed> +
 org.apache.isis.core:isis-core-webapp:jar:<managed> +
@@ -598,7 +608,12 @@ Artifact: isis-testing-integtestsupport-applib
 Type: jar
 Directory: /testing/integtestsupport/applib
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.testing.integtestsupport.applib.IsisIntegrationTestAbstract$InteractionSupport +
+****
+
+.Dependencies
 ****
 com.approvaltests:approvaltests:jar:<managed> +
 com.h2database:h2:jar:<managed> +
@@ -1545,7 +1560,6 @@ o.a.i.core.metamodel.facets.schema.IsisSchemaValueTypeProvider +
 o.a.i.core.metamodel.objectmanager.ObjectManagerDefault +
 o.a.i.core.metamodel.progmodel.ProgrammingModelInitFilterDefault +
 o.a.i.core.metamodel.services.ServiceInjectorDefault +
-o.a.i.core.metamodel.services.appfeat.ApplicationFeatureFactory +
 o.a.i.core.metamodel.services.appfeat.ApplicationFeatureRepositoryDefault +
 o.a.i.core.metamodel.services.classsubstitutor.ClassSubstitutorDefault +
 o.a.i.core.metamodel.services.classsubstitutor.ClassSubstitutorForCollections +
@@ -3027,7 +3041,12 @@ Artifact: isis-valuetypes-sse-metamodel
 Type: jar
 Directory: /valuetypes/sse/metamodel
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.valuetypes.sse.metamodel.facets.SseAnnotationFacetFactory$Register +
+****
+
+.Dependencies
 ****
 org.apache.isis.core:isis-core-metamodel:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-sse-applib:jar:<managed> +
@@ -3055,7 +3074,15 @@ Artifact: isis-valuetypes-sse-ui-wkt
 Type: jar
 Directory: /valuetypes/sse/ui/wicket
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.valuetypes.sse.ui.wkt.markup.ListeningMarkupPanelFactoriesForWicket$Parented +
+o.a.i.valuetypes.sse.ui.wkt.markup.ListeningMarkupPanelFactoriesForWicket$Standalone +
+o.a.i.valuetypes.sse.ui.wkt.services.SseServiceDefault +
+o.a.i.valuetypes.sse.ui.wkt.webmodule.WebModuleServerSentEvents +
+****
+
+.Dependencies
 ****
 org.apache.isis.valuetypes:isis-valuetypes-sse-metamodel:jar:<managed> +
 org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
@@ -3185,7 +3212,13 @@ Artifact: isis-valuetypes-asciidoc-metamodel
 Type: jar
 Directory: /valuetypes/asciidoc/metamodel
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.valuetypes.asciidoc.metamodel.AsciiDocMetaModelRefiner +
+o.a.i.valuetypes.asciidoc.metamodel.AsciiDocValueTypeProvider +
+****
+
+.Dependencies
 ****
 org.apache.isis.core:isis-core-metamodel:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-asciidoc-applib:jar:<managed> +
@@ -3254,7 +3287,12 @@ Artifact: isis-valuetypes-asciidoc-ui-vaa
 Type: jar
 Directory: /valuetypes/asciidoc/ui/vaadin
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.valuetypes.asciidoc.ui.vaa.components.AsciiDocFieldFactoryVaa +
+****
+
+.Dependencies
 ****
 org.apache.isis.incubator.viewer:isis-viewer-vaadin-ui:jar:${project.version} +
 ****
@@ -3267,7 +3305,19 @@ Artifact: isis-valuetypes-asciidoc-ui-wkt
 Type: jar
 Directory: /valuetypes/asciidoc/ui/wicket
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.valuetypes.asciidoc.ui.wkt.components.AsciiDocPanelFactoriesWkt$Parented +
+o.a.i.valuetypes.asciidoc.ui.wkt.components.AsciiDocPanelFactoriesWkt$Standalone +
+o.a.i.valuetypes.asciidoc.ui.wkt.components.schema.chg.v2.ChangesDtoPanelFactoriesWkt$Parented +
+o.a.i.valuetypes.asciidoc.ui.wkt.components.schema.chg.v2.ChangesDtoPanelFactoriesWkt$Standalone +
+o.a.i.valuetypes.asciidoc.ui.wkt.components.schema.cmd.v2.CommandDtoPanelFactoriesWkt$Parented +
+o.a.i.valuetypes.asciidoc.ui.wkt.components.schema.cmd.v2.CommandDtoPanelFactoriesWkt$Standalone +
+o.a.i.valuetypes.asciidoc.ui.wkt.components.schema.ixn.v2.InteractionDtoPanelFactoriesWkt$Parented +
+o.a.i.valuetypes.asciidoc.ui.wkt.components.schema.ixn.v2.InteractionDtoPanelFactoriesWkt$Standalone +
+****
+
+.Dependencies
 ****
 org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
 ****
@@ -3390,7 +3440,13 @@ Artifact: isis-valuetypes-markdown-metamodel
 Type: jar
 Directory: /valuetypes/markdown/metamodel
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.valuetypes.markdown.metamodel.MarkdownMetaModelRefiner +
+o.a.i.valuetypes.markdown.metamodel.MarkdownValueTypeProvider +
+****
+
+.Dependencies
 ****
 org.apache.isis.core:isis-core-metamodel:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-markdown-applib:jar:<managed> +
@@ -3697,12 +3753,12 @@ skinparam {
 }
 hide stereotype
 left to right direction
-skinparam rectangle<<22>> {
+skinparam rectangle<<11>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<11>> {
+skinparam rectangle<<22>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
@@ -3717,12 +3773,12 @@ skinparam rectangle<<12>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<13>> {
+skinparam rectangle<<24>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<24>> {
+skinparam rectangle<<13>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
@@ -3931,7 +3987,12 @@ Artifact: isis-extensions-exceldownload-ui
 Type: jar
 Directory: /extensions/vw/exceldownload/ui
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.extensions.viewer.wicket.exceldownload.ui.components.CollectionContentsAsExcelFactory +
+****
+
+.Dependencies
 ****
 org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
 org.apache.poi:poi-ooxml:jar:<managed> +
@@ -4056,7 +4117,12 @@ Artifact: isis-extensions-pdfjs-metamodel
 Type: jar
 Directory: /extensions/vw/pdfjs/metamodel
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.extensions.viewer.wicket.pdfjs.metamodel.facet.PdfJsViewerFacetFromAnnotationFactory$Register +
+****
+
+.Dependencies
 ****
 de.agilecoders.wicket:wicket-bootstrap-core:jar:<managed> +
 org.apache.isis.core:isis-core-metamodel:jar:<managed> +
@@ -4071,7 +4137,12 @@ Artifact: isis-extensions-pdfjs-ui
 Type: jar
 Directory: /extensions/vw/pdfjs/ui
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.extensions.viewer.wicket.pdfjs.ui.components.PdfJsViewerPanelComponentFactory +
+****
+
+.Dependencies
 ****
 org.apache.isis.extensions:isis-extensions-pdfjs-metamodel:jar:<managed> +
 org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
@@ -4865,7 +4936,12 @@ Artifact: isis-subdomains-zip-applib
 Type: jar
 Directory: /subdomains/zip/applib
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.extensions.zip.dom.impl.ZipService +
+****
+
+.Dependencies
 ****
 org.apache.isis.commons:isis-commons:jar:<managed> +
 org.apache.isis.core:isis-applib:jar:<managed> +
@@ -4930,7 +5006,12 @@ Artifact: isis-subdomains-base-applib
 Type: jar
 Directory: /subdomains/base/applib
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.subdomains.base.applib.services.calendar.CalendarService +
+****
+
+.Dependencies
 ****
 org.apache.isis.commons:isis-commons:jar:<managed> +
 org.apache.isis.core:isis-applib:jar:<managed> +
@@ -5025,7 +5106,12 @@ Artifact: isis-subdomains-excel-applib
 Type: jar
 Directory: /subdomains/excel/applib
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.subdomains.excel.applib.dom.ExcelService +
+****
+
+.Dependencies
 ****
 org.apache.isis.core:isis-applib:jar:<managed> +
 org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
@@ -5154,7 +5240,12 @@ Artifact: isis-subdomains-spring-applib
 Type: jar
 Directory: /subdomains/spring/applib
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.subdomains.spring.applib.service.SpringBeansService +
+****
+
+.Dependencies
 ****
 org.apache.isis.core:isis-applib:jar:<managed> +
 org.apache.isis.core:isis-core-runtime:jar:<managed> +
@@ -5223,7 +5314,12 @@ Artifact: isis-subdomains-xdocreport-applib
 Type: jar
 Directory: /subdomains/xdocreport/applib
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.subdomains.xdocreport.applib.service.XDocReportService +
+****
+
+.Dependencies
 ****
 fr.opensagres.xdocreport:fr.opensagres.xdocreport.converter.docx.xwpf:jar:<managed> +
 fr.opensagres.xdocreport:fr.opensagres.xdocreport.document.docx:jar:<managed> +
@@ -5540,7 +5636,24 @@ Artifact: isis-regressiontests-stable
 Type: jar
 Directory: /regressiontests/stable
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.testdomain.applayer.ApplicationLayerTestFactory +
+o.a.i.testdomain.applayer.ApplicationLayerTestFactory$PreCommitListener +
+o.a.i.testdomain.applayer.publishing.CommandSubscriberForTesting +
+o.a.i.testdomain.applayer.publishing.EntityChangesSubscriberForTesting +
+o.a.i.testdomain.applayer.publishing.EntityPropertyChangeSubscriberForTesting +
+o.a.i.testdomain.applayer.publishing.ExecutionSubscriberForTesting +
+o.a.i.testdomain.conf.Configuration_headless$HeadlessCommandSupport +
+o.a.i.testdomain.jdo.JdoInventoryDao +
+o.a.i.testdomain.jpa.JpaInventoryDao +
+o.a.i.testdomain.jpa.springdata.EmployeeRepository +
+o.a.i.testdomain.util.interaction.InteractionBoundaryProbe +
+o.a.i.testdomain.util.kv.KVStoreForTesting +
+o.a.i.testdomain.util.rest.RestEndpointService +
+****
+
+.Dependencies
 ****
 org.apache.isis.extensions:isis-extensions-cors-impl:jar:<managed> +
 org.glassfish.jersey.ext:jersey-spring5:jar:<managed> +
@@ -5858,7 +5971,23 @@ Artifact: isis-viewer-vaadin-ui
 Type: jar
 Directory: /incubator/viewers/vaadin/ui
 ----
-|.Dependencies
+|.Components
+****
+o.a.i.incubator.viewer.vaadin.ui.auth.LogoutHandlerVaa +
+o.a.i.incubator.viewer.vaadin.ui.auth.VaadinAuthenticationHandler +
+o.a.i.incubator.viewer.vaadin.ui.components.UiComponentFactoryVaa +
+o.a.i.incubator.viewer.vaadin.ui.components.blob.BlobFieldFactory +
+o.a.i.incubator.viewer.vaadin.ui.components.clob.ClobFieldFactory +
+o.a.i.incubator.viewer.vaadin.ui.components.markup.MarkupFieldFactory +
+o.a.i.incubator.viewer.vaadin.ui.components.other.FallbackFieldFactory +
+o.a.i.incubator.viewer.vaadin.ui.components.temporal.TemporalFieldFactory +
+o.a.i.incubator.viewer.vaadin.ui.components.text.TextFieldFactory +
+o.a.i.incubator.viewer.vaadin.ui.components.text.uuid.UuidFieldFactory +
+o.a.i.incubator.viewer.vaadin.ui.pages.main.UiActionHandlerVaa +
+o.a.i.incubator.viewer.vaadin.ui.pages.main.UiContextVaaDefault +
+****
+
+.Dependencies
 ****
 com.vaadin:vaadin:jar:<managed> +
 com.vaadin:vaadin-spring:jar:<managed> +
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationFeature.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationFeature.adoc
index 1ba62ff..d018137 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationFeature.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationFeature.adoc
@@ -39,6 +39,10 @@ Returns optionally the action's return type, based on whether this feature is of
 Returns optionally the action's semantics, based on whether this feature is of sorts _ApplicationFeatureSort#MEMBER member_ and _ApplicationMemberSort#ACTION action_ .
 --
 <.> xref:#isPropertyOrCollectionDerived__[isPropertyOrCollectionDerived()]
++
+--
+Returns whether the property or collection feature is derived.
+--
 <.> xref:#getPropertyTypicalLength__[getPropertyTypicalLength()]
 +
 --
@@ -70,6 +74,8 @@ Returns optionally the action's semantics, based on whether this feature is of s
 [#isPropertyOrCollectionDerived__]
 === isPropertyOrCollectionDerived()
 
+Returns whether the property or collection feature is derived.
+
 [#getPropertyTypicalLength__]
 === getPropertyTypicalLength()
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationFeatureRepository.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationFeatureRepository.adoc
index 920ca9e..8e851c7 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationFeatureRepository.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/ApplicationFeatureRepository.adoc
@@ -9,8 +9,7 @@ Provides the access to string representations of the packages, classes and class
 .ApplicationFeatureRepository.java
 ----
 interface ApplicationFeatureRepository {
-  SortedSet<String> namespaceNames()
-  SortedSet<String> classNamesRecursivelyContainedIn(String packageFqn)
+  ApplicationFeature newApplicationFeature(ApplicationFeatureId featureId)
   Map<String, ApplicationFeatureId> getFeatureIdentifiersByName()
   ApplicationFeature findFeature(ApplicationFeatureId featureId)
   Collection<ApplicationFeature> allActions()
diff --git a/antora/components/refguide-index/modules/applib/pages/index/util/ReasonBuffer.adoc b/antora/components/refguide-index/modules/applib/pages/index/util/ReasonBuffer.adoc
index b7d585e..451ab99 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/util/ReasonBuffer.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/util/ReasonBuffer.adoc
@@ -5,7 +5,7 @@ Helper class to create properly concatenated reason string for use in method tha
 
 If no reasons are specified _#getReason()_ will return `null` , otherwise it will return a _String_ with all the valid reasons concatenated with a semi-colon separating each one.
 
-An alternative is to use the xref:refguide:applib:index/util/Reasons.adoc[Reasons] class.
+An alternative is to use the (very simple) xref:refguide:applib:index/util/Reasons.adoc[Reasons] class or the (much more sophisticated) xref:refguide:applib:index/util/ReasonBuffer2.adoc[ReasonBuffer2] .
 
 == API
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/util/ReasonBuffer2.adoc b/antora/components/refguide-index/modules/applib/pages/index/util/ReasonBuffer2.adoc
index f41aa46..4fd03da 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/util/ReasonBuffer2.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/util/ReasonBuffer2.adoc
@@ -1,7 +1,9 @@
 = ReasonBuffer2
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-Extension to applib's xref:refguide:applib:index/util/ReasonBuffer.adoc[ReasonBuffer] .
+Helper class to construct reason strings, with support for evaluating the condition.
+
+An alternative is to use the (very simple) xref:refguide:applib:index/util/Reasons.adoc[Reasons] class or the (a bit more sophisticated) xref:refguide:applib:index/util/ReasonBuffer.adoc[ReasonBuffer] .
 
 == API
 
@@ -9,7 +11,7 @@ Extension to applib's xref:refguide:applib:index/util/ReasonBuffer.adoc[ReasonBu
 .ReasonBuffer2.java
 ----
 class ReasonBuffer2 {
-  ReasonBuffer2Builder builder()
+  Builder builder()
   ReasonBuffer2 forAll()
   ReasonBuffer2 forSingle()
   ReasonBuffer2 forAll(final String prefix)
diff --git a/antora/components/refguide-index/modules/applib/pages/index/util/Reasons.adoc b/antora/components/refguide-index/modules/applib/pages/index/util/Reasons.adoc
index 789d7f8..f0b5505 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/util/Reasons.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/util/Reasons.adoc
@@ -1,7 +1,7 @@
 = Reasons
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-An alternative to xref:refguide:applib:index/util/ReasonBuffer.adoc[ReasonBuffer] .
+Very simple alternative to xref:refguide:applib:index/util/ReasonBuffer.adoc[ReasonBuffer] and xref:refguide:applib:index/util/ReasonBuffer2.adoc[ReasonBuffer2] .
 
 == API
 
diff --git a/antora/supplemental-ui/index.html b/antora/supplemental-ui/index.html
index 7cebec8..08094f9 100644
--- a/antora/supplemental-ui/index.html
+++ b/antora/supplemental-ui/index.html
@@ -612,23 +612,23 @@ Examples
           <div class="row">
             <div class="col-lg-6 text-left text-lg-left">
               <p class="cta-text text-center" style="margin-block-end: 0; ">
-                Learn about Apache Isisâ„¢ by running the minimal <a href="docs/latest/starters/helloworld.html">helloworld</a>&nbsp;starter&nbsp;app.
-                You can browse the app, running <a href="https://helloworld.isis.incode.work/" target="_blank">here</a>.
+                Learn about Apache Isisâ„¢ by running the minimal <a href="docs/latest/starters/helloworld.html">helloworld</a> starter&nbsp;app.
+                You can see the app running <a href="https://helloworld.jdo.isis.incode.work/" target="_blank">here (jdo)</a> and <a href="https://helloworld.jpa.isis.incode.work/" target="_blank">here (jpa)</a>.
               </p>
             </div>
             <div class="col-lg-6 text-left text-lg-left">
               <p class="cta-text text-center" style="margin-block-end: 0; ">
-                Develop your own Apache Isisâ„¢ app using the more structured <a href="docs/latest/starters/simpleapp.html">simpleapp</a>&nbsp;starter&nbsp;app.
-                You can browse the app, running <a href="https://simpleapp.isis.incode.work/" target="_blank">here</a>.
+                Develop your own Apache Isisâ„¢ app with the structured <a href="docs/latest/starters/simpleapp.html">simpleapp</a> starter&nbsp;app.
+                You can see the app running <a href="https://simpleapp.jdo.isis.incode.work/" target="_blank">here (jdo)</a> and <a href="https://simpleapp.jpa.isis.incode.work/" target="_blank">here (jpa)</a>.
               </p>
             </div>
           </div>
           <div class="row">
             <div class="col-lg-6 text-left text-lg-left">
               <p>
-              <pre id="helloworld-text">
+              <pre id="helloworld-jdo-text">
 APP=isis-app-helloworld
-BRANCH=master
+BRANCH=jdo
 curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
 cd $APP-$BRANCH
 
@@ -638,9 +638,9 @@ mvn spring-boot:run</pre>
             </div>
             <div class="col-lg-6 text-left text-lg-left">
               <p>
-              <pre id="simpleapp-text">
+              <pre id="simpleapp-jdo-text">
 APP=isis-app-simpleapp
-BRANCH=master
+BRANCH=jdo
 curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
 cd $APP-$BRANCH
 
@@ -652,12 +652,50 @@ mvn -pl webapp spring-boot:run</pre>
           <div class="row">
             <div class="col-lg-6 text-left text-lg-left">
               <p class="cta-text text-center" style="margin-block-end: 0; margin-top: -20px;">
-                <span id="helloworld-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/>&nbsp;&nbsp;Copy text</span>
+                <span id="helloworld-jdo-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/>&nbsp;&nbsp;Copy text for helloworld (jdo)</span>
               </p>
             </div>
             <div class="col-lg-6 text-left text-lg-left">
               <p class="cta-text text-center" style="margin-block-end: 0; margin-top: -20px;">
-                <span id="simpleapp-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/>&nbsp;&nbsp;Copy text</span>
+                <span id="simpleapp-jdo-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/>&nbsp;&nbsp;Copy text for simpleapp (jdo)</span>
+              </p>
+            </div>
+          </div>
+          <div class="row">
+            <div class="col-lg-6 text-left text-lg-left">
+              <p>
+              <pre id="helloworld-jpa-text">
+APP=isis-app-helloworld
+BRANCH=jpa
+curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
+cd $APP-$BRANCH
+
+mvn clean install
+mvn spring-boot:run</pre>
+              </p>
+            </div>
+            <div class="col-lg-6 text-left text-lg-left">
+              <p>
+              <pre id="simpleapp-jpa-text">
+APP=isis-app-simpleapp
+BRANCH=jpa
+curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
+cd $APP-$BRANCH
+
+mvn clean install
+mvn -pl webapp spring-boot:run</pre>
+              </p>
+            </div>
+          </div>
+          <div class="row">
+            <div class="col-lg-6 text-left text-lg-left">
+              <p class="cta-text text-center" style="margin-block-end: 0; margin-top: -20px;">
+                <span id="helloworld-jpa-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/>&nbsp;&nbsp;Copy text for helloworld (jpa)</span>
+              </p>
+            </div>
+            <div class="col-lg-6 text-left text-lg-left">
+              <p class="cta-text text-center" style="margin-block-end: 0; margin-top: -20px;">
+                <span id="simpleapp-jpa-copy" style="cursor: pointer;"><img src="_/img/home/clipboard-copy.png" width="16" height="16"/>&nbsp;&nbsp;Copy text for simpleapp (jpa)</span>
               </p>
             </div>
           </div>
@@ -916,12 +954,25 @@ mvn -pl webapp jetty:run</pre>
 <script src="_/js/home/lib/sticky/sticky.js"></script>
 
 <script>
-    document.querySelector('#helloworld-copy').addEventListener('click', async event => {
+    document.querySelector('#helloworld-jdo-copy').addEventListener('click', async event => {
+        if (!navigator.clipboard) {
+            document.querySelector('#helloworld-jdo-copy').remove();
+            return
+        }
+        const text = document.querySelector('#helloworld-jdo-text').innerHTML;
+        try {
+            await navigator.clipboard.writeText(text);
+            event.target.textContent = 'Copied to clipboard';
+        } catch (err) {
+            alert("Failed to copy :-(", err)
+        }
+    });
+    document.querySelector('#helloworld-jpa-copy').addEventListener('click', async event => {
         if (!navigator.clipboard) {
-            document.querySelector('#helloworld-copy').remove();
+            document.querySelector('#helloworld-jpa-copy').remove();
             return
         }
-        const text = document.querySelector('#helloworld-text').innerHTML;
+        const text = document.querySelector('#helloworld-jpa-text').innerHTML;
         try {
             await navigator.clipboard.writeText(text);
             event.target.textContent = 'Copied to clipboard';
@@ -929,12 +980,25 @@ mvn -pl webapp jetty:run</pre>
             alert("Failed to copy :-(", err)
         }
     });
-    document.querySelector('#simpleapp-copy').addEventListener('click', async event => {
+    document.querySelector('#simpleapp-jdo-copy').addEventListener('click', async event => {
+        if (!navigator.clipboard) {
+            document.querySelector('#simpleapp-jdo-copy').remove();
+            return
+        }
+        const text = document.querySelector('#simpleapp-jdo-text').innerHTML;
+        try {
+            await navigator.clipboard.writeText(text);
+            event.target.textContent = 'Copied to clipboard';
+        } catch (err) {
+            alert("Failed to copy :-(", err)
+        }
+    })
+    document.querySelector('#simpleapp-jpa-copy').addEventListener('click', async event => {
         if (!navigator.clipboard) {
-            document.querySelector('#simpleapp-copy').remove();
+            document.querySelector('#simpleapp-jpa-copy').remove();
             return
         }
-        const text = document.querySelector('#simpleapp-text').innerHTML;
+        const text = document.querySelector('#simpleapp-jpa-text').innerHTML;
         try {
             await navigator.clipboard.writeText(text);
             event.target.textContent = 'Copied to clipboard';
diff --git a/core/config/generateConfigDocs.groovy b/core/config/generateConfigDocs.groovy
index b9cdb7e..dcdf1cc 100644
--- a/core/config/generateConfigDocs.groovy
+++ b/core/config/generateConfigDocs.groovy
@@ -37,6 +37,7 @@ class Property {
     String type
     String description
     String sourceType
+    String sourceMethod
     Object defaultValue
     Boolean deprecated
     Object deprecation
@@ -59,12 +60,17 @@ groups+= new PropertyGroup() {{
 }}
 
 groups+= new PropertyGroup() {{
+    prefix = "isis.core.config"
+    name = "Core Configuration"
+    searchOrder = 100
+}}
+
+groups+= new PropertyGroup() {{
     prefix = "isis.core.meta-model"
     name = "Core MetaModel"
     searchOrder = 501
 }}
 
-
 groups+= new PropertyGroup() {{
     prefix = "isis.core.meta-model.introspector"
     name = "Core MetaModel Introspection"
@@ -79,14 +85,14 @@ groups+= new PropertyGroup() {{
 
 groups+= new PropertyGroup() {{
     prefix = "isis.core.runtime"
-    name = "Core Runtime configurations"
+    name = "Core Runtime"
     properties: []
     searchOrder = 501
 }}
 
 groups+= new PropertyGroup() {{
     prefix = "isis.core.runtime-services"
-    name = "Core Runtime Services configurations"
+    name = "Core Runtime Services"
     properties: []
     searchOrder = 101
 }}
@@ -114,14 +120,7 @@ groups+= new PropertyGroup() {{
 
 groups+= new PropertyGroup() {{
     prefix = "datanucleus"
-    name = "JDO DataNucleus"
-    properties: []
-    searchOrder = 510
-}}
-
-groups+= new PropertyGroup() {{
-    prefix = "datanucleus-conf"
-    name = "DataNucleus Configuration"
+    name = "DataNucleus"
     properties: []
     searchOrder = 100
 }}
@@ -213,6 +212,10 @@ for (property in data.properties) {
         // ignore these special cases
         continue
     }
+    if(property.name.endsWith('.as-map')) {
+        // ignore this special case
+        continue
+    }
     eachGroup:
     for (PropertyGroup group in sortedGroups) {
         if(property.name.startsWith(group.prefix)) {
diff --git a/core/config/src/main/adoc/modules/config/pages/section-hooks/jdo-datanucleus~post.adoc b/core/config/src/main/adoc/modules/config/pages/section-hooks/datanucleus~post.adoc
similarity index 100%
rename from core/config/src/main/adoc/modules/config/pages/section-hooks/jdo-datanucleus~post.adoc
rename to core/config/src/main/adoc/modules/config/pages/section-hooks/datanucleus~post.adoc
diff --git a/core/config/src/main/adoc/modules/config/pages/section-hooks/jdo-datanucleus-conf~pre.adoc b/core/config/src/main/adoc/modules/config/pages/section-hooks/datanucleus~pre.adoc
similarity index 100%
rename from core/config/src/main/adoc/modules/config/pages/section-hooks/jdo-datanucleus-conf~pre.adoc
rename to core/config/src/main/adoc/modules/config/pages/section-hooks/datanucleus~pre.adoc
diff --git a/core/config/src/main/adoc/modules/config/pages/section-hooks/jdo-datanucleus-conf~post.adoc b/core/config/src/main/adoc/modules/config/pages/section-hooks/isis.core.config~post.adoc
similarity index 100%
rename from core/config/src/main/adoc/modules/config/pages/section-hooks/jdo-datanucleus-conf~post.adoc
rename to core/config/src/main/adoc/modules/config/pages/section-hooks/isis.core.config~post.adoc
diff --git a/core/config/src/main/adoc/modules/config/pages/section-hooks/jdo-datanucleus~pre.adoc b/core/config/src/main/adoc/modules/config/pages/section-hooks/isis.core.config~pre.adoc
similarity index 100%
rename from core/config/src/main/adoc/modules/config/pages/section-hooks/jdo-datanucleus~pre.adoc
rename to core/config/src/main/adoc/modules/config/pages/section-hooks/isis.core.config~pre.adoc
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/Other.adoc b/core/config/src/main/adoc/modules/config/pages/sections/Other.adoc
index 369e82c..a55fbab 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/Other.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/Other.adoc
@@ -19,6 +19,105 @@ isis.as-map
 | null
 
 
+|
+[[isis.datanucleus.cache.level2.mode]]
+isis.datanucleus.cache.level2.mode
+
+| 
+| The mode of operation of the L2 cache, deciding which entities are cached.
+
+The default (UNSPECIFIED) is the same as DISABLE_SELECTIVE.
+
+Seel also https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2[DataNucleus Cache docs].
+
+NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2
+
+
+|
+[[isis.datanucleus.cache.level2.type]]
+isis.datanucleus.cache.level2.type
+
+|  soft
+| Name of the type of Level 2 Cache to use.
+
+Can be used to interface with external caching products. Use "none" to turn off L2 caching; other values include "soft", "weak", "javax.cache".
+
+See also https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2[DataNucleus Cache docs].
+
+NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2
+
+
+|
+[[isis.datanucleus.identifier.identifier-case]]
+isis.datanucleus.identifier. +
+identifier-case
+
+| 
+| null
+
+
+|
+[[isis.datanucleus.manage-relationships]]
+isis.datanucleus. +
+manage-relationships
+
+|  true
+| Whether DataNucleus will try to manage bidirectional relations, correcting the input objects so that all relations are consistent.
+
+This process runs when flush()/commit() is called. You can set it to false if you always set both sides of a relation when persisting/updating.
+
+
+|
+[[isis.datanucleus.persistence-by-reachability-at-commit]]
+isis.datanucleus. +
+persistence-by-reachability-at- +
+commit
+
+|  true
+| Whether to run the "persistence-by-reachability" algorithm at commit time.
+
+This means that objects that were reachable at a call to makePersistent() but that are no longer persistent will be removed from persistence. For performance improvements, consider turning this off.
+
+
+|
+[[isis.datanucleus.schema.auto-create-all]]
+isis.datanucleus.schema. +
+auto-create-all
+
+| 
+| Whether DN should automatically create the database schema on bootstrapping.
+
+This should be set to ``true`` when running against an in-memory database, but set to ``false`` when running against a persistent database (use something like flyway instead to manage schema evolution).
+
+See also ``json`` (camelCasing instead of kebab-casing).
+
+NOTE: this config property isn't used by the core framework, but is used by one the flyway extension.
+
+
+|
+[[isis.datanucleus.schema.auto-create-database]]
+isis.datanucleus.schema. +
+auto-create-database
+
+| 
+| Previously we defaulted this property to "true", but that could cause the target database to be modified
+
+See also ``json`` (camelCasing instead of kebab-casing).
+
+NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
+
+
+|
+[[isis.datanucleus.schema.validate-all]]
+isis.datanucleus.schema. +
+validate-all
+
+|  true
+| See also ``json`` (camelCasing instead of kebab-casing).
+
+NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
+
+
 
 |===
 
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/_nav.adoc b/core/config/src/main/adoc/modules/config/pages/sections/_nav.adoc
index 86fadcd..7079e78 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/_nav.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/_nav.adoc
@@ -1,12 +1,14 @@
 ** xref:refguide:config:sections/isis.applib.adoc[Applib]
+** xref:refguide:config:sections/isis.core.config.adoc[Core Configuration]
 ** xref:refguide:config:sections/isis.core.meta-model.adoc[Core MetaModel]
 ** xref:refguide:config:sections/isis.core.meta-model.introspector.adoc[Core MetaModel Introspection]
 ** xref:refguide:config:sections/isis.core.meta-model.validator.adoc[MetaModel Validator]
-** xref:refguide:config:sections/isis.core.runtime.adoc[Core Runtime configurations]
-** xref:refguide:config:sections/isis.core.runtime-services.adoc[Core Runtime Services configurations]
+** xref:refguide:config:sections/isis.core.runtime.adoc[Core Runtime]
+** xref:refguide:config:sections/isis.core.runtime-services.adoc[Core Runtime Services]
 ** xref:refguide:config:sections/isis.persistence.schema.adoc[Core Persistence Schema]
 ** xref:refguide:config:sections/isis.security.shiro.adoc[Shiro Security Implementation]
 ** xref:refguide:config:sections/isis.security.spring.adoc[Spring Security Implementation]
+** xref:refguide:config:sections/datanucleus.adoc[DataNucleus]
 ** xref:refguide:config:sections/isis.viewer.restfulobjects.adoc[Restful Objects Viewer]
 ** xref:refguide:config:sections/isis.viewer.wicket.adoc[Wicket Viewer]
 ** xref:refguide:config:sections/isis.extensions.adoc[Extensions]
@@ -14,4 +16,3 @@
 ** xref:refguide:config:sections/isis.testing.adoc[Testing]
 ** xref:refguide:config:sections/isis.legacy.adoc[Legacy]
 ** xref:refguide:config:sections/resteasy.adoc[RestEasy Configuration]
-** xref:refguide:config:sections/Other.adoc[Other]
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/datanucleus.adoc b/core/config/src/main/adoc/modules/config/pages/sections/datanucleus.adoc
new file mode 100644
index 0000000..dbb9d3e
--- /dev/null
+++ b/core/config/src/main/adoc/modules/config/pages/sections/datanucleus.adoc
@@ -0,0 +1,169 @@
+= DataNucleus
+:page-role: -toc -narrow
+
+
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+
+include::../section-hooks/datanucleus~pre.adoc[]
+
+[cols="3a,2a,5a", options="header"]
+|===
+|Property
+|Default
+|Description
+|
+[[datanucleus.cache.level2.mode]]
+datanucleus.cache.level2.mode
+
+| 
+| The mode of operation of the L2 cache, deciding which entities are cached.
+
+The default (UNSPECIFIED) is the same as DISABLE_SELECTIVE. NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2[DataNucleus Cache docs].
+
+
+|
+[[datanucleus.cache.level2.type]]
+datanucleus.cache.level2.type
+
+| 
+| Name of the type of Level 2 Cache to use.
+
+Can be used to interface with external caching products. Use "none" to turn off L2 caching; other values include "soft", "weak", "javax.cache".
+
+NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2[DataNucleus Cache docs].
+
+
+|
+[[datanucleus.identifier.case]]
+datanucleus.identifier.case
+
+| 
+| Which case to use in generated table/column identifier names. See also the Datastore Identifier Guide. RDBMS defaults to UPPERCASE.
+
+
+|
+[[datanucleus.manage-relationships]]
+datanucleus.manage-relationships
+
+| 
+| Whether DataNucleus will try to manage bidirectional relations, correcting the input objects so that all relations are consistent.
+
+This process runs when flush()/commit() is called. You can set it to false if you always set both sides of a relation when persisting/updating.
+
+NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs]
+
+
+|
+[[datanucleus.persistence-by-reachability-at-commit]]
+datanucleus. +
+persistence-by-reachability-at- +
+commit
+
+| 
+| Whether to run the "persistence-by-reachability" algorithm at commit time.
+
+This means that objects that were reachable at a call to makePersistent() but that are no longer persistent will be removed from persistence. For performance improvements, consider turning this off.
+
+NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete. @see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs]
+
+
+|
+[[datanucleus.schema.auto-create-all]]
+datanucleus.schema.auto-create-all
+
+| 
+| Whether to automatically generate any schema, tables, columns, constraints that don’t exist.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+|
+[[datanucleus.schema.auto-create-columns]]
+datanucleus.schema. +
+auto-create-columns
+
+| 
+| Whether to automatically generate any columns that don’t exist.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+|
+[[datanucleus.schema.auto-create-constraints]]
+datanucleus.schema. +
+auto-create-constraints
+
+| 
+| Whether to automatically generate any constraints that don’t exist.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+|
+[[datanucleus.schema.auto-create-database]]
+datanucleus.schema. +
+auto-create-database
+
+| 
+| Whether to automatically generate any database (catalog/schema) that doesn’t exist. This depends very much on whether the datastore in question supports this operation.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+|
+[[datanucleus.schema.auto-create-tables]]
+datanucleus.schema. +
+auto-create-tables
+
+| 
+| Whether to automatically generate any tables that don’t exist.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+|
+[[datanucleus.schema.validate-all]]
+datanucleus.schema.validate-all
+
+| 
+| Alias for defining ``validateTables``, ``validateColumns`` and ``validateConstraints`` as true.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+|
+[[datanucleus.schema.validate-columns]]
+datanucleus.schema. +
+validate-columns
+
+| 
+| Whether to validate columns against the persistence definition. This refers to the column detail structure and NOT to whether the column exists or not.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+|
+[[datanucleus.schema.validate-constraints]]
+datanucleus.schema. +
+validate-constraints
+
+| 
+| Whether to validate table constraints against the persistence definition.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+|
+[[datanucleus.schema.validate-tables]]
+datanucleus.schema.validate-tables
+
+| 
+| Whether to validate tables against the persistence definition.
+
+For more details, see https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties[DataNucleus Config Property docs] and the https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema[DataNucleus Schema Guide].
+
+
+
+|===
+
+include::../section-hooks/datanucleus~post.adoc[]
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/jdo-datanucleus.adoc b/core/config/src/main/adoc/modules/config/pages/sections/isis.core.config.adoc
similarity index 61%
rename from core/config/src/main/adoc/modules/config/pages/sections/jdo-datanucleus.adoc
rename to core/config/src/main/adoc/modules/config/pages/sections/isis.core.config.adoc
index de29a31..36f6071 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/jdo-datanucleus.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/isis.core.config.adoc
@@ -1,10 +1,10 @@
-= JDO DataNucleus
+= Core Configuration
 :page-role: -toc -narrow
 
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-include::../section-hooks/jdo-datanucleus~pre.adoc[]
+include::../section-hooks/isis.core.config~pre.adoc[]
 
 [cols="3a,2a,5a", options="header"]
 |===
@@ -12,17 +12,20 @@ include::../section-hooks/jdo-datanucleus~pre.adoc[]
 |Default
 |Description
 |
-[[datanucleus.class-metadata-loaded-listener]]
-datanucleus. +
-class-metadata-loaded-listener
+[[isis.core.config.configuration-property-visibility-policy]]
+isis.core.config. +
+configuration-property-visibility- +
+policy
 
-|  org.apache.isis.persistence.jdo. +
-datanucleus.config. +
-CreateSchemaObjectFromClassMetadata
-| (removed)
+| 
+| Configuration values might contain sensitive data, hence per default, configuration properties are only visible with the configuration-page when _prototyping_.
+
+Alternatively this policy can be set to either *always* show or *never* show.
+
+@see ConfigurationPropertyVisibilityPolicy
 
 
 
 |===
 
-include::../section-hooks/jdo-datanucleus~post.adoc[]
+include::../section-hooks/isis.core.config~post.adoc[]
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/isis.core.runtime-services.adoc b/core/config/src/main/adoc/modules/config/pages/sections/isis.core.runtime-services.adoc
index cec5660..0da49b5 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/isis.core.runtime-services.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/isis.core.runtime-services.adoc
@@ -1,4 +1,4 @@
-= Core Runtime Services configurations
+= Core Runtime Services
 :page-role: -toc -narrow
 
 
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/isis.core.runtime.adoc b/core/config/src/main/adoc/modules/config/pages/sections/isis.core.runtime.adoc
index 0d78569..a621cbb 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/isis.core.runtime.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/isis.core.runtime.adoc
@@ -1,4 +1,4 @@
-= Core Runtime configurations
+= Core Runtime
 :page-role: -toc -narrow
 
 
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/isis.value-types.adoc b/core/config/src/main/adoc/modules/config/pages/sections/isis.value-types.adoc
index a026acc..bb8fff5 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/isis.value-types.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/isis.value-types.adoc
@@ -12,15 +12,6 @@ include::../section-hooks/isis.value-types~pre.adoc[]
 |Default
 |Description
 |
-[[isis.value-types.primitives.integer.format]]
-isis.value-types.primitives. +
-integer.format
-
-| 
-| null
-
-
-|
 [[isis.value-types.java-lang.byte.format]]
 isis.value-types.java-lang.byte. +
 format
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.restfulobjects.adoc b/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.restfulobjects.adoc
index b0933aa..8eb36c3 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.restfulobjects.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.restfulobjects.adoc
@@ -12,6 +12,15 @@ include::../section-hooks/isis.viewer.restfulobjects~pre.adoc[]
 |Default
 |Description
 |
+[[isis.viewer.restfulobjects.authentication.strategy-class-name]]
+isis.viewer.restfulobjects. +
+authentication.strategy-class-name
+
+| 
+| Defaults to ``AuthenticationStrategyBasicAuth``.
+
+
+|
 [[isis.viewer.restfulobjects.base-uri]]
 isis.viewer.restfulobjects. +
 base-uri
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.wicket.adoc b/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.wicket.adoc
index 0f85412..7eb5066 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.wicket.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/isis.viewer.wicket.adoc
@@ -73,6 +73,15 @@ A typical value is ``css``. This will result in this file being read from the ``
 
 
 |
+[[isis.viewer.wicket.application.favicon-content-type]]
+isis.viewer.wicket.application. +
+favicon-content-type
+
+|
+| Specifies the content type of the favIcon, if any.
+
+
+|
 [[isis.viewer.wicket.application.favicon-url]]
 isis.viewer.wicket.application. +
 favicon-url
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/jdo-datanucleus-conf.adoc b/core/config/src/main/adoc/modules/config/pages/sections/jdo-datanucleus-conf.adoc
deleted file mode 100644
index 7c5afa3..0000000
--- a/core/config/src/main/adoc/modules/config/pages/sections/jdo-datanucleus-conf.adoc
+++ /dev/null
@@ -1,293 +0,0 @@
-= DataNucleus Configuration
-:page-role: -toc -narrow
-
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../section-hooks/jdo-datanucleus-conf~pre.adoc[]
-
-[cols="3a,2a,5a", options="header"]
-|===
-|Property
-|Default
-|Description
-|
-[[datanucleus.ConnectionFactory2Name]]
-datanucleus. +
-ConnectionFactory2Name
-
-| 
-| null
-
-
-|
-[[datanucleus.ConnectionFactoryName]]
-datanucleus. +
-ConnectionFactoryName
-
-| 
-| null
-
-
-|
-[[datanucleus.ConnectionPasswordDecrypter]]
-datanucleus. +
-ConnectionPasswordDecrypter
-
-| 
-| null
-
-
-|
-[[datanucleus.PersistenceUnitLoadClasses]]
-datanucleus. +
-PersistenceUnitLoadClasses
-
-| 
-| null
-
-
-|
-[[datanucleus.cache.level2.mode]]
-datanucleus.cache.level2.mode
-
-| 
-| Values of javax.persistence.SharedCacheMode, capitalized
-
-
-|
-[[datanucleus.cache.level2.type]]
-datanucleus.cache.level2.type
-
-|  none
-| Name of the type of Level 2 Cache to use.
-
-Can be used to interface with external caching products. Use "none" to turn off L2 caching.
-
-See also Cache docs for JDO, and for JPA
-
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-
-
-|
-[[datanucleus.connection-factory-name]]
-datanucleus. +
-connection-factory-name
-
-| 
-| The JNDI name for a connection factory for transactional connections.
-
-For RBDMS, it must be a JNDI name that points to a javax.sql.DataSource object.
-
-See also ``json`` (PascalCasing instead of kebab-casing).
-
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-
-
-|
-[[datanucleus.connection-factory2-name]]
-datanucleus. +
-connection-factory2-name
-
-| 
-| The JNDI name for a connection factory for non-transactional connections.
-
-For RBDMS, it must be a JNDI name that points to a javax.sql.DataSource object.
-
-See also ``json`` (PascalCasing instead of kebab-casing).
-
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-
-
-|
-[[datanucleus.connection-password-decrypter]]
-datanucleus. +
-connection-password-decrypter
-
-| 
-| Name of a class that implements ``DecryptionProvider`` and should only be specified if the password is encrypted in the persistence properties.
-
-See also ``json`` (camelCasing instead of kebab-casing).
-
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-
-
-|
-[[datanucleus.identifier.case]]
-datanucleus.identifier.case
-
-| 
-| null
-
-
-|
-[[datanucleus.persistence-unit-load-classes]]
-datanucleus. +
-persistence-unit-load-classes
-
-|  true
-| Used when we have specified the persistence-unit name for a PMF/EMF and where we want the datastore "tables" for all classes of that persistence-unit loading up into the StoreManager.
-
-Defaults to true, which is the opposite of DataNucleus' own default. (The reason that DN defaults to false is because some databases are slow so such an operation would slow down the startup process).
-
-See also ``json`` (camelCasing instead of kebab-casing).
-
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-
-
-|
-[[datanucleus.persistenceByReachabilityAtCommit]]
-datanucleus. +
-persistenceByReachabilityAtCommit
-
-| 
-| null
-
-
-|
-[[datanucleus.schema.auto-create-all]]
-datanucleus.schema. +
-auto-create-all
-
-| 
-| Whether DN should automatically create the database schema on bootstrapping.
-
-This should be set to ``true`` when running against an in-memory database, but set to ``false`` when running against a persistent database (use something like flyway instead to manage schema evolution).
-
-See also ``json`` (camelCasing instead of kebab-casing).
-
-NOTE: this config property isn't used by the core framework, but is used by one the flyway extension.
-
-
-|
-[[datanucleus.schema.auto-create-database]]
-datanucleus.schema. +
-auto-create-database
-
-| 
-| Previously we defaulted this property to "true", but that could cause the target database to be modified
-
-See also ``json`` (camelCasing instead of kebab-casing).
-
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-
-
-|
-[[datanucleus.schema.autoCreateAll]]
-datanucleus.schema. +
-autoCreateAll
-
-| 
-| null
-
-
-|
-[[datanucleus.schema.autoCreateDatabase]]
-datanucleus.schema. +
-autoCreateDatabase
-
-| 
-| null
-
-
-|
-[[datanucleus.schema.validate-all]]
-datanucleus.schema. +
-validate-all
-
-|  true
-| See also ``json`` (camelCasing instead of kebab-casing).
-
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-
-
-|
-[[datanucleus.schema.validateAll]]
-datanucleus.schema. +
-validateAll
-
-| 
-| null
-
-
-|
-[[datanucleus.schema.validateConstraints]]
-datanucleus.schema. +
-validateConstraints
-
-| 
-| null
-
-
-|
-[[datanucleus.schema.validateTables]]
-datanucleus.schema. +
-validateTables
-
-| 
-| null
-
-
-|
-[[datanucleus.transaction-type]]
-datanucleus.transaction-type
-
-| 
-| Type of transaction to use.
-
-If running under JavaSE the default is RESOURCE_LOCAL, and if running under JavaEE the default is JTA.
-
-See also ``json`` (camelCasing instead of kebab-casing).
-
-NOTE: this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-
-
-|
-[[javax.jdo.PersistenceManagerFactoryClass]]
-javax.jdo. +
-PersistenceManagerFactoryClass
-
-| 
-| null
-
-
-|
-[[javax.jdo.option.ConnectionDriverName]]
-javax.jdo.option. +
-ConnectionDriverName
-
-| 
-| null
-
-
-|
-[[javax.jdo.option.ConnectionPassword]]
-javax.jdo.option. +
-ConnectionPassword
-
-| 
-| null
-
-
-|
-[[javax.jdo.option.ConnectionURL]]
-javax.jdo.option. +
-ConnectionURL
-
-| 
-| null
-
-
-|
-[[javax.jdo.option.ConnectionUserName]]
-javax.jdo.option. +
-ConnectionUserName
-
-| 
-| null
-
-
-
-|===
-
-include::../section-hooks/jdo-datanucleus-conf~post.adoc[]
diff --git a/core/config/src/main/adoc/modules/config/pages/sections/resteasy.adoc b/core/config/src/main/adoc/modules/config/pages/sections/resteasy.adoc
index 984e90f..656362f 100644
--- a/core/config/src/main/adoc/modules/config/pages/sections/resteasy.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/sections/resteasy.adoc
@@ -12,37 +12,16 @@ include::../section-hooks/resteasy~pre.adoc[]
 |Default
 |Description
 |
-[[resteasy.as-map]]
-resteasy.as-map
-
-| 
-| null
-
-
-|
-[[resteasy.authentication.strategy-class-name]]
-resteasy.authentication. +
-strategy-class-name
-
-| 
-| Defaults to ``AuthenticationStrategyBasicAuth``.
-
-
-|
-[[resteasy.environment]]
-resteasy.environment
-
-| 
-| null
-
-
-|
 [[resteasy.jaxrs.app.registration]]
 resteasy.jaxrs.app.registration
 
 | 
 | How the implementation of the JAX-RS application is discovered.
 
+There should be very little reason to change this from its default.
+
+@see https://github.com/resteasy/resteasy-spring-boot/blob/master/mds/USAGE.md[resteasy-spring-boot-starter docs]
+
 
 |
 [[resteasy.jaxrs.default-path]]
@@ -53,21 +32,7 @@ resteasy.jaxrs.default-path
 
 Note that this is used rather than ``prefix`` because there is _NO_ implementation of ``Application``, so we rely on it being automatically created.
 
-
-|
-[[resteasy.jaxrs.defaultPath]]
-resteasy.jaxrs.defaultPath
-
-| 
-| The path at which the RO viewer should be mounted.
-
-
-|
-[[resteasy.resteasy-settings]]
-resteasy.resteasy-settings
-
-| 
-| null
+@see https://github.com/resteasy/resteasy-spring-boot/blob/master/mds/USAGE.md[resteasy-spring-boot-starter docs]
 
 
 
diff --git a/core/config/src/main/java/org/apache/isis/core/config/DatanucleusConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/DatanucleusConfiguration.java
new file mode 100644
index 0000000..7d27f70
--- /dev/null
+++ b/core/config/src/main/java/org/apache/isis/core/config/DatanucleusConfiguration.java
@@ -0,0 +1,263 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.core.config;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.validation.annotation.Validated;
+
+import lombok.Data;
+
+/**
+ * Selected configuration for Datanucleus, to provide IDE support.
+ *
+ * <p>
+ *     Note that Datanucleus configuration properties must be specified using
+ *     camelCase rather than kebab-casing.   This is enforced by explicit
+ *     entries in <tt>additional-spring-configuration-metadata.json</tt>.
+ * </p>
+ *
+ * @see <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+ */
+@ConfigurationProperties("datanucleus")
+@Data
+@Validated
+public class DatanucleusConfiguration {
+
+    /**
+     * Whether to run the "persistence-by-reachability" algorithm at commit
+     * time.
+     *
+     * <p>
+     *     This means that objects that were reachable at a call to
+     *     makePersistent() but that are no longer persistent will be
+     *     removed from persistence. For performance improvements,
+     *     consider turning this off.
+     * </p>
+     *
+     * <p>
+     *     For more details, see
+     *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>.
+     * </p>
+     */
+    private boolean persistenceByReachabilityAtCommit = true;
+
+    /**
+     * Whether DataNucleus will try to manage bidirectional relations,
+     * correcting the input objects so that all relations are consistent.
+     *
+     * <p>
+     * This process runs when flush()/commit() is called. You can set it to
+     * false if you always set both sides of a relation when persisting/updating.
+     * </p>
+     *
+     * <p>
+     *     For more details, see
+     *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>.
+     * </p>
+     */
+    private boolean manageRelationships = true;
+
+    private final Identifier identifier = new Identifier();
+    @Data
+    public static class Identifier {
+
+        public enum Case {
+            UPPERCASE,
+            LowerCase,
+            MixedCase
+        }
+
+        // declared only in additional-spring-configuratoin-metadata.json to rename to 'case'
+        // private Case identifierCase = Case.UPPERCASE;
+    }
+
+    private final Cache cache = new Cache();
+    @Data
+    public static class Cache {
+        private final Level2 level2 = new Level2();
+        @Data
+        public static class Level2 {
+            /**
+             * Name of the type of Level 2 Cache to use.
+             *
+             * <p>
+             * Can be used to interface with external caching products.
+             * Use "none" to turn off L2 caching; other values include "soft", "weak", "javax.cache".
+             * </p>
+             *
+             * <p>
+             *     For more details, see
+             *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+             *     and the
+             *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2">DataNucleus Cache docs</a>.
+             * </p>
+             */
+            @NotNull @NotEmpty
+            private String type = "soft";
+
+            public enum CacheMode {
+                NONE,
+                ALL,
+                ENABLE_SELECTIVE,
+                DISABLE_SELECTIVE,
+                UNSPECIFIED
+            }
+
+            /**
+             * The mode of operation of the L2 cache, deciding which
+             * entities are cached.
+             *
+             * <p>
+             * The default (UNSPECIFIED) is the same as DISABLE_SELECTIVE.
+             * </p>
+             *
+             * <p>
+             *     For more details, see
+             *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+             *     and the
+             *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#cache_level2">DataNucleus Cache docs</a>.
+             * </p>
+             */
+            private CacheMode mode = CacheMode.UNSPECIFIED;
+        }
+    }
+
+    private final Schema schema = new Schema();
+    @Data
+    public static class Schema {
+
+        /**
+         * Whether to automatically generate any schema, tables, columns,
+         * constraints that don’t exist.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean autoCreateAll = false;
+
+        /**
+         * Whether to automatically generate any database (catalog/schema) that
+         * doesn’t exist. This depends very much on whether the datastore in
+         * question supports this operation.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean autoCreateDatabase = false;
+
+        /**
+         * Whether to automatically generate any tables that don’t exist.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean autoCreateTables = false;
+
+        /**
+         * Whether to automatically generate any columns that don’t exist.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean autoCreateColumns = false;
+
+        /**
+         * Whether to automatically generate any constraints that don’t exist.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean autoCreateConstraints = false;
+
+        /**
+         * Whether to validate tables against the persistence definition.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean validateTables = false;
+
+        /**
+         * Whether to validate columns against the persistence definition.
+         * This refers to the column detail structure and NOT to whether the
+         * column exists or not.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean validateColumns = false;
+
+        /**
+         * Whether to validate table constraints against the persistence definition.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean validateConstraints = false;
+
+        /**
+         * Alias for defining <code>datanucleus.schema.validateTables</code>,
+         * <code>datanucleus.schema.validateColumns</code> and
+         * <code>datanucleus.schema.validateConstraints</code> as true.
+         *
+         * <p>
+         *     For more details, see
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#pmf_properties">DataNucleus Config Property docs</a>
+         *     and the
+         *     <a href="https://www.datanucleus.org/products/accessplatform_5_2/jdo/persistence.html#schema">DataNucleus Schema Guide</a>.
+         * </p>
+         */
+        private boolean validateAll = false;
+    }
+}
diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 3e7dadd..2b5108d 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -129,24 +129,24 @@ public class IsisConfiguration {
             private boolean autoLogoutIfAlreadyAuthenticated = false;
 
         }
-        
+
         private final Spring spring = new Spring();
         @Data
         public static class Spring {
             /**
-             * The framework on initialization by default disables any {@code CsrfFilter}(s) it finds 
+             * The framework on initialization by default disables any {@code CsrfFilter}(s) it finds
              * with <i>Spring Security</i> registered filters.
              * <p>
-             * Setting this option to {@literal true} allows {@code CsrfFilter}(s) to be 
+             * Setting this option to {@literal true} allows {@code CsrfFilter}(s) to be
              * configured. Yet EXPERIMENTAL.
-             * 
+             *
              * @see org.springframework.security.web.csrf.CsrfFilter
              * @see "https://www.baeldung.com/spring-security-registered-filters"
              */
             private boolean allowCsrfFilters = false;
 
         }
-        
+
     }
 
     private final Applib applib = new Applib();
@@ -1217,26 +1217,29 @@ public class IsisConfiguration {
         private final Config config = new Config();
         @Data
         public static class Config {
-            
-            public static enum ConfigurationPropertyVisibilityPolicy { 
+
+            public static enum ConfigurationPropertyVisibilityPolicy {
                 NEVER_SHOW,
                 SHOW_ONLY_IN_PROTOTYPE,
-                ALWAYS_SHOW 
+                ALWAYS_SHOW
             }
-            
+
             /**
-             * Configuration values might contain sensitive data, hence per default, 
+             * Configuration values might contain sensitive data, hence per default,
              * configuration properties are only visible with the configuration-page
              * when <i>prototyping</i>.
-             * <p> 
-             * Alternatively this policy can be set to either <b>always</b> show or <b>never</b> show.  
+             *
+             * <p>
+             * Alternatively this policy can be set to either <b>always</b> show or <b>never</b> show.
+             * </p>
+             *
              * @see ConfigurationPropertyVisibilityPolicy
              */
-            private ConfigurationPropertyVisibilityPolicy configurationPropertyVisibilityPolicy 
+            private ConfigurationPropertyVisibilityPolicy configurationPropertyVisibilityPolicy
                 = ConfigurationPropertyVisibilityPolicy.SHOW_ONLY_IN_PROTOTYPE;
-            
+
         }
-        
+
         private final MetaModel metaModel = new MetaModel();
         @Data
         public static class MetaModel {
@@ -1736,6 +1739,16 @@ public class IsisConfiguration {
         @Data
         public static class Restfulobjects {
 
+            @Getter
+            private final Authentication authentication = new Authentication();
+            @Data
+            public static class Authentication {
+                /**
+                 * Defaults to <code>org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth</code>.
+                 */
+                private Optional<String> strategyClassName = Optional.empty();
+            }
+
             /**
              * Whether to enable the <code>x-ro-follow-links</code> support, to minimize round trips.
              *
diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisModuleCoreConfig.java b/core/config/src/main/java/org/apache/isis/core/config/IsisModuleCoreConfig.java
index 67d87d3..477af11 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisModuleCoreConfig.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisModuleCoreConfig.java
@@ -58,17 +58,20 @@ import org.apache.isis.core.config.viewer.wicket.WebAppContextPath;
         RestEasyConfiguration.class,
 })
 public class IsisModuleCoreConfig {
-    
+
     @ConfigurationProperties(prefix = "isis")
-    @Bean("isis-settings")
     public Map<String, String> getIsisConfigProps() {
         return new HashMap<>();
     }
 
     @ConfigurationProperties(prefix = "resteasy")
-    @Bean("resteasy-settings")
     public Map<String, String> getResteasyConfigProps() {
         return new HashMap<>();
     }
 
+    @ConfigurationProperties(prefix = "datanucleus")
+    public Map<String, String> getDataNucleusConfigProps() {
+        return new HashMap<>();
+    }
+
 }
diff --git a/core/config/src/main/java/org/apache/isis/core/config/JdoDatanucleus.java b/core/config/src/main/java/org/apache/isis/core/config/JdoDatanucleus.java
deleted file mode 100644
index 03c693d..0000000
--- a/core/config/src/main/java/org/apache/isis/core/config/JdoDatanucleus.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-
-import lombok.Data;
-
-@Data
-@Deprecated // no longer used, but could resurrected as a configuration bean if that makes sense
-class JdoDatanucleus {
-
-    private String classMetadataLoadedListener = "org.apache.isis.persistence.jdo.datanucleus.config.CreateSchemaObjectFromClassMetadata";
-    
-    private final Datanucleus datanucleus = new Datanucleus();
-    @Data
-    public static class Datanucleus {
-
-
-        /**
-         * 	The JNDI name for a connection factory for transactional connections.
-         *
-         * 	<p>
-         * 	    For RBDMS, it must be a JNDI name that points to a javax.sql.DataSource object.
-         * 	</p>
-         *
-         * <p>
-         *     See also <tt>additional-spring-configuration-metadata.json</tt> (PascalCasing instead of kebab-casing).
-         * </p>
-         *
-         * @implNote - this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-         */
-        private String connectionFactoryName;
-
-        /**
-         * 	The JNDI name for a connection factory for non-transactional connections.
-         *
-         * 	<p>
-         * 	    For RBDMS, it must be a JNDI name that points to a javax.sql.DataSource object.
-         * 	</p>
-         *
-         * <p>
-         *     See also <tt>additional-spring-configuration-metadata.json</tt> (PascalCasing instead of kebab-casing).
-         * </p>
-         *
-         * @implNote - this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-         */
-        private String connectionFactory2Name;
-
-
-        /**
-         * Name of a class that implements <code>org.datanucleus.store.connection.DecryptionProvider</code>
-         * and should only be specified if the password is encrypted in the persistence properties.
-         *
-         * <p>
-         *     See also <tt>additional-spring-configuration-metadata.json</tt> (camelCasing instead of kebab-casing).
-         * </p>
-         *
-         * @implNote - this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-         */
-        private String connectionPasswordDecrypter;
-
-
-        /**
-         * 	Used when we have specified the persistence-unit name for a PMF/EMF and where we want the
-         * 	datastore "tables" for all classes of that persistence-unit loading up into the StoreManager.
-         *
-         * <p>
-         *     Defaults to true, which is the opposite of DataNucleus' own default.
-         *     (The reason that DN defaults to false is because some databases are slow so such an
-         *     operation would slow down the startup process).
-         * </p>
-         *
-         * <p>
-         *     See also <tt>additional-spring-configuration-metadata.json</tt> (camelCasing instead of kebab-casing).
-         * </p>
-         *
-         * @implNote - this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-         */
-        private boolean persistenceUnitLoadClasses = true;
-
-        public enum TransactionTypeEnum {
-            RESOURCE_LOCAL,
-            JTA
-        }
-
-        /**
-         * Type of transaction to use.
-         *
-         * <p>
-         * If running under JavaSE the default is RESOURCE_LOCAL, and if running under JavaEE the default is JTA.
-         * </p>
-         *
-         * <p>
-         *     See also <tt>additional-spring-configuration-metadata.json</tt> (camelCasing instead of kebab-casing).
-         * </p>
-         *
-         * @implNote - this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-         */
-        private Datanucleus.TransactionTypeEnum transactionType;
-
-        private final Datanucleus.Cache cache = new Cache();
-        @Data
-        public static class Cache {
-            private final Cache.Level2 level2 = new Level2();
-            @Data
-            public static class Level2 {
-                /**
-                 * Name of the type of Level 2 Cache to use.
-                 *
-                 * <p>
-                 * Can be used to interface with external caching products.
-                 * Use "none" to turn off L2 caching.
-                 * </p>
-                 *
-                 * <p>
-                 * See also Cache docs for JDO, and for JPA
-                 * </p>
-                 *
-                 * @implNote - this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-                 */
-                @NotNull @NotEmpty
-                private String type = "none";
-            }
-        }
-        private final Datanucleus.Schema schema = new Schema();
-        @Data
-        public static class Schema {
-            /**
-             * Whether DN should automatically create the database schema on bootstrapping.
-             *
-             * <p>
-             *     This should be set to <tt>true</tt> when running against an in-memory database, but
-             *     set to <tt>false</tt> when running against a persistent database (use something like
-             *     flyway instead to manage schema evolution).
-             * </p>
-             *
-             * <p>
-             *     See also <tt>additional-spring-configuration-metadata.json</tt> (camelCasing instead of kebab-casing).
-             * </p>
-             *
-             *
-             * @implNote - this config property isn't used by the core framework, but is used by one the flyway extension.
-             */
-            private boolean autoCreateAll = false;
-
-            /**
-             * Previously we defaulted this property to "true", but that could cause the target database
-             * to be modified
-             *
-             * <p>
-             *     See also <tt>additional-spring-configuration-metadata.json</tt> (camelCasing instead of kebab-casing).
-             * </p>
-             *
-             * @implNote - this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-             */
-            private boolean autoCreateDatabase = false;
-
-            /**
-             * <p>
-             *     See also <tt>additional-spring-configuration-metadata.json</tt> (camelCasing instead of kebab-casing).
-             * </p>
-             *
-             * @implNote - this config property isn't used by the framework, but is provided as a convenience for IDE autocomplete.
-             */
-            private boolean validateAll = true;
-        }
-    }
-    
-    private final Javax javax = new Javax();
-    @Data
-    public static class Javax {
-        private final Jdo jdo = new Jdo();
-        @Data
-        public static class Jdo {
-
-            /**
-             * <p>
-             *     See also <tt>additional-spring-configuration-metadata.json</tt> (camelCasing instead of kebab-casing).
-             * </p>
-             *
-             * @implNote - changing this property from its default is used to enable the flyway extension (in combination with {@link Datanucleus.Schema#isAutoCreateAll()}
-             */
-            @NotNull @NotEmpty
-            private String persistenceManagerFactoryClass = "org.datanucleus.api.jdo.JDOPersistenceManagerFactory";
-
-            private final Option option = new Option();
-            @Data
-            public static class Option {
-                /**
-                 * JDBC driver used by JDO/DataNucleus object store to connect.
-                 *
-                 * <p>
-                 *     See also <tt>additional-spring-configuration-metadata.json</tt> (PascalCasing instead of kebab-casing).
-                 * </p>
-                 *
-                 * @implNote - this config property isn't used by the framework, but provided as a convenience for IDE autocomplete (and is mandatory if using JDO Datanucleus).
-                 */
-                private String connectionDriverName;
-                /**
-                 * URL used by JDO/DataNucleus object store to connect.
-                 *
-                 * <p>
-                 *     See also <tt>additional-spring-configuration-metadata.json</tt> (PascalCasing instead of kebab-casing).
-                 * </p>
-                 *
-                 * @implNote - some extensions (H2Console, MsqlDbManager) peek at this URL to determine if they should be enabled.  Note that it is also mandatory if using JDO Datanucleus.
-                 */
-                private String connectionUrl;
-                /**
-                 * User account used by JDO/DataNucleus object store to connect.
-                 *
-                 * <p>
-                 *     See also <tt>additional-spring-configuration-metadata.json</tt> (PascalCasing instead of kebab-casing).
-                 * </p>
-                 *
-                 * @implNote - this config property isn't used by the framework, but provided as a convenience for IDE autocomplete (and is mandatory if using JDO Datanucleus).
-                 */
-                private String connectionUserName;
-                /**
-                 * Password for the user account used by JDO/DataNucleus object store to connect.
-                 *
-                 * <p>
-                 *     See also <tt>additional-spring-configuration-metadata.json</tt> (PascalCasing instead of kebab-casing).
-                 * </p>
-                 *
-                 * @implNote - this config property isn't used by the framework, but provided as a convenience for IDE autocomplete.  It is not necessarily mandatory, some databases accept an empty password.
-                 */
-                private String connectionPassword;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/core/config/src/main/java/org/apache/isis/core/config/RestEasyConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/RestEasyConfiguration.java
index 7483ae2..ae41e6e 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/RestEasyConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/RestEasyConfiguration.java
@@ -28,17 +28,23 @@ import javax.inject.Named;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.stereotype.Component;
 import org.springframework.validation.annotation.Validated;
 
+import org.apache.isis.applib.mixins.rest.Object_openRestApi;
+
 import lombok.Data;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import lombok.Setter;
 
 
 /**
- * Configuration 'beans' with meta-data (IDE-support).
+ * Selected configuration for <code>resteasy-spring-boot-starter</code>, to provide IDE-support.
  *
- * @see <a href="https://github.com/resteasy/resteasy-spring-boot/blob/master/mds/USAGE.md">resteasy-spring-boot docs</a>
+ * @see <a href="https://github.com/resteasy/resteasy-spring-boot/blob/master/mds/USAGE.md">resteasy-spring-boot-starter docs</a>
  * @see <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html">spring.io</a>
- * 
+ *
  * @since 2.0
  */
 @ConfigurationProperties("resteasy")
@@ -46,22 +52,18 @@ import lombok.Data;
 @Validated
 public class RestEasyConfiguration {
 
-    @Autowired private ConfigurableEnvironment environment;
-
-    @Inject @Named("resteasy-settings") private Map<String, String> resteasySettings;
-    public Map<String, String> getAsMap() { return Collections.unmodifiableMap(resteasySettings); }
+    @Component
+    @RequiredArgsConstructor(onConstructor_ = {@Inject})
+    public static class RestfulPathProviderImpl implements Object_openRestApi.RestfulPathProvider {
 
-      
-    private final Authentication authentication = new Authentication();
-    @Data
-    public static class Authentication {
-        /**
-         * Defaults to <code>org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth</code>.
-         */
-        private Optional<String> strategyClassName = Optional.empty();    
+        private final RestEasyConfiguration restEasyConfiguration;
+        @Override
+        public Optional<String> getRestfulPath() {
+            return Optional.ofNullable(restEasyConfiguration.getJaxrs().getDefaultPath());
+        }
     }
-    
-    
+
+    @Getter
     private final Jaxrs jaxrs = new Jaxrs();
     @Data
     public static class Jaxrs {
@@ -74,6 +76,8 @@ public class RestEasyConfiguration {
          * because there is <i>NO</i> implementation of {@link javax.ws.rs.core.Application}, so we rely on it being
          * automatically created.
          * </p>
+         *
+         * @see <a href="https://github.com/resteasy/resteasy-spring-boot/blob/master/mds/USAGE.md">resteasy-spring-boot-starter docs</a>
          */
         @javax.validation.constraints.Pattern(regexp="^[/].*[^/]$")
         private String defaultPath = "/restful";
@@ -96,9 +100,7 @@ public class RestEasyConfiguration {
              *     There should be very little reason to change this from its default.
              * </p>
              *
-             * <p>
-             *     See <a href="https://github.com/resteasy/resteasy-spring-boot/blob/master/mds/USAGE.md#jax-rs-application-registration-methods">here</a> for more details.
-             * </p>
+             * @see <a href="https://github.com/resteasy/resteasy-spring-boot/blob/master/mds/USAGE.md">resteasy-spring-boot-starter docs</a>
              */
             private Registration registration = Registration.BEANS;
         }
diff --git a/core/config/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/core/config/src/main/resources/META-INF/additional-spring-configuration-metadata.json
index c0cf620..b682866 100644
--- a/core/config/src/main/resources/META-INF/additional-spring-configuration-metadata.json
+++ b/core/config/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -1,58 +1,36 @@
 {
   "properties": [
     {
-      "name": "resteasy.jaxrs.app.registration",
-      "type": "java.lang.String",
-      "description": "How the implementation of the JAX-RS application is discovered."
-    },
-    {
-      "name": "resteasy.jaxrs.defaultPath",
-      "type": "java.lang.String",
-      "description": "The path at which the RO viewer should be mounted."
-    },
-    {
-      "name": "isis.value-types.primitives.integer.format",
-      "type": "java.lang.String"
-    },
-    {
-      "name": "isis.value-types.java-lang.byte.format",
-      "type": "java.lang.String"
+      "name": "datanucleus.identifier.case",
+      "type": "org.apache.isis.core.config.DatanucleusConfiguration.Identifier.Case",
+      "description": "Which case to use in generated table/column identifier names. See also the Datastore Identifier Guide. RDBMS defaults to UPPERCASE."
     }
   ],
   "hints": [
     {
-      "name": "javax.jdo.PersistenceManagerFactoryClass",
-      "providers": [{
-        "name": "class-reference",
-        "parameters": {
-          "target": "javax.jdo.PersistenceManagerFactory"
-        }
-      }]
-    },
-    {
-      "name": "datanucleus.objectProvider.className",
+      "name": "isis.testing.fixtures.initial-script",
       "providers": [{
         "name": "class-reference",
         "parameters": {
-          "target": "org.datanucleus.state.StateManagerImpl"
+          "target": "org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript"
         }
       }]
     },
     {
-      "name": "isis.testing.fixtures.initial-script",
+      "name": "isis.viewer.wicket.themes.provider",
       "providers": [{
         "name": "class-reference",
         "parameters": {
-          "target": "org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript"
+          "target": "org.apache.isis.viewer.wicket.ui.components.widgets.themepicker.IsisWicketThemeSupport"
         }
       }]
     },
     {
-      "name": "isis.viewer.wicket.themes.provider",
+      "name": "isis.viewer.wicket.app",
       "providers": [{
         "name": "class-reference",
         "parameters": {
-          "target": "org.apache.isis.viewer.wicket.ui.components.widgets.themepicker.IsisWicketThemeSupport"
+          "target": "org.apache.isis.viewer.wicket.viewer.wicketapp.IsisWicketApplication"
         }
       }]
     }
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/confmenu/ConfigurationViewServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/confmenu/ConfigurationViewServiceDefault.java
index 43ffcaa..d1295c3 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/confmenu/ConfigurationViewServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/confmenu/ConfigurationViewServiceDefault.java
@@ -41,10 +41,12 @@ import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.core.config.IsisConfiguration.Core.Config.ConfigurationPropertyVisibilityPolicy;
+import org.apache.isis.core.config.IsisModuleCoreConfig;
 import org.apache.isis.core.config.RestEasyConfiguration;
 import org.apache.isis.core.config.environment.IsisSystemEnvironment;
 import org.apache.isis.core.config.util.ValueMaskingUtil;
 
+import lombok.RequiredArgsConstructor;
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
@@ -57,24 +59,15 @@ import lombok.extern.log4j.Log4j2;
 @Primary
 @Qualifier("Default")
 @Log4j2
+@RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class ConfigurationViewServiceDefault
 implements
-    ConfigurationViewService,
-    Object_openRestApi.RestfulPathProvider {
+    ConfigurationViewService {
 
     private final IsisSystemEnvironment systemEnvironment;
     private final IsisConfiguration configuration;
-    private final RestEasyConfiguration restEasyConfiguration;
-
-    @Inject
-    public ConfigurationViewServiceDefault(
-            final IsisSystemEnvironment systemEnvironment,
-            final IsisConfiguration configuration,
-            final RestEasyConfiguration restEasyConfiguration) {
-        this.systemEnvironment = systemEnvironment;
-        this.configuration = configuration;
-        this.restEasyConfiguration = restEasyConfiguration;
-    }
+    private final IsisModuleCoreConfig isisModuleCoreConfig;
+
 
     @Override
     public Set<ConfigurationProperty> getEnvironmentProperties() {
@@ -91,10 +84,6 @@ implements
        log.info("\n\n" + toStringFormatted());
     }
 
-    @Override
-    public Optional<String> getRestfulPath() {
-        return Optional.ofNullable(restEasyConfiguration.getJaxrs().getDefaultPath());
-    }
 
     // -- DUMP AS STRING
 
@@ -153,8 +142,9 @@ implements
     private Map<String, ConfigurationProperty> loadConfiguration() {
         final Map<String, ConfigurationProperty> map = _Maps.newTreeMap();
         if(isShowConfigurationProperties()) {
-            configuration.getAsMap().forEach((k, v)->add("isis." + k, v, map));
-            restEasyConfiguration.getAsMap().forEach((k, v)->add("resteasy." + k, v, map));
+            isisModuleCoreConfig.getIsisConfigProps().forEach((k, v)->add("isis." + k, v, map));
+            isisModuleCoreConfig.getResteasyConfigProps().forEach((k, v)->add("resteasy." + k, v, map));
+            isisModuleCoreConfig.getDataNucleusConfigProps().forEach((k, v)->add("datanucleus." + k, v, map));
         } else {
             // if properties are not visible, show at least the policy
             add("Configuration Property Visibility Policy",
diff --git a/security/adoc/modules/ROOT/pages/about.adoc b/security/adoc/modules/ROOT/pages/about.adoc
index b48aa37..fa10201 100644
--- a/security/adoc/modules/ROOT/pages/about.adoc
+++ b/security/adoc/modules/ROOT/pages/about.adoc
@@ -57,7 +57,7 @@ The xref:extensions:command-log:about.adoc[Command Log] extension provides a sim
 The framework provides an API for both authentication and authorization, and provides an implementation that integrates with link:http://shiro.apache.org[Apache Shiro].
 Shiro in turn uses the concept of a _realm_ as a source for both authentication and optionally authorization.
 
-Shiro ships with a simple text-based realm -- the `IniRealm` -- which reads users (and password), user roles and role permissions from the `WEB-INF/shiro.ini` file.
+Shiro ships with a simple text-based realm -- the `IniRealm` -- which reads users (and password), user roles and role permissions from the `shiro.ini` file.
 The xref:docs:starters:helloworld.adoc[HelloWorld] and xref:docs:starters:simpleapp.adoc[SimpleApp] starter apps are both configured to use this realm.
 
 The Shiro framework ships with an implementation of an LDAP-based realm; LDAP is often used to manage user/passwords and corresponding user groups.
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
index 6c7c774..e37d8b4 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
@@ -85,11 +85,11 @@ The Shiro environment (in essence, thread-locals holding the security credential
 </filter-mapping>
 ----
 
-Based on this Shiro will then read `WEB-INF/shiro.ini` file to configure its Realm definitions for authentication and authorization.
+Based on this Shiro will then read `shiro.ini` file to configure its Realm definitions for authentication and authorization.
 
 
 
-== `WEB-INF/shiro.ini`
+== `shiro.ini`
 
 The `shiro.ini` file is used to specify the realm(s) that Shiro will delegate to:
 
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about/enhanced-wildcard-permission.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about/enhanced-wildcard-permission.adoc
index 56e5d77..e0e5a91 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about/enhanced-wildcard-permission.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about/enhanced-wildcard-permission.adoc
@@ -53,7 +53,7 @@ The net effect is therefore what we would want: that a user with both `admin_rol
 
 
 
-Finally, the Apache Isis permission resolver is specified in `WEB-INF/shiro.ini` file:
+Finally, the Apache Isis permission resolver is specified in `shiro.ini` file:
 
 [source,ini]
 ----
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about/ini-realm.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about/ini-realm.adoc
index 0873028..f311cf2 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about/ini-realm.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about/ini-realm.adoc
@@ -6,7 +6,7 @@
 
 The Shiro concept of a `Realm` allows different implementations of both the authentication and authorisation mechanism to be plugged in.
 
-Probably the simplest realm to use is Shiro's built-in `IniRealm`, which reads from the (same) `WEB-INF/shiro.ini` file.
+Probably the simplest realm to use is Shiro's built-in `IniRealm`, which reads from the (same) `shiro.ini` file.
 
 This is suitable for prototyping, but isn't intended for production use, if only because user/password credentials are stored in plain text.
 Nevertheless, it's a good starting point.
@@ -24,7 +24,7 @@ Apache Isis `Authenticator` component then interacts with the `Subject` in order
 
 == Shiro Configuration
 
-To use the built-in `IniRealm`, we add the following to `WEB-INF/shiro.ini`:
+To use the built-in `IniRealm`, we add the following to `shiro.ini`:
 
 [source,ini]
 ----
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about/jdbc-realm.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about/jdbc-realm.adoc
index ae89362..5a55d7e 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about/jdbc-realm.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about/jdbc-realm.adoc
@@ -18,16 +18,16 @@ image::configuration/configuring-shiro/jdbc/configure-shiro-to-use-custom-jdbc-r
 
 
 
-There's quite a lot of configuration required (in `WEB-INF/shiro.ini`) to set up a JDBC realm, so we'll break it out into sections.
+There's quite a lot of configuration required (in `shiro.ini`) to set up a JDBC realm, so we'll break it out into sections.
 
 First, we need to set up the connection to JDBC:
 
 [source,ini]
 ----
-jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm        # <1>
+jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm        # <.>
 
-jof = org.apache.shiro.jndi.JndiObjectFactory          # <2>
-jof.resourceName = jdbc/postgres                       # <3>
+jof = org.apache.shiro.jndi.JndiObjectFactory          # <.>
+jof.resourceName = jdbc/postgres                       # <.>
 jof.requiredType = javax.sql.DataSource
 jof.resourceRef = true
 
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about/ldap-realm.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about/ldap-realm.adoc
index 7f937e1..21876f9 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about/ldap-realm.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about/ldap-realm.adoc
@@ -12,34 +12,34 @@ The LDAP database stores the user/passwords and user groups, while the `shiro.in
 
 == Shiro Configuration
 
-To use LDAP involves telling Shiro how to instantiate the realm.  This bootstrapping info lives in the `WEB-INF/shiro.ini`:
+To use LDAP involves telling Shiro how to instantiate the realm.  This bootstrapping info lives in the `shiro.ini`:
 
 [source,ini]
 ----
 contextFactory = org.apache.isis.security.shiro.IsisLdapContextFactory
 contextFactory.url = ldap://localhost:10389
-contextFactory.systemUsername = uid=admin,ou=system        # <1>
+contextFactory.systemUsername = uid=admin,ou=system        # <.>
 contextFactory.systemPassword = secret
-contextFactory.authenticationMechanism = CRAM-MD5          # <2>
+contextFactory.authenticationMechanism = CRAM-MD5          # <.>
 contextFactory.systemAuthenticationMechanism = simple
 
-ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm   # <3>
+ldapRealm = org.apache.isis.security.shiro.IsisLdapRealm   # <.>
 ldapRealm.contextFactory = $contextFactory
 
-ldapRealm.searchBase = ou=groups,o=mojo                    # <4>
-ldapRealm.groupObjectClass = groupOfUniqueNames            # <5>
-ldapRealm.uniqueMemberAttribute = uniqueMember             # <6>
+ldapRealm.searchBase = ou=groups,o=mojo                    # <.>
+ldapRealm.groupObjectClass = groupOfUniqueNames            # <.>
+ldapRealm.uniqueMemberAttribute = uniqueMember             # <.>
 ldapRealm.uniqueMemberAttributeValueTemplate = uid={0}
 
 # optional mapping from physical groups to logical application roles
-ldapRealm.rolesByGroup = \                                 # <7>
+ldapRealm.rolesByGroup = \                                 # <.>
     LDN_USERS: user_role,\
     NYK_USERS: user_role,\
     HKG_USERS: user_role,\
     GLOBAL_ADMIN: admin_role,\
     DEMOS: self-install_role
 
-ldapRealm.permissionsByRole=\                              # <8>
+ldapRealm.permissionsByRole=\                              # <.>
    user_role = *:ToDoItemsJdo:*:*,\
                *:ToDoItem:*:*; \
    self-install_role = *:ToDoItemsFixturesService:install:* ; \
@@ -47,14 +47,14 @@ ldapRealm.permissionsByRole=\                              # <8>
 
 securityManager.realms = $ldapRealm
 ----
-<1> user accounts are searched using a dedicated service account
-<2> SASL (CRAM-MD5) authentication is used for this authentication
-<3> Apache Isis' implementation of the LDAP realm.
-<4> groups are searched under `ou=groups,o=mojo` (where `mojo` is the company name)
-<5> each group has an LDAP objectClass of `groupOfUniqueNames`
-<6> each group has a vector attribute of `uniqueMember`
-<7> groups looked up from LDAP can optionally be mapped to logical roles; otherwise groups are used as role names directly
-<8> roles are mapped in turn to permissions
+<.> user accounts are searched using a dedicated service account
+<.> SASL (CRAM-MD5) authentication is used for this authentication
+<.> Apache Isis' implementation of the LDAP realm.
+<.> groups are searched under `ou=groups,o=mojo` (where `mojo` is the company name)
+<.> each group has an LDAP objectClass of `groupOfUniqueNames`
+<.> each group has a vector attribute of `uniqueMember`
+<.> groups looked up from LDAP can optionally be mapped to logical roles; otherwise groups are used as role names directly
+<.> roles are mapped in turn to permissions
 
 The value of `uniqueMember` is in the form `uid=xxx`, with `xxx` being the uid of the user
 * users searched under `ou=system`
diff --git a/starters/adoc/modules/starters/attachments/simpleapp-modules-dependencies.pptx b/starters/adoc/modules/starters/attachments/simpleapp-modules-dependencies.pptx
index 52e1c3a..fd2b165 100644
Binary files a/starters/adoc/modules/starters/attachments/simpleapp-modules-dependencies.pptx and b/starters/adoc/modules/starters/attachments/simpleapp-modules-dependencies.pptx differ
diff --git a/starters/adoc/modules/starters/images/simpleapp/flyway/tables-created.png b/starters/adoc/modules/starters/images/simpleapp/flyway/tables-created.png
new file mode 100644
index 0000000..b1edd52
Binary files /dev/null and b/starters/adoc/modules/starters/images/simpleapp/flyway/tables-created.png differ
diff --git a/starters/adoc/modules/starters/images/simpleapp/simpleapp-modules-dependencies.png b/starters/adoc/modules/starters/images/simpleapp/simpleapp-modules-dependencies.png
index 8e5f410..0790ed8 100644
Binary files a/starters/adoc/modules/starters/images/simpleapp/simpleapp-modules-dependencies.png and b/starters/adoc/modules/starters/images/simpleapp/simpleapp-modules-dependencies.png differ
diff --git a/starters/adoc/modules/starters/pages/about.adoc b/starters/adoc/modules/starters/pages/about.adoc
index 7eecdc6..a5296ac 100644
--- a/starters/adoc/modules/starters/pages/about.adoc
+++ b/starters/adoc/modules/starters/pages/about.adoc
@@ -9,9 +9,15 @@ To get started with a new application, download one of the two starter apps.
 
 The helloworld app is a very minimal app, intended just as a starting point to learn what the framework is all about.
 
-The source code is in this link:https://github.com/apache/isis-app-helloworld[git repo] which you can either fork, or just download as a zip:
+The source code is in this link:https://github.com/apache/isis-app-helloworld[git repo] which you can either fork, or just download as a zip, either:
 
-include::helloworld-script.adoc[]
+include::helloworld-script-jdo.adoc[]
+
+to use JDO for the ORM, or:
+
+include::helloworld-script-jpa.adoc[]
+
+to use JPA as the ORM.
 
 
 TIP: A much more complete explanation of the structure of the app (and how to use it) can be found *xref:docs:starters:helloworld.adoc[here]*.
@@ -22,9 +28,15 @@ TIP: A much more complete explanation of the structure of the app (and how to us
 This app has the same functionality as _HelloWorld_, but is structured so it can be used as a starting point for developing your own applications.
 It also includes some xref:testing:integtestsupport:about.adoc[integration tests], xref:testing:fixtures:about.adoc[fixtures], and xref:testing:specsupport:about.adoc[BDD (Cucumber)] specs.
 
-The source code can be found in this link:https://github.com/apache/isis-app-simpleapp[git repo] which you can either fork, or just download as a zip:
+The source code can be found in this link:https://github.com/apache/isis-app-simpleapp[git repo] which you can either fork, or just download as a zip, either:
+
+include::simpleapp-script-jdo.adoc[]
+
+to use JDO for the ORM, or:
+
+include::simpleapp-script-jpa.adoc[]
 
-include::simpleapp-script.adoc[]
+to use JPA as the ORM.
 
 
 TIP: A much more complete explanation of the structure of the app (and how to use it) can be found *xref:docs:starters:helloworld.adoc[here]*.
diff --git a/starters/adoc/modules/starters/pages/helloworld-script.adoc b/starters/adoc/modules/starters/pages/helloworld-script-jdo.adoc
similarity index 93%
copy from starters/adoc/modules/starters/pages/helloworld-script.adoc
copy to starters/adoc/modules/starters/pages/helloworld-script-jdo.adoc
index 8e35443c..a0fac28 100644
--- a/starters/adoc/modules/starters/pages/helloworld-script.adoc
+++ b/starters/adoc/modules/starters/pages/helloworld-script-jdo.adoc
@@ -3,8 +3,8 @@
 
 [source,bash,subs="attributes+"]
 ----
-curl https://codeload.github.com/apache/isis-app-helloworld/zip/{page-isisrel} | jar xv
-cd isis-app-helloworld-{page-isisrel}
+curl https://codeload.github.com/apache/isis-app-helloworld/zip/jdo | jar xv
+cd isis-app-helloworld-jdo
 
 mvn clean install
 mvn spring-boot:run
diff --git a/starters/adoc/modules/starters/pages/helloworld-script.adoc b/starters/adoc/modules/starters/pages/helloworld-script-jpa.adoc
similarity index 93%
rename from starters/adoc/modules/starters/pages/helloworld-script.adoc
rename to starters/adoc/modules/starters/pages/helloworld-script-jpa.adoc
index 8e35443c..5ec2229 100644
--- a/starters/adoc/modules/starters/pages/helloworld-script.adoc
+++ b/starters/adoc/modules/starters/pages/helloworld-script-jpa.adoc
@@ -3,8 +3,8 @@
 
 [source,bash,subs="attributes+"]
 ----
-curl https://codeload.github.com/apache/isis-app-helloworld/zip/{page-isisrel} | jar xv
-cd isis-app-helloworld-{page-isisrel}
+curl https://codeload.github.com/apache/isis-app-helloworld/zip/jpa | jar xv
+cd isis-app-helloworld-jpa
 
 mvn clean install
 mvn spring-boot:run
diff --git a/starters/adoc/modules/starters/pages/helloworld.adoc b/starters/adoc/modules/starters/pages/helloworld.adoc
index 364519f..f8334f5 100644
--- a/starters/adoc/modules/starters/pages/helloworld.adoc
+++ b/starters/adoc/modules/starters/pages/helloworld.adoc
@@ -5,35 +5,35 @@
 
 The quickest way to start learning about Apache Isis is to use the `helloworld` starter app.
 
-Using the instructions <<Downloading & Running,below>>, you can  download a tiny Apache Isis app, consisting of a simple one-class domain model, namely the `HelloWorldObject` entity and a supporting `HelloWorldObjects` repository domain service.
-Both the business logic and supporting bootstrapping classes are in a single Maven module (in different Java packages).
+There are two variations of the application (and so two branches in the git repo).
+One variation uses JDO as the ORM, the other uses JPA, so you can focus on whichever ORM you prefer.
+
+The application is also deployed online for you to try out,  link:https://helloworld.jdo.isis.incode.work[here (jdo)] and link:https://helloworld.jpa.isis.incode.work[here (jpa)].
+
+Using the instructions <<Downloading & Running,below>>, you can download a minimal Apache Isis app, consisting of a single domain entity (`HelloWorldObject`) with supporting domain services.
+Both the business logic and supporting bootstrapping classes are in a single Maven module.
 
 [TIP]
 ====
 We don't recommend that you use the helloworld starter app as the basis for your own applications.
 Instead, use the xref:docs:starters:simpleapp.adoc[SimpleApp starter app].
-It also creates a minimal application, but provides more structure and example tests, useful as you build out your own app.
+It also creates a minimal application, but provides more structure along with tests, useful as you build out your own app.
 ====
 
-You can also try out this application online, running link:https://helloworld.isis.incode.work[here].
-
 == Prerequisites
 
 Apache Isis is a Java based framework, so in terms of prerequisites, you'll need to install:
 
-* an LTS version of Java: either Java 8 JDK or Java 11 JDK
-* link:http://maven.apache.org[Apache Maven] 3.5+
-
-You'll probably also want to use an IDE; the Apache Isis committers use either IntelliJ or Eclipse; in the xref:setupguide:ROOT:about.adoc[Setup Guide] we have detailed setup instructions for using these two IDEs.
-If you're a NetBeans user you should have no problems as it too has strong support for Maven.
+* Java 11 JDK (or later)
++
+Apache Isis itself is compatible with Java 8, but the helloworld app itself is configured for Java 11.
 
-When building and running within an IDE, you'll also need to configure the Datanucleus enhancer.
-This is implemented as a Maven plugin, so in the case of IntelliJ, it's easy enough to run the enhancer as required.
-It should be just as straightforward for NetBeans too.
+* link:http://maven.apache.org[Apache Maven] 3.5+
 
-For Eclipse the maven integration story is a little less refined.
-All is not lost, however; DataNucleus also has an implementation of the enhancer as an Eclipse plugin, which works well enough.
+If using JDO as the ORM, you'll also need to run the Datanucleus enhancer (this post-processes the byte code of the entities).
+The xref:setupguide:ROOT:about.adoc[Setup Guide] explains how to do this for either IntelliJ and Eclipse.
 
+If using JPA as the ORM, the equivalent process to enhancement is performed at run-time, so there are no special setup considerations.
 
 
 == Downloading & Running
@@ -42,9 +42,15 @@ Create a new directory, and `cd` into that directory.
 
 To build the app from the latest stable release, then run the following command:
 
-include::helloworld-script.adoc[]
+include::helloworld-script-jdo.adoc[]
 
-This should only take a few seconds to download, compile and run.
+to use JDO for the ORM, or:
+
+include::helloworld-script-jpa.adoc[]
+
+to use JPA as the ORM.
+
+Either way, this should only take a few seconds to download, compile and run.
 Then browse to link:http://localhost:8080[], and read on.
 
 
@@ -58,7 +64,7 @@ Choose the generic Wicket UI, and navigate to the login page:
 
 image::helloworld/using/020-login-to-wicket-viewer.png[width="600px"]
 
-The app itself is configured to run using xref:security:ROOT:about.adoc[shiro security], as configured in the `WEB-INF/shiro.ini` config file.
+The app itself is configured to run using xref:security:ROOT:about.adoc[shiro security], as configured in the `shiro.ini` config file.
 You can login with:
 
 * username: _sven_
@@ -86,7 +92,7 @@ hitting OK returns the created object:
 
 image::helloworld/using/060-created-object.png[width="600px"]
 
-The above functionality is implemented by this code:
+The above functionality is implemented by this code (in the `HelloWorldObjects` menu domain service):
 
 [source,java]
 ----
@@ -109,12 +115,12 @@ The `name` property is read-only, and can only be modified using the `updateName
 
 image::helloworld/using/070-update-name.png[width="600px"]
 
-The above functionality is implemented by this code:
+The above functionality is implemented by this code (in the `HelloWorldObject` entity):
 
 [source,java]
 ----
 @Action(semantics = SemanticsOf.IDEMPOTENT,
-        publishing = Publishing.ENABLED,        // <.>
+        publishing = Publishing.ENABLED,
         associateWith = "name")
 public HelloWorldObject updateName(
         @Name final String name) {
@@ -125,11 +131,6 @@ public String default0UpdateName() {
     return getName();
 }
 ----
-<.> Publishing enabled means that the action invocation is converted into XML and dispatched to all configured implementations of the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] SPI.
-+
-The framework provides a default implementation that just logs the interaction:
-+
-image::helloworld/using/075-logged-action.png[width="600px"]
 
 
 ==== Edit a property
@@ -146,11 +147,9 @@ It's also possible to delete an object:
 
 image::helloworld/using/090-delete-object.png[width="600px"]
 
-The viewer displays a message confirming that the object has been deleted:
-
-image::helloworld/using/100-object-deleted.png[width="600px"]
+The viewer should display a pop-up message confirming that the object has been deleted.
 
-The above functionality is implemented by this code:
+The above functionality is implemented by this code (in the `HelloWorldObject` entity):
 
 [source,java]
 ----
@@ -168,6 +167,8 @@ public void delete() {
 
 === Swagger (Restful Objects)
 
+CAUTION: if invoking an action using Swagger returns a 401 (unauthorised), then navigate to the REST API directly (link:http://localhost:8080/restful[] to authenticate the browser first]).
+
 Using menu:Prototyping[Open Swagger UI] menu item (or just going back to the home page at link:http://localhost:8080[localhost:8080]) we can use link:https://swagger.io/[Swagger UI] as a front-end to the REST API provided by the Restful Objects viewer.
 
 image::helloworld/using/200-swagger-ui-before-reload.png[width="600px"]
@@ -181,7 +182,6 @@ For example, an object can be created using the resource that represents the `He
 
 image::helloworld/using/220-create-object-thru-rest-api.png[width="600px"]
 
-CAUTION: if invoking the action returns a 401 (unauthorised), then navigate to the REST API directly (link:http://localhost:8080/restful[] to authenticate the browser first]).
 
 The response indicates that the object was successfully created:
 
@@ -213,44 +213,57 @@ Under `src/main/java` we have:
 [source]
 ----
 src/main/java/
-  domainapp/                            <!--1-->
+  domainapp/                                    <!--.-->
     modules
-      hello/                            <!--2-->
-        dom/                            <!--3-->
-          hwo/                          <!--4-->
+      hello/                                    <!--.-->
+        dom/                                    <!--.-->
+          hwo/                                  <!--.-->
             HelloWorldObject.java
             HelloWorldObject.layout.xml
             HelloWorldObject.png
+            HelloWorldObjectRepository.java     <!--.-->
             HelloWorldObjects.java
-        types/                          <!--5-->
+        types/                                  <!--.-->
           Name.java
           Notes.java
-      HelloWorldModule.java             <!--6-->
+      HelloWorldModule.java                     <!--.-->
     webapp/
-      AppManifest.java                  <!--7-->
-      HelloWorldApp.java                <!--8-->
-  META-INF/
-    persistence.xml                     <!--9-->
+      AppManifest.java                          <!--.-->
+      HelloWorldApp.java                        <!--.-->
+  META-INF        /
+    persistence.xml                             <!--.-->
 ----
-<1> For simplicity, all the Java source files reside in a `domainapp` top-level package.
+
+<.> For simplicity, all the Java source files reside in a `domainapp` top-level package.
 Change as required.
-<2> Defines the 'hello' module.
+
+<.> Defines the 'hello' module.
 Apache Isis can be used for both microservice and monolithic architectures, but for the latter it encourages "modular monoliths" from the start.
-<3> The `dom` package holds the "domain object model" for this module.
+
+<.> The `dom` package holds the "domain object model" for this module.
 Modules may have other packages, common ones include ``types`` (as below), also ``api``s, ``contribution``s, ``fixture``s, ``spi``s
-<4> Holds classes for the `hwo` ("hello world object") entity/aggregate, consisting of the entity definition itself (`HelloWorldObject`) and a corresponding repository (`HelloWorldObjects`).
+
+<.> Holds classes for the `hwo` ("hello world object") entity/aggregate, consisting of the entity definition itself (`HelloWorldObject`) and a corresponding repository (`HelloWorldObjects`).
 The associated `.layout.xml` and `.png` are optional but provide metadata/resources for rendering (Maven is configured to also treat `src/main/java` as a resource location).
-<5> The `types` package contains meta-annotations to describe the usage of common value types such as ``String``s.
-<6> `HelloWorldModule` is a Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] which allows the domain services and entities of the module to be located. +
+
+<.> For the `jpa` branch only, uses Spring Data JPA to automatically provide the query implementation.
+
+<.> The `types` package contains meta-annotations to describe the usage of common value types such as ``String``s.
+
+<.> `HelloWorldModule` is a Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] which allows the domain services and entities of the module to be located. +
 This is discussed in more detail xref:#helloworldmodule[below].
-<7> `AppManifest` is the top-level Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] that specifies the components of Apache Isis to use, along with the modules making up the application itself (ie `HelloWorldModule`). +
+
+<.> `AppManifest` is the top-level Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] that specifies the components of Apache Isis to use, along with the modules making up the application itself (ie `HelloWorldModule`). +
 This is discussed in more detail xref:#appmanifest[below].
-<8> `HelloWorldApp` is the link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/SpringBootApplication.html[@SpringBootApplication] used to bootstrap the app.
+
+<.> `HelloWorldApp` is the link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/SpringBootApplication.html[@SpringBootApplication] used to bootstrap the app.
 It's pretty much boilerplate - the important piece is that it references `AppManifest`. +
 This is discussed in more detail xref:#helloworldapp[below].
-<9> The `persistence.xml` file is required when using the JDO/DataNucleus object store (though it is basically boilerplate, an empty file).
+
+<.> For the `jdo` branch only, the `persistence.xml` file is required boilerplate.
 
 
+[#helloworldmodule]
 ==== HelloWorldModule
 
 Every module within an Apache Isis application should have a module class.
@@ -263,18 +276,27 @@ In the case of `HelloWorldModule`, it is extremely simple:
 package domainapp.modules.hello;
 ... imports omitted ...
 @Configuration
-@Import({})                         // <1>
-@ComponentScan                      // <2>
+@Import({})                         // <.>
+@ComponentScan                      // <.>
+@EnableJpaRepositories              // <.>
+@EntityScan(                        // <.>
+    basePackageClasses = {
+        HelloWorldModule.class
+})
 public class HelloWorldModule {
 }
 ----
-<1> no dependencies.
+
+<.> no dependencies.
 If there were, these would be expressed in terms of module classes (each being a Spring `@Configuration`)
-<2> specifies this class' package as a root to scan for Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component]s.
 
-The scanning mechanism is leveraged by Apache Isis to pick up three types of classes:
+<.> specifies this class' package as a root to scan for Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component]s.
+
+<.> for `jpa` branch only, enables Spring Data JPA repositories
+
+<.> for `jpa` branch only, to automatically discover JPA entities
 
-This will pick up the `HelloWorldObjects` repository because it is annotated with the framework's xref:refguide:applib:index/annotation/DomainService.adoc[@DomainService] annotation (in turn meta-annotated with `@Component`).
+The scanning mechanism is also leveraged by Apache Isis to pick up three types of classes:
 
 * all domain services
 +
@@ -283,15 +305,14 @@ Because `@DomainService` is meta-annotated as a `@Component`, these are found au
 +
 Depending on their nature, domain services are used to build up the menu, or are available to call programmatically, eg repositories, or sometimes both.
 +
-In the helloworld starter app, the only domain service  is `HelloWorldObjects`.
+In the helloworld starter app, the main domain services is `HelloWorldObjects`.
 This appears in the menu, and also acts as a repository for the `HelloWorldObject` entity.
+The `jpa` branch also has the `HelloWorldRepository` Spring Data service.
 
 * all entities.
 +
-These are entities that are annotated with both xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject] annotation and with `@javax.jdo.annotations.PersistenceCapable`.
-Because `@DomainObject` is meta-annotated as a `@Component`, these are found automatically by Spring.
-They are passed through to the JDO/DataNucleus object store, in order to create database mappings from the entities to relational tables.
-It is also annotated with xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject]
+These are entities that are annotated with both xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject] annotation and with the ORM-specific annotation.
+For `jdo` branch, this is `@javax.jdo.annotations.PersistenceCapable`; for the `jpa` branch this is `@javax.persistence.Entity`).
 +
 In the helloworld starter app, the only entity is `HelloWorldObject`.
 
@@ -303,43 +324,62 @@ The helloworld starter app doesn't provide any examples of these.
 
 
 
+[#appmanifest]
 ==== AppManifest
 
-The "app manifest" (the name has been retained from Apache Isis v1.x) is the top-level Spring `@Configuration`.
-In the case of the helloworld starter app, the `AppManifest` looks like this:
+The "app manifest" is the top-level Spring `@Configuration`.
+In the case of the helloworld starter app *for the `jdo` branch* the `AppManifest` looks like this:
 
 [source,java]
 .AppManifest.java
 ----
 @Configuration
 @Import({
-        IsisModuleCoreRuntimeServices.class,                    // <1>
-        IsisModuleSecurityShiro.class,                          // <2>
-        IsisModuleJdoDataNucleus5.class,                        // <3>
-        IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,     // <4>
-        IsisModuleViewerWicketViewer.class,                     // <5>
+        IsisModuleCoreRuntimeServices.class,                // <.>
+        IsisModuleSecurityShiro.class,                      // <.>
+        IsisModuleJdoDataNucleus5.class,                    // <.>
+        IsisModuleViewerRestfulObjectsJaxrsResteasy4.class, // <.>
+        IsisModuleViewerWicketViewer.class,                 // <.>
 
-        IsisModuleTestingH2ConsoleUi.class,                     // <6>
+        IsisModuleTestingH2ConsoleUi.class,                 // <.>
 
-        HelloWorldModule.class                                  // <7>
+        HelloWorldModule.class                              // <.>
 })
-@PropertySource(IsisPresets.NoTranslations)                     // <8>
+@PropertySource(IsisPresets.NoTranslations)                 // <.>
 public class AppManifest {
 }
 ----
-<1> Mandatory - specifies the core of the Apache Isis framework
-<2> Enables the Shiro security mechanism.
+
+<.> Mandatory - specifies the core of the Apache Isis framework
+
+<.> Enables the Shiro security mechanism.
 There are several security implementations, precisely one must be selected
-<3> Enables JDO/DataNucleus for persistence.
+
+<.> Enables JDO/DataNucleus for persistence.
 Optional (though if omitted then only xref:userguide:fun:overview.adoc#view-models[view models] may be used, with hand-rolled persistence).
-<4> Enables the xref:vro:ROOT:about.adoc[Restful Objects viewer] (ie REST API).
-<5> Enables the xref:vw:ROOT:about.adoc[Wicket viewer]
-<6> Enables the H2 Console (menu from the "Prototyping" menu), applicable only if running against h2 in-memory database.
-<7> References the application's module(s), in this case just the one, `HelloWorldModule`.
-<8> Normally configuration properties are picked up from Spring Boot's `application.properties` or `application.yml` files, but additional properties can be overridden directly.
+
+<.> Enables the xref:vro:ROOT:about.adoc[Restful Objects viewer] (ie REST API).
+
+<.> Enables the xref:vw:ROOT:about.adoc[Wicket viewer]
+
+<.> Enables the H2 Console (menu from the "Prototyping" menu), applicable only if running against h2 in-memory database.
+
+<.> References the application's module(s), in this case just the one, `HelloWorldModule`.
+
+<.> Normally configuration properties are picked up from Spring Boot's `application.properties` or `application.yml` files, but additional properties can be overridden directly.
 This particular one disables the framework's i18n support using the `IsisPresets` convenience class.
 
+For the `jpa` branch the `AppManifest` is almost identical, just replacing:
+
+* `IsisModuleJdoDataNucleus5.class,`
 
+with:
+
+* `IsisModuleJpaEclipseLink.class,`
+
+This bootstraps the JPA as the ORM instead of JDO.
+
+[#helloworldapp]
 ==== HelloWorldApp
 
 The application is bootstrapped using `HelloWorldApp`, a regular `@SpringBootApplication`.
@@ -349,20 +389,21 @@ It is mostly boilerplate:
 ----
 @SpringBootApplication
 @Import({
-    AppManifest.class,                                          // <1>
+    AppManifest.class,                                          // <.>
 })
 public class HelloWorldApp
             extends SpringBootServletInitializer {
 
     public static void main(String[] args) {
-        IsisPresets.prototyping();                              // <2>
+        IsisPresets.prototyping();                              // <.>
         SpringApplication.run(
                 new Class[] { HelloWorldApp.class }, args);
     }
 }
 ----
-<1> references the `AppManifest` mentioned earlier
-<2> specifies prototyping mode.
+
+<.> references the `AppManifest` mentioned <<AppManifest,above>>.
+<.> specifies prototyping mode.
 This enables actions marked for prototyping to become available, useful during the early stages of development.
 +
 [TIP]
@@ -380,24 +421,32 @@ Under `src/main/resources` we have:
 ----
 src/main/resources
   config/
-    application.properties      <!--1-->
-  static/                       <!--2-->
-  templates/                    <!--3-->
-  application.yml               <!--4-->
-  banner.txt                    <!--5-->
-  log4j2-spring.xml             <!--6-->
-  menubars.layout.xml           <!--7-->
-  shiro.ini                     <!--8-->
+    application.properties      <!--.-->
+  static/                       <!--.-->
+  templates/                    <!--.-->
+  application.yml               <!--.-->
+  banner.txt                    <!--.-->
+  log4j2-spring.xml             <!--.-->
+  menubars.layout.xml           <!--.-->
+  shiro.ini                     <!--.-->
 ----
-<1> By convention, we use `config/application.properties` to hold configuration properties that change between environments (dev, test, prod).
+
+<.> By convention, we use `config/application.properties` to hold configuration properties that change between environments (dev, test, prod).
 Typically this just holds JDBC connection strings, etc.
-<2> The `static` package (a link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content[Spring convention]) provides access for static resources that are accessible from the webapp
-<3> The `templates` package holds a fallback error page, which is the link:https://www.baeldung.com/spring-thymeleaf-template-directory#change-default[default location] for pages rendered using Spring Boot's integration with Thymeleaf.
-<4> By convention, we use `application.yml` to hold configuration properties that do _not_ change between environments.
-<5> The `banner.txt` is shown when bootstrapping.
-<6> The `log4j2-spring.xml` configures log4j2 (the logging system used by Apache Isis)
-<7> The `menubars.layout.xml` arranges the actions of the domain services into menus.
-<8> The `shiro.ini` file configures Shiro security integration (see the `IsisModuleSecurityShiro` module imported in the `AppManifest`, above).
+
+<.> The `static` package (a link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content[Spring convention]) provides access for static resources that are accessible from the webapp
+
+<.> The `templates` package holds a fallback error page, which is the link:https://www.baeldung.com/spring-thymeleaf-template-directory#change-default[default location] for pages rendered using Spring Boot's integration with Thymeleaf.
+
+<.> By convention, we use `application.yml` to hold configuration properties that do _not_ change between environments.
+
+<.> The `banner.txt` is shown when bootstrapping.
+
+<.> The `log4j2-spring.xml` configures log4j2 (the logging system used by Apache Isis)
+
+<.> The `menubars.layout.xml` arranges the actions of the domain services into menus.
+
+<.> The `shiro.ini` file configures Shiro security integration (see the `IsisModuleSecurityShiro` module imported in the `AppManifest`, above).
 +
 [TIP]
 ====
@@ -473,7 +522,8 @@ Here's what the setup looks like in IntelliJ IDEA:
 
 image::helloworld/helloworld.png[width="600px"]
 
-which uses an IntelliJ feature to execute a different _Run Configuration_ for the DataNucleus enhancer beforehand:
+If using JDO as the ORM, then the DataNucleus enhancer must be run beforehand.
+With IntelliJ this can be done by setting up a different _Run Configuration_ to be executed beforehand:
 
 image::helloworld/helloworld-before-launch.png[width="600px"]
 
@@ -484,7 +534,6 @@ image::helloworld/helloworld-before-launch.png[width="600px"]
 Once you are familiar with the app, try modifying it.
 There is plenty more guidance on this site; start with the xref:userguide:fun:about.adoc[User Guide Fundamentals] and then look at the other guides linked to from the top-level menu or from the main xref:docs:ROOT:about.adoc[table of contents].
 
-// If you use IntelliJ IDEA or Eclipse, do also install thexref:setupguide:intellij:about.adoc#live-templates[live templates (for IntelliJ)] / xref:setupguide:eclipse:about.adoc#editor-templates[editor templates (for Eclipse)]; these will help you follow the Apache Isis naming conventions.
 
 If you run into issues, please don't hesitate to ask for help on the users mailing list or the Slack channel, as per the xref:docs:support:about.adoc[support page].
 
diff --git a/starters/adoc/modules/starters/pages/simpleapp-script.adoc b/starters/adoc/modules/starters/pages/simpleapp-script-jdo.adoc
similarity index 87%
copy from starters/adoc/modules/starters/pages/simpleapp-script.adoc
copy to starters/adoc/modules/starters/pages/simpleapp-script-jdo.adoc
index 7277a96..2bc884e 100644
--- a/starters/adoc/modules/starters/pages/simpleapp-script.adoc
+++ b/starters/adoc/modules/starters/pages/simpleapp-script-jdo.adoc
@@ -4,8 +4,8 @@
 
 [source,bash,subs="attributes+"]
 ----
-curl https://codeload.github.com/apache/isis-app-simpleapp/zip/{page-isisrel} | jar xv
-cd isis-app-simpleapp-{page-isisrel}
+curl https://codeload.github.com/apache/isis-app-simpleapp/zip/jdo | jar xv
+cd isis-app-simpleapp-jdo
 
 mvn clean install
 mvn -pl webapp spring-boot:run
diff --git a/starters/adoc/modules/starters/pages/simpleapp-script.adoc b/starters/adoc/modules/starters/pages/simpleapp-script-jpa.adoc
similarity index 87%
rename from starters/adoc/modules/starters/pages/simpleapp-script.adoc
rename to starters/adoc/modules/starters/pages/simpleapp-script-jpa.adoc
index 7277a96..233b8b8 100644
--- a/starters/adoc/modules/starters/pages/simpleapp-script.adoc
+++ b/starters/adoc/modules/starters/pages/simpleapp-script-jpa.adoc
@@ -4,8 +4,8 @@
 
 [source,bash,subs="attributes+"]
 ----
-curl https://codeload.github.com/apache/isis-app-simpleapp/zip/{page-isisrel} | jar xv
-cd isis-app-simpleapp-{page-isisrel}
+curl https://codeload.github.com/apache/isis-app-simpleapp/zip/jpa | jar xv
+cd isis-app-simpleapp-jpa
 
 mvn clean install
 mvn -pl webapp spring-boot:run
diff --git a/starters/adoc/modules/starters/pages/simpleapp.adoc b/starters/adoc/modules/starters/pages/simpleapp.adoc
index d23013a..7cee727 100644
--- a/starters/adoc/modules/starters/pages/simpleapp.adoc
+++ b/starters/adoc/modules/starters/pages/simpleapp.adoc
@@ -4,29 +4,43 @@
 
 The quickest way to get started building an application "for real" is to use the `simpleapp` starter app.
 
-As with the xref:docs:starters:helloworld.adoc[HelloWorld] starter app, the instructions <<Downloading & Running,below>> will download a very simple one-class domain model, namely the `SimpleObject` entity and a supporting `SimpleObjects` domain service.
+There are two variations of the application (and so two branches in the git repo).
+One variation uses JDO as the ORM, the other uses JPA, so you can focus on whichever ORM you prefer.
 
-However, the app also provides more structure to assist you as your application grows, with multiple Maven modules, and examples of unit tests, integration tests and BDD (cucumber) specs.
+The application is also deployed online for you to try out, link:https://simpleapp.jdo.isis.incode.work[here (jdo)] and link:https://simpleapp.jpa.isis.incode.work[here (jpa)].
+
+As with the xref:docs:starters:helloworld.adoc[HelloWorld] starter app, the instructions <<Downloading & Running,below>> will download a minimal Apache Isis app consisting of a single entity (`SimpleObject`) with supporting domain services.
+
+However, unlike HelloWorld, this app also provides more structure to assist you as your application grows, with business logic placed in a separate Maven module (`simpleapp-...-module-simple`) to the module that bootstraps the webapp (`simpleapp-...-webapp`).
+Replace "..." with either "jdo" or "jpa", as appropriate.
+
+The idea is that as your application grows in scope that you put each new area of functionality in its own module (copy-n-paste the `simpleapp-...-module-simple` module).
+These modules can depend on each other, but Maven will to ensure that dependencies between these areas of functionality are unidirectional.
+In this way your application will be a "modular monolith"; said another way it will prevent your application from degenerating into a link:https://en.wikipedia.org/wiki/Big_ball_of_mud[big ball of mud].
+See also the discussion <<structure-of-the-app,below>>.
+
+The application also includes examples of unit tests, integration tests and BDD (cucumber) specs.
+You'll find these in their own Maven modules (`simpleapp-...-module-simple-tests` and `simpleapp-...-webapp-tests`).
+Normally we recommend that tests should be in the same Maven module as the code that they exercise.
+The simpleapp doesn't do it this way just to give you the option to exclude them while initially prototyping/exploring a domain.
+You can use them as a reference once your ideas have solidifid and you need to start writing proper "production" code.
 
-You also can try out this application online, running link:https://simpleapp.isis.incode.work[here].
 
 
 == Prerequisites
 
 Apache Isis is a Java based framework, so in terms of prerequisites, you'll need to install:
 
-* an LTS version of Java: either Java 8 JDK or Java 11 JDK
-* link:http://maven.apache.org[Apache Maven] 3.5+
+* Java 11 JDK (or later)
++
+Apache Isis itself is compatible with Java 8, but the simpleapp itself is configured for Java 11.
 
-You'll probably also want to use an IDE; the Apache Isis committers use either IntelliJ or Eclipse; in the xref:setupguide:ROOT:about.adoc[Setup Guide] we have detailed setup instructions for using these two IDEs.
-If you're a NetBeans user you should have no problems as it too has strong support for Maven.
+* link:http://maven.apache.org[Apache Maven] 3.5+
 
-When building and running within an IDE, you'll also need to configure the Datanucleus enhancer.
-This is implemented as a Maven plugin, so in the case of IntelliJ, it's easy enough to run the enhancer as required.
-It should be just as straightforward for NetBeans too.
+If using JDO as the ORM, you'll also need to run the Datanucleus enhancer (this post-processes the byte code of the entities).
+The xref:setupguide:ROOT:about.adoc[Setup Guide] explains how to do this for either IntelliJ and Eclipse.
 
-For Eclipse the maven integration story is a little less refined.
-All is not lost, however; DataNucleus also has an implementation of the enhancer as an Eclipse plugin, which works well enough.
+If using JPA as the ORM, the equivalent process to enhancement is performed at run-time, so there are no special setup considerations.
 
 
 
@@ -36,7 +50,14 @@ Create a new directory, and `cd` into that directory.
 
 To build the app from the latest stable release, then run the following command:
 
-include::simpleapp-script.adoc[]
+include::simpleapp-script-jdo.adoc[]
+
+to use JDO for the ORM, or:
+
+include::simpleapp-script-jpa.adoc[]
+
+to use JPA as the ORM.
+
 
 This should only take a few seconds to download, compile and run.
 Then browse to link:http://localhost:8080[], and read on.
@@ -52,7 +73,7 @@ Choose the generic Wicket UI, and navigate to the login page:
 
 image::simpleapp/using/020-login-to-wicket-viewer.png[width="600px"]
 
-The app itself is configured to run using xref:security:ROOT:about.adoc[shiro security], as configured in the `WEB-INF/shiro.ini` config file.
+The app itself is configured to run using xref:security:ROOT:about.adoc[shiro security], as configured in the `shiro.ini` config file.
 You can login with:
 
 * username: _sven_
@@ -76,19 +97,23 @@ This is a view model annotated with xref:refguide:applib:index/annotation/HomePa
 @HomePage
 public class HomePageViewModel {
 
-    public TranslatableString title() {
-        return TranslatableString.tr("{num} objects", "num", getObjects().size());
+    public String title() {                             // <.>
+        return return getObjects().size() + " objects";
     }
 
-    public List<SimpleObject> getObjects() {
+    public List<SimpleObject> getObjects() {            // <.>
         return simpleObjects.listAll();
     }
 
-    @Inject SimpleObjects simpleObjects;
+    @Inject SimpleObjects simpleObjects;                // <.>
 }
 ----
 
+<.> identifies or describes the object
+<.> collection of objects shown on the page
+<.> automatically injected by the framework
 
+[#fixtures]
 ==== Fixtures
 
 When prototyping against an in-memory database, it's useful to have a mechanism to create some initial state.
@@ -109,17 +134,21 @@ public class DomainAppDemo extends FixtureScript {
 
     @Override
     protected void execute(final ExecutionContext ec) {
-        ec.executeChild(this, new TeardownFixtureAbstract2() {
-            @Override
-            protected void execute(final ExecutionContext executionContext) {
-                deleteFrom(SimpleObject.class);
-            }
-        });
-        ec.executeChild(this, new SimpleObject_persona.PersistAll());
+        ec.executeChildren(this,
+            moduleWithFixturesService.getTeardownFixture());        // <.>
+        ec.executeChild(this,
+            new SimpleObject_persona.PersistAll());                 // <.>
     }
+
+    @Inject ModuleWithFixturesService moduleWithFixturesService;
+
 }
 ----
 
+<.> uses injected service to tear down all objects.
+(Each module provides a teardown script; these are run in the correct sequence).
+<.> Creates new objects
+
 When executed, all objects created by the fixture are listed:
 
 image::simpleapp/using/034-run-fixture-script-result.png[width="600px"]
@@ -153,23 +182,22 @@ Hitting OK returns the created object:
 
 image::simpleapp/using/060-created-object.png[width="600px"]
 
-The above functionality is implemented by this code:
+The above functionality is implemented by this code (in the `SimpleObjects` menu domain service):
 
 [source,java]
 ----
-public static class CreateActionDomainEvent extends ActionDomainEvent {}
-@Action(semantics = SemanticsOf.NON_IDEMPOTENT,
-        domainEvent = CreateActionDomainEvent.class)                     // <.>
-@ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR)                  // <.>
+@Action(semantics = SemanticsOf.NON_IDEMPOTENT)                     // <.>
+@ActionLayout(promptStyle = PromptStyle.DIALOG_SIDEBAR)             // <.>
 public SimpleObject create(
-        @Name final String name) {                                       // <.>
+        @Name final String name) {                                  // <.>
     return repositoryService.persist(SimpleObject.ofName(name));
 }
 ----
-<.> Published on an in-memory event bus; this allows subscribers to veto or to react to the action invocation.
-<.> Policies such as modal or sidebar can be specified per action, or globally in `application.yml` file.
+<.> Specifying semantics is recommended, as it changes the HTTP method that is used if the action is invoked through the xref:vro::about.adoc[REST API].
+<.> Prompt styles such as modal or sidebar can be specified per action, or globally in `application.yml` file.
 <.> The `@Name` annotation is actually a meta-annotation, meaning that a number of additional semantics (length, layout, validation etc.) are inferred.
 
+
 ==== Invoke an action
 
 The `SimpleObject` contains a couple of properties, and a single action to update that property.
@@ -178,16 +206,11 @@ The `name` property is read-only, and can only be modified using the `updateName
 
 image::simpleapp/using/070-update-name.png[width="600px"]
 
-The above functionality is implemented by this code:
+The above functionality is implemented by this code (in the `SimpleObject` entity):
 
 [source,java]
 ----
-public static class UpdateNameActionDomainEvent
-                      extends SimpleObject.ActionDomainEvent {}
-@Action(semantics = IDEMPOTENT,
-        publishing = Publishing.ENABLED,                    // <.>
-        associateWith = "name",
-        domainEvent = UpdateNameActionDomainEvent.class)
+@Action(semantics = IDEMPOTENT)
 public SimpleObject updateName(
         @Name final String name) {
     setName(name);
@@ -197,15 +220,6 @@ public String default0UpdateName() {
     return getName();
 }
 ----
-<.> Publishing enabled means that the action invocation is converted into XML and dispatched to all configured implementations of the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] SPI.
-+
-The framework provides a default implementation that just logs the interaction:
-+
-image::simpleapp/using/075-publish-logging-1.png[width="600px"]
-+
-It also logs the fact that the object itself was modified:
-+
-image::simpleapp/using/076-publish-logging-2.png[width="600px"]
 
 
 
@@ -227,25 +241,25 @@ The viewer displays a message confirming that the object has been deleted:
 
 image::simpleapp/using/100-object-deleted.png[width="600px"]
 
-The above functionality is implemented by this code:
+The above functionality is implemented by this code (in the`SimpleObject` entity):
 
 [source,java]
 ----
-public static class DeleteActionDomainEvent
-                       extends SimpleObject.ActionDomainEvent {}
-@Action(semantics = NON_IDEMPOTENT_ARE_YOU_SURE,
-        domainEvent = DeleteActionDomainEvent.class)
+@Action(semantics = NON_IDEMPOTENT_ARE_YOU_SURE)                        // <.>
 public void delete() {
-    final String title = titleService.titleOf(this);                 // <.>
+    final String title = titleService.titleOf(this);                    // <.>
     messageService.informUser(String.format("'%s' deleted", title));
     repositoryService.removeAndFlush(this);
 }
 ----
-<.> Note that this method uses three services provided by the framework; these are injected into the domain object automatically.
+<.> Requires the user to confirm the action
+<.> The action's implementation uses three services provided by the framework; these are injected into the domain object automatically.
 
 
 === Swagger (Restful Objects)
 
+CAUTION: if invoking an action using Swagger returns a 401 (unauthorised), then navigate to the REST API directly (link:http://localhost:8080/restful[] to authenticate the browser first]).
+
 Using menu:Prototyping[Open Swagger UI] menu item (or just going back to the home page at link:http://localhost:8080[localhost:8080]) we can use link:https://swagger.io/[Swagger UI] as a front-end to the REST API provided by the Restful Objects viewer.
 
 image::simpleapp/using/200-swagger-ui-before-reload.png[width="600px"]
@@ -259,8 +273,6 @@ For example, an object can be created using the resource that represents the `Si
 
 image::simpleapp/using/220-create-object-thru-rest-api.png[width="600px"]
 
-CAUTION: if invoking the action returns a 401 (unauthorised), then navigate to the REST API directly (link:http://localhost:8080/restful[] to authenticate the browser first]).
-
 The response indicates that the object was successfully created:
 
 image::simpleapp/using/230-create-object-thru-rest-api-response.png[width="600px"]
@@ -279,25 +291,35 @@ The REST API implemented by Apache Isis is specified in the link:http://www.rest
 
 
 
+[#structure-of-the-app]
 == Structure of the App
 
 The simpleapp starter app is a multi-module project, structured so that you easily extend it as your application grows.
 
 === Application Modules
 
-The application consists of three modules, with a top-level module acting as an aggregator, the `module-simple` module that contains the business logic, and `webapp` module that acts as a bootstrapper.
+The application consists of five modules:
 
 [plantuml]
-.simpleapp module dependencies
+.simpleapp dependencies
 ----
-[webapp] <<maven module>>
-[module-simple]  <<maven module>>
-
-[webapp] .-> [module-simple]
+[webapp-...-tests] <<maven module>> #LightBlue
+[webapp-...] <<maven module>>
+[module-...-simple-tests]  <<maven module>> #LightBlue
+[module-...-simple]  <<maven module>>
+
+[webapp-...-tests] .l-> [webapp-...]
+[module-...-simple-tests] .l-> [module-...-simple]
+[webapp-...] .u-> [module-...-simple]
 ----
 
-Each Maven module contains exactly one link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] class, residing at the package root for that Maven module.
-So, the `module-simple` maven
+where "..." is either "jdo" or "jpa", depending on the branch.
+
+The main business logic resides in `module-...-simple`, with the `webapp` module acting as an aggregator.
+Each of these modules have unit and/or integration tests.
+To allow them to be easily excluded (while prototyping/exploration), they have been placed into their own respective modules.
+
+The (non-test) Maven modules each contain exactly one link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] class, residing at the package root for that Maven module.
 The location of this class is used for classpath scanning.
 
 In a larger application there would likely be many more modules containing these domain object modules.
@@ -312,9 +334,9 @@ For example, you might have a `module-customer` holding a `Customer` entity and
 [module-customer]  <<maven module>>
 [module-product]  <<maven module>>
 
-[webapp] .-> [module-order]
-[module-order] .-> [module-customer]
-[module-order] .-> [module-product]
+[webapp] .u-> [module-order]
+[module-order] .u-> [module-customer]
+[module-order] .u-> [module-product]
 ----
 
 We can use Maven dependency management to ensure that there are no cyclic dependencies (order "knows about" product but product does not know about orders) and ensure that the codebase remains decoupled.
@@ -329,21 +351,18 @@ For integration tests, this uses the link:https://docs.spring.io/spring-boot/doc
 These two different annotations reference a (class annotated with) link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration], which in turn can link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Import.html[@Import] other annotations.
 
 By convention, the top-level `@Configuration` in an Apache Isis application is called the "app manifest".
-This references not only the application-level modules (described xref:about.adoc#application-modules[above]), but also the framework's modules.
-There will be several of these app manifests, typically one for the webapp itself, and one for integration testing each module.
 
 The link:{attachmentsdir}/simpleapp-modules-dependencies.pptx[diagram] below shows how classes fit together:
 
 .Module Dependencies
 image::simpleapp/simpleapp-modules-dependencies.png[width="800px"]
 
-
-
+(For a JPA branch, the `JdoDataNucleus5` dependency is replaced by `JpaEclipseLink`).
 
 Let's now review the contents of each of the modules in the simpleapp starter app.
 
 
-=== module-simple's src/main/java
+=== module-...-simple's src/main/java
 
 Under `src/main/java` we have:
 
@@ -358,6 +377,7 @@ src/main/java/
             SimpleObject.java
             SimpleObject.layout.xml
             SimpleObject.png
+            SimpleObjectRepository.java <!--.-->
             SimpleObjects.java
         fixture/                        <!--.-->
           SimpleObject_persona.java
@@ -372,15 +392,16 @@ src/main/java/
 <.> For simplicity, all the Java source files reside in a `domainapp` top-level package.
 Change as required.
 
-<.> Defines the 'simple' module.
-Apache Isis can be used for both microservice and monolithic architectures, but for the latter it encourages "modular monoliths" from the start.
+<.> Top level package for the 'simple' module.
 
-<.> The `dom` package holds the "domain object model" for this module.
-Modules may have other packages, common ones include ``types`` and ``fixture``s (as below), also ``api``s, ``contribution``s, ``spi``s
+<.> The `dom` subpackage holds the "domain object model" for this module.
+Modules may have other subpackages, common ones include ``types`` and ``fixture``s (as below), also ``api``s, ``contribution``s, ``spi``s
 
-<.> Holds classes for the `so` ("simple object") entity/aggregate, consisting of the entity definition itself (`SimpleObject`) and a corresponding repository (`SimpleObjects`).
+<.> Holds classes for the `so` ("simple object") entity/aggregate, consisting of the entity definition itself (`SimpleObject`) and a corresponding domin services (`SimpleObjects` and `SimpleObjectRepository`).
 The associated `.layout.xml` and `.png` are optional but provide metadata/resources for rendering (Maven is configured to also treat `src/main/java` as a resource location).
 
+<.> For the `jpa` branch only, uses Spring Data JPA to automatically provide the query implementation.
+
 <.> The `fixture` package contains classes to set up the database to an initial state (as described xref:#fixtures[earlier].
 One of the classes is a `FixtureScript` (defines _how_ to set up the data) the other is a persona enum (defines _what_ data to set up).
 
@@ -389,7 +410,7 @@ One of the classes is a `FixtureScript` (defines _how_ to set up the data) the o
 <.> `SimpleModule` is a Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] which allows the domain services and entities of the module to be located. +
 This is discussed in more detail below.
 
-<.> The `persistence.xml` file is required when using the JDO/DataNucleus object store (though it is basically boilerplate, an empty file).
+<.> For the `jdo` branch only, the `persistence.xml` file is required boilerplate.
 
 
 ==== SimpleModule
@@ -404,10 +425,12 @@ In the case of `SimpleModule`, it consists of:
 package domainapp.modules.simple;
 ... imports omitted ...
 @Configuration
-@Import({})                                                                 // <1>
-@ComponentScan                                                              // <2>
+@Import({})                                            // <.>
+@ComponentScan                                         // <.>
+@EnableJpaRepositories                                 // <.>
+@EntityScan(basePackageClasses = {SimpleModule.class}) // <.>
 public class SimpleModule
-                implements ModuleWithFixtures {                             // <3>
+                implements ModuleWithFixtures {        // <.>
 
     @Override
     public FixtureScript getTeardownFixture() {
@@ -419,16 +442,7 @@ public class SimpleModule
         };
     }
 
-    public static class PropertyDomainEvent<S,T>                            // <4>
-    extends org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> {}
-
-    public static class CollectionDomainEvent<S,T>
-    extends org.apache.isis.applib.events.domain.CollectionDomainEvent<S,T> {}
-
-    public static class ActionDomainEvent<S> extends
-    org.apache.isis.applib.events.domain.ActionDomainEvent<S> {}
-
-    @ConfigurationProperties("app.simple-module")                           // <5>
+    @ConfigurationProperties("app.simple-module")      // <.>
     @Data
     @Validated
     public static class Configuration {
@@ -450,23 +464,25 @@ public class SimpleModule
 
 }
 ----
+
 <.> This module has no dependencies.
 If there were, these would be expressed in terms of module classes (each being a Spring `@Configuration`)
+
 <.> specifies this class' package as a root to scan for Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component]s.
+
+<.> for `jpa` branch only, enables Spring Data JPA repositories
+
+<.> for `jpa` branch only, to automatically discover JPA entities
+
 <.> Optionally, modules can implement the testing's `ModuleWithFixtures` interface.
 Through this, they can provide a fixture script which can be used to teardown all entities that are "owned" by the module.
 Since the module dependency graph is known, this allows all data to be removed, useful for prototyping and sometimes for integration tests.
-<.> The actions for the domain objects and domain services all emit domain events, ultimately inheriting from xref:refguide:applib-cm:classes/domainevent/ActionDomainEvent.adoc[ActionDomainEvent].
-By convention, this inheritance hierarchy includes classes defined at the module level.
-This then allows subscribes to subscribe to all actions emitted by anything within the module. +
-Events can also be emitted for xref:refguide:applib-cm:classes/domainevent/PropertyDomainEvent.adoc[properties] and xref:refguide:applib-cm:classes/domainevent/CollectionDomainEvent.adoc[collections].
+
 <.> Spring Boot link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-typesafe-configuration-properties[type-safe configuration], as per link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/properties/ConfigurationProperties.html[@ConfigurationProperties] annotation.
 This Spring Boot feature is used by the framework, but can equally easily be used by application code.
 The `@Name.Specification` class uses this configuration property.
 
-The scanning mechanism is leveraged by Apache Isis to pick up three types of classes:
-
-This will pick up the `SimpleObjects` repository because it is annotated with the framework's xref:refguide:applib:index/annotation/DomainService.adoc[@DomainService] annotation; itself meta-annotated with `@Component`.
+The scanning mechanism is also leveraged by Apache Isis to pick up three types of classes:
 
 * all domain services
 +
@@ -477,12 +493,12 @@ Depending on their nature, domain services are used to build up the menu, or are
 +
 In the simpleapp starter app, the only domain service  is `SimpleObjects`.
 This appears in the menu, and also acts as a repository for the `SimpleObject` entity.
+The `jpa` branch also has the `SimpleObjectRepository` Spring Data service.
 
 * all entities.
 +
-These are entities that are annotated with both xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject] annotation and with `@javax.jdo.annotations.PersistenceCapable`.
-Because `@DomainObject` is meta-annotated as a `@Component`, these are found automatically by Spring.
-They are passed through to the JDO/DataNucleus object store, in order to create database mappings from the entities to relational tables.
+These are entities that are annotated with both xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject] annotation and with the ORM-specific annotation.
+For `jdo` branch, this is `@javax.jdo.annotations.PersistenceCapable`; for the `jpa` branch this is `@javax.persistence.Entity`).
 +
 In the simpleapp starter app, the only entity is `SimpleObject`.
 
@@ -493,7 +509,7 @@ These are classes that extend from the testing applib's `FixtureScript` class, a
 As already discussed, the `fixture` package provides classes to create sample objects, while the `SimpleModule` provides a fixture script to tear down all data from the module.
 
 
-=== module-simple's src/test/java
+=== module-...-simple-test's src/test/java
 
 Under `src/test/java` we have:
 
@@ -504,27 +520,33 @@ src/test/java/
     modules/
       simple/
         dom/
-          so/                                   <!--1-->
+          so/                                       <.>
             SimpleObject_Test.java
             SimpleObjects_Test.java
         integtests/
-          tests/                                <!--2-->
+          tests/                                    <.>
             SimpleObject_IntegTest.java
             SimpleObjects_IntegTest.java
-          SimpleModuleIntegTestAbstract.java    <!--3-->
+          SimpleModuleIntegTestAbstract.java        <.>
+          SimpleModuleIntegTestConfiguration.java   <.>
+src/test/resources/
+  application-test.yml                              <.>
 ----
-<1> These are very simple unit tests of `SimpleObject` and `SimpleObjects` with the package structure the same as in `src/main/java`.
+<.> These are very simple unit tests of `SimpleObject` and `SimpleObjects` with the package structure the same as in `src/main/java`.
 They are written in JUnit 5, and use JMockito as the mocking library.
-<2> Integration tests for the module.
+<.> Integration tests for the module.
 These use the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] to simulate interactions through the UI.
-<3> The `SimpleModuleIntegTestAbstract` superclass bootstraps the module's integration tests.
+<.> The `SimpleModuleIntegTestAbstract` superclass bootstraps the module's integration tests.
 This is discussed in more detail below.
+<.> Spring to bootstrap the integration test.
+<.> Configuration for the "test" profile
 
 NOTE: these integration tests are annotated with the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/annotation/Transactional.html[@Transactional], which means that Spring will automatically roll back the changes to the database; there's no need to delete data afterwards.
 
 IMPORTANT: the naming convention -- with `Test` and `IntegTest` suffixes -- is important, because the Maven surefire plugin is configured to run multiple times, one `<execution>` for each suffix.
 
 
+[#simplemoduleintegtestabstract]
 ==== SimpleModuleIntegTestAbstract
 
 The `SimpleModuleIntegTestAbstract` is the superclass of all integration tests in the module, annotated with link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/test/context/SpringBootTest.html[@SpringBootTest]:
@@ -533,45 +555,61 @@ The `SimpleModuleIntegTestAbstract` is the superclass of all integration tests i
 .SimpleModuleIntegTestAbstract.java
 ----
 @SpringBootTest(
-        classes = SimpleModuleIntegTestAbstract.AppManifest.class   // <1>
+        classes = SimpleModuleIntegTestAbstract.TestApp.class   // <.>
 )
-@TestPropertySource({                                               // <2>
-        IsisPresets.H2InMemory_withUniqueSchema,                    // <3>
-        IsisPresets.DataNucleusAutoCreate,                          // <4>
-        IsisPresets.UseLog4j2Test,                                  // <5>
-})
+@ActiveProfiles("test") // <.>
 public abstract class SimpleModuleIntegTestAbstract
-        extends IsisIntegrationTestAbstractWithFixtures {           // <6>
+        extends IsisIntegrationTestAbstractWithFixtures {       // <.>
 
     @Configuration
     @Import({
-        IsisModuleCoreRuntimeServices.class,                        // <7>
-        IsisModuleSecurityBypass.class,
-        IsisModuleJdoDataNucleus5.class,
-        IsisModuleTestingFixturesApplib.class,                      // <8>
+        IsisModuleCoreRuntimeServices.class,                    // <.>
+        IsisModuleSecurityBypass.class,                         // <.>
+        IsisModuleJdoDataNucleus5.class,                        // <.>
+        IsisModuleTestingFixturesApplib.class,                  // <.>
 
-        SimpleModule.class
+        SimpleModule.class                                      // <.>
+    })
+    @PropertySources({
+            @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),     // <.>
+            @PropertySource(IsisPresets.DatanucleusAutocreateNoValidate), // <.>
+            @PropertySource(IsisPresets.UseLog4j2Test),                   // <.>
     })
-    public static class AppManifest {
+    public static class TestApp {
     }
 }
 ----
-<1> The `AppManifest` (defined as a nested static class below) lists the modules needed to bootstrap the integration test.
-<2> Spring allows additional properties to be defined through the link:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/context/TestPropertySource.html[@TestPropertySource] annotation
-<3> Runs the tests in memory using H2.
-A unique schema allows tests to potentially be run in parallel
-<4> Ensures that JDO/DataNucleus is configured to create the database schema first.
-This may be required because the application might otherwise be configured to use the xref:userguide:flyway:about.adoc[Flyway integration].
-<5> Sets up logging to use the configuration defined in the `log4j2-test.xml` file
-<6> Tests typically inherit from `IsisIntegrationTestAbstract`, which provides some convenience methods to inherit from.
-In this case, the test inherits from the `IsisIntegrationTestAbstractWithFixtures` subclass which also adds in support for running fixtures.
-<7> Specifies the modules that make up Apache Isis framework itself.
+
+<.> The `TestApp` (defined as a nested static class below) lists the modules needed to bootstrap the integration test.
+
+<.> Actives the "test" profile, which reads in additional configuratoin in `application-test.yml"
+
+<.> Specifies the modules that make up Apache Isis framework itself.
 These include core, security set to the bypass implementation (effecively is ignored) and JDO/DataNucleus for persistence.
 Note that there no viewers are bootstrapped because the tests are run through Spring's integration testing framework, rather than (say) as Selenium tests.
-<8> Brings in support for running fixtures.
 
-TIP: You can learn more about testing in the xref:testing:ROOT:about.adoc[Testing Guide].
+<.> Disables security checks.
+
+<.> Configures JDO as the ORM.
++
+If using JPA, this would be `IsisModuleJpaEclipseLink.class` instead.
+
+<.> Brings in support for running fixtures.
++
+You can learn more about testing in the xref:testing:ROOT:about.adoc[Testing Guide].
+
+<.> The module containing the actual business logic to be tested.
+
+<.> Runs the tests in memory using H2.
+A unique schema allows tests to potentially be run in parallel
+
+<.> Ensures that JDO/DataNucleus is configured to create the database schema first.
+This may be required because the application might otherwise be configured to use the xref:userguide:flyway:about.adoc[Flyway integration].
 
+<.> Sets up logging to use the configuration defined in the `log4j2-test.xml` file
+
+<.> Tests typically inherit from `IsisIntegrationTestAbstract`, which provides some convenience methods to inherit from.
+In this case, the test inherits from the `IsisIntegrationTestAbstractWithFixtures` subclass which also adds in support for running fixtures.
 
 
 
@@ -586,37 +624,53 @@ src/main/java/
     webapp/
       application/
         fixture/
-          scenarios/                                            <!--1-->
-            DomainAppDemo.java                                  <!--2-->
-            DomainAppFixtureScriptsSpecificationProvider.java   <!--3-->
+          scenarios/                                            <.>
+            DomainAppDemo.java                                  <.>
+            DomainAppFixtureScriptsSpecificationProvider.java   <.>
         services/
           health/
-            HealthCheckServiceImpl.java                         <!--4-->
+            HealthCheckServiceImpl.java                         <.>
           homepage/
-            HomePageViewModel.java                              <!--5-->
+            HomePageViewModel.java                              <.>
             HomePageViewModel.layout.xml
             HomePageViewModel.png
-         ApplicationModule.java                                 <!--6-->
-      AppManifest.java                                          <!--7-->
-      SimpleApp.java                                            <!--8-->
+         ApplicationModule.java                                 <.>
+      custom/
+        restapi/
+          CustomController.class    <.>
+        CustomModule.class
+      AppManifest.java                                          <.>
+      SimpleApp.java                                            <.>
 ----
-<1> Defines scenarios (fixtures) for setting up the system into a known state.
+
+<.> Defines scenarios (fixtures) for setting up the system into a known state.
 Used for prototyping and also integration testing.
-<2> The `DomainAppDemo` is the fixture that was run xref:#fixtures[earlier on].
-<3> The `DomainAppFixtureScriptsSpecificationProvider` is used to configure the run fixture script menu item shown on the "Prototyping" menu.
+
+<.> The `DomainAppDemo` is the fixture that was run xref:#fixtures[earlier on].
+
+<.> The `DomainAppFixtureScriptsSpecificationProvider` is used to configure the run fixture script menu item shown on the "Prototyping" menu.
 +
 NOTE: Fixture scenarios also need to be link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Import.html[@Import]ed, typically in the top-level `AppManifest`.
 
-<4> An implementation of the xref:refguide:applib:index/services/health/HealthCheckService.adoc[HealtCheckService].
+<.> An implementation of the xref:refguide:applib:index/services/health/HealthCheckService.adoc[HealtCheckService].
 This integrates with Spring Boot's link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/actuate/health/HealthIndicator.html[HealthIndicator] SPI, surfaced through the link:https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html[Spring Boot Actuator].
-<5> Annotated with xref:refguide:applib:index/annotation/HomePage.adoc[@HomePage] and so is shown automatically as the home page.
-<6> Defines the services in the webapp module, along with dependencies onto the other modules in the application. +
+
+<.> Annotated with xref:refguide:applib:index/annotation/HomePage.adoc[@HomePage] and so is shown automatically as the home page.
+
+<.> Defines the services in the webapp module, along with dependencies onto the other modules in the application.
++
 Discussed in more detail below.
-<7> `AppManifest` is the top-level Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] that specifies the components of Apache Isis to use, along with the modules making up the application itself (ie `ApplicationModule`, which depends in turn on `SimpleModule`). +
+
+<.> Demonstrates how to implement custom REST controller using business logic.
+
+<.> `AppManifest` is the top-level Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] that specifies the components of Apache Isis to use, along with the modules making up the application itself (ie `ApplicationModule`, which depends in turn on `SimpleModule`, and `CustomModule`).
++
 This is discussed in more detail below
-<8> `SimpleApp` is the link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/SpringBootApplication.html[@SpringBootApplication] used to bootstrap the app.
-It's pretty much boilerplate - the important piece is that it references `AppManifest`. +
-It's discussed in more detail below
+
+<.> `SimpleApp` is the link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/SpringBootApplication.html[@SpringBootApplication] used to bootstrap the app.
+It's pretty much boilerplate - the important piece is that it references `AppManifest`.
++
+Discussed in more detail below
 
 
 
@@ -631,18 +685,18 @@ It's very simple though:
 package domainapp.webapp.application;
 ... imports omitted ...
 @Configuration
-@Import(SimpleModule.class)             // <!--1-->
-@ComponentScan                          // <!--2-->
+@Import(SimpleModule.class)             // <.>
+@ComponentScan                          // <.>
 public class ApplicationModule {
 }
 ----
-<1> This module depends on the `SimpleModule` module.
-<2> specifies this class' package as a root to scan for Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component]s.
+<.> This module depends on the `SimpleModule` module.
+<.> specifies this class' package as a root to scan for Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component]s.
 
 
 ==== AppManifest
 
-The "app manifest" (the name has been retained from Apache Isis v1.x) is the top-level Spring `@Configuration`.
+The "app manifest" is the top-level Spring `@Configuration`.
 It looks like this:
 
 [source,java]
@@ -650,40 +704,55 @@ It looks like this:
 ----
 @Configuration
 @Import({
-        IsisModuleCoreRuntimeServices.class,                    // <1>
-        IsisModuleSecurityShiro.class,                          // <2>
-        IsisModuleJdoDataNucleus5.class,                        // <3>
-        IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,     // <4>
-        IsisModuleViewerWicketViewer.class,                     // <5>
+        IsisModuleCoreRuntimeServices.class,                    // <.>
+        IsisModuleSecurityShiro.class,                          // <.>
+        IsisModuleJdoDataNucleus5.class,                        // <.>
+        IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,     // <.>
+        IsisModuleViewerWicketViewer.class,                     // <.>
 
-        IsisModuleTestingH2ConsoleUi.class,                     // <6>
-        IsisModuleTestingFixturesApplib.class,                  // <7>
+        IsisModuleTestingH2ConsoleUi.class,                     // <.>
+        IsisModuleTestingFixturesApplib.class,                  // <.>
 
-        IsisModuleExtFlywayImpl.class,                          // <8>
+        IsisModuleExtFlywayImpl.class,                          // <.>
 
-        ApplicationModule.class,                                // <9>
+        ApplicationModule.class,                                // <.>
+        CustomModule.class,                                     // <9>
 
-        DomainAppDemo.class                                     // <10>
+        DomainAppDemo.class                                     // <.>
+})
+@PropertySources({
+        @PropertySource(IsisPresets.DebugDiscovery),            // <.>
 })
-@PropertySource(IsisPresets.NoTranslations)                     // <11>
-@PropertySource(IsisPresets.DebugDiscovery),
 public class AppManifest {
 }
 ----
-<1> Mandatory - specifies the core of the Apache Isis framework
-<2> Enables the Shiro security mechanism.
+
+<.> Mandatory - specifies the core of the Apache Isis framework
+
+<.> Enables the Shiro security mechanism.
 There are several security implementations, precisely one must be selected
-<3> Enables JDO/DataNucleus for persistence.
-Optional (though if omitted then only xref:userguide:fun:overview.adoc#view-models[view models] may be used, with hand-rolled persistence).
-<4> Enables the xref:vro:ROOT:about.adoc[Restful Objects viewer] (ie REST API).
-<5> Enables the xref:vw:ROOT:about.adoc[Wicket viewer]
-<6> Enables the H2 Console (menu from the "Prototyping" menu), applicable only if running against h2 in-memory database.
-<7> Brings in support to run xref:testing:fixtures:about.adoc[fixtures] within the application, eg for prototyping.
-<8> Enables the xref:userguide:flyway:about.adoc[Flyway] integration.
-<9> References the application's module(s), in this case just the one, `ApplicationModule`. +
-This is discussed below.
-<10> Makes the fixture scenario classes available for discovery.
-<11> Normally configuration properties are picked up from Spring Boot's `application.properties` or `application.yml` files, but additional properties can be overridden directly.
+
+<.> Enables JDO/DataNucleus for persistence.
++
+If using JPA as the ORM, replace with `IsisModuleJpaEclipseLink.class`.
+
+<.> Enables the xref:vro:ROOT:about.adoc[Restful Objects viewer] (ie REST API).
+
+<.> Enables the xref:vw:ROOT:about.adoc[Wicket viewer]
+
+<.> Enables the H2 Console (menu from the "Prototyping" menu), applicable only if running against h2 in-memory database.
+
+<.> Brings in support to run xref:testing:fixtures:about.adoc[fixtures] within the application, eg for prototyping.
+
+<.> Enables the xref:userguide:flyway:about.adoc[Flyway] integration.
+
+<.> References the application's module(s), in this case `ApplicationModule` and `CustomModule`.
++
+`ApplicationModule` is discussed below.
+
+<.> Makes the fixture scenario classes available for discovery.
+
+<.> Normally configuration properties are picked up from Spring Boot's `application.properties` or `application.yml` files, but additional properties can be overridden directly.
 These two both use the `IsisPresets` convenience class, to disable i18n support and for additional debugging log statements.
 
 
@@ -696,20 +765,20 @@ It is mostly boilerplate:
 ----
 @SpringBootApplication
 @Import({
-    AppManifest.class,                                          // <1>
+    AppManifest.class,                                          // <.>
 })
 public class SimpleApp
             extends SpringBootServletInitializer {
 
     public static void main(String[] args) {
-        IsisPresets.prototyping();                              // <2>
+        IsisPresets.prototyping();                              // <.>
         SpringApplication.run(
                 new Class[] { SimpleApp.class }, args);
     }
 }
 ----
-<1> references the `AppManifest` mentioned earlier
-<2> specifies prototyping mode.
+<.> references the `AppManifest` mentioned earlier
+<.> specifies prototyping mode.
 This enables actions marked for prototyping to become available, useful during the early stages of development.
 +
 TIP: As an alternative to making this call, you can also just run with a system property `-DPROTOTYPING=true`
@@ -723,32 +792,43 @@ Under `src/main/resources` we have:
 ----
 src/main/resources
   config/
-    application.properties              <!--1-->
-    application-SQLSERVER.properties    <!--2-->
+    application.properties              <.>
+    application-SQLSERVER.properties    <.>
+    application-POSTGRES.properties     <.>
   db/
     migration/
       SQLSERVER/
-        Vyyyy.mm.dd.hh.ss__xxx.sql      <!--3-->
-  static/                               <!--4-->
-  templates/                            <!--5-->
-  application.yml                       <!--6-->
-  banner.txt                            <!--7-->
-  log4j2-spring.xml                     <!--8-->
-  menubars.layout.xml                   <!--9-->
-  shiro.ini                             <!--10-->
-----
-<1> By convention, we use `config/application.properties` to hold configuration properties that change between environments (dev, test, prod).
+        Vyyyy.mm.dd.hh.ss__xxx.sql      <.>
+  static/                               <.>
+  templates/                            <.>
+  application.yml                       <.>
+  banner.txt                            <.>
+  log4j2-spring.xml                     <.>
+  menubars.layout.xml                   <.>
+  shiro.ini                             <.>
+----
+
+<.> By convention, we use `config/application.properties` to hold configuration properties that change between environments (dev, test, prod).
 Typically this just holds JDBC connection strings, etc.
-<2> Enabled if run using the `SQLSERVER` profile (eg using `-Dspring.profiles.active=SQLSERVER`). Configures to use a SQL Server database, and enables Flyway to set up the database schema
-<3> Flyway migration scripts. +
+
+<.> Enabled if run using the `SQLSERVER` profile (eg using `-Dspring.profiles.active=SQLSERVER`). Configures to use a SQL Server database, and enables Flyway to set up the database schema
+
+<.> Flyway migration scripts. +
 This leverages a feature in Spring Boot's Flyway integration which allows different variants of scripts for different vendors to be stored, in a `+db.migration.{vendor}+` package.
-<4> The `static` package (a link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content[Spring convention]) provides access for static resources that are accessible from the webapp
-<5> The `templates` package holds a fallback error page, which is the link:https://www.baeldung.com/spring-thymeleaf-template-directory#change-default[default location] for pages rendered using Spring Boot's integration with Thymeleaf.
-<6> By convention, we use `application.yml` to hold configuration properties that do _not_ change between environments.
-<7> The `banner.txt` is shown when bootstrapping.
-<8> The `log4j2-spring.xml` configures log4j2 (the logging system used by Apache Isis)
-<9> The `menubars.layout.xml` arranges the actions of the domain services into menus.
-<10> The `shiro.ini` file configures Shiro security integration (see the `IsisModuleSecurityShiro` module imported in the `AppManifest`, above).
+
+<.> The `static` package (a link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content[Spring convention]) provides access for static resources that are accessible from the webapp
+
+<.> The `templates` package holds a fallback error page, which is the link:https://www.baeldung.com/spring-thymeleaf-template-directory#change-default[default location] for pages rendered using Spring Boot's integration with Thymeleaf.
+
+<.> By convention, we use `application.yml` to hold configuration properties that do _not_ change between environments.
+
+<.> The `banner.txt` is shown when bootstrapping.
+
+<.> The `log4j2-spring.xml` configures log4j2 (the logging system used by Apache Isis)
+
+<.> The `menubars.layout.xml` arranges the actions of the domain services into menus.
+
+<.> The `shiro.ini` file configures Shiro security integration (see the `IsisModuleSecurityShiro` module imported in the `AppManifest`, above).
 +
 [TIP]
 ====
@@ -772,7 +852,7 @@ JQuery is available by default.
 Note that there is no `src/main/webapp/` or `WEB-INF/web.xml` - the servlets and filters are configured by Apache Isis automatically.
 
 
-=== webapp's src/test/java
+=== webapp-test's src/test/java
 
 Under `src/test/java` we have different sets of tests.
 We'll inspect each in turn.
@@ -791,15 +871,15 @@ src/test/java
     webapp/
       bdd/
         glue/
-          SimpleObjectsStepDef.java                     <!--1-->
+          SimpleObjectsStepDef.java                     <.>
         specs/
-          SimpleObjectSpec_listAllAndCreate.feature     <!--2-->
-        RunIntegBddSpecs.java                           <!--3-->
+          SimpleObjectSpec_listAllAndCreate.feature     <.>
+        RunIntegBddSpecs.java                           <.>
 ----
-<1> defines the step definitions (or "glue") which describes how to interact with the application. +
-This class inherits from `ApplicationIntegTestAbstract`, the base class for integration tests, described in the xref:about.adoc#integration-tests[next section].
-<2> the feature file, discussed below.
-<3> boilerplate used to run the BDD Cucumber tests using JUni5 4.x.
+<.> defines the step definitions (or "glue") which describes how to interact with the application. +
+This class inherits from `WebAppIntegTestAbstract`, the base class for integration tests, described in the <<integration-tests,next section>>.
+<.> the feature file, discussed below.
+<.> boilerplate used to run the BDD Cucumber tests using JUni5 4.x.
 
 There is just one feature file: `SimpleObjectSpec_listAllAndCreate.feature`, which is pretty simple:
 
@@ -816,6 +896,7 @@ Feature: List and Create New Simple Objects
 The set up of the 3 initial objects is part of the step definitions.
 
 
+[#integration-tests]
 ==== Integration Tests
 
 The integration tests are in `domainapp.application.integtests`:
@@ -834,19 +915,25 @@ src/
                   ...
                 current/
                   ...
-                LockDownMetaModel_IntegTest.java    <!--1-->
-              ValidateDomainModel_IntegTest.java    <!--2-->
+                LockDownMetaModel_IntegTest.java    <.>
+              ValidateDomainModel_IntegTest.java    <.>
             smoke/
-              Smoke_IntegTest.java                  <!--3-->
-            ApplicationIntegTestAbstract.java       <!--4-->
+              Smoke_IntegTest.java                  <.>
+            ApplicationIntegTestAbstract.java       <.>
 ----
-<1> Uses approval tests to verify that the metamodel is unchanged between releases of Apache Isis. +
+
+<.> Uses approval tests to verify that the metamodel is unchanged between releases of Apache Isis.
++
 Discussed in more detail below.
-<2> Bootstraps the app and runs the metamodel validators to check that there are not metamodel errors. +
+
+<.> Bootstraps the app and runs the metamodel validators to check that there are not metamodel errors.
++
 This can also be done simply when running the application, but performing the checks through integration tests enables "fail-fast" checking, as part of CI, for example.
-<3> Performs a number of high-level smoke tests, to check that the core functionality works correctly.
-<4> Base class used to bootstrap all integration tests for this module.
-It is very similar to the base class used to bootstrap the integration tests for the simple module xref:about.adoc#SimpleModuleIntegTestAbstract[], but referencing `ApplicationModule` rather than `SimpleModule`.
+
+<.> Performs a number of high-level smoke tests, to check that the core functionality works correctly.
+
+<.> Base class used to bootstrap all integration tests for this module.
+It is very similar to the base class used to bootstrap the integration tests for the simple module xref:simpleapp.adoc#simplemoduleintegtestabstract[], but referencing `ApplicationModule` rather than `SimpleModule`.
 
 The purpose of the metamodel lockdown tests is to capture regressions in Apache Isis itself whenever it is updated.
 
@@ -924,7 +1011,8 @@ Here's what the setup looks like in IntelliJ IDEA:
 
 image::simpleapp/simpleapp-webapp.png[width="600px"]
 
-which uses an IntelliJ feature to run a different run configuration to run DataNucleus enhancer beforehand:
+If using JDO as the ORM, then the DataNucleus enhancer must be run beforehand.
+With IntelliJ this can be done by setting up a different _Run Configuration_ to be executed beforehand:
 
 image::simpleapp/simpleapp-webapp-before-launch.png[width="600px"]
 
@@ -935,7 +1023,135 @@ image::simpleapp/simpleapp-webapp-before-launch.png[width="600px"]
 Once you are familiar with the app, try modifying it.
 There is plenty more guidance on this site; start with the xref:userguide:fun:about.adoc[User Guide Fundamentals] and then look at the other guides linked to from the top-level menu or from the main xref:docs:ROOT:about.adoc[table of contents].
 
-// If you use IntelliJ IDEA or Eclipse, do also install the xref:setupguide:intellij:about.adoc#live-templates[live templates (for IntelliJ)] / xref:setupguide:eclipse:about.adoc#editor-templates[editor templates (for Eclipse)]; these will help you follow the Apache Isis naming conventions.
-
 If you run into issues, please don't hesitate to ask for help on the users mailing list or the Slack channel, as per the xref:docs:support:about.adoc[support page].
 
+
+== Using an external database and FlywayDB
+
+The application is configured by default uses H2 as an inmemory database, with <<fixtures,fixtures>> used to populate the database with representative data.
+
+To deploy to production though of course will require a persistent database, and the schema of the tables will be explicitly managed.
+Although both JDO and JPA can automatically create the database schema, many development teams choose to manage the schema externally to the ORM.
+
+A popular tool to do this is link:https://flywaydb.org/[Flyway], and Spring Boot provides automatic support for it using link:https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#common-application-properties-data-migration[these configuration properties].
+
+The simpleapp demonstrates how this can be done using SQL Server.
+Adapt the following for your own preferred database.
+
+=== Prereqs
+
+If you happen to use SQL Server, then just use a dev instance.
+Otherwise, you can easily run up an instance using Docker:
+
+[source,bash]
+----
+docker run \
+    --name sqlserver \
+    -e 'ACCEPT_EULA=Y' \
+    -e 'SA_PASSWORD=pa$$w0rd' \
+    -p 1433:1433 \
+    -d mcr.microsoft.com/mssql/server:2019-latest
+----
+
+You can then connect:
+
+* if on Linux/Mac, start a command line client using:
++
+[source,bash]
+----
+docker exec -it sqlserver \
+    /opt/mssql-tools/bin/sqlcmd \
+    -S localhost -U sa -P pa$$w0rd
+----
+
+* if on Windows, you might instead prefer to use Microsoft's free GUI client, link:https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15[SQL Server Management Studio].
+
+You then need to create a database and login:
+
+[source,sql]
+----
+CREATE DATABASE [simpleapp]
+go
+CREATE LOGIN [simpleapp]
+    WITH PASSWORD=N'simpleapp',
+        DEFAULT_DATABASE=[simpleapp],
+        CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
+go
+USE [simpleapp]
+GO
+ALTER AUTHORIZATION ON DATABASE::[simpleapp] TO [simpleapp]
+GO
+----
+
+If using the command line, type 'exit' to quit out.
+
+To confirm the connect, try logging in as simpleapp/simpleapp, and verify using:
+
+
+[source,sql]
+----
+select db_name(), user_name()
+go
+----
+
+This should return `simpleapp` and `dbo` respectively, meaning that the `simpleapp` login is all-powerful in the `simpleapp` database.
+
+
+=== Enabling Flyway
+
+With the backend database running, we can now run the simpleapp application with Flyway enabled.
+This is done simply by activating the "SQLSERVER" profile (see also the link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-profiles[Spring docs]):
+
+* either by setting a system property:
++
+[source,bash]
+----
+-Dspring.profiles.active=SQLSERVER
+----
+
+* or by setting an environment variable:
++
+[source,bash]
+----
+export SPRING_PROFILES_ACTIVE=SQLSERVER
+----
+
+This will cause Spring to read in the `config/application-SQLSERVER.properties` file:
+
+[source,properties]
+.config/application-SQLSERVER.properties
+----
+spring.flyway.enabled=true
+spring.flyway.default-schema=SIMPLE
+spring.flyway.schemas=SIMPLE
+
+spring.datasource.platform=sqlserver
+spring.datasource.url=jdbc:sqlserver://localhost;databaseName=simpleapp
+spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
+spring.datasource.username=simpleapp
+spring.datasource.password=simpleapp
+
+#isis.persistence.schema.create-schema-sql-template=   (use flyway instead)
+isis.persistence.schema.auto-create-schemas=
+
+# DataNucleus, and must use camelCase rather than kebab-case
+datanucleus.schema.autoCreateAll=false
+----
+
+Flyway in turn reads the migration scripts under `db.migration` package (in `src/main/resources` of the `webapp` module).
+
+Run up the application and Flyway will run in the scripts.
+It will also create its own table, `SIMPLE.flyway_schema_history`:
+
+image::simpleapp/flyway/tables-created.png[width=300px]
+
+
+=== Cleaning up
+
+If you were using Docker to try this out, remember to clean up afterwards:
+
+[source,bash]
+----
+docker kill sqlserver
+docker rm sqlserver
+----
diff --git a/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.java b/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.java
index 77efb47..07148b7 100644
--- a/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.java
+++ b/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.java
@@ -33,6 +33,7 @@ import org.springframework.stereotype.Service;
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.commons.collections.Can;
+import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.core.config.RestEasyConfiguration;
 import org.apache.isis.core.webapp.modules.WebModuleAbstract;
 import org.apache.isis.core.webapp.modules.WebModuleContext;
@@ -44,7 +45,7 @@ import lombok.val;
 
 /**
  * WebModule that provides the RestfulObjects Viewer.
- * 
+ *
  * @since 2.0 {@index}
  *
  * @implNote CDI feels responsible to resolve injection points for any Servlet or Filter
@@ -61,8 +62,8 @@ import lombok.val;
 public final class WebModuleJaxrsResteasy4 extends WebModuleAbstract {
 
     private static final String INTERACTION_FILTER_NAME = "IsisRestfulObjectsInteractionFilter";
-    //private static final String ISIS_TRANSACTION_FILTER = "IsisTransactionFilterForRestfulObjects";
 
+    private final IsisConfiguration isisConfiguration;
     private final RestEasyConfiguration restEasyConfiguration;
 
     private final String restfulPath;
@@ -70,9 +71,11 @@ public final class WebModuleJaxrsResteasy4 extends WebModuleAbstract {
 
     @Inject
     public WebModuleJaxrsResteasy4(
+            final IsisConfiguration isisConfiguration,
             final RestEasyConfiguration restEasyConfiguration,
             final ServiceInjector serviceInjector) {
         super(serviceInjector);
+        this.isisConfiguration = isisConfiguration;
         this.restEasyConfiguration = restEasyConfiguration;
         this.restfulPath = this.restEasyConfiguration.getJaxrs().getDefaultPath() + "/";
         this.urlPattern = this.restfulPath + "*";
@@ -100,7 +103,8 @@ public final class WebModuleJaxrsResteasy4 extends WebModuleAbstract {
     @Override
     public Can<ServletContextListener> init(ServletContext ctx) throws ServletException {
 
-        val authenticationStrategyClassName = restEasyConfiguration.getAuthentication().getStrategyClassName()
+        val authenticationStrategyClassName = isisConfiguration.getViewer()
+                .getRestfulobjects().getAuthentication().getStrategyClassName()
                 .orElse(AuthenticationStrategyBasicAuth.class.getName());
 
         registerFilter(ctx, INTERACTION_FILTER_NAME, IsisRestfulObjectsInteractionFilter.class)

[isis] 07/08: ISIS-2450: bumps version to 2.0.0-M5

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 0e112a571c4a2b42820c17b5295ded79dbaa3961
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 19 07:35:03 2021 +0000

    ISIS-2450: bumps version to 2.0.0-M5
---
 api/applib/pom.xml                                 |  2 +-
 api/schema/pom.xml                                 |  2 +-
 commons/pom.xml                                    |  2 +-
 core/codegen-bytebuddy/pom.xml                     |  2 +-
 core/config/pom.xml                                |  2 +-
 core/interaction/pom.xml                           |  2 +-
 core/internaltestsupport/pom.xml                   |  2 +-
 core/jdk-supplemental/pom.xml                      |  2 +-
 core/metamodel/pom.xml                             |  2 +-
 core/pom.xml                                       | 90 +++++++++++-----------
 core/runtime/pom.xml                               |  2 +-
 core/runtimeservices/pom.xml                       |  2 +-
 core/security/pom.xml                              |  2 +-
 core/transaction/pom.xml                           |  2 +-
 core/webapp/pom.xml                                |  2 +-
 extensions/core/command-log/impl/pom.xml           |  2 +-
 extensions/core/command-log/pom.xml                |  4 +-
 extensions/core/command-replay/pom.xml             |  8 +-
 extensions/core/command-replay/primary/pom.xml     |  2 +-
 extensions/core/command-replay/secondary/pom.xml   |  2 +-
 extensions/core/flyway/impl/pom.xml                |  2 +-
 extensions/core/flyway/pom.xml                     |  2 +-
 extensions/core/model-annotation/pom.xml           |  2 +-
 extensions/core/quartz/impl/pom.xml                |  2 +-
 extensions/core/quartz/pom.xml                     |  2 +-
 extensions/pom.xml                                 | 44 +++++------
 extensions/security/secman/api/pom.xml             |  2 +-
 .../security/secman/encryption-jbcrypt/pom.xml     |  2 +-
 extensions/security/secman/model/pom.xml           |  2 +-
 extensions/security/secman/persistence-jdo/pom.xml |  2 +-
 extensions/security/secman/persistence-jpa/pom.xml |  2 +-
 extensions/security/secman/pom.xml                 | 12 +--
 extensions/security/secman/shiro-realm/pom.xml     |  4 +-
 extensions/security/shiro-realm-ldap/impl/pom.xml  |  2 +-
 extensions/security/shiro-realm-ldap/pom.xml       |  2 +-
 extensions/vro/cors/impl/pom.xml                   |  2 +-
 extensions/vro/cors/pom.xml                        |  2 +-
 extensions/vw/exceldownload/pom.xml                |  2 +-
 extensions/vw/exceldownload/ui/pom.xml             |  2 +-
 extensions/vw/fullcalendar/applib/pom.xml          |  2 +-
 extensions/vw/fullcalendar/pom.xml                 |  2 +-
 extensions/vw/fullcalendar/ui/pom.xml              |  2 +-
 extensions/vw/pdfjs/applib/pom.xml                 |  2 +-
 extensions/vw/pdfjs/metamodel/pom.xml              |  2 +-
 extensions/vw/pdfjs/pom.xml                        |  2 +-
 extensions/vw/pdfjs/ui/pom.xml                     |  2 +-
 isis-parent/pom.xml                                |  2 +-
 mappings/jaxrsclient/applib/pom.xml                |  2 +-
 mappings/jaxrsclient/impl/pom.xml                  |  2 +-
 mappings/jaxrsclient/pom.xml                       |  2 +-
 mappings/pom.xml                                   | 10 +--
 mappings/restclient/applib/pom.xml                 |  2 +-
 mappings/restclient/pom.xml                        |  2 +-
 mavendeps/integspecs/pom.xml                       |  2 +-
 mavendeps/integtests/pom.xml                       |  2 +-
 mavendeps/jdk11/pom.xml                            |  2 +-
 mavendeps/jdo/pom.xml                              |  2 +-
 mavendeps/jpa/pom.xml                              |  2 +-
 mavendeps/pom.xml                                  | 20 ++---
 mavendeps/unittests/pom.xml                        |  2 +-
 mavendeps/webapp/pom.xml                           |  2 +-
 persistence/jdo/applib/pom.xml                     |  2 +-
 persistence/jdo/datanucleus/pom.xml                |  2 +-
 persistence/jdo/integration/pom.xml                |  2 +-
 persistence/jdo/metamodel/pom.xml                  |  2 +-
 persistence/jdo/pom.xml                            |  2 +-
 persistence/jdo/provider/pom.xml                   |  2 +-
 persistence/jdo/spring/pom.xml                     |  2 +-
 persistence/jpa/applib/pom.xml                     |  2 +-
 persistence/jpa/eclipselink/pom.xml                |  2 +-
 persistence/jpa/integration/pom.xml                |  2 +-
 persistence/jpa/metamodel/pom.xml                  |  2 +-
 persistence/jpa/pom.xml                            |  2 +-
 security/bypass/pom.xml                            |  2 +-
 security/keycloak/pom.xml                          |  4 +-
 security/shiro/pom.xml                             |  4 +-
 security/spring/pom.xml                            |  2 +-
 starters/pom.xml                                   | 16 ++--
 subdomains/base/applib/pom.xml                     |  2 +-
 subdomains/base/pom.xml                            |  2 +-
 subdomains/docx/applib/pom.xml                     |  2 +-
 subdomains/docx/pom.xml                            |  2 +-
 subdomains/excel/applib/pom.xml                    |  2 +-
 subdomains/excel/fixture/pom.xml                   |  2 +-
 subdomains/excel/integtests/pom.xml                |  2 +-
 subdomains/excel/pom.xml                           |  2 +-
 subdomains/excel/testing/pom.xml                   |  2 +-
 subdomains/freemarker/applib/pom.xml               |  2 +-
 subdomains/freemarker/pom.xml                      |  2 +-
 subdomains/ognl/applib/pom.xml                     |  2 +-
 subdomains/ognl/pom.xml                            |  2 +-
 subdomains/pdfbox/applib/pom.xml                   |  2 +-
 subdomains/pdfbox/pom.xml                          |  2 +-
 subdomains/pom.xml                                 | 28 +++----
 subdomains/spring/applib/pom.xml                   |  2 +-
 subdomains/spring/pom.xml                          |  2 +-
 subdomains/xdocreport/applib/pom.xml               |  2 +-
 subdomains/xdocreport/pom.xml                      |  2 +-
 subdomains/zip/applib/pom.xml                      |  2 +-
 subdomains/zip/pom.xml                             |  2 +-
 testing/fakedata/applib/pom.xml                    |  2 +-
 testing/fakedata/fixtures/pom.xml                  |  2 +-
 testing/fakedata/integtests/pom.xml                |  2 +-
 testing/fakedata/pom.xml                           |  2 +-
 testing/fixtures/applib/pom.xml                    |  2 +-
 testing/fixtures/pom.xml                           |  2 +-
 testing/h2console/pom.xml                          |  2 +-
 testing/h2console/ui/pom.xml                       |  2 +-
 testing/hsqldbmgr/pom.xml                          |  2 +-
 testing/hsqldbmgr/ui/pom.xml                       |  2 +-
 testing/integtestsupport/applib/pom.xml            |  2 +-
 testing/integtestsupport/pom.xml                   |  2 +-
 testing/pom.xml                                    | 22 +++---
 testing/specsupport/applib/pom.xml                 |  2 +-
 testing/specsupport/pom.xml                        |  2 +-
 testing/unittestsupport/applib/pom.xml             |  2 +-
 testing/unittestsupport/pom.xml                    |  2 +-
 valuetypes/asciidoc/applib/pom.xml                 |  2 +-
 valuetypes/asciidoc/metamodel/pom.xml              |  2 +-
 valuetypes/asciidoc/persistence/jdo-dn5/pom.xml    |  4 +-
 valuetypes/asciidoc/persistence/pom.xml            |  2 +-
 valuetypes/asciidoc/pom.xml                        |  2 +-
 valuetypes/asciidoc/ui/pom.xml                     |  2 +-
 valuetypes/asciidoc/ui/wicket/pom.xml              |  2 +-
 valuetypes/markdown/applib/pom.xml                 |  2 +-
 valuetypes/markdown/metamodel/pom.xml              |  2 +-
 valuetypes/markdown/persistence/jdo-dn5/pom.xml    |  4 +-
 valuetypes/markdown/persistence/pom.xml            |  2 +-
 valuetypes/markdown/pom.xml                        |  2 +-
 valuetypes/markdown/ui/pom.xml                     |  2 +-
 valuetypes/markdown/ui/wicket/pom.xml              |  2 +-
 valuetypes/pom.xml                                 | 26 +++----
 valuetypes/sse/applib/pom.xml                      |  2 +-
 valuetypes/sse/metamodel/pom.xml                   |  2 +-
 valuetypes/sse/pom.xml                             |  2 +-
 valuetypes/sse/ui/pom.xml                          |  2 +-
 valuetypes/sse/ui/wicket/pom.xml                   |  2 +-
 viewers/common/pom.xml                             |  2 +-
 viewers/restfulobjects/applib/pom.xml              |  2 +-
 viewers/restfulobjects/jaxrs-resteasy-4/pom.xml    |  2 +-
 viewers/restfulobjects/pom.xml                     |  2 +-
 viewers/restfulobjects/rendering/pom.xml           |  2 +-
 viewers/restfulobjects/testing/pom.xml             |  2 +-
 viewers/restfulobjects/viewer/pom.xml              |  2 +-
 viewers/wicket/model/pom.xml                       |  2 +-
 viewers/wicket/pom.xml                             |  2 +-
 viewers/wicket/ui/pom.xml                          |  2 +-
 viewers/wicket/viewer/pom.xml                      |  2 +-
 148 files changed, 282 insertions(+), 282 deletions(-)

diff --git a/api/applib/pom.xml b/api/applib/pom.xml
index ae98b79..4c3875c 100644
--- a/api/applib/pom.xml
+++ b/api/applib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/api/schema/pom.xml b/api/schema/pom.xml
index 103278c..fbce36c 100644
--- a/api/schema/pom.xml
+++ b/api/schema/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/commons/pom.xml b/commons/pom.xml
index acb7eef..609f6dd 100644
--- a/commons/pom.xml
+++ b/commons/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/core/codegen-bytebuddy/pom.xml b/core/codegen-bytebuddy/pom.xml
index a7ff1bc..c72c8e6 100644
--- a/core/codegen-bytebuddy/pom.xml
+++ b/core/codegen-bytebuddy/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-core-codegen-bytebuddy</artifactId>
diff --git a/core/config/pom.xml b/core/config/pom.xml
index e047ca3..c7d044f 100644
--- a/core/config/pom.xml
+++ b/core/config/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-core-config</artifactId>
diff --git a/core/interaction/pom.xml b/core/interaction/pom.xml
index 5b8870d..935d049 100644
--- a/core/interaction/pom.xml
+++ b/core/interaction/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-core-interaction</artifactId>
diff --git a/core/internaltestsupport/pom.xml b/core/internaltestsupport/pom.xml
index d9e0184..9a1e677 100644
--- a/core/internaltestsupport/pom.xml
+++ b/core/internaltestsupport/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-core-internaltestsupport</artifactId>
diff --git a/core/jdk-supplemental/pom.xml b/core/jdk-supplemental/pom.xml
index ec261ed..9031346 100644
--- a/core/jdk-supplemental/pom.xml
+++ b/core/jdk-supplemental/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-jdk-supplemental</artifactId>
diff --git a/core/metamodel/pom.xml b/core/metamodel/pom.xml
index 917556e..fea07c7 100644
--- a/core/metamodel/pom.xml
+++ b/core/metamodel/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-core-metamodel</artifactId>
diff --git a/core/pom.xml b/core/pom.xml
index 9543de3..386bce4 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis</groupId>
 		<artifactId>isis-parent</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../isis-parent/pom.xml</relativePath>
 	</parent>
 
@@ -641,237 +641,237 @@
 					in use -->
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-jdk-supplemental</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.commons</groupId>
 				<artifactId>isis-commons</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-internaltestsupport</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-config</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-schema</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-interaction</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-metamodel</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-runtime</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-runtimeservices</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-transaction</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-webapp</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-common</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-rendering</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-viewer</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-testing</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-security</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.security</groupId>
 				<artifactId>isis-security-bypass</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.security</groupId>
 				<artifactId>isis-security-keycloak</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.security</groupId>
 				<artifactId>isis-security-shiro</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.security</groupId>
 				<artifactId>isis-security-spring</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core-codegen-bytebuddy</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-provider</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-integration</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-metamodel</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-datanucleus</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jdo-spring</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jpa-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jpa-metamodel</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jpa-integration</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.persistence</groupId>
 				<artifactId>isis-persistence-jpa-eclipselink</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-restfulobjects-jaxrsresteasy4</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-model</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-ui</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.viewer</groupId>
 				<artifactId>isis-viewer-wicket-viewer</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-unittests</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integtests</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integspecs</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jdo</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jpa</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-webapp</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jdk11</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 
diff --git a/core/runtime/pom.xml b/core/runtime/pom.xml
index 7f32a70..668f25d 100644
--- a/core/runtime/pom.xml
+++ b/core/runtime/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-core-runtime</artifactId>
diff --git a/core/runtimeservices/pom.xml b/core/runtimeservices/pom.xml
index 48241af..db31a75 100644
--- a/core/runtimeservices/pom.xml
+++ b/core/runtimeservices/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-core-runtimeservices</artifactId>
diff --git a/core/security/pom.xml b/core/security/pom.xml
index b358545..227a59b 100644
--- a/core/security/pom.xml
+++ b/core/security/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-core-security</artifactId>
diff --git a/core/transaction/pom.xml b/core/transaction/pom.xml
index 7649f3c..239c274 100644
--- a/core/transaction/pom.xml
+++ b/core/transaction/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-core-transaction</artifactId>
diff --git a/core/webapp/pom.xml b/core/webapp/pom.xml
index 65cdf05..47683a4 100644
--- a/core/webapp/pom.xml
+++ b/core/webapp/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-core-webapp</artifactId>
diff --git a/extensions/core/command-log/impl/pom.xml b/extensions/core/command-log/impl/pom.xml
index 40afeae..1c227d8 100644
--- a/extensions/core/command-log/impl/pom.xml
+++ b/extensions/core/command-log/impl/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-command-log</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-command-log-jdo</artifactId>
diff --git a/extensions/core/command-log/pom.xml b/extensions/core/command-log/pom.xml
index 4fd42ca..b85eecd 100644
--- a/extensions/core/command-log/pom.xml
+++ b/extensions/core/command-log/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
@@ -32,7 +32,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
diff --git a/extensions/core/command-replay/pom.xml b/extensions/core/command-replay/pom.xml
index 8bbfddf..e4ce8d9 100644
--- a/extensions/core/command-replay/pom.xml
+++ b/extensions/core/command-replay/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
@@ -32,7 +32,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -40,7 +40,7 @@
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -48,7 +48,7 @@
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
diff --git a/extensions/core/command-replay/primary/pom.xml b/extensions/core/command-replay/primary/pom.xml
index b83a439..242c629 100644
--- a/extensions/core/command-replay/primary/pom.xml
+++ b/extensions/core/command-replay/primary/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-command-replay</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-command-replay-primary</artifactId>
diff --git a/extensions/core/command-replay/secondary/pom.xml b/extensions/core/command-replay/secondary/pom.xml
index 2f31d1c..65ebc02 100644
--- a/extensions/core/command-replay/secondary/pom.xml
+++ b/extensions/core/command-replay/secondary/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-command-replay</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-command-replay-secondary</artifactId>
diff --git a/extensions/core/flyway/impl/pom.xml b/extensions/core/flyway/impl/pom.xml
index 9b3caf2..9047a53 100644
--- a/extensions/core/flyway/impl/pom.xml
+++ b/extensions/core/flyway/impl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions-flyway</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-extensions-flyway-impl</artifactId>
diff --git a/extensions/core/flyway/pom.xml b/extensions/core/flyway/pom.xml
index d16f4b6..a546f96 100644
--- a/extensions/core/flyway/pom.xml
+++ b/extensions/core/flyway/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/extensions/core/model-annotation/pom.xml b/extensions/core/model-annotation/pom.xml
index 0851f59..98d8ef2 100644
--- a/extensions/core/model-annotation/pom.xml
+++ b/extensions/core/model-annotation/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/extensions/core/quartz/impl/pom.xml b/extensions/core/quartz/impl/pom.xml
index 4dc41ce..0218d16 100644
--- a/extensions/core/quartz/impl/pom.xml
+++ b/extensions/core/quartz/impl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions-quartz</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-extensions-quartz-impl</artifactId>
diff --git a/extensions/core/quartz/pom.xml b/extensions/core/quartz/pom.xml
index fe676b8..9d414ba 100644
--- a/extensions/core/quartz/pom.xml
+++ b/extensions/core/quartz/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 89291a0..d77cb25 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -68,49 +68,49 @@
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-command-log-jdo</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-quartz-impl</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-command-replay-primary</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-command-replay-secondary</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-exceldownload-ui</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-flyway-impl</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-modelannotation</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-pdfjs-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
@@ -120,72 +120,72 @@
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-pdfjs-metamodel</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-pdfjs-ui</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-fullcalendar-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-fullcalendar-ui</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-model</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-encryption-jbcrypt</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-persistence-jdo</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-persistence-jpa</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-secman-shiro-realm</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-shiro-realm-ldap-impl</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions-cors-impl</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<!-- testing -->
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 
diff --git a/extensions/security/secman/api/pom.xml b/extensions/security/secman/api/pom.xml
index 8e645a3..4e5efae 100644
--- a/extensions/security/secman/api/pom.xml
+++ b/extensions/security/secman/api/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/encryption-jbcrypt/pom.xml b/extensions/security/secman/encryption-jbcrypt/pom.xml
index 30b6379..c65ef00 100644
--- a/extensions/security/secman/encryption-jbcrypt/pom.xml
+++ b/extensions/security/secman/encryption-jbcrypt/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/model/pom.xml b/extensions/security/secman/model/pom.xml
index e2b4279..2b44fa1 100644
--- a/extensions/security/secman/model/pom.xml
+++ b/extensions/security/secman/model/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/persistence-jdo/pom.xml b/extensions/security/secman/persistence-jdo/pom.xml
index 02b6541..c306e12 100644
--- a/extensions/security/secman/persistence-jdo/pom.xml
+++ b/extensions/security/secman/persistence-jdo/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/persistence-jpa/pom.xml b/extensions/security/secman/persistence-jpa/pom.xml
index d6b04de..a7e345e 100644
--- a/extensions/security/secman/persistence-jpa/pom.xml
+++ b/extensions/security/secman/persistence-jpa/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/security/secman/pom.xml b/extensions/security/secman/pom.xml
index 038c957..dea986d 100644
--- a/extensions/security/secman/pom.xml
+++ b/extensions/security/secman/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -43,27 +43,27 @@
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-api</artifactId>
-                <version>2.0.0-SNAPSHOT</version>
+                <version>2.0.0-M5</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-encryption-jbcrypt</artifactId>
-                <version>2.0.0-SNAPSHOT</version>
+                <version>2.0.0-M5</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-persistence-jdo</artifactId>
-                <version>2.0.0-SNAPSHOT</version>
+                <version>2.0.0-M5</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-persistence-jpa</artifactId>
-                <version>2.0.0-SNAPSHOT</version>
+                <version>2.0.0-M5</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.isis.extensions</groupId>
                 <artifactId>isis-extensions-secman-shiro-realm</artifactId>
-                <version>2.0.0-SNAPSHOT</version>
+                <version>2.0.0-M5</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
diff --git a/extensions/security/secman/shiro-realm/pom.xml b/extensions/security/secman/shiro-realm/pom.xml
index a439081..4c8ef67 100644
--- a/extensions/security/secman/shiro-realm/pom.xml
+++ b/extensions/security/secman/shiro-realm/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-secman</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -54,7 +54,7 @@
 		<dependency>
 			<groupId>org.apache.isis.extensions</groupId>
 			<artifactId>isis-extensions-secman-api</artifactId>
-			<version>2.0.0-SNAPSHOT</version>
+			<version>2.0.0-M5</version>
 			<scope>provided</scope>
 		</dependency>
 
diff --git a/extensions/security/shiro-realm-ldap/impl/pom.xml b/extensions/security/shiro-realm-ldap/impl/pom.xml
index c3aa5ef..53a4fa5 100644
--- a/extensions/security/shiro-realm-ldap/impl/pom.xml
+++ b/extensions/security/shiro-realm-ldap/impl/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-shiro-realm-ldap</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-shiro-realm-ldap-impl</artifactId>
diff --git a/extensions/security/shiro-realm-ldap/pom.xml b/extensions/security/shiro-realm-ldap/pom.xml
index dcb91a1..2c5b5f2 100644
--- a/extensions/security/shiro-realm-ldap/pom.xml
+++ b/extensions/security/shiro-realm-ldap/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/vro/cors/impl/pom.xml b/extensions/vro/cors/impl/pom.xml
index b0e8b0f..42843ba 100644
--- a/extensions/vro/cors/impl/pom.xml
+++ b/extensions/vro/cors/impl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions-cors</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-extensions-cors-impl</artifactId>
diff --git a/extensions/vro/cors/pom.xml b/extensions/vro/cors/pom.xml
index 09de723..38ccbb7 100644
--- a/extensions/vro/cors/pom.xml
+++ b/extensions/vro/cors/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.extensions</groupId>
 		<artifactId>isis-extensions</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/extensions/vw/exceldownload/pom.xml b/extensions/vw/exceldownload/pom.xml
index ffb02f1..873803e 100644
--- a/extensions/vw/exceldownload/pom.xml
+++ b/extensions/vw/exceldownload/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/vw/exceldownload/ui/pom.xml b/extensions/vw/exceldownload/ui/pom.xml
index dc92d45..5dca066 100644
--- a/extensions/vw/exceldownload/ui/pom.xml
+++ b/extensions/vw/exceldownload/ui/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-exceldownload</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-exceldownload-ui</artifactId>
diff --git a/extensions/vw/fullcalendar/applib/pom.xml b/extensions/vw/fullcalendar/applib/pom.xml
index f7e6aba..9432575 100644
--- a/extensions/vw/fullcalendar/applib/pom.xml
+++ b/extensions/vw/fullcalendar/applib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-fullcalendar</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-fullcalendar-applib</artifactId>
diff --git a/extensions/vw/fullcalendar/pom.xml b/extensions/vw/fullcalendar/pom.xml
index de962f8..9062084 100644
--- a/extensions/vw/fullcalendar/pom.xml
+++ b/extensions/vw/fullcalendar/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/vw/fullcalendar/ui/pom.xml b/extensions/vw/fullcalendar/ui/pom.xml
index f34db02..77717b3 100644
--- a/extensions/vw/fullcalendar/ui/pom.xml
+++ b/extensions/vw/fullcalendar/ui/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-fullcalendar</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-fullcalendar-ui</artifactId>
diff --git a/extensions/vw/pdfjs/applib/pom.xml b/extensions/vw/pdfjs/applib/pom.xml
index 0c5cbd9..1ecb8b9 100644
--- a/extensions/vw/pdfjs/applib/pom.xml
+++ b/extensions/vw/pdfjs/applib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-pdfjs</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-pdfjs-applib</artifactId>
diff --git a/extensions/vw/pdfjs/metamodel/pom.xml b/extensions/vw/pdfjs/metamodel/pom.xml
index 7234b3a..140a597 100644
--- a/extensions/vw/pdfjs/metamodel/pom.xml
+++ b/extensions/vw/pdfjs/metamodel/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-pdfjs</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-pdfjs-metamodel</artifactId>
diff --git a/extensions/vw/pdfjs/pom.xml b/extensions/vw/pdfjs/pom.xml
index df19943..41e6c93 100644
--- a/extensions/vw/pdfjs/pom.xml
+++ b/extensions/vw/pdfjs/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/extensions/vw/pdfjs/ui/pom.xml b/extensions/vw/pdfjs/ui/pom.xml
index f05f67b..620c853 100644
--- a/extensions/vw/pdfjs/ui/pom.xml
+++ b/extensions/vw/pdfjs/ui/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.extensions</groupId>
         <artifactId>isis-extensions-pdfjs</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-extensions-pdfjs-ui</artifactId>
diff --git a/isis-parent/pom.xml b/isis-parent/pom.xml
index 61af93e..a0fc4c4 100644
--- a/isis-parent/pom.xml
+++ b/isis-parent/pom.xml
@@ -51,7 +51,7 @@ under the License.
 
 	<groupId>org.apache.isis</groupId>
 	<artifactId>isis-parent</artifactId>
-	<version>2.0.0-SNAPSHOT</version>
+	<version>2.0.0-M5</version>
 	<packaging>pom</packaging>
 
 	<!-- APACHE ISIS customisation 1/7: end -->
diff --git a/mappings/jaxrsclient/applib/pom.xml b/mappings/jaxrsclient/applib/pom.xml
index fbaa7a1..90099d7 100644
--- a/mappings/jaxrsclient/applib/pom.xml
+++ b/mappings/jaxrsclient/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings-jaxrsclient</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mappings-jaxrsclient-applib</artifactId>
diff --git a/mappings/jaxrsclient/impl/pom.xml b/mappings/jaxrsclient/impl/pom.xml
index 98cf901..1974d1f 100644
--- a/mappings/jaxrsclient/impl/pom.xml
+++ b/mappings/jaxrsclient/impl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings-jaxrsclient</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mappings-jaxrsclient-impl</artifactId>
diff --git a/mappings/jaxrsclient/pom.xml b/mappings/jaxrsclient/pom.xml
index 375c0e8..f4606d7 100644
--- a/mappings/jaxrsclient/pom.xml
+++ b/mappings/jaxrsclient/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mappings-jaxrsclient</artifactId>
diff --git a/mappings/pom.xml b/mappings/pom.xml
index 1253c48..d4620d6 100644
--- a/mappings/pom.xml
+++ b/mappings/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -65,26 +65,26 @@
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings-restclient-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings-jaxrsclient-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings-jaxrsclient-impl</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<!-- testing -->
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 
diff --git a/mappings/restclient/applib/pom.xml b/mappings/restclient/applib/pom.xml
index 0a521e3..9d855cc 100644
--- a/mappings/restclient/applib/pom.xml
+++ b/mappings/restclient/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/mappings/restclient/pom.xml b/mappings/restclient/pom.xml
index 12d37c8..5795275 100644
--- a/mappings/restclient/pom.xml
+++ b/mappings/restclient/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.mappings</groupId>
 		<artifactId>isis-mappings</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mappings-restclient</artifactId>
diff --git a/mavendeps/integspecs/pom.xml b/mavendeps/integspecs/pom.xml
index 99976b9..ffd9b0a 100644
--- a/mavendeps/integspecs/pom.xml
+++ b/mavendeps/integspecs/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-integspecs</artifactId>
diff --git a/mavendeps/integtests/pom.xml b/mavendeps/integtests/pom.xml
index ce921a5..3076a22 100644
--- a/mavendeps/integtests/pom.xml
+++ b/mavendeps/integtests/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-integtests</artifactId>
diff --git a/mavendeps/jdk11/pom.xml b/mavendeps/jdk11/pom.xml
index f664e05..2974b44 100644
--- a/mavendeps/jdk11/pom.xml
+++ b/mavendeps/jdk11/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-jdk11</artifactId>
diff --git a/mavendeps/jdo/pom.xml b/mavendeps/jdo/pom.xml
index f67663a..5552ce3 100644
--- a/mavendeps/jdo/pom.xml
+++ b/mavendeps/jdo/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-jdo</artifactId>
diff --git a/mavendeps/jpa/pom.xml b/mavendeps/jpa/pom.xml
index b3c2e71..f162c78 100644
--- a/mavendeps/jpa/pom.xml
+++ b/mavendeps/jpa/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-jpa</artifactId>
diff --git a/mavendeps/pom.xml b/mavendeps/pom.xml
index 491ff83..1b5e126 100644
--- a/mavendeps/pom.xml
+++ b/mavendeps/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -73,7 +73,7 @@
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
@@ -81,7 +81,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
@@ -89,43 +89,43 @@
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-unittests</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integtests</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integspecs</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jdo</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jpa</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-webapp</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-jdk11</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
diff --git a/mavendeps/unittests/pom.xml b/mavendeps/unittests/pom.xml
index 049ab40..06f7c20 100644
--- a/mavendeps/unittests/pom.xml
+++ b/mavendeps/unittests/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-unittests</artifactId>
diff --git a/mavendeps/webapp/pom.xml b/mavendeps/webapp/pom.xml
index b07151b..e995d16 100644
--- a/mavendeps/webapp/pom.xml
+++ b/mavendeps/webapp/pom.xml
@@ -18,7 +18,7 @@
 	<parent>
 		<groupId>org.apache.isis.mavendeps</groupId>
 		<artifactId>isis-mavendeps</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-mavendeps-webapp</artifactId>
diff --git a/persistence/jdo/applib/pom.xml b/persistence/jdo/applib/pom.xml
index ea038f6..dc9b62e 100644
--- a/persistence/jdo/applib/pom.xml
+++ b/persistence/jdo/applib/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-applib</artifactId>
diff --git a/persistence/jdo/datanucleus/pom.xml b/persistence/jdo/datanucleus/pom.xml
index 920590b..8327c4b 100644
--- a/persistence/jdo/datanucleus/pom.xml
+++ b/persistence/jdo/datanucleus/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-datanucleus</artifactId>
diff --git a/persistence/jdo/integration/pom.xml b/persistence/jdo/integration/pom.xml
index f684aa5..2376752 100644
--- a/persistence/jdo/integration/pom.xml
+++ b/persistence/jdo/integration/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-integration</artifactId>
diff --git a/persistence/jdo/metamodel/pom.xml b/persistence/jdo/metamodel/pom.xml
index 69aa414..c6fd604 100644
--- a/persistence/jdo/metamodel/pom.xml
+++ b/persistence/jdo/metamodel/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-metamodel</artifactId>
diff --git a/persistence/jdo/pom.xml b/persistence/jdo/pom.xml
index f2da331..594d728 100644
--- a/persistence/jdo/pom.xml
+++ b/persistence/jdo/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/persistence/jdo/provider/pom.xml b/persistence/jdo/provider/pom.xml
index 23cc9f3..e834698 100644
--- a/persistence/jdo/provider/pom.xml
+++ b/persistence/jdo/provider/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-provider</artifactId>
diff --git a/persistence/jdo/spring/pom.xml b/persistence/jdo/spring/pom.xml
index aad235b..7777087 100644
--- a/persistence/jdo/spring/pom.xml
+++ b/persistence/jdo/spring/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jdo</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jdo-spring</artifactId>
diff --git a/persistence/jpa/applib/pom.xml b/persistence/jpa/applib/pom.xml
index a07b8f0..0ca57a2 100644
--- a/persistence/jpa/applib/pom.xml
+++ b/persistence/jpa/applib/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jpa</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jpa-applib</artifactId>
diff --git a/persistence/jpa/eclipselink/pom.xml b/persistence/jpa/eclipselink/pom.xml
index f8b7729..86fa8a0 100644
--- a/persistence/jpa/eclipselink/pom.xml
+++ b/persistence/jpa/eclipselink/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jpa</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jpa-eclipselink</artifactId>
diff --git a/persistence/jpa/integration/pom.xml b/persistence/jpa/integration/pom.xml
index 14d197b..04a9375 100644
--- a/persistence/jpa/integration/pom.xml
+++ b/persistence/jpa/integration/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jpa</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jpa-integration</artifactId>
diff --git a/persistence/jpa/metamodel/pom.xml b/persistence/jpa/metamodel/pom.xml
index 30dc02b..622b070 100644
--- a/persistence/jpa/metamodel/pom.xml
+++ b/persistence/jpa/metamodel/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.persistence</groupId>
 		<artifactId>isis-persistence-jpa</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-persistence-jpa-metamodel</artifactId>
diff --git a/persistence/jpa/pom.xml b/persistence/jpa/pom.xml
index abf4ba9..60fd543 100644
--- a/persistence/jpa/pom.xml
+++ b/persistence/jpa/pom.xml
@@ -16,7 +16,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/security/bypass/pom.xml b/security/bypass/pom.xml
index b118f2f..32c1f99 100644
--- a/security/bypass/pom.xml
+++ b/security/bypass/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/security/keycloak/pom.xml b/security/keycloak/pom.xml
index c6cd4fd..a2ed2c7 100644
--- a/security/keycloak/pom.xml
+++ b/security/keycloak/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-    	<version>2.0.0-SNAPSHOT</version>
+    	<version>2.0.0-M5</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
@@ -47,7 +47,7 @@
             <dependency>
                 <groupId>org.apache.isis.security</groupId>
                 <artifactId>isis-security-keycloak</artifactId>
-                <version>2.0.0-SNAPSHOT</version>
+                <version>2.0.0-M5</version>
             </dependency>
     	</dependencies>
     </dependencyManagement>
diff --git a/security/shiro/pom.xml b/security/shiro/pom.xml
index ea563bf..811a475 100644
--- a/security/shiro/pom.xml
+++ b/security/shiro/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-    	<version>2.0.0-SNAPSHOT</version>
+    	<version>2.0.0-M5</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
@@ -47,7 +47,7 @@
             <dependency>
                 <groupId>org.apache.isis.security</groupId>
                 <artifactId>isis-security-shiro</artifactId>
-                <version>2.0.0-SNAPSHOT</version>
+                <version>2.0.0-M5</version>
             </dependency>
     	</dependencies>
     </dependencyManagement>
diff --git a/security/spring/pom.xml b/security/spring/pom.xml
index 69c662b..09abde1 100644
--- a/security/spring/pom.xml
+++ b/security/spring/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../core/pom.xml</relativePath>
 	</parent>
 
diff --git a/starters/pom.xml b/starters/pom.xml
index fe2e874..d4e1d77 100644
--- a/starters/pom.xml
+++ b/starters/pom.xml
@@ -20,7 +20,7 @@
 		in build-artifacts.sh -->
 	<groupId>org.apache.isis.app</groupId>
 	<artifactId>isis-app-starter-parent</artifactId>
-	<version>2.0.0-SNAPSHOT</version>
+	<version>2.0.0-M5</version>
 	<packaging>pom</packaging>
 
 	<parent>
@@ -90,7 +90,7 @@
 			<dependency>
 				<groupId>org.apache.isis.core</groupId>
 				<artifactId>isis-core</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -98,7 +98,7 @@
 			<dependency>
 				<groupId>org.apache.isis.extensions</groupId>
 				<artifactId>isis-extensions</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -112,7 +112,7 @@
 			<dependency>
 				<groupId>org.apache.isis.mappings</groupId>
 				<artifactId>isis-mappings</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -120,7 +120,7 @@
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -128,7 +128,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
@@ -136,14 +136,14 @@
 			<dependency>
 				<groupId>org.apache.isis.mavendeps</groupId>
 				<artifactId>isis-mavendeps-integtests</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<scope>import</scope>
 				<type>pom</type>
 			</dependency>
diff --git a/subdomains/base/applib/pom.xml b/subdomains/base/applib/pom.xml
index 6fc3911..0048dbf 100644
--- a/subdomains/base/applib/pom.xml
+++ b/subdomains/base/applib/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains-base</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 	
     <artifactId>isis-subdomains-base-applib</artifactId>
diff --git a/subdomains/base/pom.xml b/subdomains/base/pom.xml
index c559811..da842af 100644
--- a/subdomains/base/pom.xml
+++ b/subdomains/base/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 	
     <artifactId>isis-subdomains-base</artifactId>
diff --git a/subdomains/docx/applib/pom.xml b/subdomains/docx/applib/pom.xml
index 875c9d1..24a897e 100644
--- a/subdomains/docx/applib/pom.xml
+++ b/subdomains/docx/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-docx</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-docx-applib</artifactId>
diff --git a/subdomains/docx/pom.xml b/subdomains/docx/pom.xml
index f36af1b..1a57b21 100644
--- a/subdomains/docx/pom.xml
+++ b/subdomains/docx/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-docx</artifactId>
diff --git a/subdomains/excel/applib/pom.xml b/subdomains/excel/applib/pom.xml
index cace29c..a012720 100644
--- a/subdomains/excel/applib/pom.xml
+++ b/subdomains/excel/applib/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains-excel</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-subdomains-excel-applib</artifactId>
diff --git a/subdomains/excel/fixture/pom.xml b/subdomains/excel/fixture/pom.xml
index a288446..4851888 100644
--- a/subdomains/excel/fixture/pom.xml
+++ b/subdomains/excel/fixture/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/subdomains/excel/integtests/pom.xml b/subdomains/excel/integtests/pom.xml
index 2d4a1f6..e278060 100644
--- a/subdomains/excel/integtests/pom.xml
+++ b/subdomains/excel/integtests/pom.xml
@@ -24,7 +24,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/subdomains/excel/pom.xml b/subdomains/excel/pom.xml
index 7a53b04..fe66deb 100644
--- a/subdomains/excel/pom.xml
+++ b/subdomains/excel/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-subdomains-excel</artifactId>
diff --git a/subdomains/excel/testing/pom.xml b/subdomains/excel/testing/pom.xml
index 5af12f8..e0e6cbe 100644
--- a/subdomains/excel/testing/pom.xml
+++ b/subdomains/excel/testing/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.subdomains</groupId>
         <artifactId>isis-subdomains-excel</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-subdomains-excel-testing</artifactId>
diff --git a/subdomains/freemarker/applib/pom.xml b/subdomains/freemarker/applib/pom.xml
index 4b1d5fb..5bab4be 100644
--- a/subdomains/freemarker/applib/pom.xml
+++ b/subdomains/freemarker/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-freemarker</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-freemarker-applib</artifactId>
diff --git a/subdomains/freemarker/pom.xml b/subdomains/freemarker/pom.xml
index 56f8ead..7a96d12 100644
--- a/subdomains/freemarker/pom.xml
+++ b/subdomains/freemarker/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-freemarker</artifactId>
diff --git a/subdomains/ognl/applib/pom.xml b/subdomains/ognl/applib/pom.xml
index b6c5ebf..2474a68 100644
--- a/subdomains/ognl/applib/pom.xml
+++ b/subdomains/ognl/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/subdomains/ognl/pom.xml b/subdomains/ognl/pom.xml
index 3595942..f89c82f 100644
--- a/subdomains/ognl/pom.xml
+++ b/subdomains/ognl/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-ognl</artifactId>
diff --git a/subdomains/pdfbox/applib/pom.xml b/subdomains/pdfbox/applib/pom.xml
index 3b04c84..2a16b15 100644
--- a/subdomains/pdfbox/applib/pom.xml
+++ b/subdomains/pdfbox/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-pdfbox</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-pdfbox-applib</artifactId>
diff --git a/subdomains/pdfbox/pom.xml b/subdomains/pdfbox/pom.xml
index 3f0a9e4..1c1463b 100644
--- a/subdomains/pdfbox/pom.xml
+++ b/subdomains/pdfbox/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-pdfbox</artifactId>
diff --git a/subdomains/pom.xml b/subdomains/pom.xml
index d2d8072..8931644 100644
--- a/subdomains/pom.xml
+++ b/subdomains/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -65,77 +65,77 @@
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-base-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-docx-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-testing</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-fixtures</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-excel-integtests</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-freemarker-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-ognl-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-pdfbox-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-spring-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-xdocreport-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-zip-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<!-- testing -->
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
diff --git a/subdomains/spring/applib/pom.xml b/subdomains/spring/applib/pom.xml
index 5d55c86..90adb95 100644
--- a/subdomains/spring/applib/pom.xml
+++ b/subdomains/spring/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-spring</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-spring-applib</artifactId>
diff --git a/subdomains/spring/pom.xml b/subdomains/spring/pom.xml
index c5ebbde..36ca96c 100644
--- a/subdomains/spring/pom.xml
+++ b/subdomains/spring/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-spring</artifactId>
diff --git a/subdomains/xdocreport/applib/pom.xml b/subdomains/xdocreport/applib/pom.xml
index 1a4b217..2f572fc 100644
--- a/subdomains/xdocreport/applib/pom.xml
+++ b/subdomains/xdocreport/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-xdocreport</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-xdocreport-applib</artifactId>
diff --git a/subdomains/xdocreport/pom.xml b/subdomains/xdocreport/pom.xml
index 81c2736..ff31dc8 100644
--- a/subdomains/xdocreport/pom.xml
+++ b/subdomains/xdocreport/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-xdocreport</artifactId>
diff --git a/subdomains/zip/applib/pom.xml b/subdomains/zip/applib/pom.xml
index eda0e91..9630f1f 100644
--- a/subdomains/zip/applib/pom.xml
+++ b/subdomains/zip/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains-zip</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-zip-applib</artifactId>
diff --git a/subdomains/zip/pom.xml b/subdomains/zip/pom.xml
index 6b3812e..71172b5 100644
--- a/subdomains/zip/pom.xml
+++ b/subdomains/zip/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.subdomains</groupId>
 		<artifactId>isis-subdomains</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-subdomains-zip</artifactId>
diff --git a/testing/fakedata/applib/pom.xml b/testing/fakedata/applib/pom.xml
index 4e84da8..c31b599 100644
--- a/testing/fakedata/applib/pom.xml
+++ b/testing/fakedata/applib/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing-fakedata</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-testing-fakedata-applib</artifactId>
diff --git a/testing/fakedata/fixtures/pom.xml b/testing/fakedata/fixtures/pom.xml
index 9b04d00..703913b 100644
--- a/testing/fakedata/fixtures/pom.xml
+++ b/testing/fakedata/fixtures/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing-fakedata</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-testing-fakedata-fixtures</artifactId>
diff --git a/testing/fakedata/integtests/pom.xml b/testing/fakedata/integtests/pom.xml
index f869a29..54da9c6 100644
--- a/testing/fakedata/integtests/pom.xml
+++ b/testing/fakedata/integtests/pom.xml
@@ -24,7 +24,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing-fakedata</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-testing-fakedata-integtests</artifactId>
diff --git a/testing/fakedata/pom.xml b/testing/fakedata/pom.xml
index d00b2ba..97b6757 100644
--- a/testing/fakedata/pom.xml
+++ b/testing/fakedata/pom.xml
@@ -23,7 +23,7 @@ under the License.
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-testing-fakedata</artifactId>
diff --git a/testing/fixtures/applib/pom.xml b/testing/fixtures/applib/pom.xml
index 9142a1b..4b4bd1a 100644
--- a/testing/fixtures/applib/pom.xml
+++ b/testing/fixtures/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-fixtures</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-fixtures-applib</artifactId>
diff --git a/testing/fixtures/pom.xml b/testing/fixtures/pom.xml
index 1c6885e..b3a962e 100644
--- a/testing/fixtures/pom.xml
+++ b/testing/fixtures/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-fixtures</artifactId>
diff --git a/testing/h2console/pom.xml b/testing/h2console/pom.xml
index 1c7e1ec..52a9550 100644
--- a/testing/h2console/pom.xml
+++ b/testing/h2console/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-h2console</artifactId>
diff --git a/testing/h2console/ui/pom.xml b/testing/h2console/ui/pom.xml
index ed632ca..a7beef4 100644
--- a/testing/h2console/ui/pom.xml
+++ b/testing/h2console/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-h2console</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-h2console-ui</artifactId>
diff --git a/testing/hsqldbmgr/pom.xml b/testing/hsqldbmgr/pom.xml
index 0888af1..763934c 100644
--- a/testing/hsqldbmgr/pom.xml
+++ b/testing/hsqldbmgr/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-hsqldbmgr</artifactId>
diff --git a/testing/hsqldbmgr/ui/pom.xml b/testing/hsqldbmgr/ui/pom.xml
index 53655fe..c47a564 100644
--- a/testing/hsqldbmgr/ui/pom.xml
+++ b/testing/hsqldbmgr/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-hsqldbmgr</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-hsqldbmgr-ui</artifactId>
diff --git a/testing/integtestsupport/applib/pom.xml b/testing/integtestsupport/applib/pom.xml
index f5dc1f7..0b9f0d4 100644
--- a/testing/integtestsupport/applib/pom.xml
+++ b/testing/integtestsupport/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-integtestsupport</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-integtestsupport-applib</artifactId>
diff --git a/testing/integtestsupport/pom.xml b/testing/integtestsupport/pom.xml
index 2244f1d..8601e79 100644
--- a/testing/integtestsupport/pom.xml
+++ b/testing/integtestsupport/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-integtestsupport</artifactId>
diff --git a/testing/pom.xml b/testing/pom.xml
index 0c50715..41c59a5 100644
--- a/testing/pom.xml
+++ b/testing/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -66,60 +66,60 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-integtestsupport-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-h2console-ui</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-hsqldbmgr-ui</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-specsupport-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fakedata-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fakedata-fixtures</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fakedata-integtests</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-unittestsupport-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<!-- dependencies -->
 			<dependency>
 				<groupId>org.apache.isis.subdomains</groupId>
 				<artifactId>isis-subdomains-spring-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 		</dependencies>
diff --git a/testing/specsupport/applib/pom.xml b/testing/specsupport/applib/pom.xml
index 598ac3a..c936410 100644
--- a/testing/specsupport/applib/pom.xml
+++ b/testing/specsupport/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing-specsupport</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-specsupport-applib</artifactId>
diff --git a/testing/specsupport/pom.xml b/testing/specsupport/pom.xml
index dbff4e6..6d78812 100644
--- a/testing/specsupport/pom.xml
+++ b/testing/specsupport/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.testing</groupId>
 		<artifactId>isis-testing</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-testing-specsupport</artifactId>
diff --git a/testing/unittestsupport/applib/pom.xml b/testing/unittestsupport/applib/pom.xml
index 7833d9f..2ed9362 100644
--- a/testing/unittestsupport/applib/pom.xml
+++ b/testing/unittestsupport/applib/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing-unittestsupport</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-testing-unittestsupport-applib</artifactId>
diff --git a/testing/unittestsupport/pom.xml b/testing/unittestsupport/pom.xml
index 1c9d5f1..29913e7 100644
--- a/testing/unittestsupport/pom.xml
+++ b/testing/unittestsupport/pom.xml
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.apache.isis.testing</groupId>
         <artifactId>isis-testing</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-testing-unittestsupport</artifactId>
diff --git a/valuetypes/asciidoc/applib/pom.xml b/valuetypes/asciidoc/applib/pom.xml
index 87a57ee..9e74135 100644
--- a/valuetypes/asciidoc/applib/pom.xml
+++ b/valuetypes/asciidoc/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-applib</artifactId>
diff --git a/valuetypes/asciidoc/metamodel/pom.xml b/valuetypes/asciidoc/metamodel/pom.xml
index cc3fd50..64308e9 100644
--- a/valuetypes/asciidoc/metamodel/pom.xml
+++ b/valuetypes/asciidoc/metamodel/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-metamodel</artifactId>
diff --git a/valuetypes/asciidoc/persistence/jdo-dn5/pom.xml b/valuetypes/asciidoc/persistence/jdo-dn5/pom.xml
index 0b6afb3..1ff3af7 100644
--- a/valuetypes/asciidoc/persistence/jdo-dn5/pom.xml
+++ b/valuetypes/asciidoc/persistence/jdo-dn5/pom.xml
@@ -17,12 +17,12 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc-persistence</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-persistence-jdo-dn5</artifactId>
 	<name>Apache Isis Val - Asciidoctor (persistence jdo DN5)</name>
-	<version>2.0.0-SNAPSHOT</version>
+	<version>2.0.0-M5</version>
 
 	<properties>
 		<jar-plugin.automaticModuleName>org.apache.isis.valuetypes.asciidoc.persistence.jdo.dn5</jar-plugin.automaticModuleName>
diff --git a/valuetypes/asciidoc/persistence/pom.xml b/valuetypes/asciidoc/persistence/pom.xml
index dcd8eab..7e06063 100644
--- a/valuetypes/asciidoc/persistence/pom.xml
+++ b/valuetypes/asciidoc/persistence/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-persistence</artifactId>
diff --git a/valuetypes/asciidoc/pom.xml b/valuetypes/asciidoc/pom.xml
index bb04765..2b641d1 100644
--- a/valuetypes/asciidoc/pom.xml
+++ b/valuetypes/asciidoc/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc</artifactId>
diff --git a/valuetypes/asciidoc/ui/pom.xml b/valuetypes/asciidoc/ui/pom.xml
index 66b9725..672f0e0 100644
--- a/valuetypes/asciidoc/ui/pom.xml
+++ b/valuetypes/asciidoc/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-ui</artifactId>
diff --git a/valuetypes/asciidoc/ui/wicket/pom.xml b/valuetypes/asciidoc/ui/wicket/pom.xml
index 0e5dd0b..7b9ac48 100644
--- a/valuetypes/asciidoc/ui/wicket/pom.xml
+++ b/valuetypes/asciidoc/ui/wicket/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-asciidoc-ui</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-asciidoc-ui-wkt</artifactId>
diff --git a/valuetypes/markdown/applib/pom.xml b/valuetypes/markdown/applib/pom.xml
index e127a1c..7f44ffa 100644
--- a/valuetypes/markdown/applib/pom.xml
+++ b/valuetypes/markdown/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-applib</artifactId>
diff --git a/valuetypes/markdown/metamodel/pom.xml b/valuetypes/markdown/metamodel/pom.xml
index 9a763a3..8d0afbb 100644
--- a/valuetypes/markdown/metamodel/pom.xml
+++ b/valuetypes/markdown/metamodel/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-metamodel</artifactId>
diff --git a/valuetypes/markdown/persistence/jdo-dn5/pom.xml b/valuetypes/markdown/persistence/jdo-dn5/pom.xml
index 9a6d77a..fbda4a2 100644
--- a/valuetypes/markdown/persistence/jdo-dn5/pom.xml
+++ b/valuetypes/markdown/persistence/jdo-dn5/pom.xml
@@ -17,12 +17,12 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown-persistence</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-persistence-jdo-dn5</artifactId>
 	<name>Apache Isis Val - Markdown (persistence jdo DN5)</name>
-	<version>2.0.0-SNAPSHOT</version>
+	<version>2.0.0-M5</version>
 
 	<properties>
 		<jar-plugin.automaticModuleName>org.apache.isis.valuetypes.markdown.persistence.jdo.dn5</jar-plugin.automaticModuleName>
diff --git a/valuetypes/markdown/persistence/pom.xml b/valuetypes/markdown/persistence/pom.xml
index 2ce1b6f..d2920ba 100644
--- a/valuetypes/markdown/persistence/pom.xml
+++ b/valuetypes/markdown/persistence/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-persistence</artifactId>
diff --git a/valuetypes/markdown/pom.xml b/valuetypes/markdown/pom.xml
index 14279c6..6d067dc 100644
--- a/valuetypes/markdown/pom.xml
+++ b/valuetypes/markdown/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown</artifactId>
diff --git a/valuetypes/markdown/ui/pom.xml b/valuetypes/markdown/ui/pom.xml
index ba0d246..2b3af98 100644
--- a/valuetypes/markdown/ui/pom.xml
+++ b/valuetypes/markdown/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-ui</artifactId>
diff --git a/valuetypes/markdown/ui/wicket/pom.xml b/valuetypes/markdown/ui/wicket/pom.xml
index b61d531..f296372 100644
--- a/valuetypes/markdown/ui/wicket/pom.xml
+++ b/valuetypes/markdown/ui/wicket/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-markdown-ui</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-markdown-ui-wkt</artifactId>
diff --git a/valuetypes/pom.xml b/valuetypes/pom.xml
index 73bb84f..cabc5b2 100644
--- a/valuetypes/pom.xml
+++ b/valuetypes/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.core</groupId>
 		<artifactId>isis-core</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../core/pom.xml</relativePath>
 	</parent>
 
@@ -64,12 +64,12 @@
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-asciidoc-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-asciidoc-metamodel</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
@@ -79,49 +79,49 @@
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-asciidoc-ui-wkt</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-asciidoc-persistence-jdo-dn5</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-markdown-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-markdown-metamodel</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-markdown-ui-wkt</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-markdown-persistence-jdo-dn5</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-sse-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-sse-metamodel</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 			<dependency>
 				<groupId>org.apache.isis.valuetypes</groupId>
 				<artifactId>isis-valuetypes-sse-ui-wkt</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 			<!-- testing -->
@@ -129,7 +129,7 @@
 			<dependency>
 				<groupId>org.apache.isis.testing</groupId>
 				<artifactId>isis-testing-fixtures-applib</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
+				<version>2.0.0-M5</version>
 			</dependency>
 
 		</dependencies>
diff --git a/valuetypes/sse/applib/pom.xml b/valuetypes/sse/applib/pom.xml
index 7ae764f..1d10074 100644
--- a/valuetypes/sse/applib/pom.xml
+++ b/valuetypes/sse/applib/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 
diff --git a/valuetypes/sse/metamodel/pom.xml b/valuetypes/sse/metamodel/pom.xml
index a67f882..4d22e07 100644
--- a/valuetypes/sse/metamodel/pom.xml
+++ b/valuetypes/sse/metamodel/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-sse</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-sse-metamodel</artifactId>
diff --git a/valuetypes/sse/pom.xml b/valuetypes/sse/pom.xml
index 8e15f60..b4dc1ad 100644
--- a/valuetypes/sse/pom.xml
+++ b/valuetypes/sse/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-sse</artifactId>
diff --git a/valuetypes/sse/ui/pom.xml b/valuetypes/sse/ui/pom.xml
index 7c5725f..ed23586 100644
--- a/valuetypes/sse/ui/pom.xml
+++ b/valuetypes/sse/ui/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-sse</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-sse-ui</artifactId>
diff --git a/valuetypes/sse/ui/wicket/pom.xml b/valuetypes/sse/ui/wicket/pom.xml
index a26276a..2987272 100644
--- a/valuetypes/sse/ui/wicket/pom.xml
+++ b/valuetypes/sse/ui/wicket/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.valuetypes</groupId>
 		<artifactId>isis-valuetypes-sse-ui</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-valuetypes-sse-ui-wkt</artifactId>
diff --git a/viewers/common/pom.xml b/viewers/common/pom.xml
index adce1ef..4ab4183 100644
--- a/viewers/common/pom.xml
+++ b/viewers/common/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/viewers/restfulobjects/applib/pom.xml b/viewers/restfulobjects/applib/pom.xml
index d456b47..05cf4f2 100644
--- a/viewers/restfulobjects/applib/pom.xml
+++ b/viewers/restfulobjects/applib/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-restfulobjects</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
 	<artifactId>isis-viewer-restfulobjects-applib</artifactId>
diff --git a/viewers/restfulobjects/jaxrs-resteasy-4/pom.xml b/viewers/restfulobjects/jaxrs-resteasy-4/pom.xml
index c6da57b..fce0b8a 100644
--- a/viewers/restfulobjects/jaxrs-resteasy-4/pom.xml
+++ b/viewers/restfulobjects/jaxrs-resteasy-4/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>org.apache.isis.viewer</groupId>
 		<artifactId>isis-viewer-restfulobjects</artifactId>
-		<version>2.0.0-SNAPSHOT</version>
+		<version>2.0.0-M5</version>
 	</parent>
 
 	<artifactId>isis-viewer-restfulobjects-jaxrsresteasy4</artifactId>
diff --git a/viewers/restfulobjects/pom.xml b/viewers/restfulobjects/pom.xml
index 9ae5b46..5994131 100644
--- a/viewers/restfulobjects/pom.xml
+++ b/viewers/restfulobjects/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/viewers/restfulobjects/rendering/pom.xml b/viewers/restfulobjects/rendering/pom.xml
index 77a1740..41bbc27 100644
--- a/viewers/restfulobjects/rendering/pom.xml
+++ b/viewers/restfulobjects/rendering/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-restfulobjects</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-viewer-restfulobjects-rendering</artifactId>
diff --git a/viewers/restfulobjects/testing/pom.xml b/viewers/restfulobjects/testing/pom.xml
index 3f12ce1..a545aa8 100644
--- a/viewers/restfulobjects/testing/pom.xml
+++ b/viewers/restfulobjects/testing/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-restfulobjects</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-viewer-restfulobjects-testing</artifactId>
diff --git a/viewers/restfulobjects/viewer/pom.xml b/viewers/restfulobjects/viewer/pom.xml
index c8c1de5..34965e0 100644
--- a/viewers/restfulobjects/viewer/pom.xml
+++ b/viewers/restfulobjects/viewer/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-restfulobjects</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-viewer-restfulobjects-viewer</artifactId>
diff --git a/viewers/wicket/model/pom.xml b/viewers/wicket/model/pom.xml
index d92ede6..c33b308 100644
--- a/viewers/wicket/model/pom.xml
+++ b/viewers/wicket/model/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-wicket</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-viewer-wicket-model</artifactId>
diff --git a/viewers/wicket/pom.xml b/viewers/wicket/pom.xml
index 1d12d02..13c5458 100644
--- a/viewers/wicket/pom.xml
+++ b/viewers/wicket/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis-core</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
         <relativePath>../../core/pom.xml</relativePath>
     </parent>
 
diff --git a/viewers/wicket/ui/pom.xml b/viewers/wicket/ui/pom.xml
index 207e935..fd709fb 100644
--- a/viewers/wicket/ui/pom.xml
+++ b/viewers/wicket/ui/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-wicket</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <artifactId>isis-viewer-wicket-ui</artifactId>
diff --git a/viewers/wicket/viewer/pom.xml b/viewers/wicket/viewer/pom.xml
index f0c9d54..3320975 100644
--- a/viewers/wicket/viewer/pom.xml
+++ b/viewers/wicket/viewer/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.isis.viewer</groupId>
         <artifactId>isis-viewer-wicket</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
+        <version>2.0.0-M5</version>
     </parent>
 
     <name>Apache Isis Viewer - Wicket (Viewer)</name>

[isis] 06/08: ISIS-2450: bumps hardcoded version to 2.0.0-M5

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 771d8a3cac252f4857a7b571def72853396ff588
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 19 07:15:09 2021 +0000

    ISIS-2450: bumps hardcoded version to 2.0.0-M5
---
 .../config/environment/IsisSystemEnvironment.java  | 44 +++++++++++-----------
 .../config/IsisConfigurationLegacy.java            |  4 +-
 2 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/core/config/environment/IsisSystemEnvironment.java b/core/config/src/main/java/org/apache/isis/core/config/environment/IsisSystemEnvironment.java
index e5f360e..1c40732 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/environment/IsisSystemEnvironment.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/environment/IsisSystemEnvironment.java
@@ -43,11 +43,11 @@ import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
 /**
- * Represents configuration, that is required in an early bootstrapping phase. 
+ * Represents configuration, that is required in an early bootstrapping phase.
  * Regarded immutable during an application's life-cycle.
- * 
+ *
  * @since 2.0
- * @implNote acts as the framework's bootstrapping entry-point for Spring  
+ * @implNote acts as the framework's bootstrapping entry-point for Spring
  */
 @Service
 @Named("isis.config.IsisSystemEnvironment")
@@ -57,24 +57,24 @@ import lombok.extern.log4j.Log4j2;
 @Singleton
 @Log4j2
 public class IsisSystemEnvironment {
-    
-    public static final String VERSION = "2.0.0-M4"; // landed here, but could be anywhere else if reasonable
-    
+
+    public static final String VERSION = "2.0.0-M5"; // landed here, but could be anywhere else if reasonable
+
     @Inject private ApplicationContext springContext;
-    
+
     @Getter private _IocContainer iocContainer;
 
     // -- LIFE-CYCLE
-    
+
     @PostConstruct
     public void postConstruct() {
-        
+
         this.iocContainer = _IocContainer.spring(springContext);
-        
+
         log.info("postConstruct (hashCode = {})", this.hashCode());
-        
+
         // when NOT bootstrapped with Spring, postConstruct() never gets called
-        
+
         // when bootstrapped with Spring, postConstruct() must happen before any call to get() above,
         // otherwise we copy over settings from the primed instance already created with get() above,
         // then on the _Context replace the primed with this one
@@ -86,18 +86,18 @@ public class IsisSystemEnvironment {
         }
         _Context.putSingleton(IsisSystemEnvironment.class, this);
     }
-    
+
     @PreDestroy
     public void preDestroy() {
         log.info("preDestroy (hashCode = {})", this.hashCode());
     }
-    
+
     @EventListener(ContextRefreshedEvent.class)
     public void onContextRefreshed(ContextRefreshedEvent event) {
         // happens after all @PostConstruct
         log.info("onContextRefreshed");
     }
-    
+
     @EventListener(ContextClosedEvent.class)
     public void onContextAboutToClose(ContextClosedEvent event) {
         // happens before any @PostConstruct
@@ -107,22 +107,22 @@ public class IsisSystemEnvironment {
         this.iocContainer = null;
         _Context.clear();
     }
-    
+
     @EventListener(ApplicationFailedEvent.class)
     public void onContextRefreshed(ApplicationFailedEvent event) {
-        // happens eg. when DN finds non enhanced entity classes 
+        // happens eg. when DN finds non enhanced entity classes
         log.error("Application failed to start", event.getException());
     }
-    
-    
+
+
     // -- SHORTCUTS
-    
+
     public _IocContainer ioc() {
         return getIocContainer();
     }
-    
+
     // -- SETUP
-    
+
     /**
      * For framework internal unit tests.<p>
      * Let the framework know what context we are running on.
diff --git a/core/internaltestsupport/src/main/java/org/apache/isis/core/internaltestsupport/config/IsisConfigurationLegacy.java b/core/internaltestsupport/src/main/java/org/apache/isis/core/internaltestsupport/config/IsisConfigurationLegacy.java
index fd80987..d57425e 100644
--- a/core/internaltestsupport/src/main/java/org/apache/isis/core/internaltestsupport/config/IsisConfigurationLegacy.java
+++ b/core/internaltestsupport/src/main/java/org/apache/isis/core/internaltestsupport/config/IsisConfigurationLegacy.java
@@ -34,13 +34,13 @@ public interface IsisConfigurationLegacy {
     // -- VERSION
 
     public default String getVersion() {
-        return "2.0.0-M4";
+        return "2.0.0-M5";
     }
 
     // --
 
     /**
-     * Creates a copy of this instance, that is a new IsisConfiguration populated 
+     * Creates a copy of this instance, that is a new IsisConfiguration populated
      * with a copy of the underlying key/value pairs.
      *
      */

[isis] 05/08: ISIS-2450: updates projdoc tooling

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4971106aa73d5e2099c85bee6a79fc6050b0e249
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 19 07:03:01 2021 +0000

    ISIS-2450: updates projdoc tooling
---
 .../refguide-index/modules/_overview/pages/about.adoc   | 17 ++++++++++++-----
 .../pages/index/services/iactn/ActionInvocation.adoc    |  2 +-
 .../applib/pages/index/services/iactn/PropertyEdit.adoc |  2 +-
 .../modules/commons/pages/index/collections/Can.adoc    | 16 ++++++++++++++++
 .../pages/index/cors/impl/IsisModuleExtCorsImpl.adoc    |  2 +-
 .../webmodule/WebModuleJaxrsResteasy4.adoc              |  2 +-
 6 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/antora/components/refguide-index/modules/_overview/pages/about.adoc b/antora/components/refguide-index/modules/_overview/pages/about.adoc
index c6d3d30..744a3e4 100644
--- a/antora/components/refguide-index/modules/_overview/pages/about.adoc
+++ b/antora/components/refguide-index/modules/_overview/pages/about.adoc
@@ -1461,6 +1461,7 @@ Directory: /core/config
 
 .Components
 ****
+o.a.i.core.config.RestEasyConfiguration$RestfulPathProviderImpl +
 o.a.i.core.config.beans.IsisBeanFactoryPostProcessorForSpring +
 o.a.i.core.config.beans.IsisBeanTypeRegistryDefault +
 o.a.i.core.config.converters.PatternsConverter +
@@ -3272,8 +3273,8 @@ Directory: /valuetypes/asciidoc/ui
 |.Dependencies
 ****
 com.github.jnr:jnr-constants:jar:0.10.1 +
-com.github.jnr:jnr-enxio:jar:0.32.3 +
-com.github.jnr:jnr-posix:jar:3.1.4 +
+com.github.jnr:jnr-enxio:jar:0.32.4 +
+com.github.jnr:jnr-posix:jar:3.1.5 +
 org.apache.isis.core:isis-core-metamodel:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-asciidoc-applib:jar:<managed> +
 org.asciidoctor:asciidoctorj:jar:${asciidoctorj.version} +
@@ -3763,12 +3764,12 @@ skinparam rectangle<<22>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<23>> {
+skinparam rectangle<<12>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<12>> {
+skinparam rectangle<<23>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
@@ -5957,7 +5958,14 @@ Directory: /incubator/viewers/vaadin/model
 ----
 |.Dependencies
 ****
+com.github.fge:jackson-coreutils:jar:1.8 +
 com.vaadin:vaadin:jar:<managed> +
+io.swagger:swagger-compat-spec-parser:jar:1.0.39 +
+io.swagger:swagger-parser:jar:1.0.39 +
+io.swagger.core.v3:swagger-core:jar:2.0.5 +
+io.swagger.core.v3:swagger-models:jar:2.0.5 +
+io.swagger.parser.v3:swagger-parser-core:jar:2.0.5 +
+io.swagger.parser.v3:swagger-parser-v3:jar:2.0.5 +
 org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
 org.apache.isis.core:isis-core-webapp:jar:<managed> +
 org.apache.isis.viewer:isis-viewer-common:jar:<managed> +
@@ -5989,7 +5997,6 @@ o.a.i.incubator.viewer.vaadin.ui.pages.main.UiContextVaaDefault +
 
 .Dependencies
 ****
-com.vaadin:vaadin:jar:<managed> +
 com.vaadin:vaadin-spring:jar:<managed> +
 commons-fileupload:commons-fileupload:jar:1.4 +
 org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/ActionInvocation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/ActionInvocation.adoc
index 1f72e25..626b95f 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/ActionInvocation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/ActionInvocation.adoc
@@ -7,7 +7,7 @@
 .ActionInvocation.java
 ----
 class ActionInvocation {
-  ActionInvocation(final Interaction interaction, final String memberId, final Object target, final List<Object> args, final String targetMember, final String targetClass)
+  ActionInvocation(final Interaction interaction, final Identifier memberId, final Object target, final List<Object> args, final String targetMember, final String targetClass)
 }
 ----
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/PropertyEdit.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/PropertyEdit.adoc
index 2ac0a4c..17f5365 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/PropertyEdit.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/PropertyEdit.adoc
@@ -7,7 +7,7 @@
 .PropertyEdit.java
 ----
 class PropertyEdit {
-  PropertyEdit(final Interaction interaction, final String memberId, final Object target, final Object newValue, final String targetMember, final String targetClass)
+  PropertyEdit(final Interaction interaction, final Identifier memberId, final Object target, final Object newValue, final String targetMember, final String targetClass)
 }
 ----
 
diff --git a/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc b/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
index 737e693..3b0a393 100644
--- a/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
+++ b/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
@@ -24,6 +24,8 @@ interface Can<T> {
   Stream<T> parallelStream()     // <.>
   Optional<T> getFirst()     // <.>
   T getFirstOrFail()     // <.>
+  Optional<T> getLast()     // <.>
+  T getLastOrFail()     // <.>
   Optional<T> getSingleton()     // <.>
   T getSingletonOrFail()     // <.>
   boolean contains(T element)     // <.>
@@ -91,6 +93,12 @@ For convenience allows the argument to be _null_ treating _null_ equivalent to _
 --
 Shortcut for _getFirst().orElseThrow(_Exceptions::noSuchElement)_
 --
+<.> xref:#getLast__[getLast()]
+<.> xref:#getLastOrFail__[getLastOrFail()]
++
+--
+Shortcut for _getLast().orElseThrow(_Exceptions::noSuchElement)_
+--
 <.> xref:#getSingleton__[getSingleton()]
 <.> xref:#getSingletonOrFail__[getSingletonOrFail()]
 +
@@ -228,6 +236,14 @@ For convenience allows the argument to be _null_ treating _null_ equivalent to _
 
 Shortcut for _getFirst().orElseThrow(_Exceptions::noSuchElement)_
 
+[#getLast__]
+=== getLast()
+
+[#getLastOrFail__]
+=== getLastOrFail()
+
+Shortcut for _getLast().orElseThrow(_Exceptions::noSuchElement)_
+
 [#getSingleton__]
 === getSingleton()
 
diff --git a/antora/components/refguide-index/modules/extensions/pages/index/cors/impl/IsisModuleExtCorsImpl.adoc b/antora/components/refguide-index/modules/extensions/pages/index/cors/impl/IsisModuleExtCorsImpl.adoc
index c71febf..3163873 100644
--- a/antora/components/refguide-index/modules/extensions/pages/index/cors/impl/IsisModuleExtCorsImpl.adoc
+++ b/antora/components/refguide-index/modules/extensions/pages/index/cors/impl/IsisModuleExtCorsImpl.adoc
@@ -7,7 +7,7 @@
 .IsisModuleExtCorsImpl.java
 ----
 class IsisModuleExtCorsImpl {
-  FilterRegistrationBean<Filter> createCorsFilterRegistration(IsisConfiguration configuration)
+  FilterRegistrationBean<Filter> createCorsFilterRegistration(final IsisConfiguration isisConfiguration, final RestEasyConfiguration restEasyConfiguration)
 }
 ----
 
diff --git a/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.adoc b/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.adoc
index 895effe..1d90ecd 100644
--- a/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.adoc
+++ b/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.adoc
@@ -9,7 +9,7 @@ WebModule that provides the RestfulObjects Viewer.
 .WebModuleJaxrsResteasy4.java
 ----
 class WebModuleJaxrsResteasy4 {
-  WebModuleJaxrsResteasy4(final RestEasyConfiguration restEasyConfiguration, final ServiceInjector serviceInjector)
+  WebModuleJaxrsResteasy4(final IsisConfiguration isisConfiguration, final RestEasyConfiguration restEasyConfiguration, final ServiceInjector serviceInjector)
   void prepare(WebModuleContext ctx)
   Can<ServletContextListener> init(ServletContext ctx)
 }