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 2018/08/05 18:32:59 UTC

[isis] branch ISIS-1810 updated (df8ff08 -> a3b5b95)

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

danhaywood pushed a change to branch ISIS-1810
in repository https://gitbox.apache.org/repos/asf/isis.git.


    from df8ff08  ISIS-1810: adds .gitlab-ci.yml
     add 91a8259  ISIS-1779: factors failing RO applib tests into contract tests.
     add 41e1082  ISIS-1779: more contract tests for JAX-RS plugins
     add 197f9af  ISIS-1888: fixes test per new rules for CSS class names (don't force to lower case)
     add f8bc09b  ISIS-1891: fixes classpath issues for unit tests of jaxrs plugins
     add f03e561  ISIS-1753: fixes classpath issues for unit tests of eventbus plugins
     add 222998e  ISIS-1903: fixes helloworld and simpleapp classpath issues, now build from mvn ok.
     add 02dcf68  ISIS-1810: no longer skip tests in gitlab
     add aac0927  ISIS-1904: parameterized using ${revison}
     add e11fb23  ISIS-1810: just renames some test classes in helloworld
     add 4a71749  ISIS-1904: uses flattened plugin and inline scope=import
     add 729e8a1  ISIS-1904: updates gitlab ci.yml to also build docker image for simpleapp
     add 32e597c  ISIS-1904: updates gitlab ci.yml to also build docker image for simpleapp
     add 5b6a0aa  ISIS-1904: flattens dependencies in simpleapp so can build using -Drevision=
     add 62aa77b  ISIS-1904: flattens dependencies in simpleapp-webapp so can build using -Drevision=
     add 1749bf8  ISIS-1911 adding option to disable TranslationServicePO
     add 3f337f8  ISIS-1902 consistently apply Isis' default class loader on PMF creation
     add ca2f3af  ISIS-1902 fixes missing bundle attribute
     add 1e78313  ISIS-1902 consistently apply Isis' default class loader on PMF creation (DN-4 plugin as well)
     add f05a596  ISIS-1910 rename IsisJdoSupport0 to original IsisJdoSupport
     add 9d02350  ISIS-1906 removing @Parent from applib
     add d4431c3  ISIS-1906 update cheat sheet
     add dd440e6  ISIS-1906 update adoc for PropertyLayout
     add 5785d45  ISIS-1906 remove include for removed adoc
     add 345e2c7  ISIS-1810: fixes numbering error in doc
     add b453363  ISIS-1899: bumps versions down to 1.16.3-SNAPSHOT
     add b9175ae  ISIS-1913: adds support for object-icon link in REST API
     add eababc5  ISIS-1902: adds in OSGI bundle attributes
     add bfd2014  ISIS-1904: ignore .flattened-pom.xml from git
     add c9f563e  ISIS-1916: adds support to setup within gitlab CI
     add f03484c  ISIS-1916: updates script to recreate an archetype for SNAPSHOT
     add 9cc64a3  ISIS-1916: recreating simpleapp archetype
     add 32f8228  ISIS-1916: updates from testing that example simpleapp works with gitlab-ci
     add 529112d  ISIS-1916: updates docs for gitlab-ci support
     add d3c7bf8  Merge branch 'maint-1.16.2'
     add b7c4192  fixes a couple of merge issues
     add 84caf8c  adds workaround for use of flattened poms
     add d2ca2d2  disable archetypes from build by default
     add 0339373  ISIS-1887 pull in java.sql.Timestamp support from -legacy
     add fecfd95  ISIS-1887 fix incompatible type cast
     add 195469c  updates gitlab ci, build core and example app separately
     add d955fd9  removes multiline commands from gitlab ci yml, was failing when run
     add e07560b  ISIS-1841 fix ComponentFactory plugins getting registered twice
     add 7172b21  ISIS-1841 cleanup thread locals on shutdown
     add a8535a5  ISIS-1904: upgrades surefire version, crashes on alpine
     add 6625903  ISIS-1904: moves down to 2.20 of surefire
     add 56dca81  ISIS-1904: to 2.20 of surefire (not 2.20.0, which doesn't exist)
     add 6f35ce1  ISIS-1904: extends gitlab ci to push image of simpleapp to dockerhub
     add 92725ae  ISIS-1904: further tweaks for gitlab ci
     add a97d6b9  ISIS-1904: attempts to fix docker push issues
     add 56e470b  ISIS-1904: changes format of REVISION slightly
     add 7a64994  ISIS-1904: fixes some bad versions in the simpleapp archetype
     add 3fed44f  Revert "ISIS-1904: attempts to fix docker push issues"
     add d0e6c12  Revert "ISIS-1904: further tweaks for gitlab ci"
     add ce9f743  Revert "ISIS-1904: extends gitlab ci to push image of simpleapp to dockerhub"
     add 00ef4a3  ISIS-1904: adds CORE_ADDITIONAL_OPTS
     add 28f7a6e  ISIS-1904: reinstates some of the vars and the docker push
     add 863d4bf  ISIS-1906 correcting typo
     add 347a4d2  ISIS-1904 add build badge to front-page (github)
     add ca24c1f  ISIS-1925: adds a null guard in CommonDtoUtils for blob and clob's
     add 4c080a3  Merge branch 'ISIS-1925' into maint-1.16.2
     add 5eecb94  Merge branch 'maint-1.16.2'
     add 7fd7e3e  ISIS-1928: changes logging for shiro from LOG.error to LOG.info
     add 59cf961  ISIS-1904: updates gitlab build to push to interim nexus repo
     add 519eed9  ISIS-1904: updates gitlab CI settings
     add 08c6752  ISIS-1904: removes MAVEN_OPTS from .gitlab-ci.yaml, think this breaks the build...
     add 8e83de0  ISIS-1904: fixes issue in ci yml
     add 0936f81  ISIS-1904: uses 8 chars for shaId rather than 7.
     add 9fff9f6  ISIS-1930 allow lazy message string generation
     add 2093a12  ISIS-1931 introduces Field/Method caching for ServicesInjector
     add c9ca640  ISIS-1931 loosen generic type bounds
     add 8a4f358  ISIS-1931 fixes build failure
     add 74d3417  ISIS-1931 target type for injection must be exactly one of the supported collection types
     add 7b22d90  ISIS-1932 consolidating collection-util classes
     add a20aa2c  ISIS-1742 DomainObjectContainer is deprecated, adopting test
     add c9c9788  ISIS-1742 org.jmock.Expectations 'one' is deprecated
     add c64a43e  ISIS-1742 move deprecated Parseable and Encodable to -legacy
     add fb88e0b  ISIS-1742 removal of unused imports
     add d066032  Update _ugvw_menubars-layout_file-based.adoc (#111)
     add 0ecd43c  ISIS-1932 Internal API _Collections: add 'unmodifiable collectors'
     add 770423b  ISIS-1932 Internal API: introduces _Arrays for common Array idioms.
     add 1c957f1  ISIS-1932 consolidate element type inference
     add 6031eba  ISIS-1932 consolidate array & collection idioms
     add 3fe58f3  ISIS-1680 applib: reorganizing event classes into new packages
     add 14afca8  ISIS-1679 applib: move dto classes into new package
     add 88e301c  ISIS-1682 moving Object Mixins into new package
     add da44673  ISIS-1682 fixes swapped arguments
     add 3a0539e  ISIS-1683 applib: moving timestamp class into new packages
     add 43f4a41  ISIS-1935 rework event-bus implementation to allow programmatic event-listener registration
     add e7aa001  ISIS-1935 removes temporary code fragments
     add 09ea974  ISIS-1935 remove unused import
     add 95a15a2  ISIS-1935 fixes incorrect hasPosted state
     add 7b23453  ISIS-1935 adding tests
     add 3a4f3ea  ISIS-1935 fixes event types having no type safety
     add 9285542  ISIS-1599 adds meta-data validation for non-scalar action parameters
     add 0977f87  ISIS-1599 fixes typo in message
     add 9fb2db3  ISIS-1599 fixes java-doc
     add aa00b6e  ISIS-1599 improves name of utility class
     add d50efdd  ISIS-1599 adds Array as supported action parameter
     add 5a5e4f3  ISIS-1841 remove compile-warning suppressions
     add 93a8c63  ISIS-1841 replace Util with Java language idioms
     add af45ccd  ISIS-1841 provide serialVersionUIDs
     add 6db3409  ISIS-1841 further cleanup compiler warnings
     add 22732db  ISIS-1742 moving deprecated MementoService to -legacy
     add ce7ddb7  ISIS-1742 make UrlEncodingServiceWithCompression the new default
     add b527851  ISIS-1742 moving deprecated DomainObjectContainer to -legacy
     add df36912  ISIS-1742 removing temporary addition to FactoryService
     add 66b4e3e  ISIS-1742 fixes naive memento re-implementation in Internal API
     add 6f90a9b  ISIS-1742 polishing java-doc
     add 2cc0619  ISIS-1841 correct inconsistent class names
     add 84ddc1f  ISIS-1841 dom4j and other XML libraries no longer needed
     add 5ae385d  ISIS-1841 further removing compiler warnings
     add 0d9d4ea  ISIS-1841 replaces ObjectContract with ToString
     add d20fec7  ISIS-1841 refining _Set and _List, and introducing _Reduction
     add 09b6714  ISIS-1841 further removing guava idioms
     add c1eb499  ISIS-1841 fixes file version mixed up with other branch
     add 947b437  ISIS-1841 fixes build error, intruduced with auto org. imports
     add d337130  ISIS-898 applib: introduces initial tree model
     add a8c547d  ISIS-898 refine TreeNode interface
     add b4535da  ISIS-898 interim TreePanel stubs
     add fe0cbe7  ISIS-898 simplify markup panel factories
     add 275252b  ISIS-898 adds missing license head
     add a25c43c  ISIS-898 register TreePanel factories
     add 28f1b61  ISIS-898 Internal API: introduces _Lazy a memoizing supplier
     add a9215a8  ISIS-898 refine, also add missing license headers
     add f960d6e  ISIS-898 add missing cases, add serial version ids
     add b02c336  ISIS-898 further reduce compiler warnings
     add 0e3abd9  ISIS-898 initial (naive) lazy tree feature
     add e6a905b  Merge branch 'dev/2.0.0/ISIS-898-treeview'
     add 9340178  ISIS-898 remove temporary class
     add ce91cd5  ISIS-1939: overrides ObjectInputStream's class-loading to use Isis' default class-loader
     add 3bc8e4f  ISIS-1940 uses the invocation-preprocessor for support method validation
     add e7224f4  ISIS-1942 New Facet: XmlAccessorTypeFacet
     add 9a51b98  ISIS-1940 let the SortedSet-of-list adapter return a comparator=null
     add dfe84e1  ISIS-898: hardcode AjaxFallbackLink to be enabled in hierarchy
     add 5b92468  ISIS-1841: IsisContext: adds shortcuts for convenience
     add 318c156  ISIS-898: completes proof of concept
     add f4c9cdd  ISIS-898: cleanup debug code, also suppress unchecked+rawtypes warnings
     add f485b1b  ISIS-1943: extending the tree API: introduces TreePath
     add 9aa747e  ISIS-1943: introduces TreeModel that extends EntityModel
     add a8646c4  ISIS-1943: Internal API: introduces _Functions
     add d0c124a  ISIS-1944: Tree View: adds a model for the collapse/expand state
     add ceed81b  ISIS-1944: Tree View: adds convenient API for expand/collapse
     add b6eac4d  ISIS-1944: Tree View: minor code improvements
     add fca655b  ISIS-1944: Tree View: propagate expand/collapse events to tree's state
     add fed4479  ISIS-1946: allows running using o.a.i.WebServer by relaxing validation in _Resource_Path.
     add 105b532  ISIS-1810: fixes scm URLs in root pom
     add 8238e8b  ISIS-1904: fixes configuration of flattened pom's (for externalized version)
     add 48f1445  ISIS-1904: removes workaround for flattened poms, since figured out how to configure the flattened pom plugin to correctly resolve dependencies and dependencyManagement sections
     add 80d9ddc  ISIS-1810: adds missing dependency declarations
     add 64ce6ad  ISIS-1946 minor cleanup, adding java-doc to clarify path-resource usage
     add aedaeb9  ISIS-1947 fixes several issues
     add 8f13a87  ISIS-1929: Lets RestfulObjectsApplication also register the default CL
     add 2a7c035  ISIS-1929: gives IsisWicketApplication precedence when registering CL
     add 69b64ab  ISIS-1903 bump HelloWorld's parent pom to version 6
     add b21d28a  ISIS-1948: Internal API: introduces _Proxies (stubs only)
     add 7ce9005  ISIS-1948: Adds unit test for ProxyCreator
     add a58f796  ISIS-1948: changes to a generic name for the proxy marker
     add da9a05d  ISIS-1948: fixes proxy test
     add 9545b50  ISIS-1948: switch to internal API (only stubs yet)
     add 1ec1a40  ISIS-1948: Internal API: adding 'combine' to _Arrays
     add c85a1c5  ISIS-1948: reverts introduction of _Proxies
     add 5eb8890  ISIS-1949: Adds new core plugin stubs
     add fecc190  ISIS-1949: Align discovery plugin naming with codegen plugins
     add 6a29e8b  ISIS-1949: cleanup plugin dependencies
     add 45c98c0  ISIS-1949: Javassist plugin implemented
     add 8179d7c  ISIS-1949: let helloworld/simpleapp use the new codegen plugin
     add 7243551  ISIS-1949: Move tests that depend on codegen plugins to plugins
     add bc6ab40  ISIS-1949: cleanup default method filter
     add 4e85abb  ISIS-1949: move objenesis dependencies
     add c9f71c7  ISIS-1949: reinstate original behavior to not call noarg-constructor
     add 49d3089  ISIS-1949: comment: code does not ignore bridges
     add edce32b  ISIS-1949: unittesetsupport: add dependency on objenesis
     add 21c34ae  ISIS-1949: refining ProxyFactory API, also adding java-doc
     add 43a2034  ISIS-1949: java-doc fix
     add c856eb0  ISIS-1949: Introduces new core project: commons
     add ecc37e5  ISIS-1949: moving Internal API to commons
     add 1fbad8a  ISIS-1949: project agnostic naming for plugin java packages ...
     add 4d2a404  ISIS-1949: deprecating JavassistImposteriser ...
     add 963c08c  ISIS-1949: Aligning Internal API package names with new home 'commons'
     add 88afeba  ISIS-1949: Adds 'commons' as a module to the core pom
     add bb42507  ISIS-1949: Also aligning event-bus plugins.
     add df03029  ISIS-1903: add to gitignore /.factorypath
     add 7daacd9  ISIS-1948: setting the new 'plugin-driven' Imposteriser as default
     add daee0d9  ISIS-1948: Introduce -legacy module for 'unittestsupport'
     add 2792d6e  ISIS-1948: provides a means to load plugins not initially on classpath
     add d4fd2c8  ISIS-1948: fixes plugin class not found issues after having renamed plugins
     add 0026fe1  ISIS-1948: fixes meta-model validation failure on UrlEncodingService
     add fbf71fb  ISIS-1841 Internal API: introduces _With ...
     add 1bdf869  ISIS-1841 Internal API: polishing _With
     add c737ca1  ISIS-1841 Internal API: polishing using _With
     add 8d959e7  ISIS-1841 reorg dependencies such that 'commons' is the root of all
     add 84a55cf  ISIS-1841 further preparing for jdk 10+ build
     add d378d05  ISIS-1841 Adds FunctionalInterface variants allowing checked Exceptions
     add 5320e92  ISIS-1841 fixes java-doc
     add 179cbd7  ISIS-1841 fixes java-doc
     add d18ed11  ISIS-1954: adds JUnit 5 support
     add 3948643  ISIS-1954: fixes JUnit4 compile dependency in unittestsupport
     add 1460d1a  ISIS-1954: fixes DefaultImposteriserTest
     add 340f5e3  ISIS-1954: breaks cyclic dependencies with jassist plugin tests
     add c5d8980  ISIS-1841: moving all -legacy modules into new subfolder /core/legacy
     add 3a3fad0  ISIS-1841: update relative parent paths in moved -legacy modules
     add 5f43bd4  ISIS-1841: aligning test package names (Internal API)
     add 86a1265  ISIS-1841: further cleaning up some compiler warnings
     add 7f91912  ISIS-1955: replaces render template for tickets by programmatic markup assembly
     add d590b7e  ISIS-1955: move SimpleTicket to 'runtime' and do html escaping
     add 866b641  ISIS-1955: Introduces EmailTicket
     add 8d621268 ISIS-1841 simpleapp: bumping lombok and maven-compiler-plugin versions
     add faf535c  ISIS-1841 simpleapp: eclipse doesn't support maven mixins config
     add 3008d7b  ISIS-1950: codegen-bytebuddy plugin: first give-it-a-try implementation
     add 07c5fcf  ISIS-1950: cleaning up dependencies
     add e2ed1ff  ISIS-1950: break out unittestsupport's own tests into a new module
     add 94118a2  ISIS-1950: switching to ByteBuddy as the new default
     add ba636b8  ISIS-1950: simplify proxy-factory-plugin API
     add 0f98d71  ISIS-1950: fixes unittestsupport's own tests
     add dcb6577  ISIS-1950: remove the codegen-javassist-test module and fix tests
     add d119856  ISIS-1956: introduces _Reflect (Internal API), removes org.reflections
     add 86b1286  ISIS-1950: helloworld/simpleapp: switching to ByteBuddy as new default
     add a1fc33c  ISIS-1956: fixes java-doc
     add 2b0a89a  ISIS-1956: further java-doc fixes
     add 53a8ff7  ISIS-1956: polishing _Reflect (Internal API)
     add 90d28b1  ISIS-1951 cleanup objenesis and javassist references in POMs
     add 33c0c4f  ISIS-1277 reflective access: opens javax.xml/javax.xml.bind
     add 7431ad5  ISIS-1277 move jdk 9+ build config into separate mvn profile 'jdk9plus'
     add d8aa4a2  ISIS-1277 rename mvn profile 'jdk9plus' -> 'jdk10plus'
     add 66b7174  ISIS-1277 fixes jdk10 build
     add dabee19  ISIS-1957: fixes ServiceInjector fails to handle Generic Types
     add f34a760  ISIS-1841: add -legacy module for integtestsupport
     add 5bbd42d  ISIS-1954: integtestsupport: moving deprecated classes to -legacy
     add 6c34f96  ISIS-1954: fix some compiler warnings
     add 3e3f21d  ISIS-1954: IsisSystem: refactoring deprecated methods out into a mixin
     add 2643fa0  ISIS-1954: introduces a HeadlessTransactionSupport service
     add ddfc8cd  ISIS-1954: introduces IntegrationTestJupiter as base class for integration tests for the JUnit 5 Jupiter Engine
     add 6be7d65  ISIS-1954: enhance java-doc
     add 046a889  ISIS-1954: proposed fix for build error
     add ed3a07a  ISIS-1958: Integration Tests: allows to override default config
     add f47d31a  ISIS-1958: extending org.apache.isis.applib.Module
     add e0aa6b6  ISIS-1958: improve code readability
     add 9ec61c0  ISIS-1959: Update to Wicket 8
     add 6ba074d  ISIS-1959: removing some compiler warnings
     add 02bfd3a  ISIS-1742: new module 'transition-1-2' to ease the migration from Isis 1.16.x to 2.0.0
     add b62069d  ISIS-1959: helloworld/simpleapp: update wicket log-suppression
     add 5bf49c6  ISIS-1960: Introduces a ForkingInvocationHandler that executes actions in the background
     add 272a619  ISIS-1960: Adding background error handling
     add 7b0fafa  ISIS-1961: intercepting by 'magic text' handling tomcat-9 and payara-4
     add 71c9f86  ISIS-1950: byte-buddy requires any loaded proxy class to have a unique name
     add ee96209  ISIS-1954: migrate simple-app tests to JUnit 5
     add 6ba1083  ISIS-1948: excluding transitive dependencies from 'discovery-reflections' plugin
     add 9cadffe  ISIS-1948: reverting javassist dependency removal
     add f1968ce  ISIS-1916: adds flattened-pom plugin for helloworld
     add d7fefd3  ISIS-1963: workaround the issue by selective exception suppression
     add bbdad22  ISIS-1960: applib: remove BackgroundService2 and BackgroundCommandService2
     add 294ffec  ISIS-1960: add removed interfaces to module 'transition'
     add 9332cdd  ISIS-1960: Action background execution built-in default:
     add ce0968e  ISIS-1960: moving TransactionServiceDefault 'metamodel' -> 'runtime'
     add f0330f6  ISIS-1960: Action background execution: propagate the current auth-session instead of creating a new
     add 65bc5bd  ISIS-1810: minor tidy up of pom.xml
     add 497d592  ISIS-1810: fixes syntax error in .gitlab-ci.yml
     add 907f87b  Fixed missing images in powered-by_contactapp.adoc (#112)
     add 8c216fc  ISIS-1841 automated source cleanup
     add c873e03  Merge branch 'master' of https://github.com/apache/isis
     add 77a2c76  ISIS-1899: adds current-event to home page
     add 28f7f59  ISIS-1916: minor doc updates
     add 56ed13e  ISIS-1916: adds missing annotation for HelloWorldObjects archetype
     add a77b2ae  ISIS-1965: uses , adds .gitlab-ci.yml
     add 210fd1e  ISIS-1965: fixes invalid .gitlab-ci.yml
     add f4825d6  ISIS-1965: fixes for simpleapp Docker image build
     add a0857dc  ISIS-1965: updates apps to use repo.incode.cloud rather than cloudbees
     add 8f0c53a  ISIS-1965: bumps to 2.5 of incode-build
     add 7cd9b4a  Merges in changes from maint-1.16.2, bumps dependency on incode-build to v7.
     add 9128edb  fixes merge issue from previous commit
     add c61f11a  ISIS-1810: fixes RAT errors prior to M1 release
     add 774e04b  ISIS-1810: updates supplemental data models
     add fcd07db  ISIS-1810: updates to latest version of release plugin.
     add ad567d6  ISIS-1810: updates archetypes to use
     add 3aee989  ISIS-1954: adds BootstrappingGlueAbstract for BDD tests on Junit 5
     add d6815a6  ISIS-1810: moves source-plugin into a mvn profile
     add f2ce4c9  ISIS-1810: uncomments @Column on @Name annotation for simpleapp
     add daca965  ISIS-898: fixes classcast exception with TreePanel.
     add 1d2170e  ISIS-1632: adds meta-annotation support for Jdo @Column and others
     add 9fbd675  ISIS-1632: moves @Column entirely to @Name for SimpleObject#name
     add 50500e2  ISIS-1810: cleans up use of Lombok annotations on SimpleObject
     add 5177bac  ISIS-1810: java-doc improvements
     add a009d31  ISIS-1810: allows gpg passphrase to be specified on command line
     add b6c4c59  ISIS-1969: adds webdocker module
     add 890558d  ISIS-1969: adds configuration to deploy helloworld and simpleapp to a Tomcat instance
     add 0557a4c  ISIS-1969: updates helloworld and simpleapp to optionally build skinny wars
     add 71150b5  ISIS-1810: changes helloworld to use axon rather than guava; removes duplicate dependency.
     add c41aac9  ISIS-1810: updates release procedures
     add f00996b  ISIS-1810: further updates for release procedure
     add a922053  ISIS-1810: disables doclint if building on JDK 8+
     add 003b3c5  ISIS-1810: updates script to recreate archetypes
     add 4622b57  ISIS-1810: recreating simpleapp archetype
     add 85cb362  ISIS-1810: recreating simpleapp archetype
     add 52f69b0  ISIS-1810: improvements for generating archetypes
     add c5038ae  ISIS-1810: recreating simpleapp archetype
     add 2b483d0  ISIS-1810: recreating helloworld archetype
     add 63c2856  Merge branch 'release-2.0.0-M1-RC1'
     add e02343e  ISIS-1966: introduces RepresentsInteractionMemberExecution as an extension of HasTransactionId
     add 5d9f4f7  ISIS-1899: tidying up .gitignore for sqljdbc4
     add 321e618  ISIS-1966: Merge branch 'maint-1.16.2'
     add e36a412  ISIS-1966: fixes compile issue from merge
     add 7786b4a  ISIS-1810: tiny edits for docs (typo, release procedures)
     add e470881  ISIS-1810: tiny edits for docs (typo, release procedures)
     add da142c1  ISIS-1810: adds missing license headers.  Also uses official tomcat image as base for simpleapp's Docker image
     add 34b6f90  Update _cgcom_verifying-releases.adoc
     add 7b1b416  Merge branch 'master' of https://github.com/apache/isis
     add d7b80b5  ISISJIRA: bumps revision property across all pom.xml's to 2.0.0-M1
     add 6058f70  ISIS-1810: further updates to release procedures
     add 6b11a1e  ISIS-1810: recreating simpleapp archetype
     add d50e445  ISIS-1810: further updates to release procedure
     add f555b81  ISIS-1810: further updates to release procedures
     add a359403  ISIS-1810: recreating helloworld archetype
     add 36919bb  ISIS-1810: doc updates
     add d09fd41  Merge branch 'release-2.0.0-M1-RC2'
     new a3b5b95  ISIS-1810: working on migration notes for 2.0.0-M1

The 1 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:
 .gitignore                                         |    2 +
 .gitlab-ci.yml                                     |   72 +-
 README.adoc                                        |    2 +
 adocs/documentation/pom.xml                        |   22 +-
 .../cgcom/_cgcom_asciidoc-publish-procedure.adoc   |    2 +-
 .../guides/cgcom/_cgcom_cutting-a-release.adoc     |  423 +--
 ...cgcom_release-process-for-interim-releases.adoc |    4 +-
 .../guides/cgcom/_cgcom_verifying-releases.adoc    |   14 +-
 .../guides/rgant/_rgant-Collection_editing.adoc    |    5 +-
 .../main/asciidoc/guides/rgant/_rgant-Column.adoc  |   12 +-
 .../main/asciidoc/guides/rgant/_rgant-Parent.adoc  |   13 -
 .../guides/rgant/_rgant-PropertyLayout.adoc        |    8 +-
 .../rgant/_rgant-PropertyLayout_navigable.adoc     |   26 +
 .../guides/rgant/_rgant-Property_editing.adoc      |    6 +-
 .../main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc |    6 +-
 .../src/main/asciidoc/guides/rgant/rgant.adoc      |    1 -
 .../rgcms/_rgcms_methods_reserved_title.adoc       |    2 +-
 ...mainObjectContainer_object-persistence-api.adoc |    2 +-
 .../main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc   |  135 +-
 .../guides/ugbtb/_ugbtb_deployment_gae.adoc        |    2 +-
 ..._ugfun_getting-started_simpleapp-archetype.adoc |   69 +-
 .../images/getting-started/dockerhub-tags.png      |  Bin 0 -> 52693 bytes
 .../guides/ugvro/_ugvro_layout-resources.adoc      |   27 +-
 .../ugvw/_ugvw_features_titles-in-tables.adoc      |    2 +-
 .../guides/ugvw/_ugvw_features_where-am-i.adoc     |   21 +-
 .../ugvw/_ugvw_menubars-layout_file-based.adoc     |    2 +-
 adocs/documentation/src/main/asciidoc/index.html   |   78 +-
 .../_migration-notes_1.16.0-to-2.0.0-M1.adoc       |  541 +++
 .../_migration-notes_1.16.0-to-2.0.0.adoc          |  223 --
 .../cheat-sheet/images/cheat-sheets/cover.png      |  Bin 329323 -> 247362 bytes
 .../resources/cheat-sheets/IsisCheatSheet.docx     |  Bin 14368 -> 14385 bytes
 .../resources/cheat-sheets/IsisCheatSheet.pdf      |  Bin 77309 -> 77675 bytes
 .../pages/powered-by/_powered-by_contactapp.adoc   |   12 +-
 .../release-notes/_release-notes_2.0.0-M1.adoc     |  139 +
 .../release-notes/_release-notes_2.0.0.adoc        |    9 -
 .../main/asciidoc/release-notes/release-notes.adoc |    9 +
 adocs/template/document.html.erb                   |   14 +-
 core/.m2/settings.xml                              |   22 +
 core/applib-legacy/pom.xml                         |  109 -
 ...aseEncodingWithSupportForLargeUrlsAbstract.java |   70 -
 .../java/org/apache/isis/applib/util/Clause.java   |  125 -
 .../isis/applib/util/ObjectContractsLegacy.java    |  286 --
 ...ectContractsLegacyTest_equals_and_hashCode.java |  124 -
 core/applib/pom.xml                                |   66 +-
 .../org/apache/isis/applib/AbstractSubscriber.java |   12 +-
 .../org/apache/isis/applib/AbstractViewModel.java  |    7 +-
 .../java/org/apache/isis/applib/AppManifest.java   |   12 +-
 .../apache/isis/applib/AppManifestAbstract.java    |   28 +-
 .../apache/isis/applib/AppManifestAbstract2.java   |    3 +
 .../apache/isis/applib/ApplicationException.java   |   12 +-
 .../org/apache/isis/applib/FatalException.java     |    6 +-
 .../java/org/apache/isis/applib/Identifier.java    |   16 +-
 .../org/apache/isis/applib/IsisApplibModule.java   |   39 +-
 .../main/java/org/apache/isis/applib/Module.java   |   46 +-
 .../org/apache/isis/applib/ModuleAbstract.java     |   18 +-
 .../isis/applib/ModuleOrBuilderAbstract.java       |   43 +-
 .../isis/applib/NonRecoverableException.java       |   51 +-
 .../apache/isis/applib/PersistFailedException.java |    8 +-
 .../apache/isis/applib/RecoverableException.java   |   40 +-
 .../isis/applib/RecreatableDomainObject.java       |    4 +-
 .../apache/isis/applib/RepositoryException.java    |    6 +-
 .../java/org/apache/isis/applib/ViewModel.java     |    4 +-
 .../isis/applib/adapters/DefaultsProvider.java     |    6 +-
 .../isis/applib/adapters/EncoderDecoder.java       |   12 +-
 .../org/apache/isis/applib/adapters/Parser.java    |   16 +-
 .../applib/adapters/ValueSemanticsProvider.java    |   22 +-
 .../apache/isis/applib/adapters/package-info.java  |    6 +-
 .../org/apache/isis/applib/annotation/Action.java  |    4 +-
 .../isis/applib/annotation/ActionLayout.java       |    4 +-
 .../isis/applib/annotation/BookmarkPolicy.java     |    2 +-
 .../apache/isis/applib/annotation/Collection.java  |    4 +-
 .../apache/isis/applib/annotation/Contributed.java |    2 +-
 .../apache/isis/applib/annotation/Defaulted.java   |   10 +-
 .../isis/applib/annotation/DomainObject.java       |   30 +-
 .../isis/applib/annotation/DomainObjectLayout.java |    8 +-
 .../isis/applib/annotation/EqualByContent.java     |    8 +-
 .../org/apache/isis/applib/annotation/Facets.java  |    6 +-
 .../apache/isis/applib/annotation/HomePage.java    |    2 +-
 .../isis/applib/annotation/LabelPosition.java      |    2 +-
 .../isis/applib/annotation/MemberGroupLayout.java  |   30 +-
 .../org/apache/isis/applib/annotation/Mixin.java   |    2 +-
 .../apache/isis/applib/annotation/Navigable.java   |   44 +
 .../org/apache/isis/applib/annotation/Parent.java  |   34 -
 .../isis/applib/annotation/Programmatic.java       |    4 +-
 .../apache/isis/applib/annotation/PromptStyle.java |    2 +-
 .../apache/isis/applib/annotation/Property.java    |    4 +-
 .../isis/applib/annotation/PropertyLayout.java     |    2 +
 .../apache/isis/applib/annotation/RenderDay.java   |    2 +-
 .../apache/isis/applib/annotation/Repainting.java  |    2 +-
 .../org/apache/isis/applib/annotation/Value.java   |   14 +-
 .../org/apache/isis/applib/annotation/Where.java   |   36 +-
 .../java/org/apache/isis/applib/clock/Clock.java   |   14 +-
 .../org/apache/isis/applib/clock/package-info.java |    8 +-
 .../conmap/ContentMappingServiceForCommandDto.java |    6 +-
 .../ContentMappingServiceForCommandsDto.java       |    5 +-
 .../isis/applib/domain/DomainObjectList.java       |   58 +-
 .../applib/events/domain/AbstractDomainEvent.java  |  336 ++
 .../applib/events/domain/ActionDomainEvent.java    |  220 ++
 .../events/domain/CollectionDomainEvent.java       |  147 +
 .../applib/events/domain/PropertyDomainEvent.java  |  124 +
 .../events/lifecycle/AbstractLifecycleEvent.java   |   64 +
 .../events/lifecycle/ObjectCreatedEvent.java       |   71 +
 .../applib/events/lifecycle/ObjectLoadedEvent.java |   73 +
 .../events/lifecycle/ObjectPersistedEvent.java     |   71 +
 .../events/lifecycle/ObjectPersistingEvent.java    |   71 +
 .../events/lifecycle/ObjectRemovingEvent.java      |   71 +
 .../events/lifecycle/ObjectUpdatedEvent.java       |   71 +
 .../events/lifecycle/ObjectUpdatingEvent.java      |   71 +
 .../isis/applib/events/ui/AbstractUiEvent.java     |   98 +
 .../isis/applib/events/ui/CssClassUiEvent.java     |  102 +
 .../apache/isis/applib/events/ui/IconUiEvent.java  |  101 +
 .../apache/isis/applib/events/ui/TitleUiEvent.java |  129 +
 .../apache/isis/applib/fixtures/FixtureClock.java  |   24 +-
 .../apache/isis/applib/fixtures/FixtureType.java   |    8 +-
 .../apache/isis/applib/fixtures/LogonFixture.java  |   10 +-
 .../apache/isis/applib/fixtures/package-info.java  |   10 +-
 .../fixturescripts/BuilderScriptAbstract.java      |   10 +-
 .../fixturescripts/DiscoverableFixtureScript.java  |   12 +-
 .../applib/fixturescripts/ExecutionParameters.java |   20 +-
 .../fixturescripts/ExecutionParametersService.java |    2 +-
 .../isis/applib/fixturescripts/FixtureResult.java  |   14 +-
 .../applib/fixturescripts/FixtureResultList.java   |   18 +-
 .../isis/applib/fixturescripts/FixtureScript.java  |   75 +-
 .../isis/applib/fixturescripts/FixtureScripts.java |  106 +-
 .../applib/fixturescripts/SimpleFixtureScript.java |    2 +-
 .../fixturescripts/clock/TickingClockFixture.java  |    6 +-
 .../setup/PersonaEnumPersistAll.java               |    6 +-
 .../teardown/TeardownFixtureAbstract.java          |    6 +-
 .../teardown/TeardownFixtureAbstract2.java         |   12 +-
 .../apache/isis/applib/internal/_Constants.java    |   59 -
 .../apache/isis/applib/internal/base/_Bytes.java   |  250 --
 .../internal/base/_Bytes_GZipCompressor.java       |   65 -
 .../internal/base/_Bytes_GZipCompressorSmart.java  |   74 -
 .../apache/isis/applib/internal/base/_Casts.java   |   43 -
 .../isis/applib/internal/base/_NullSafe.java       |  181 -
 .../apache/isis/applib/internal/base/_Strings.java |  365 --
 .../internal/base/_Strings_NaturalNames.java       |   94 -
 .../internal/base/_Strings_SplitIterator.java      |   73 -
 .../isis/applib/internal/base/package-info.java    |   28 -
 .../isis/applib/internal/collections/_Lists.java   |  129 -
 .../isis/applib/internal/collections/_Maps.java    |  118 -
 .../applib/internal/collections/_Multimaps.java    |  229 --
 .../isis/applib/internal/collections/_Sets.java    |  143 -
 .../applib/internal/collections/package-info.java  |   28 -
 .../isis/applib/internal/compare/_Comparators.java |   53 -
 .../compare/_Comparators_SequenceCompare.java      |  109 -
 .../isis/applib/internal/compare/package-info.java |   28 -
 .../isis/applib/internal/context/_Context.java     |  240 --
 .../isis/applib/internal/context/_Plugin.java      |  127 -
 .../isis/applib/internal/context/package-info.java |   28 -
 .../isis/applib/internal/discover/_Discover.java   |   79 -
 .../applib/internal/discover/package-info.java     |   28 -
 .../applib/internal/exceptions/_Exceptions.java    |  140 -
 .../applib/internal/exceptions/package-info.java   |   28 -
 .../apache/isis/applib/internal/package-info.java  |   28 -
 .../isis/applib/internal/resources/_Resource.java  |  134 -
 .../internal/resources/_Resource_ContextPath.java  |   43 -
 .../applib/internal/resources/_Resource_Path.java  |   62 -
 .../internal/resources/_Resource_RestfulPath.java  |   43 -
 .../applib/internal/resources/package-info.java    |   28 -
 .../applib/layout/component/ActionLayoutData.java  |   21 +-
 .../layout/component/CollectionLayoutData.java     |   17 +-
 .../layout/component/DomainObjectLayoutData.java   |   17 +-
 .../isis/applib/layout/component/FieldSet.java     |   15 +-
 .../layout/component/PropertyLayoutData.java       |   17 +-
 .../layout/component/ServiceActionLayoutData.java  |   30 +-
 .../isis/applib/layout/component/package-info.java |    2 +-
 .../isis/applib/layout/grid/GridAbstract.java      |   10 +-
 .../applib/layout/grid/bootstrap3/BS3ClearFix.java |    3 +-
 .../layout/grid/bootstrap3/BS3ClearFixHidden.java  |    4 +-
 .../layout/grid/bootstrap3/BS3ClearFixVisible.java |    4 +-
 .../isis/applib/layout/grid/bootstrap3/BS3Col.java |   35 +-
 .../layout/grid/bootstrap3/BS3ElementAbstract.java |    5 +-
 .../applib/layout/grid/bootstrap3/BS3Grid.java     |   20 +-
 .../isis/applib/layout/grid/bootstrap3/BS3Row.java |   15 +-
 .../isis/applib/layout/grid/bootstrap3/BS3Tab.java |    9 +-
 .../applib/layout/grid/bootstrap3/BS3TabGroup.java |    9 +-
 .../applib/layout/grid/bootstrap3/SizeSpan.java    |   10 +-
 .../org/apache/isis/applib/layout/links/Link.java  |   16 +-
 .../isis/applib/layout/links/package-info.java     |    4 +-
 .../applib/layout/menubars/MenuBarsAbstract.java   |    9 +-
 .../applib/layout/menubars/bootstrap3/BS3Menu.java |   11 +-
 .../layout/menubars/bootstrap3/BS3MenuBar.java     |    6 +-
 .../layout/menubars/bootstrap3/BS3MenuBars.java    |   23 +-
 .../layout/menubars/bootstrap3/BS3MenuSection.java |    6 +-
 .../layout/menubars/bootstrap3/package-info.java   |    4 +-
 .../org/apache/isis/applib/mixins/dto/Dto.java     |   21 +
 .../isis/applib/mixins/dto/DtoMappingHelper.java   |   68 +
 .../isis/applib/mixins/dto/Dto_downloadXml.java    |   70 +
 .../isis/applib/mixins/dto/Dto_downloadXsd.java    |  132 +
 .../org/apache/isis/applib/mixins/dto/Util.java    |   33 +
 .../isis/applib/mixins/dto/package-info.java       |   28 +
 .../mixins/layout/Object_downloadLayoutXml.java    |   79 +
 .../applib/mixins/layout/Object_openRestApi.java   |   73 +
 .../mixins/layout/Object_rebuildMetamodel.java     |   63 +
 .../applib/mixins/timestamp/HoldsUpdatedAt.java    |   23 +
 .../applib/mixins/timestamp/HoldsUpdatedBy.java    |   23 +
 .../applib/mixins/timestamp/Timestampable.java     |   20 +
 .../isis/applib/mixins/timestamp/package-info.java |   25 +
 .../java/org/apache/isis/applib/package-info.java  |    8 +-
 .../plugins/classdiscovery/ClassDiscovery.java     |   55 -
 .../classdiscovery/ClassDiscoveryPlugin.java       |   69 -
 .../java/org/apache/isis/applib/query/Query.java   |   17 +-
 .../apache/isis/applib/query/QueryAbstract.java    |   10 +-
 .../org/apache/isis/applib/query/QueryDefault.java |    2 +-
 .../isis/applib/query/QueryFindAllInstances.java   |    2 +-
 .../org/apache/isis/applib/query/package-info.java |    4 +-
 .../apache/isis/applib/security/UserMemento.java   |   20 +-
 .../apache/isis/applib/security/package-info.java  |    8 +-
 .../apache/isis/applib/services/HasUsername.java   |    6 +-
 .../RepresentsInteractionMemberExecution.java      |   35 +
 .../services/actinvoc/ActionInvocationContext.java |    2 +-
 .../services/appfeat/ApplicationMemberType.java    |    2 +-
 .../services/audit/AuditerServiceLogging.java      |    4 +-
 .../background/BackgroundCommandService.java       |   10 +
 .../background/BackgroundCommandService2.java      |   35 -
 .../services/background/BackgroundService.java     |   10 +-
 .../services/background/BackgroundService2.java    |   33 -
 .../isis/applib/services/bookmark/Bookmark.java    |   18 +-
 .../services/bookmark/BookmarkHolder_lookup.java   |    6 +-
 .../services/bookmark/BookmarkHolder_object.java   |    8 +-
 .../applib/services/bookmark/BookmarkService.java  |    3 +-
 .../ClassDiscoveryServiceDefault.java              |   46 +-
 .../isis/applib/services/clock/ClockService.java   |    4 +-
 .../isis/applib/services/command/Command.java      |   98 +-
 .../applib/services/command/CommandContext.java    |    4 +-
 .../applib/services/command/CommandDefault.java    |  112 +-
 .../CommandDtoProcessorForPropertyAbstract.java    |    2 +-
 .../services/command/spi/CommandService.java       |    6 +-
 .../services/config/ConfigurationProperty.java     |   16 +-
 .../services/config/ConfigurationServiceMenu.java  |   19 +-
 .../services/conmap/ContentMappingService.java     |   10 +-
 .../org/apache/isis/applib/services/dto/Dto.java   |   21 -
 .../isis/applib/services/dto/DtoMappingHelper.java |   68 -
 .../isis/applib/services/dto/Dto_downloadXml.java  |   67 -
 .../isis/applib/services/dto/Dto_downloadXsd.java  |  129 -
 .../org/apache/isis/applib/services/dto/Util.java  |   33 -
 .../isis/applib/services/dto/package-info.java     |   28 -
 .../apache/isis/applib/services/error/Ticket.java  |   68 +-
 .../services/eventbus/AbstractDomainEvent.java     |  336 --
 .../services/eventbus/AbstractLifecycleEvent.java  |   64 -
 .../applib/services/eventbus/AbstractUiEvent.java  |   98 -
 .../services/eventbus/ActionDomainEvent.java       |  220 --
 .../services/eventbus/CollectionDomainEvent.java   |  147 -
 .../applib/services/eventbus/CssClassUiEvent.java  |  102 -
 .../services/eventbus/EventBusImplementation.java  |   65 -
 .../applib/services/eventbus/EventBusService.java  |   53 +-
 .../isis/applib/services/eventbus/IconUiEvent.java |  101 -
 .../services/eventbus/ObjectCreatedEvent.java      |   71 -
 .../services/eventbus/ObjectLoadedEvent.java       |   73 -
 .../services/eventbus/ObjectPersistedEvent.java    |   71 -
 .../services/eventbus/ObjectPersistingEvent.java   |   71 -
 .../services/eventbus/ObjectRemovingEvent.java     |   71 -
 .../services/eventbus/ObjectUpdatedEvent.java      |   71 -
 .../services/eventbus/ObjectUpdatingEvent.java     |   71 -
 .../services/eventbus/PropertyDomainEvent.java     |  124 -
 .../applib/services/eventbus/TitleUiEvent.java     |  129 -
 .../services/exceprecog/ExceptionRecognizer.java   |   14 +-
 .../exceprecog/ExceptionRecognizerAbstract.java    |   69 +-
 .../exceprecog/ExceptionRecognizerComposite.java   |   18 +-
 .../exceprecog/ExceptionRecognizerForType.java     |   94 +-
 ...eptionRecognizerCompositeForJdoObjectStore.java |    5 +-
 ...xceptionRecognizerForJDODataStoreException.java |    4 +-
 ...traintViolationForeignKeyNoActionException.java |   16 +-
 ...ionRecognizerForJDOObjectNotFoundException.java |    6 +-
 ...yConstraintViolationUniqueOrIndexException.java |   16 +-
 .../applib/services/factory/FactoryService.java    |    4 +-
 .../fixturespec/FixtureScriptsDefault.java         |   43 +-
 .../fixturespec/FixtureScriptsSpecification.java   |    2 +-
 .../FixtureScriptsSpecificationProvider.java       |    2 +-
 .../isis/applib/services/grid/GridService.java     |    4 +-
 .../applib/services/grid/GridSystemService.java    |    6 +-
 .../isis/applib/services/hint/HintStore.java       |    2 +
 .../applib/services/hsqldb/HsqlDbManagerMenu.java  |   16 +-
 .../applib/services/i18n/TranslatableString.java   |   16 +-
 .../applib/services/i18n/TranslationService.java   |   28 +-
 .../isis/applib/services/iactn/Interaction.java    |   38 +-
 .../applib/services/iactn/InteractionContext.java  |    4 +-
 .../jaxb/CatalogingSchemaOutputResolver.java       |    4 +-
 .../isis/applib/services/jaxb/JaxbService.java     |   19 +-
 .../applib/services/jaxb/JaxbServiceDefault.java   |    4 +-
 .../applib/services/jdosupport/IsisJdoSupport.java |   92 +
 .../services/jdosupport/IsisJdoSupport0.java       |  135 -
 .../applib/services/layout/LayoutServiceMenu.java  |   21 +-
 .../services/layout/Object_downloadLayoutXml.java  |   70 -
 .../applib/services/layout/Object_openRestApi.java |   70 -
 .../services/layout/Object_rebuildMetamodel.java   |   60 -
 .../apache/isis/applib/services/layout/Util.java   |   33 -
 .../applib/services/memento/MementoService.java    |  117 -
 .../services/metamodel/MetaModelServicesMenu.java  |   36 +-
 .../applib/services/metamodel/package-info.java    |    2 +-
 .../applib/services/metrics/MetricsService.java    |    4 -
 .../services/publish/PublisherServiceLogging.java  |   21 +-
 .../queryresultscache/QueryResultCacheControl.java |    4 +-
 .../queryresultscache/QueryResultsCache.java       |   28 +-
 .../QueryResultsCacheControlInternal.java          |   61 +
 .../QueryResultsCacheInternal.java                 |   45 +-
 .../services/repository/RepositoryService.java     |    6 +-
 .../services/routing/RoutingServiceDefault.java    |    2 +-
 .../applib/services/scratchpad/Scratchpad.java     |   10 +-
 .../applib/services/swagger/SwaggerService.java    |    2 +-
 .../services/swagger/SwaggerServiceMenu.java       |   33 +-
 .../services/tablecol/TableColumnOrderService.java |    2 +-
 .../applib/services/timestamp/HoldsUpdatedAt.java  |   23 -
 .../applib/services/timestamp/HoldsUpdatedBy.java  |   23 -
 .../applib/services/timestamp/Timestampable.java   |   20 -
 .../applib/services/timestamp/package-info.java    |   25 -
 .../services/urlencoding/UrlEncodingService.java   |   22 +-
 .../UrlEncodingServiceUsingBaseEncoding.java       |   43 -
 ...rlEncodingServiceUsingBaseEncodingAbstract.java |   42 +
 .../UrlEncodingServiceWithCompression.java         |   57 +
 .../UrlEncodingServiceWithCompressionAbstract.java |   26 -
 .../isis/applib/services/userreg/UserDetails.java  |    2 +
 .../userreg/events/EmailRegistrationEvent.java     |    2 +-
 .../services/wrapper/InteractionException.java     |    8 +-
 .../applib/services/wrapper/InvalidException.java  |    4 +-
 .../applib/services/wrapper/WrapperFactory.java    |   42 +-
 .../services/wrapper/events/AccessEvent.java       |    6 +-
 .../wrapper/events/ActionArgumentEvent.java        |   12 +-
 .../wrapper/events/ActionInvocationEvent.java      |    4 +-
 .../wrapper/events/ActionUsabilityEvent.java       |    2 +-
 .../wrapper/events/ActionVisibilityEvent.java      |    2 +-
 .../wrapper/events/CollectionAccessEvent.java      |    2 +-
 .../wrapper/events/CollectionAddToEvent.java       |    6 +-
 .../wrapper/events/CollectionMethodEvent.java      |    8 +-
 .../wrapper/events/CollectionRemoveFromEvent.java  |    4 +-
 .../wrapper/events/CollectionUsabilityEvent.java   |    2 +-
 .../wrapper/events/CollectionVisibilityEvent.java  |    2 +-
 .../services/wrapper/events/InteractionEvent.java  |   34 +-
 .../services/wrapper/events/ObjectTitleEvent.java  |    2 +-
 .../wrapper/events/ObjectValidityEvent.java        |    2 +-
 .../wrapper/events/ObjectVisibilityEvent.java      |    2 +-
 .../services/wrapper/events/ParseValueEvent.java   |    2 +-
 .../wrapper/events/PropertyAccessEvent.java        |    2 +-
 .../wrapper/events/PropertyModifyEvent.java        |    4 +-
 .../wrapper/events/PropertyUsabilityEvent.java     |    2 +-
 .../wrapper/events/PropertyVisibilityEvent.java    |    2 +-
 .../services/wrapper/events/UsabilityEvent.java    |    4 +-
 .../services/wrapper/events/ValidityEvent.java     |   10 +-
 .../services/wrapper/events/VisibilityEvent.java   |    4 +-
 .../wrapper/listeners/InteractionListener.java     |   54 +-
 .../isis/applib/services/xactn/Transaction.java    |   14 -
 .../applib/services/xactn/TransactionService.java  |    8 +
 .../services/xmlsnapshot/XmlSnapshotService.java   |   10 +-
 .../xmlsnapshot/XmlSnapshotServiceAbstract.java    |    9 +-
 .../apache/isis/applib/snapshot/package-info.java  |   10 +-
 .../isis/applib/spec/AbstractSpecification.java    |    6 +-
 .../isis/applib/spec/AbstractSpecification2.java   |   11 +-
 .../apache/isis/applib/spec/SpecificationAnd.java  |    8 +-
 .../apache/isis/applib/spec/SpecificationNot.java  |   10 +-
 .../apache/isis/applib/spec/SpecificationOr.java   |    8 +-
 .../org/apache/isis/applib/spec/package-info.java  |    8 +-
 .../org/apache/isis/applib/tree/LazyTreeNode.java  |  135 +
 .../org/apache/isis/applib/tree/TreeAdapter.java   |   32 +
 .../java/org/apache/isis/applib/tree/TreeNode.java |  155 +
 .../applib/tree/TreeNode_iteratorBreadthFirst.java |   60 +
 .../applib/tree/TreeNode_iteratorDepthFirst.java   |   71 +
 .../applib/tree/TreeNode_iteratorHierarchyUp.java  |   53 +
 .../java/org/apache/isis/applib/tree/TreePath.java |   60 +
 .../apache/isis/applib/tree/TreePath_Default.java  |   90 +
 .../org/apache/isis/applib/tree/TreeState.java     |   32 +
 .../apache/isis/applib/tree/TreeState_Default.java |   34 +
 .../org/apache/isis/applib/types/package-info.java |    2 +-
 .../java/org/apache/isis/applib/util/Enums.java    |   24 +-
 .../java/org/apache/isis/applib/util/Equality.java |   84 +-
 .../java/org/apache/isis/applib/util/Hashing.java  |   80 +-
 .../java/org/apache/isis/applib/util/JaxbUtil.java |   20 +-
 .../isis/applib/util/ObjectContract_Empty.java     |  124 +-
 .../isis/applib/util/ObjectContract_Impl.java      |  138 +-
 .../isis/applib/util/ObjectContract_Parser.java    |  266 +-
 .../apache/isis/applib/util/ObjectContracts.java   |  330 +-
 .../org/apache/isis/applib/util/ReasonBuffer.java  |    4 +-
 .../org/apache/isis/applib/util/TitleBuffer.java   |   22 +-
 .../java/org/apache/isis/applib/util/ToString.java |  126 +-
 .../org/apache/isis/applib/util/package-info.java  |   12 +-
 .../java/org/apache/isis/applib/value/Blob.java    |   24 +-
 .../java/org/apache/isis/applib/value/Clob.java    |   16 +-
 .../java/org/apache/isis/applib/value/Color.java   |    2 +-
 .../isis/applib/value/LocalResourcePath.java       |   54 +-
 .../java/org/apache/isis/applib/value/Markup.java  |   28 +-
 .../isis/applib/value/NamedWithMimeType.java       |    2 +-
 .../org/apache/isis/applib/value/package-info.java |    8 +-
 .../apache/isis/schema/utils/ChangesDtoUtils.java  |   11 +-
 .../apache/isis/schema/utils/CommandDtoUtils.java  |    6 +-
 .../apache/isis/schema/utils/CommonDtoUtils.java   |  108 +-
 .../isis/schema/utils/InteractionDtoUtils.java     |  804 ++---
 .../isis/schema/utils/MemberExecutionDtoUtils.java |    2 +-
 .../jaxbadapters/PersistentEntitiesAdapter.java    |    2 +-
 .../Module_Util_transitiveDependenciesOf_Test.java |   30 +-
 .../isis/applib/events/InteractionEventTest.java   |   16 +-
 .../ExecutionParameters_AsKeyValueMap_Test.java    |   16 +
 .../isis/applib/internal/base/BytesTest.java       |  201 --
 .../isis/applib/internal/base/NullSafeTest.java    |  116 -
 .../isis/applib/internal/base/StringsTest.java     |  305 --
 .../applib/internal/compare/ComparatorsTest.java   |  156 -
 ...ropertyLayoutData_renderedAsDayBefore_Test.java |   16 +
 .../component/PropertyLayoutData_repaint_Test.java |   16 +
 .../command/CommandContractTestAbstract.java       |    3 +-
 .../eventbus/AbstractDomainEvent_veto_Test.java    |    7 +-
 ...onRecognizerCompositeForJdoObjectStoreTest.java |    2 +-
 .../services/i18n/TranslatableStringTest.java      |   12 +-
 .../urlencoding/UrlEncodingServiceTest.java        |   64 +
 ...codingServiceWithCompression_Abstract_Test.java |   35 -
 .../XmlSnapshotServiceAbstractTest.java            |    2 +-
 .../org/apache/isis/applib/tree/TreePathTest.java  |   47 +
 .../ObjectContractsTest_equals_and_hashCode.java   |    6 +-
 .../isis/commons/internal/base/BytesTest.java      |  203 ++
 .../isis/commons/internal/base/NullSafeTest.java   |  118 +
 .../isis/commons/internal/base/ReductionTest.java  |   74 +
 .../isis/commons/internal/base/StringsTest.java    |  307 ++
 .../commons/internal/compare/ComparatorsTest.java  |  157 +
 .../commons/internal/memento/MementosTest.java     |  136 +
 .../utils/CommonDtoUtils_setValueOn_Test.java      |   87 +
 .../org/apache/isis/schema/utils/Roundtrip.java    |    3 +-
 .../.gitignore                                     |    0
 core/commons/pom.xml                               |   76 +
 .../apache/isis/commons/internal/_Constants.java   |   71 +
 .../apache/isis/commons/internal/base/_Bytes.java  |  245 ++
 .../internal/base/_Bytes_GZipCompressor.java       |   65 +
 .../internal/base/_Bytes_GZipCompressorSmart.java  |   74 +
 .../apache/isis/commons/internal/base/_Casts.java  |   66 +
 .../apache/isis/commons/internal/base/_Lazy.java   |   79 +
 .../isis/commons/internal/base/_NullSafe.java      |  212 ++
 .../isis/commons/internal/base/_Reduction.java     |   99 +
 .../isis/commons/internal/base/_Strings.java       |  392 +++
 .../internal/base/_Strings_NaturalNames.java       |   94 +
 .../internal/base/_Strings_SplitIterator.java      |   73 +
 .../apache/isis/commons/internal/base/_With.java   |  243 ++
 .../isis/commons/internal/base/package-info.java   |   28 +
 .../isis/commons/internal/collections/_Arrays.java |  181 +
 .../internal/collections/_Arrays_Collector.java    |   99 +
 .../collections/_Arrays_CollectorUnknownSize.java  |   82 +
 .../commons/internal/collections/_Collections.java |  312 ++
 .../collections/_Collections_Collector.java        |   80 +
 .../collections/_Collections_SortedSetOfList.java  |  152 +
 .../isis/commons/internal/collections/_Lists.java  |  160 +
 .../isis/commons/internal/collections/_Maps.java   |  118 +
 .../commons/internal/collections/_Multimaps.java   |  229 ++
 .../isis/commons/internal/collections/_Sets.java   |  211 ++
 .../commons/internal/collections/package-info.java |   28 +
 .../commons/internal/compare/_Comparators.java     |   53 +
 .../compare/_Comparators_SequenceCompare.java      |  109 +
 .../commons/internal/compare/package-info.java     |   28 +
 .../isis/commons/internal/context/_Context.java    |  249 ++
 .../isis/commons/internal/context/_Plugin.java     |  184 ++
 .../commons/internal/context/package-info.java     |   28 +
 .../commons/internal/exceptions/_Exceptions.java   |  287 ++
 .../commons/internal/exceptions/package-info.java  |   28 +
 .../commons/internal/functions/_Functions.java     |  183 ++
 .../_Functions_IndexAwareFunctionAdapter.java      |   44 +
 .../commons/internal/functions/package-info.java   |   28 +
 .../isis/commons/internal/memento/_Mementos.java   |  158 +
 .../internal/memento/_Mementos_MementoDefault.java |  132 +
 .../commons/internal/memento/package-info.java     |   28 +
 .../apache/isis/commons/internal/package-info.java |   28 +
 .../isis/commons/internal/reflection/_Reflect.java |  168 +
 .../commons/internal/reflection/package-info.java  |   28 +
 .../isis/commons/internal/resources/_Resource.java |  152 +
 .../internal/resources/_Resource_ContextPath.java  |   43 +
 .../commons/internal/resources/_Resource_Path.java |   67 +
 .../internal/resources/_Resource_RestfulPath.java  |   43 +
 .../commons/internal/resources/package-info.java   |   28 +
 .../isis/core/plugins/PluginResolveException.java  |   35 +
 .../plugins/classdiscovery/ClassDiscovery.java     |   55 +
 .../classdiscovery/ClassDiscoveryPlugin.java       |   80 +
 .../isis/core/plugins/codegen/ProxyFactory.java    |   77 +
 .../core/plugins/codegen/ProxyFactoryPlugin.java   |   46 +
 .../isis/core/plugins/eventbus/EventBusPlugin.java |   87 +
 core/integtestsupport/pom.xml                      |   36 +-
 .../ExceptionRecognizerTranslate.java              |    2 +
 .../integtestsupport/IntegrationTestAbstract.java  |  281 --
 .../integtestsupport/IntegrationTestAbstract3.java |  104 +-
 .../integtestsupport/IntegrationTestJupiter.java   |  101 +
 .../core/integtestsupport/IsisSystemForTest.java   |  687 ----
 .../isis/core/integtestsupport/ModuleBuilder.java  |   67 +
 .../core/integtestsupport/ThrowableMatchers.java   |   10 +-
 .../integtestsupport/TransactionRuleAbstract.java  |  107 +
 .../HeadlessTransactionSupportDefault.java         |  178 +
 .../scenarios/ObjectFactoryForIntegration.java     |    6 +-
 .../applib-legacy}/.gitignore                      |    0
 core/legacy/applib-legacy/pom.xml                  |  110 +
 .../apache/isis/applib/DomainObjectContainer.java  |    0
 .../apache/isis/applib/annotation/Encodable.java   |    0
 .../apache/isis/applib/annotation/Parseable.java   |    0
 .../isis/applib/fixtures/AbstractFixture.java      |    0
 .../isis/applib/fixtures/AbstractFixtureSusa.java  |    0
 .../apache/isis/applib/fixtures/BaseFixture.java   |    0
 .../apache/isis/applib/fixtures/DateFixture.java   |    0
 .../isis/applib/fixtures/SwitchUserFixture.java    |    0
 .../fixtures/switchuser/SwitchUserService.java     |    0
 .../switchuser/SwitchUserServiceAware.java         |    0
 .../applib/fixtures/switchuser/package-info.java   |    0
 .../java/org/apache/isis/applib/layout/Util.java   |    0
 .../component/CollectionLayoutData_legacy.java     |    0
 .../applib/layout/component/FieldSet_legacy.java   |    0
 .../background/BackgroundCommandService2.java      |   28 +
 .../services/background/BackgroundService2.java    |   28 +
 .../ExceptionRecognizerAbstractLegacy.java         |    0
 .../ExceptionRecognizerForTypeLegacy.java          |    0
 .../applib/services/memento/MementoService.java    |  118 +
 .../isis/applib/services/memento/package-info.java |    0
 .../repository/RepositoryServiceLegacy.java        |    0
 ...aseEncodingWithSupportForLargeUrlsAbstract.java |   87 +
 .../java/org/apache/isis/applib/util/Clause.java   |  125 +
 .../isis/applib/util/ObjectContractsLegacy.java    |  286 ++
 .../java/org/apache/isis/applib/value/Date.java    |    0
 .../org/apache/isis/applib/value/DateTime.java     |    0
 .../java/org/apache/isis/applib/value/Time.java    |    0
 .../org/apache/isis/applib/value/TimeStamp.java    |    0
 .../ExceptionRecognizerForTypeLegacyTest.java      |    0
 .../ExceptionRecognizerGeneralLegacyTest.java      |    0
 .../java/org/apache/isis/applib/util/Invoice.java  |    0
 .../org/apache/isis/applib/util/InvoiceItem.java   |    0
 .../apache/isis/applib/util/NumberedEvaluator.java |    0
 .../util/ObjectContractsLegacyTest_compareTo.java  |    0
 .../util/ObjectContractsLegacyTest_equals.java     |    0
 ...ectContractsLegacyTest_equals_and_hashCode.java |  124 +
 .../util/ObjectContractsLegacyTest_toString.java   |    0
 .../org/apache/isis/applib/value/DateTest.java     |    0
 .../org/apache/isis/applib/value/DateTimeTest.java |    0
 .../apache/isis/applib/value/TimeStampTest.java    |    0
 .../org/apache/isis/applib/value/TimeTest.java     |    0
 core/legacy/integtestsupport-legacy/pom.xml        |  121 +
 .../integtestsupport/IntegrationTestAbstract.java  |  280 ++
 .../integtestsupport/IntegrationTestAbstract2.java |    0
 .../core/integtestsupport/IsisSystemForTest.java   |  687 ++++
 .../scenarios/ScenarioExecutionForIntegration.java |    0
 .../integtestsupport-legacy}/test.data             |    0
 core/{ => legacy}/metamodel-legacy/.gitignore      |    0
 core/legacy/metamodel-legacy/pom.xml               |   95 +
 .../annotcfg/EncodableFacetAnnotation.java         |    0
 ...bleFacetAnnotationElseConfigurationFactory.java |   79 +
 .../annotcfg/ParseableFacetAnnotation.java         |    0
 ...bleFacetAnnotationElseConfigurationFactory.java |   86 +
 ...ateValueFacetUsingSemanticsProviderFactory.java |    0
 .../value/date/DateValueSemanticsProvider.java     |    0
 ...imeValueFacetUsingSemanticsProviderFactory.java |    0
 .../datetime/DateTimeValueSemanticsProvider.java   |    0
 ...imeValueFacetUsingSemanticsProviderFactory.java |    0
 .../value/time/TimeValueSemanticsProvider.java     |    0
 ...ampValueFacetUsingSemanticsProviderFactory.java |    0
 .../timestamp/TimeStampValueSemanticsProvider.java |    0
 .../TimeStampValueSemanticsProviderAbstract.java   |    0
 .../container/DomainObjectContainerDefault.java    |  237 ++
 .../RepositoryServiceLegacyInternalDefault.java    |  262 ++
 .../plugins/IsisTimeValuePropertyPlugin.java       |   34 +
 .../plugins/ProgrammingModelIsisTimePlugin.java    |   43 +
 ...core.metamodel.progmodel.ProgrammingModelPlugin |    0
 ...l.services.swagger.internal.ValuePropertyPlugin |    0
 .../encodable/EncodableFacetFactoryTest.java       |    0
 ...acetAnnotationElseConfigurationFactoryTest.java |    0
 .../value/DateTimeValueSemanticsProviderTest.java  |    0
 .../value/DateValueSemanticsProviderTest.java      |    0
 ...JavaSqlTimeStampValueSemanticsProviderTest.java |    0
 .../value/TimeStampValueSemanticsProviderTest.java |    0
 .../value/TimeValueSemanticsProviderTest.java      |    0
 .../runtime-legacy}/.gitignore                     |    0
 core/legacy/runtime-legacy/pom.xml                 |  157 +
 .../runtime/fixtures/SwitchUserServiceImpl.java    |    0
 .../core/runtime/services/memento/Dom4jUtil.java   |    0
 .../services/memento/MementoServiceDefault.java    |  172 +
 .../memento/MementoServiceDefaultTest.java         |    0
 .../transition-1-2}/.gitignore                     |    0
 core/legacy/transition-1-2/pom.xml                 |  109 +
 .../apache/isis/applib/DomainObjectContainer.java  |  688 ++++
 .../java/org/apache/isis/applib/filter/Filter.java |   51 +
 .../org/apache/isis/applib/filter/Filters.java     |  108 +
 .../background/BackgroundCommandService2.java      |   28 +
 .../services/background/BackgroundService2.java    |   28 +
 .../services/eventbus/ActionDomainEvent.java       |  223 ++
 .../services/eventbus/CollectionDomainEvent.java   |  151 +
 .../services/eventbus/PropertyDomainEvent.java     |  125 +
 .../spec/feature/ObjectAssociationFilters.java     |  256 ++
 .../unittestsupport-legacy}/.gitignore             |    0
 core/legacy/unittestsupport-legacy/pom.xml         |  109 +
 .../jmocking/JavassistImposteriser.java            |  136 +
 .../jmocking/JavassistImposteriserTest.java        |    0
 .../viewer-wicket-ui-legacy/.gitignore             |    0
 core/legacy/viewer-wicket-ui-legacy/pom.xml        |   89 +
 .../isisapplib/ApplibDateConverterPlugin.java      |    0
 .../isisapplib/DateConverterForApplibDate.java     |    0
 .../isisapplib/DateConverterForApplibDateTime.java |    0
 .../scalars/isisapplib/IsisDatePanel.java          |    0
 .../scalars/isisapplib/IsisDatePanelFactory.java   |    0
 .../scalars/isisapplib/IsisDateTimePanel.java      |    0
 .../isisapplib/IsisDateTimePanelFactory.java       |    0
 .../scalars/isisapplib/IsisTimePanelFactory.java   |    0
 .../scalars/isisapplib/IsisTimeStampPanel.java     |    0
 .../isisapplib/IsisTimeStampPanelFactory.java      |    0
 ...g.apache.isis.viewer.wicket.ui.ComponentFactory |    0
 ...icket.ui.components.scalars.DateConverterPlugin |    0
 .../isisapplib/DateConverterForApplibDateTest.java |    0
 .../DateConverterForApplibDateTimeTest.java        |    0
 core/log4j/pom.xml                                 |   29 +-
 .../runtime/logging/IsisLoggingConfigurer.java     |    8 +-
 .../isis/core/runtime/logging/Log4jLogger.java     |    4 +-
 .../isis/core/runtime/logging/SnapshotServer.java  |   45 +-
 core/maven-plugin/pom.xml                          |   24 +-
 .../isis/tool/mavenplugin/IsisMojoAbstract.java    |   29 +-
 .../isis/tool/mavenplugin/IsisMojoSwagger.java     |    4 +-
 .../isis/tool/mavenplugin/IsisMojoValidate.java    |    6 +-
 .../apache/isis/tool/mavenplugin/IsisMojoXsd.java  |    4 +-
 .../apache/isis/tool/mavenplugin/util/Log4j.java   |    6 +-
 .../isis/tool/mavenplugin/util/MavenProjects.java  |    7 +-
 .../isis/tool/mavenplugin/util/Xpp3Doms.java       |    3 +-
 core/mavendeps/intellij/pom.xml                    |    5 +-
 core/mavendeps/testing/pom.xml                     |    6 +-
 core/mavendeps/webapp/pom.xml                      |    7 +-
 core/metamodel-legacy/pom.xml                      |   94 -
 ...ampValueFacetUsingSemanticsProviderFactory.java |   46 -
 .../JavaSqlTimeStampValueSemanticsProvider.java    |   87 -
 .../RepositoryServiceLegacyInternalDefault.java    |  262 --
 .../plugins/IsisTimeValuePropertyPlugin.java       |   18 -
 .../plugins/ProgrammingModelIsisTimePlugin.java    |   25 -
 core/metamodel/pom.xml                             |    4 +-
 .../authentication/AuthenticationSession.java      |    2 +-
 .../AuthenticationSessionAbstract.java             |   18 +-
 .../core/commons/authentication/MessageBroker.java |   12 +-
 .../core/commons/authentication/package-info.java  |    6 +-
 .../components/ApplicationScopedComponent.java     |    4 +-
 .../isis/core/commons/components/Installer.java    |    4 +-
 .../core/commons/components/InstallerAbstract.java |    8 +-
 .../apache/isis/core/commons/components/Noop.java  |    2 +-
 .../commons/components/SessionScopedComponent.java |    4 +-
 .../components/TransactionScopedComponent.java     |    6 +-
 .../isis/core/commons/components/package-info.java |    6 +-
 .../core/commons/config/IsisConfiguration.java     |   26 +-
 .../commons/config/IsisConfigurationDefault.java   |   30 +-
 .../isis/core/commons/config/package-info.java     |   14 +-
 .../configbuilder/IsisConfigurationBuilder.java    |   52 +-
 .../commons/encoding/DataOutputStreamExtended.java |    2 +-
 .../isis/core/commons/encoding/Encodable.java      |    2 +-
 .../commons/encoding/FailedToDecodeException.java  |    2 +-
 .../encoding/FailedToDeserializeException.java     |    2 +-
 .../isis/core/commons/encoding/FieldType.java      |    8 +-
 .../isis/core/commons/encoding/package-info.java   |    2 +-
 .../apache/isis/core/commons/ensure/Ensure.java    |   35 +-
 .../isis/core/commons/ensure/package-info.java     |    4 +-
 .../core/commons/exceptions/ExceptionUtils.java    |   42 +-
 .../exceptions/IsisApplicationException.java       |    4 +-
 .../core/commons/exceptions/IsisException.java     |    4 +-
 .../isis/core/commons/exceptions/package-info.java |    2 +-
 .../isis/core/commons/factory/InstanceUtil.java    |    2 +-
 .../isis/core/commons/factory/package-info.java    |    6 +-
 .../isis/core/commons/lang/ArrayExtensions.java    |    4 +-
 .../isis/core/commons/lang/ClassExtensions.java    |   10 +-
 .../isis/core/commons/lang/ClassFunctions.java     |    2 +-
 .../isis/core/commons/lang/ClassPredicates.java    |    2 +-
 .../apache/isis/core/commons/lang/ClassUtil.java   |   74 +-
 .../isis/core/commons/lang/DateExtensions.java     |    2 +-
 .../core/commons/lang/InputStreamExtensions.java   |    2 +-
 .../isis/core/commons/lang/ListExtensions.java     |   10 +-
 .../isis/core/commons/lang/MethodExtensions.java   |    8 +-
 .../commons/lang/MethodInvocationPreprocessor.java |  114 +
 .../apache/isis/core/commons/lang/MethodUtil.java  |   38 +-
 .../isis/core/commons/lang/ObjectExtensions.java   |    2 +-
 .../isis/core/commons/lang/ResourceUtil.java       |    6 +-
 .../isis/core/commons/lang/StringExtensions.java   |   50 +-
 .../isis/core/commons/lang/StringFunctions.java    |    6 +-
 .../isis/core/commons/lang/StringPredicates.java   |    4 +-
 .../core/commons/lang/ThrowableExtensions.java     |   72 +-
 .../isis/core/commons/lang/package-info.java       |    2 +-
 .../isis/core/commons/matchers/IsisMatchers.java   |    2 +-
 .../isis/core/commons/reflection/Reflect.java      |  298 +-
 ...ResourceStreamSourceContextLoaderClassPath.java |    4 +-
 .../ResourceStreamSourceCurrentClassClassPath.java |    2 +-
 .../isis/core/commons/resource/package-info.java   |    6 +-
 .../core/metamodel/IsisJdoMetamodelPlugin.java     |   72 +-
 .../isis/core/metamodel/JdoMetamodelUtil.java      |    8 +-
 .../metamodel/adapter/MutableProposedHolder.java   |   10 +-
 .../isis/core/metamodel/adapter/ObjectAdapter.java |   67 +-
 .../core/metamodel/adapter/mgr/AdapterManager.java |    3 +-
 .../isis/core/metamodel/adapter/oid/Oid.java       |   56 +-
 .../core/metamodel/adapter/oid/OidMarshaller.java  |   97 +-
 .../isis/core/metamodel/adapter/oid/RootOid.java   |   20 +-
 .../isis/core/metamodel/adapter/package-info.java  |    6 +-
 .../adapter/version/ConcurrencyException.java      |    8 +-
 .../core/metamodel/adapter/version/Version.java    |   42 +-
 .../apache/isis/core/metamodel/consent/Allow.java  |    2 +-
 .../isis/core/metamodel/consent/Consent.java       |   12 +-
 .../core/metamodel/consent/ConsentAbstract.java    |   18 +-
 .../core/metamodel/consent/InteractionAdvisor.java |    2 +-
 .../metamodel/consent/InteractionContextType.java  |    6 +-
 .../core/metamodel/consent/InteractionResult.java  |   12 +-
 .../metamodel/consent/InteractionResultSet.java    |    8 +-
 .../apache/isis/core/metamodel/consent/Veto.java   |    2 +-
 .../core/metamodel/facetapi/DecoratingFacet.java   |    4 +-
 .../apache/isis/core/metamodel/facetapi/Facet.java |   14 +-
 .../core/metamodel/facetapi/FacetAbstract.java     |    8 +-
 .../isis/core/metamodel/facetapi/FacetHolder.java  |    8 +-
 .../isis/core/metamodel/facetapi/FacetUtil.java    |   14 +-
 .../isis/core/metamodel/facetapi/FeatureType.java  |    6 +-
 .../core/metamodel/facetapi/MetaModelRefiner.java  |    4 +-
 .../facetapi/MetaModelValidatorRefiner.java        |    4 +-
 .../core/metamodel/facetapi/MethodRemover.java     |    4 +-
 .../core/metamodel/facetapi/MultiTypedFacet.java   |    4 +-
 .../isis/core/metamodel/facets/Annotations.java    |  222 +-
 .../core/metamodel/facets/CollectionUtils.java     |   95 +-
 .../facets/ContributeeMemberFacetFactory.java      |    6 +-
 .../core/metamodel/facets/DomainEventHelper.java   |   46 +-
 .../isis/core/metamodel/facets/FacetFactory.java   |    9 +-
 .../metamodel/facets/FacetFactoryAbstract.java     |    4 +-
 .../isis/core/metamodel/facets/FacetedMethod.java  |   17 +-
 .../core/metamodel/facets/ImperativeFacet.java     |   48 +-
 .../metamodel/facets/ImperativeFacetMulti.java     |    2 +-
 .../facets/MethodFilteringFacetFactory.java        |    2 +-
 .../core/metamodel/facets/MethodFinderUtils.java   |   14 +-
 .../facets/MethodPrefixBasedFacetFactory.java      |    2 +-
 .../MethodPrefixBasedFacetFactoryAbstract.java     |   24 +-
 ...ropertyOrCollectionIdentifyingFacetFactory.java |    8 +-
 ...rCollectionIdentifyingFacetFactoryAbstract.java |   14 +-
 .../metamodel/facets/SingleValueFacetAbstract.java |    7 +-
 .../isis/core/metamodel/facets/TypedHolder.java    |    4 +-
 .../core/metamodel/facets/WhereValueFacet.java     |    2 +-
 .../facets/actcoll/typeof/TypeOfFacet.java         |   24 +-
 .../action/ActionAnnotationFacetFactory.java       |   21 +-
 ...nChoicesForCollectionParameterFacetFactory.java |   31 +-
 .../associateWith/AssociatedWithFacetAbstract.java |    4 +-
 .../action/invocation/ActionDomainEventFacet.java  |    2 +-
 .../invocation/ActionDomainEventFacetAbstract.java |   12 +-
 .../invocation/ActionDomainEventFacetDefault.java  |    4 +-
 .../ActionDomainEventFacetForActionAnnotation.java |    4 +-
 .../action/invocation/ActionInvocationFacet.java   |    2 +-
 .../invocation/ActionInvocationFacetAbstract.java  |    4 +-
 ...ctionInvocationFacetForDomainEventAbstract.java |   96 +-
 ...ionFacetForDomainEventFromActionAnnotation.java |   16 +-
 ...onInvocationFacetForDomainEventFromDefault.java |   16 +-
 .../actions/action/invocation/CommandUtil.java     |   17 +-
 .../MethodIncompatibilityWorkaround.java           |  245 --
 .../ActionSemanticsFacetForActionAnnotation.java   |    2 +-
 .../metamodel/facets/actions/bulk/BulkFacet.java   |    3 +-
 .../facets/actions/command/CommandFacet.java       |   12 +-
 .../actions/defaults/ActionDefaultsFacet.java      |    2 +-
 .../ActionDefaultsFacetViaMethodFactory.java       |    2 +-
 .../facets/actions/homepage/HomePageFacet.java     |    2 +-
 .../annotation/HomePageFacetAnnotationFactory.java |   12 +-
 .../interaction/ActionNamedFacetFactory.java       |    2 +-
 ...okmarkPolicyFacetForActionLayoutAnnotation.java |    2 +-
 .../PromptStyleFacetForActionLayoutAnnotation.java |   14 +-
 .../notcontributed/NotContributedFacet.java        |    2 +-
 .../notinservicemenu/NotInServiceMenuFacet.java    |    2 +-
 ...uFacetDerivedFromDomainServiceFacetFactory.java |    2 +-
 .../actions/position/ActionPositionFacet.java      |    2 +-
 .../actions/prototype/PrototypeFacetAbstract.java  |    4 +-
 .../actions/semantics/ActionSemanticsFacet.java    |    2 +-
 .../validate/ActionParameterValidationFacet.java   |    6 +-
 .../actions/validate/ActionValidationFacet.java    |    6 +-
 .../facets/all/describedas/DescribedAsFacet.java   |    2 +-
 .../core/metamodel/facets/all/help/HelpFacet.java  |    2 +-
 .../metamodel/facets/all/named/NamedFacet.java     |    2 +-
 .../CollectionAccessorFacetViaAccessor.java        |    9 +-
 .../CollectionAccessorFacetViaAccessorFactory.java |    6 +-
 .../CollectionAnnotationFacetFactory.java          |   18 +-
 ...ectionAddToFacetForDomainEventFromAbstract.java |   21 +-
 ...acetForDomainEventFromCollectionAnnotation.java |   12 +-
 ...lectionAddToFacetForDomainEventFromDefault.java |   12 +-
 .../modify/CollectionDomainEventFacet.java         |    2 +-
 .../modify/CollectionDomainEventFacetAbstract.java |   12 +-
 .../modify/CollectionDomainEventFacetDefault.java  |    4 +-
 ...ionDomainEventFacetForCollectionAnnotation.java |    4 +-
 ...nRemoveFromFacetForDomainEventFromAbstract.java |   21 +-
 ...acetForDomainEventFromCollectionAnnotation.java |   16 +-
 ...onRemoveFromFacetForDomainEventFromDefault.java |   14 +-
 ...fFacetOnCollectionFromCollectionAnnotation.java |    2 +-
 .../javautilcollection/CollectionFacetFactory.java |   11 +-
 .../javautilcollection/JavaCollectionFacet.java    |    6 +-
 .../layout/CollectionLayoutFacetFactory.java       |    2 +-
 .../NamedFacetForCollectionLayoutAnnotation.java   |   18 +-
 .../layout/NamedFacetForCollectionXml.java         |    6 +-
 .../collections/modify/CollectionAddToFacet.java   |    2 +-
 .../collections/modify/CollectionClearFacet.java   |    2 +-
 .../facets/collections/modify/CollectionFacet.java |    2 +-
 .../modify/CollectionRemoveFromFacet.java          |    2 +-
 .../ParentedFacetSinceCollectionFactory.java       |    4 +-
 .../sortedby/SortedByFacetAbstract.java            |    2 +-
 .../annotation/SortedByFacetAnnotationFactory.java |    2 +-
 .../validate/CollectionValidateAddToFacet.java     |    4 +-
 .../CollectionValidateRemoveFromFacet.java         |    2 +-
 .../collparam/semantics/CollectionSemantics.java   |  101 +-
 .../semantics/CollectionSemanticsFacetDefault.java |    2 +-
 .../facets/fallback/FallbackFacetFactory.java      |    2 +-
 .../metamodel/facets/jaxb/JaxbFacetFactory.java    |  385 +++
 .../facets/jaxb/XmlAccessorTypeFacet.java          |   31 +
 .../facets/jaxb/XmlAccessorTypeFacetAbstract.java  |   40 +
 .../facets/jaxb/XmlAccessorTypeFacetDefault.java   |   33 +
 .../jaxb/XmlJavaTypeAdapterFacetAbstract.java      |    2 +-
 .../jaxb/XmlJavaTypeAdapterFacetFactory.java       |  347 --
 .../facets/jaxb/XmlTransientFacetAbstract.java     |    2 +-
 ...assFacetOnActionFromConfiguredRegexFactory.java |    6 +-
 .../cssclassfa/CssClassFaFacetAbstract.java        |    2 +-
 .../members/cssclassfa/CssClassFaPosition.java     |   14 +-
 .../annotprop/CssClassFaFacetOnMemberFactory.java  |    2 +-
 .../CssClassFaFacetOnMemberFromProperties.java     |    4 +-
 .../cssclassfa/annotprop/MixinInterceptor.java     |   42 +-
 .../annotprop/DescribedAsFacetOnMemberFactory.java |    4 +-
 .../facets/members/disabled/DisabledFacet.java     |    2 +-
 .../forsession/DisableForSessionFacet.java         |    2 +-
 .../disabled/method/DisableForContextFacet.java    |    2 +-
 .../method/DisableForContextFacetNone.java         |    2 +-
 .../DisableForContextFacetViaMethodFactory.java    |    4 +-
 .../facets/members/hidden/HiddenFacetAbstract.java |    2 +-
 .../members/hidden/HiddenFacetAbstractImpl.java    |    2 +-
 .../hidden/forsession/HideForSessionFacet.java     |    2 +-
 .../forsession/HideForSessionFacetAbstract.java    |    2 +-
 .../members/hidden/method/HideForContextFacet.java |    2 +-
 .../hidden/method/HideForContextFacetNone.java     |    2 +-
 .../facets/members/order/MemberOrderFacet.java     |    4 +-
 .../members/order/MemberOrderFacetAbstract.java    |    5 +-
 .../annotprop/MemberOrderFacetProperties.java      |    2 +-
 .../ViewModelSemanticCheckingFacetFactory.java     |    4 +-
 .../facets/object/audit/AuditableFacet.java        |    4 +-
 .../object/audit/AuditableFacetAbstract.java       |    4 +-
 .../autocomplete/AutoCompleteFacetAbstract.java    |   28 +-
 .../BookmarkPolicyFacetAbstract.java               |    2 +-
 .../BookmarkPolicyFacetFallbackFactory.java        |   10 +-
 .../facets/object/cached/CachedFacet.java          |    6 +-
 .../object/callbacks/CreatedCallbackFacet.java     |    4 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    7 +-
 .../object/callbacks/LifecycleEventFacet.java      |    2 +-
 .../object/callbacks/LoadedCallbackFacet.java      |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    5 +-
 .../object/callbacks/PersistedCallbackFacet.java   |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    5 +-
 .../object/callbacks/PersistingCallbackFacet.java  |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    5 +-
 .../object/callbacks/RemovedCallbackFacet.java     |    4 +-
 .../object/callbacks/RemovingCallbackFacet.java    |    4 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    5 +-
 .../object/callbacks/UpdatedCallbackFacet.java     |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    5 +-
 .../object/callbacks/UpdatingCallbackFacet.java    |    6 +-
 ...fecycleEventFacetForDomainObjectAnnotation.java |    5 +-
 .../choices/ChoicesFacetFromBoundedAbstract.java   |   28 +-
 .../facets/object/choices/ChoicesFacetUtils.java   |    2 +-
 .../choices/enums/EnumValueSemanticsProvider.java  |    6 +-
 ...ssClassFaFacetForDomainObjectLayoutFactory.java |    4 +-
 .../CssClassFaFacetForViewModelLayoutFactory.java  |    4 +-
 .../facets/object/defaults/DefaultedFacet.java     |    6 +-
 .../object/disabled/DisabledObjectFacet.java       |    8 +-
 .../DisabledObjectFacetViaMethodFactory.java       |    2 +-
 .../DomainObjectAnnotationFacetFactory.java        |  199 +-
 .../AuditableFacetForDomainObjectAnnotation.java   |    4 +-
 .../ChoicesFacetForDomainObjectAnnotation.java     |    8 +-
 .../ImmutableFacetForDomainObjectAnnotation.java   |    8 +-
 .../editing/ImmutableFacetFromConfiguration.java   |    2 +-
 ...ObjectSpecIdFacetForDomainObjectAnnotation.java |    2 +-
 ...cIdFacetForJdoPersistenceCapableAnnotation.java |    2 +-
 .../publishing/PublishObjectsConfiguration.java    |    2 +-
 ...lishedObjectFacetForDomainObjectAnnotation.java |    8 +-
 ...atableObjectFacetForDomainObjectAnnotation.java |    2 +-
 ...lassFaFacetForDomainObjectLayoutAnnotation.java |    4 +-
 ...ssClassFaFacetForViewModelLayoutAnnotation.java |    4 +-
 ...sClassFacetForDomainObjectLayoutAnnotation.java |    4 +-
 .../CssClassFacetForViewModelLayoutAnnotation.java |    4 +-
 ...ObjectLayoutAnnotationUsingCssClassUiEvent.java |    8 +-
 .../DomainObjectLayoutFacetFactory.java            |    4 +-
 ...mainObjectLayoutAnnotationUsingIconUiEvent.java |    6 +-
 ...ainObjectLayoutAnnotationUsingTitleUiEvent.java |   10 +-
 .../domainservice/DomainServiceFacetAbstract.java  |    6 +-
 .../domainservice/DomainServiceMenuOrder.java      |   12 +-
 .../DomainServiceLayoutFacetAbstract.java          |    6 +-
 .../DomainServiceLayoutFacetFactory.java           |   44 +-
 ...bleFacetAnnotationElseConfigurationFactory.java |   79 -
 .../facets/object/facets/FacetsFacet.java          |    6 +-
 .../facets/object/grid/GridFacetDefault.java       |    5 +-
 .../facets/object/grid/GridFacetFactory.java       |    4 +-
 .../facets/object/hidden/HiddenObjectFacet.java    |    8 +-
 .../method/HiddenObjectFacetViaMethodFactory.java  |    2 +-
 .../metamodel/facets/object/icon/IconFacet.java    |    8 +-
 .../RemoveAnnotatedMethodsFacetFactory.java        |    8 +-
 ...oveDatanucleusPersistableTypesFacetFactory.java |    2 +-
 .../javalang/IteratorFilteringFacetFactory.java    |    2 +-
 .../ignore/javalang/RemoveMethodsFacetFactory.java |    6 +-
 .../jdo/RemoveJdoEnhancementTypesFacetFactory.java |    2 +-
 .../jdo/RemoveJdoPrefixedMethodsFacetFactory.java  |    2 +-
 .../facets/object/immutable/ImmutableFacet.java    |    6 +-
 .../object/immutable/ImmutableFacetAbstract.java   |   12 +-
 .../membergroups/MemberGroupLayoutFacet.java       |    2 +-
 .../MemberGroupLayoutFacetAbstract.java            |   12 +-
 .../MemberGroupLayoutFacetAnnotation.java          |    8 +-
 .../annotprop/MemberGroupLayoutFacetFactory.java   |    9 +-
 .../annotprop/MemberGroupLayoutFacetFallback.java  |    6 +-
 .../MemberGroupLayoutFacetProperties.java          |   26 +-
 .../facets/object/mixin/MixinFacetAbstract.java    |    2 +-
 .../mixin/MixinFacetForDomainObjectAnnotation.java |    4 +-
 .../object/navparent/NavigableParentFacet.java     |   22 +-
 .../NavigableParentAnnotationFacetFactory.java     |  143 +-
 .../method/NavigableParentFacetMethod.java         |   34 +-
 .../method/NavigableParentFacetMethodFactory.java  |   16 +-
 .../object/objectspecid/ObjectSpecIdFacet.java     |    2 +-
 .../objectspecid/ObjectSpecIdFacetAbstract.java    |    5 +-
 ...jectSpecIdFacetDerivedFromClassNameFactory.java |    2 +-
 .../ObjectValidPropertiesFacet.java                |    2 +-
 .../impl/ObjectValidPropertiesFacetImpl.java       |    4 +-
 .../metamodel/facets/object/paged/PagedFacet.java  |    4 +-
 .../object/parented/ParentedCollectionFacet.java   |    2 +-
 .../facets/object/parseable/ParseableFacet.java    |    4 +-
 ...bleFacetAnnotationElseConfigurationFactory.java |   82 -
 .../parser/ParseableFacetUsingParser.java          |    4 +-
 .../facets/object/plural/PluralFacet.java          |    4 +-
 .../promptStyle/PromptStyleConfiguration.java      |    2 +-
 .../object/promptStyle/PromptStyleFacet.java       |    1 +
 .../promptStyle/PromptStyleFacetAbstract.java      |    2 +-
 .../publishedobject/PublishedObjectFacet.java      |    2 +-
 ...ObjectFacetDeclarativeInitializingAbstract.java |   72 +-
 .../recreatable/RecreatableObjectFacetFactory.java |   11 +-
 ...ctFacetForRecreatableDomainObjectInterface.java |    2 +-
 ...eObjectFacetForRecreatableObjectAnnotation.java |    2 +-
 ...creatableObjectFacetForViewModelAnnotation.java |    2 +-
 ...ableObjectFacetForXmlRootElementAnnotation.java |    4 +-
 .../metamodel/facets/object/recreatable/Util.java  |    2 +-
 .../metamodel/facets/object/title/TitleFacet.java  |    6 +-
 .../annotation/TitleAnnotationFacetFactory.java    |   10 +-
 .../annotation/TitleFacetViaTitleAnnotation.java   |    2 +-
 .../validateobject/ValidateObjectFacet.java        |    8 +-
 .../facets/object/value/EqualByContentFacet.java   |    4 +-
 .../metamodel/facets/object/value/ValueFacet.java  |    2 +-
 .../facets/object/value/ValueFacetAbstract.java    |    2 +-
 ...ValueFacetAnnotationOrConfigurationFactory.java |    2 +-
 .../ValueSemanticsProviderAndFacetAbstract.java    |   16 +-
 .../facets/object/viewmodel/ViewModelFacet.java    |    2 +-
 .../facets/objectvalue/choices/ChoicesFacet.java   |    4 +-
 .../objectvalue/mandatory/MandatoryFacet.java      |    6 +-
 .../mandatory/MandatoryFacetAbstract.java          |    4 +-
 .../mandatory/MandatoryFacetDefault.java           |    4 +-
 .../facets/objectvalue/maxlen/MaxLengthFacet.java  |    2 +-
 .../objectvalue/multiline/MultiLineFacet.java      |    4 +-
 .../renderedadjusted/RenderedAdjustedFacet.java    |    4 +-
 .../objectvalue/typicallen/TypicalLengthFacet.java |    4 +-
 .../ActionParameterAutoCompleteFacet.java          |    2 +-
 .../ActionParameterAutoCompleteFacetViaMethod.java |   12 +-
 ...ameterFromJavaxValidationAnnotationFactory.java |    4 +-
 .../facets/param/choices/ActionChoicesFacet.java   |    2 +-
 .../param/choices/ActionParameterChoicesFacet.java |    2 +-
 ...rameterChoicesFacetDerivedFromChoicesFacet.java |    2 +-
 ...ChoicesFacetDerivedFromChoicesFacetFactory.java |    4 +-
 .../method/ActionChoicesFacetViaMethod.java        |   12 +-
 .../method/ActionChoicesFacetViaMethodFactory.java |    2 +-
 .../ActionParameterChoicesFacetViaMethod.java      |   10 +-
 ...ctionParameterChoicesFacetViaMethodFactory.java |   20 +-
 .../defaults/ActionParameterDefaultsFacet.java     |    2 +-
 ...ParameterDefaultFacetDerivedFromTypeFacets.java |    2 +-
 ...tionParameterDefaultsFacetViaMethodFactory.java |    8 +-
 .../NamedFacetForParameterLayoutAnnotation.java    |    8 +-
 .../MandatoryFacetOnParametersDefaultFactory.java  |    2 +-
 .../MandatoryFacetForParameterAnnotation.java      |   14 +-
 ...cetInvertedByNullableAnnotationOnParameter.java |    4 +-
 ...fySpecificationFacetForParameterAnnotation.java |   10 +-
 .../RegExFacetForPatternAnnotationOnParameter.java |    4 +-
 .../PropertyOrCollectionAccessorFacet.java         |    2 +-
 .../PropertyOrCollectionAccessorFacetAbstract.java |    4 +-
 .../propcoll/notpersisted/NotPersistedFacet.java   |    6 +-
 .../accessor/PropertyAccessorFacetViaAccessor.java |    4 +-
 .../PropertyAccessorFacetViaAccessorFactory.java   |    2 +-
 .../autocomplete/PropertyAutoCompleteFacet.java    |    4 +-
 .../method/PropertyAutoCompleteFacetMethod.java    |    6 +-
 .../PropertyAutoCompleteFacetMethodFactory.java    |    2 +-
 ...FromJavaxValidationDigitsAnnotationFactory.java |    6 +-
 .../properties/businesskey/BusinessKeyFacet.java   |    4 +-
 .../properties/choices/PropertyChoicesFacet.java   |    6 +-
 ...ropertyChoicesFacetDerivedFromChoicesFacet.java |    2 +-
 .../properties/defaults/PropertyDefaultFacet.java  |    6 +-
 .../MandatoryFacetOnProperyDefaultFactory.java     |    2 +-
 .../property/PropertyAnnotationFacetFactory.java   |   13 +-
 .../command/CommandFacetForPropertyAnnotation.java |   38 +-
 .../MandatoryFacetForPropertyAnnotation.java       |   16 +-
 ...acetInvertedByNullableAnnotationOnProperty.java |    2 +-
 ...ropertyClearFacetForDomainEventFromDefault.java |   16 +-
 ...rFacetForDomainEventFromPropertyAnnotation.java |   16 +-
 .../property/modify/PropertyDomainEventFacet.java  |    2 +-
 .../modify/PropertyDomainEventFacetAbstract.java   |   14 +-
 .../modify/PropertyDomainEventFacetDefault.java    |    6 +-
 ...pertyDomainEventFacetForPropertyAnnotation.java |    6 +-
 ...opertySetterFacetForDomainEventFromDefault.java |   16 +-
 ...rFacetForDomainEventFromPropertyAnnotation.java |   16 +-
 ...tySetterOrClearFacetForDomainEventAbstract.java |  120 +-
 ...sfySpecificationFacetForPropertyAnnotation.java |   10 +-
 .../RegExFacetForPatternAnnotationOnProperty.java  |    4 +-
 .../NamedFacetForPropertyLayoutAnnotation.java     |    8 +-
 .../propertylayout/NamedFacetForPropertyXml.java   |    6 +-
 ...romptStyleFacetForPropertyLayoutAnnotation.java |   12 +-
 .../publish/PublishedPropertyFacetAbstract.java    |    2 +-
 .../properties/searchable/SearchableFacet.java     |    4 +-
 .../update/clear/PropertyClearFacet.java           |    2 +-
 .../update/init/PropertyInitializationFacet.java   |    6 +-
 .../update/modify/PropertySetterFacet.java         |    4 +-
 .../validating/PropertyValidateFacet.java          |    6 +-
 .../validating/PropertyValidateFacetNone.java      |    2 +-
 .../dflt/PropertyValidateFacetDefaultFactory.java  |    2 +-
 .../DateAndTimeValueSemanticsProviderAbstract.java |    1 +
 .../ValueSemanticsProviderAbstractTemporal.java    |   13 +-
 .../value/bigdecimal/BigDecimalValueFacet.java     |    4 +-
 .../value/blobs/BlobValueSemanticsProvider.java    |    4 +-
 .../value/clobs/ClobValueSemanticsProvider.java    |    6 +-
 .../date/DateValueSemanticsProviderAbstract.java   |    1 +
 .../value/datejdk8local/Jdk8LocalDateUtil.java     |  262 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../Jdk8LocalDateValueSemanticsProvider.java       |   48 +-
 .../value/datejodalocal/JodaLocalDateUtil.java     |    4 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../JodaLocalDateValueSemanticsProvider.java       |   50 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../datesql/JavaSqlDateValueSemanticsProvider.java |    2 +-
 .../datetimejdk8local/Jdk8LocalDateTimeUtil.java   |   82 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../Jdk8LocalDateTimeValueSemanticsProvider.java   |   62 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../Jdk8OffsetDateTimeValueSemanticsProvider.java  |    6 +-
 ...fsetDateTimeValueSemanticsProviderAbstract.java |    1 +
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 ...JodaDateTimeValueSemanticsProviderAbstract.java |    1 +
 .../datetimejodalocal/JodaLocalDateTimeUtil.java   |    6 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../JodaLocalDateTimeValueSemanticsProvider.java   |   50 +-
 ...ateValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../JavaUtilDateValueSemanticsProvider.java        |    2 +-
 .../value/image/ImageValueSemanticsProvider.java   |    1 -
 .../JavaAwtImageValueSemanticsProvider.java        |    1 -
 .../localrespath/LocalResourcePathValueFacet.java  |    2 +-
 ...athValueFacetUsingSemanticsProviderFactory.java |    2 +-
 .../LocalResourcePathValueSemanticsProvider.java   |   10 +-
 .../facets/value/markup/MarkupValueFacet.java      |    2 +-
 ...kupValueFacetUsingSemanticsProviderFactory.java |   20 +-
 .../value/markup/MarkupValueSemanticsProvider.java |   72 +-
 .../password/PasswordValueSemanticsProvider.java   |    2 +-
 .../time/TimeValueSemanticsProviderAbstract.java   |   57 +-
 ...imeValueFacetUsingSemanticsProviderFactory.java |    4 +-
 .../timesql/JavaSqlTimeValueSemanticsProvider.java |    2 +-
 ...ampValueFacetUsingSemanticsProviderFactory.java |   46 +
 .../JavaSqlTimeStampValueSemanticsProvider.java    |   84 +
 .../TimeStampValueSemanticsProviderAbstract.java   |   99 +
 .../facets/value/treenode/TreeNodeValueFacet.java  |   27 +
 ...odeValueFacetUsingSemanticsProviderFactory.java |   40 +
 .../treenode/TreeNodeValueSemanticsProvider.java   |  137 +
 .../value/url/URLValueSemanticsProvider.java       |    4 +-
 .../interactions/DisablingInteractionAdvisor.java  |    4 +-
 .../interactions/HidingInteractionAdvisor.java     |    4 +-
 .../interactions/InteractionAdvisorFacet.java      |    6 +-
 .../metamodel/interactions/InteractionContext.java |   22 +-
 .../metamodel/interactions/ProposedHolder.java     |    2 +-
 .../interactions/ValidatingInteractionAdvisor.java |    6 +-
 .../isis/core/metamodel/layout/DeweyOrderSet.java  |   42 +-
 .../MemberIdentifierComparator.java                |    2 +-
 .../memberorderfacet/MemberOrderComparator.java    |   10 +-
 .../MemberOrderFacetComparator.java                |    6 +-
 .../OrderSetGroupNameComparator.java               |    2 +-
 ...onParameterDefaultsAndChoicesPostProcessor.java |    2 +-
 .../progmodel/ProgrammingModelAbstract.java        |   10 +-
 .../progmodel/ProgrammingModelPlugin.java          |  124 +-
 .../core/metamodel/services/CollectionHelper.java  |  100 +
 .../core/metamodel/services/ServicesInjector.java  |  218 +-
 .../services/appfeat/ApplicationFeature.java       |   68 +-
 .../appfeat/ApplicationFeatureFactory.java         |    2 +-
 .../services/appfeat/ApplicationFeatureId.java     |   82 +-
 .../ApplicationFeatureRepositoryDefault.java       |   20 +-
 .../bookmarks/BookmarkServiceInternalDefault.java  |   88 +-
 .../command/CommandDtoServiceInternal.java         |    1 -
 .../config/ConfigurationServiceDefault.java        |   84 +-
 .../container/DomainObjectContainerDefault.java    |  248 --
 .../exceprecog/ExceptionRecognizerDocDefault.java  |   14 +-
 .../factory/FactoryServiceInternalDefault.java     |    7 +-
 .../services/grid/GridLoaderServiceDefault.java    |   37 +-
 .../services/grid/GridServiceDefault.java          |   40 +-
 .../services/grid/GridSystemServiceAbstract.java   |   19 +-
 .../grid/bootstrap3/GridSystemServiceBS3.java      |   32 +-
 .../services/layout/LayoutServiceDefault.java      |    9 +-
 .../services/message/MessageServiceNoop.java       |    2 +-
 .../services/metamodel/DomainMemberDefault.java    |   32 +-
 .../metamodel/MetaModelServiceDefault.java         |   33 +-
 .../PersistenceSessionServiceInternal.java         |   19 +-
 .../PersistenceSessionServiceInternalNoop.java     |   10 +-
 .../services/registry/ServiceRegistryDefault.java  |    2 +-
 .../RepositoryServiceInternalDefault.java          |   24 +-
 .../services/swagger/SwaggerServiceDefault.java    |   26 +-
 .../services/swagger/internal/Caching.java         |   12 +-
 .../services/swagger/internal/Generation.java      |  374 +--
 .../swagger/internal/SwaggerSpecGenerator.java     |   20 +-
 .../metamodel/services/swagger/internal/Util.java  |   23 +-
 .../swagger/internal/ValuePropertyFactory.java     |   26 +-
 .../swagger/internal/ValuePropertyPlugin.java      |   84 +-
 .../services/title/TitleServiceDefault.java        |    2 +-
 .../services/user/UserServiceDefault.java          |   16 +-
 .../services/xactn/TransactionServiceDefault.java  |  100 -
 .../apache/isis/core/metamodel/spec/Described.java |    2 +-
 .../spec/ElementSpecificationProvider.java         |    2 +-
 .../isis/core/metamodel/spec/Hierarchical.java     |    2 +-
 .../apache/isis/core/metamodel/spec/Instance.java  |    2 +-
 .../isis/core/metamodel/spec/ObjectSpecId.java     |   10 +-
 .../core/metamodel/spec/ObjectSpecification.java   |   60 +-
 .../core/metamodel/spec/ObjectSpecifications.java  |   12 +-
 .../isis/core/metamodel/spec/Specification.java    |    6 +-
 .../core/metamodel/spec/feature/CurrentHolder.java |    4 +-
 .../spec/feature/MutableCurrentHolder.java         |    4 +-
 .../core/metamodel/spec/feature/ObjectAction.java  |   90 +-
 .../spec/feature/ObjectActionContainer.java        |    8 +-
 .../spec/feature/ObjectActionParameter.java        |   21 +-
 .../metamodel/spec/feature/ObjectAssociation.java  |   15 +-
 .../spec/feature/ObjectAssociationContainer.java   |    8 +-
 .../core/metamodel/spec/feature/ObjectFeature.java |    8 +-
 .../core/metamodel/spec/feature/ObjectMember.java  |   30 +-
 .../spec/feature/OneToManyAssociation.java         |    4 +-
 .../metamodel/spec/feature/OneToManyFeature.java   |    6 +-
 .../metamodel/spec/feature/OneToOneFeature.java    |    2 +-
 .../core/metamodel/specloader/CollectionUtils.java |   69 +-
 .../specloader/InjectorMethodEvaluatorDefault.java |    1 +
 .../metamodel/specloader/ReflectorConstants.java   |    6 +-
 .../metamodel/specloader/ServiceInitializer.java   |   30 +-
 .../specloader/SpecificationCacheDefault.java      |    6 +-
 .../metamodel/specloader/SpecificationLoader.java  |   23 +-
 .../classsubstitutor/ClassSubstitutor.java         |   19 +-
 .../classsubstitutor/JavassistEnhanced.java        |   28 -
 .../specloader/classsubstitutor/ProxyEnhanced.java |   28 +
 .../specloader/facetprocessor/FacetProcessor.java  |   50 +-
 .../core/metamodel/specloader/package-info.java    |   10 +-
 .../specloader/specimpl/ContributeeMember.java     |    4 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java |   26 +-
 .../specimpl/ObjectActionContributee.java          |   28 +-
 .../specloader/specimpl/ObjectActionDefault.java   |   43 +-
 .../specloader/specimpl/ObjectActionMixedIn.java   |    7 +-
 .../specimpl/ObjectActionParameterAbstract.java    |   42 +-
 .../ObjectActionParameterContributeeAbstract.java  |   12 +-
 .../ObjectActionParameterMixedInAbstract.java      |    5 +-
 .../specloader/specimpl/ObjectMemberAbstract.java  |   34 +-
 .../specimpl/ObjectSpecificationAbstract.java      |  119 +-
 .../OneToManyActionParameterContributee.java       |    4 +-
 .../specimpl/OneToManyActionParameterMixedIn.java  |    4 +-
 .../specimpl/OneToManyAssociationContributee.java  |   14 +-
 .../specimpl/OneToManyAssociationDefault.java      |   22 +-
 .../specimpl/OneToManyAssociationMixedIn.java      |   46 +-
 .../OneToOneActionParameterContributee.java        |    4 +-
 .../specimpl/OneToOneActionParameterMixedIn.java   |    4 +-
 .../specimpl/OneToOneAssociationContributee.java   |    8 +-
 .../specimpl/OneToOneAssociationDefault.java       |   47 +-
 .../specimpl/OneToOneAssociationMixedIn.java       |    6 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |   32 +-
 .../ObjectSpecificationOnStandaloneList.java       |   14 +-
 .../traverser/TypeExtractorAbstract.java           |    2 +-
 .../traverser/TypeExtractorMethodParameters.java   |    4 +-
 .../traverser/TypeExtractorMethodReturn.java       |    4 +-
 .../validator/MetaModelInvalidException.java       |    2 +-
 .../MetaModelValidatorToCheckModuleExtent.java     |    8 +-
 ...taModelValidatorToCheckObjectSpecIdsUnique.java |    8 +-
 .../validator/MetaModelValidatorVisiting.java      |    4 +-
 .../specloader/validator/ValidationFailures.java   |    2 +-
 .../core/metamodel/util/DeweyOrderComparator.java  |    4 +-
 .../core/metamodel/util/pchain/ParentChain.java    |   92 +-
 .../metamodel/util/pchain/ParentChainDefault.java  |   44 +-
 .../exploration/ExplorationAuthenticator.java      |    6 +-
 .../standard/AuthenticationManagerStandard.java    |    2 +
 ...enticationManagerStandardInstallerAbstract.java |    2 +-
 .../standard/AuthenticatorAbstract.java            |    8 +-
 .../standard/RandomCodeGeneratorUUID.java          |    4 +-
 .../core/runtime/authorization/package-info.java   |    2 +-
 .../standard/AuthorizationManagerStandard.java     |    2 +
 ...horizationManagerStandardInstallerAbstract.java |    4 +-
 .../AuthenticationRequestLogonFixture.java         |    2 +-
 .../isis/core/runtime/profiler/Profiler.java       |    2 +-
 .../apache/isis/core/runtime/snapshot/Helper.java  |    8 +-
 .../isis/core/runtime/snapshot/IsisSchema.java     |    6 +-
 .../apache/isis/core/runtime/snapshot/Place.java   |    2 +-
 .../isis/core/runtime/snapshot/XmlSchema.java      |   32 +-
 .../isis/core/runtime/snapshot/XmlSnapshot.java    |   62 +-
 .../isis/core/runtime/snapshot/XsMetaModel.java    |   24 +-
 .../core/runtime/threadpool/ThreadPoolSupport.java |   24 +-
 .../core/webapp/content/ResourceCachingFilter.java |   50 +-
 .../diagnostics/IsisLogOnExceptionFilter.java      |    4 +-
 .../core/webapp/routing/RedirectToDocsFilter.java  |    4 +-
 ...JdoDatastoreIdentityAnnotationFacetFactory.java |    2 +-
 .../JdoDatastoreIdentityFacetAbstract.java         |    3 +-
 ...nferredFromJdoDiscriminatorValueAnnotation.java |    2 +-
 ...doPersistenceCapableAnnotationFacetFactory.java |    2 +-
 .../JdoPersistenceCapableFacetAbstract.java        |    5 +-
 .../object/persistencecapable/package-info.java    |    2 +-
 .../facets/object/query/JdoNamedQuery.java         |    2 +-
 .../object/query/JdoQueriesFacetAnnotation.java    |    2 +-
 .../query/JdoQueryAnnotationFacetFactory.java      |   11 +-
 .../facets/object/query/JdoQueryFacet.java         |    2 +-
 .../facets/object/query/JdoQueryFacetAbstract.java |    3 +-
 .../object/query/JdoQueryFacetAnnotation.java      |    2 +-
 .../version/JdoVersionAnnotationFacetFactory.java  |    4 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |   37 +-
 ...ndatoryFromJdoColumnAnnotationFacetFactory.java |   45 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |   20 +-
 .../JdoNotPersistentFacetAbstract.java             |    2 +-
 .../primarykey/JdoPrimaryKeyFacetAbstract.java     |    2 +-
 ...nalFacetDerivedFromJdoPrimaryKeyAnnotation.java |    2 +-
 .../facets/prop/primarykey/package-info.java       |    2 +-
 .../validator/JdoMetaModelValidator.java           |   20 +-
 .../isis/progmodels/dflt/JavaReflectorHelper.java  |    6 +-
 .../dflt/ProgrammingModelFacetsJava5.java          |   76 +-
 ...ConfigurationBuilder_PeekConfigurationTest.java |    2 -
 .../core/commons/lang/ListUtilsTest_adjust.java    |    7 +-
 .../commons/lang/ListUtilsTest_mutableCopy.java    |    5 -
 .../oid/OidMarshallerTest_roundtripping.java       |    3 +-
 .../Annotations_getAnnotations_on_Class_Test.java  |   16 +
 .../Annotations_getAnnotations_on_Field_Test.java  |   17 +
 .../Annotations_getAnnotations_on_Method_Test.java |   16 +
 ...notations_getAnnotations_on_Parameter_Test.java |   17 +
 .../core/metamodel/facets/CollectionUtilsTest.java |    3 +-
 ...nEventHelperTest_newActionInteractionEvent.java |    2 +-
 ...HelperTest_newCollectionDomainEvent_forAdd.java |    4 +-
 ...perTest_newCollectionDomainEvent_forRemove.java |    4 +-
 ...HelperTest_newPropertyDomainEvent_forClear.java |    2 +-
 ...elperTest_newPropertyDomainEvent_forModify.java |    2 +-
 .../apache/isis/core/metamodel/facets/Utils.java   |    2 +-
 .../action/ActionAnnotationFacetFactoryTest.java   |    2 +-
 .../collections/JavaCollectionFacetTest.java       |    6 +-
 .../CollectionAnnotationFacetFactoryTest.java      |    2 +-
 .../annotation/NavigableParentTestSamples.java     |   21 +-
 .../parseable/ParseableFacetUsingParserTest.java   |    6 +-
 .../PropertyAnnotationFacetFactoryTest.java        |    2 +-
 ...SpecificationValidatingInteractionMoreTest.java |   17 +-
 ...isfySpecificationValidatingInteractionTest.java |   19 +-
 .../facets/propparam/specification/Utils.java      |   40 -
 .../services/ServicesInjectorDefaultTest.java      |   21 +-
 .../ServicesInjectorDefaultTest_usingFields.java   |   27 +-
 ...rvicesInjectorDefaultTest_validateServices.java |    4 +-
 .../ApplicationFeatureRepositoryDefaultTest.java   |   36 +-
 .../core/metamodel/services/grid/BS3GridTest.java  |    2 +-
 .../specloader/ServiceInitializerTest.java         |   23 +-
 .../codegen-bytebuddy}/.gitignore                  |    0
 core/plugins/codegen-bytebuddy/pom.xml             |   81 +
 .../codegen/ProxyFactoryPluginUsingByteBuddy.java  |  139 +
 ...he.isis.core.plugins.codegen.ProxyFactoryPlugin |    1 +
 .../codegen-javassist}/.gitignore                  |    0
 core/plugins/codegen-javassist/pom.xml             |   83 +
 .../codegen/ProxyFactoryPluginUsingJavassist.java  |  135 +
 ...he.isis.core.plugins.codegen.ProxyFactoryPlugin |    1 +
 core/plugins/discovery-reflections/pom.xml         |    6 +-
 .../ClassDiscoveryUsingReflectionsPlugin.java      |   36 -
 .../reflections/ReflectDiscovery.java              |   85 -
 .../reflections/ReflectManifest.java               |  147 -
 .../ClassDiscoveryPluginUsingReflections.java      |   53 +
 .../reflections/ReflectDiscovery.java              |  102 +
 .../reflections/ReflectManifest.java               |  167 +
 ...lib.plugins.classdiscovery.ClassDiscoveryPlugin |    1 -
 ...ore.plugins.classdiscovery.ClassDiscoveryPlugin |    1 +
 core/plugins/eventbus-axon/pom.xml                 |   15 +-
 .../QueryResultsCacheControlUsingAxon.java         |   56 -
 .../plugins/eventbus/EventBusPluginForAxon.java    |  175 +
 .../EventBusImplementationForAxonSimple.java       |  113 -
 .../webapp/jee/PersistenceUnitNoopProvider.java    |  106 +-
 .../src/main/resources/META-INF/persistence.xml    |   10 +
 ...applib.services.eventbus.EventBusImplementation |    1 -
 ...pache.isis.core.plugins.eventbus.EventBusPlugin |    1 +
 .../QueryResultsCacheUsingAxonTest.java            |   34 +-
 .../EventBusServiceDefaultUsingAxonSimpleTest.java |  223 ++
 core/plugins/eventbus-guava/pom.xml                |    9 +-
 .../QueryResultsCacheControlUsingGuava.java        |   56 -
 .../plugins/eventbus/EventBusPluginForGuava.java   |  108 +
 .../adapter/EventBusImplementationForGuava.java    |   69 -
 ...applib.services.eventbus.EventBusImplementation |    1 -
 ...pache.isis.core.plugins.eventbus.EventBusPlugin |    1 +
 .../QueryResultsCacheUsingGuavaTest.java           |   32 +-
 .../EventBusServiceDefaultUsingGuavaTest.java      |  131 +-
 core/plugins/jaxrs-resteasy-3/pom.xml              |   19 +-
 .../jaxrs/resteasy/IsisResteasy3Plugin.java        |   59 +-
 .../conneg/IsisPrettyPrintingProcessor.java        |    2 +-
 .../PreProcessInterceptorForIsisSession.java       |    2 +-
 .../applib/Parser_forCacheControl_Test.java        |   25 +
 .../applib/Parser_forJaxRsMediaType_Test.java      |   25 +
 .../RepresentationTypeTest_getMediaType.java       |   23 +
 .../applib/RepresentationTypeTest_getName.java     |   23 +
 .../applib/RepresentationTypeTest_lookup.java      |   25 +
 .../applib/RepresentationTypeTest_parser.java      |   23 +
 ...eContext_ensureCompatibleAcceptHeader_Test.java |   24 +
 ...stfulObjectsApplicationExceptionMapperTest.java |  142 -
 ...tfulObjectsApplicationExceptionMapper_Test.java |   24 +
 core/plugins/jaxrs-resteasy-4/pom.xml              |   16 +-
 .../jaxrs/resteasy/IsisResteasy4Plugin.java        |   59 +-
 .../applib/Parser_forCacheControl_Test.java        |   25 +
 .../applib/Parser_forJaxRsMediaType_Test.java      |   25 +
 .../RepresentationTypeTest_getMediaType.java       |   23 +
 .../applib/RepresentationTypeTest_getName.java     |   23 +
 .../applib/RepresentationTypeTest_lookup.java      |   25 +
 .../applib/RepresentationTypeTest_parser.java      |   23 +
 ...eContext_ensureCompatibleAcceptHeader_Test.java |   24 +
 ...stfulObjectsApplicationExceptionMapperTest.java |  142 -
 ...tfulObjectsApplicationExceptionMapper_Test.java |   24 +
 core/plugins/jdo-datanucleus-4/pom.xml             |    2 +-
 .../plugins/jdo/dn4/IsisJdoSupportPlugin4.java     |   34 +-
 .../services/jdosupport/IsisJdoSupportDN4.java     |   16 +-
 .../services/jdosupport/IsisJdoSupport_v3_1.java   |  100 +-
 .../jdosupport/Persistable_datanucleusIdLong.java  |    6 +-
 .../Persistable_datanucleusVersionLong.java        |    6 +-
 .../Persistable_datanucleusVersionTimestamp.java   |    6 +-
 .../Persistable_downloadJdoMetadata.java           |    8 +-
 .../runtime/persistence/adapter/PojoAdapter.java   |   47 +-
 .../DataNucleusApplicationComponents4.java         |   50 +-
 .../system/persistence/IsisLifecycleListener2.java |   10 +-
 .../system/persistence/PersistenceSession4.java    |   80 +-
 .../persistence/PersistenceSessionFactory4.java    |    9 +-
 .../CreateSchemaObjectFromClassMetadata4.java      |   24 +-
 .../datanucleus/DataNucleusLifeCycleHelper.java    |   43 +-
 .../jdo/datanucleus/JDOStateManagerForIsis.java    |    4 +-
 .../PersistenceQueryFindAllInstancesProcessor.java |    7 +-
 ...sistenceQueryFindUsingApplibQueryProcessor.java |   23 +-
 .../queries/PersistenceQueryProcessorAbstract.java |    6 +-
 .../datanucleus/persistence/queries/QueryUtil.java |    4 +-
 .../persistence/spi/JdoObjectIdSerializer.java     |   14 +-
 .../service/eventbus/EventBusServiceJdo.java       |    6 +-
 .../typeconverters/IsisMarkupConverter.java        |    4 +-
 .../typeconverters/IsisPasswordConverter.java      |    4 +-
 .../valuemappings/ByteArrayBlobRdbmsMapping.java   |    1 +
 .../datanucleus/valuetypes/IsisBlobMapping.java    |   15 +-
 .../datanucleus/valuetypes/IsisClobMapping.java    |   15 +-
 .../datanucleus/valuetypes/IsisMoneyMapping.java   |   10 +-
 core/plugins/jdo-datanucleus-5/pom.xml             |    2 +-
 .../plugins/jdo/dn5/IsisJdoSupportPlugin5.java     |   34 +-
 .../services/jdosupport/IsisJdoSupportDN5.java     |   16 +-
 .../services/jdosupport/IsisJdoSupport_v3_2.java   |    4 +-
 .../jdosupport/Persistable_datanucleusIdLong.java  |    6 +-
 .../Persistable_datanucleusVersionLong.java        |    6 +-
 .../Persistable_datanucleusVersionTimestamp.java   |    6 +-
 .../Persistable_downloadJdoMetadata.java           |    8 +-
 .../runtime/persistence/adapter/PojoAdapter.java   |   55 +-
 .../DataNucleusApplicationComponents5.java         |   50 +-
 .../system/persistence/IsisLifecycleListener2.java |   10 +-
 .../system/persistence/PersistenceSession5.java    |   83 +-
 .../persistence/PersistenceSessionFactory5.java    |    8 +-
 .../CreateSchemaObjectFromClassMetadata.java       |   24 +-
 .../datanucleus/DataNucleusLifeCycleHelper.java    |   43 +-
 .../jdo/datanucleus/JDOStateManagerForIsis.java    |    4 +-
 .../PersistenceQueryFindAllInstancesProcessor.java |    7 +-
 ...sistenceQueryFindUsingApplibQueryProcessor.java |   23 +-
 .../queries/PersistenceQueryProcessorAbstract.java |    6 +-
 .../datanucleus/persistence/queries/QueryUtil.java |    4 +-
 .../persistence/spi/JdoObjectIdSerializer.java     |   26 +-
 .../service/eventbus/EventBusServiceJdo.java       |    6 +-
 .../typeconverters/IsisMarkupConverter.java        |    4 +-
 .../typeconverters/IsisPasswordConverter.java      |    4 +-
 .../valuemappings/ByteArrayBlobRdbmsMapping.java   |    1 +
 .../datanucleus/valuetypes/IsisBlobMapping.java    |   15 +-
 .../datanucleus/valuetypes/IsisClobMapping.java    |   15 +-
 .../datanucleus/valuetypes/IsisMoneyMapping.java   |   10 +-
 core/pom.xml                                       |  590 +++-
 core/runtime-legacy/pom.xml                        |  147 -
 core/runtime/pom.xml                               |  258 +-
 .../isis/core/metamodel/IsisJdoRuntimePlugin.java  |   54 +-
 .../fixtures/FixturesInstallerDelegate.java        |   14 +-
 .../FixturesInstallerFromConfiguration.java        |    4 +-
 .../isis/core/runtime/fixtures/package-info.java   |    4 +-
 .../headless/HeadlessTransactionSupport.java       |   29 +
 .../HeadlessWithBootstrappingAbstract.java         |    9 +-
 .../isis/core/runtime/headless/IsisSystem.java     |  224 +-
 .../runtime/headless/IsisSystemBootstrapper.java   |   27 +-
 .../core/runtime/headless/logging/LogStream.java   |    6 +
 .../apache/isis/core/runtime/memento/Memento.java  |   54 +-
 .../persistence/objectstore/Slf4jLogger.java       |   34 +-
 .../core/runtime/persistence/package-info.java     |   10 +-
 .../query/PersistenceQueryAbstract.java            |   10 +-
 ...ersistenceQueryFindUsingApplibQueryDefault.java |    6 +-
 .../isis/core/runtime/runner/IsisInjectModule.java |    6 +-
 .../runner/opts/OptionHandlerAppManifest.java      |    8 +-
 .../runtime/runner/opts/OptionHandlerFixture.java  |    8 +-
 .../isis/core/runtime/services/DeweyOrderUtil.java |   10 +-
 .../core/runtime/services/ServiceInstantiator.java |  176 +-
 .../services/ServicesInstallerFromAnnotation.java  |   38 +-
 .../ServicesInstallerFromConfiguration.java        |    1 +
 ...cesInstallerFromConfigurationAndAnnotation.java |    2 +
 .../services/auditing/AuditingServiceInternal.java |    4 +-
 .../AuthenticationSessionProviderDefault.java      |   16 +-
 .../background/BackgroundCommandExecution.java     |   29 +-
 .../background/BackgroundServiceDefault.java       |  273 +-
 .../background/CommandExecutorServiceDefault.java  |  117 +-
 .../background/CommandInvocationHandler.java       |  172 +
 .../background/ForkingInvocationHandler.java       |  105 +
 .../changes/ChangedObjectsServiceInternal.java     |    6 +-
 .../command/CommandDtoServiceInternalDefault.java  |   60 +-
 .../services/command/CommandServiceDefault.java    |    2 +-
 .../services/email/EmailServiceDefault.java        |   11 +-
 .../core/runtime/services/error/EmailTicket.java   |  141 +
 .../core/runtime/services/error/SimpleTicket.java  |  134 +
 .../eventbus/EventBusImplementationAbstract.java   |   28 +-
 .../services/eventbus/EventBusServiceDefault.java  |   59 +-
 .../homepage/HomePageProviderServiceDefault.java   |    4 +-
 .../core/runtime/services/i18n/po/PoDisabled.java  |   44 +
 .../core/runtime/services/i18n/po/PoReader.java    |    3 +-
 .../core/runtime/services/i18n/po/PoWriter.java    |    3 +-
 .../services/i18n/po/TranslationServicePo.java     |   19 +-
 .../services/i18n/po/TranslationServicePoMenu.java |   20 +-
 .../ixn/InteractionDtoServiceInternalDefault.java  |    6 +-
 .../services/memento/MementoServiceDefault.java    |  169 -
 .../services/message/MessageServiceDefault.java    |    2 +-
 .../services/metrics/MetricsServiceDefault.java    |    2 +-
 .../PersistenceSessionServiceInternalDefault.java  |   22 +-
 .../services/publish/PublishedObjectsDefault.java  |   24 +-
 .../publish/PublishingServiceInternalDefault.java  |    5 +-
 .../sessmgmt/SessionManagementServiceDefault.java  |    2 +-
 .../runtime/services/sudo/SudoServiceDefault.java  |    2 +-
 .../userreg/EmailNotificationServiceDefault.java   |   15 +-
 .../services/xactn/TransactionServiceDefault.java  |  111 +
 .../xmlsnapshot/XmlSnapshotServiceDefault.java     |   11 +-
 .../AbstractIsisSessionTemplate.java               |    6 +-
 .../core/runtime/snapshot/XmlSnapshotBuilder.java  |    2 +-
 .../isis/core/runtime/system/DeploymentType.java   |    4 +-
 .../isis/core/runtime/system/SystemConstants.java  |    2 +-
 .../core/runtime/system/context/IsisContext.java   |  176 +-
 .../system/persistence/PersistenceQuery.java       |    2 +-
 .../system/persistence/PersistenceSession.java     |  168 +-
 .../system/persistence/PersistenceSessionBase.java |   55 +-
 .../persistence/PersistenceSessionFactory.java     |   40 +-
 .../adaptermanager/OidAdapterHashMap.java          |    8 +-
 .../adaptermanager/PojoAdapterHashMap.java         |   10 +-
 .../adaptermanager/RootAndCollectionAdapters.java  |    8 +-
 .../core/runtime/system/session/IsisSession.java   |   18 +-
 .../runtime/system/session/IsisSessionFactory.java |   25 +-
 .../system/session/IsisSessionFactoryBuilder.java  |   12 +-
 .../system/transaction/IsisTransaction.java        |  111 +-
 .../system/transaction/IsisTransactionManager.java |   38 +-
 .../IsisComponentProvider.java                     |   34 +-
 .../IsisComponentProviderDefault2.java             |   10 +-
 .../IsisComponentProviderUsingInstallers.java      |   21 +-
 .../PersistenceCapableTypeFinder.java              |   48 +-
 .../apache/isis/core/webapp/IsisSessionFilter.java |   18 +-
 .../isis/core/webapp/IsisWebAppBootstrapper.java   |    2 +-
 .../apache/isis/core/webapp/WebAppConstants.java   |    4 +-
 .../AuthenticationSessionStrategyAbstract.java     |    2 +-
 .../auth/AuthenticationSessionStrategyDefault.java |    2 +-
 .../webapp/jee/IsisCDIBeanScanInterceptor.java     |   96 +-
 .../IsisConfigurationForJdoIntegTests.java         |    4 +-
 .../jdo/datanucleus/JdoRuntimeException.java       |    2 +-
 .../datanucleus/metamodel/JdoPropertyUtils.java    |    4 +-
 .../commands/AbstractDataNucleusObjectCommand.java |    7 +-
 .../queries/PersistenceQueryProcessor.java         |    2 +-
 .../service/support/TimestampService.java          |   14 +-
 .../objectstore/jdo/service/RegisterEntities.java  |    4 +-
 .../runtime/services/ServiceInstantiatorTest.java  |    9 +-
 .../system/ObjectActionLayoutXmlDefaultTest.java   |    2 +-
 .../system/OneToManyAssociationDefaultTest.java    |   16 +-
 core/schema/pom.xml                                |    6 +-
 core/security-shiro/pom.xml                        |  107 +-
 .../security/shiro/IsisLdapContextFactory.java     |    6 +-
 .../apache/isis/security/shiro/IsisLdapRealm.java  |    2 +-
 .../shiro/ShiroAuthenticatorOrAuthorizor.java      |   31 +-
 .../ShiroAuthenticationManagerInstaller.java       |    2 +-
 .../shiro/authorization/IsisPermission.java        |    9 +-
 .../authorization/IsisPermissionResolver.java      |    3 +-
 .../PermissionToRoleMapperFromIni.java             |    2 +-
 core/security/pom.xml                              |   46 +-
 .../authentication/AuthenticatorBypass.java        |    2 +-
 .../BypassAuthenticationManagerInstaller.java      |    2 +-
 core/specsupport/pom.xml                           |   19 +-
 .../scenarios/DomainServiceProvider.java           |    9 +-
 .../scenarios/DomainServiceProviderMockery.java    |   17 +-
 .../core/specsupport/scenarios/InMemoryDB.java     |   52 +-
 .../specsupport/scenarios/ScenarioExecution.java   |  126 +-
 .../scenarios/ScenarioExecutionForUnit.java        |   16 +-
 .../scenarios/ScenarioExecutionScope.java          |   10 +-
 .../core/specsupport/specs/CukeGlueAbstract.java   |  115 +-
 .../org/apache/isis/core/specsupport/specs/V.java  |  132 +-
 .../appended-resources/supplemental-models.xml     |   15 -
 .../.gitignore                                     |    0
 core/unittestsupport-test/pom.xml                  |  119 +
 .../ServiceInstantiatorTestUsingCodegenPlugin.java |  220 ++
 .../BidirectionalRelationshipContractTestAll.java  |   36 +
 .../unittestsupport/bidir/ChildDomainObject.java   |   76 +
 .../bidir/InstantiatorForChildDomainObject.java    |   36 +
 .../unittestsupport/bidir/ParentDomainObject.java  |   65 +
 .../unittestsupport/bidir/PeerDomainObject.java    |  103 +
 .../bidir/PeerDomainObjectForTesting.java          |    0
 .../comparable/CategorizedDomainObject.java        |   70 +
 ...mainObjectComparableContractTest_compareTo.java |   49 +
 .../files/FilesTest_deleteFiles.java               |   83 +
 ...ectServiceMethodMustBeFinalContractTestAll.java |    0
 .../unittestsupport/inject/SomeDomainObject.java   |    0
 .../core/unittestsupport/inject/SomeService.java   |    0
 .../CollaboratingUsingConstructorInjection.java    |   37 +
 .../CollaboratingUsingSetterInjection.java         |   40 +
 .../unittestsupport/jmocking/Collaborator.java     |    0
 .../ImposteriserTestUsingCodegenPlugin.java        |  329 ++
 ...IsisActionsTest_returnNewTransientInstance.java |   93 +
 .../jmocking/JMockActionsTest_returnArgument.java  |    0
 .../jmocking/JMockActionsTest_returnEach.java      |   70 +
 .../jmocking/JUnitRuleMockery2Test.java            |   46 +
 ..._autoWiring_constructorInjection_happyCase.java |   57 +
 ...y2Test_autoWiring_sadCase_noClassUnderTest.java |   45 +
 ...est_autoWiring_sadCase_twoClassesUnderTest.java |   50 +
 ...2Test_autoWiring_setterInjection_happyCase.java |   58 +
 ...RuleMockery2Test_mockAnnotatedWithAllowing.java |   60 +
 ...RuleMockery2Test_mockAnnotatedWithChecking.java |   62 +
 ...RuleMockery2Test_mockAnnotatedWithIgnoring.java |   59 +
 ...kery2Test_mockAnnotatedWithNever_happyCase.java |   54 +
 ...ockery2Test_mockAnnotatedWithNever_sadCase.java |   59 +
 ...ockery2Test_mockAnnotatedWithOne_happyCase.java |   55 +
 ...eMockery2Test_mockAnnotatedWithOne_sadCase.java |   56 +
 .../sortedsets/SomeDomainObject.java               |   35 +
 .../sortedsets/SortedSetsContractTestAll.java      |    0
 ...lueTypeContractTestAbstract_BigIntegerTest.java |    0
 .../ValueTypeContractTestAbstract_ColorTest.java   |    0
 .../ValueTypeContractTestAbstract_StringTest.java  |    0
 .../proxy/ProxyCreatorTestUsingCodegenPlugin.java  |   97 +
 .../src/test/resources/signed.jar                  |  Bin
 .../xml/objects/CUS.xml                            |    0
 .../xml/objects/CUS/1.txt                          |    0
 .../xml/objects/CUS/1.xml                          |    0
 .../xml/objects/CUS/2.xml                          |    0
 core/unittestsupport/pom.xml                       |  151 +-
 .../AbstractApplyToAllContractTest.java            |   35 +-
 ...irectionalRelationshipContractTestAbstract.java |  252 +-
 .../core/unittestsupport/bidir/Instantiator.java   |    2 +-
 .../unittestsupport/bidir/InstantiatorMap.java     |   14 +-
 .../unittestsupport/bidir/InstantiatorSimple.java  |    2 +-
 .../isis/core/unittestsupport/bidir/Parent.java    |   10 +-
 .../ComparableContractTest_compareTo.java          |    5 +-
 .../comparable/ComparableContractTester.java       |   16 +-
 .../isis/core/unittestsupport/files/Files.java     |    2 +-
 ...rviceMethodMustBeFinalContractTestAbstract.java |   15 +-
 .../core/unittestsupport/jaxb/JaxbMatchers.java    |   18 +-
 .../jmocking/ImposteriserUsingCodegenPlugin.java   |   88 +
 .../unittestsupport/jmocking/Imposterisers.java    |   32 +
 .../core/unittestsupport/jmocking/IsisActions.java |    7 +-
 .../unittestsupport/jmocking/JMockActions.java     |   20 +-
 .../jmocking/JUnitRuleMockery2.java                |  111 +-
 .../jmocking/JavassistImposteriser.java            |  135 -
 .../unittestsupport/jmocking/MyMockomatic.java     |  101 +-
 .../unittestsupport/soap/PublishedEndpoints.java   |    7 +-
 .../soap/SoapEndpointPublishingRule.java           |   24 +-
 .../unittestsupport/soap/SoapEndpointSpec.java     |   14 +-
 .../sortedsets/SortedSetsContractTestAbstract.java |   17 +-
 .../core/unittestsupport/utils/CollectUtils.java   |    2 -
 .../core/unittestsupport/utils/ReflectUtils.java   |   58 +-
 .../value/ValueTypeContractTestAbstract.java       |    6 +-
 .../BidirectionalRelationshipContractTestAll.java  |   36 -
 .../unittestsupport/bidir/ChildDomainObject.java   |   76 -
 .../bidir/InstantiatorForChildDomainObject.java    |   36 -
 .../unittestsupport/bidir/ParentDomainObject.java  |   65 -
 .../unittestsupport/bidir/PeerDomainObject.java    |  103 -
 .../comparable/CategorizedDomainObject.java        |   70 -
 ...mainObjectComparableContractTest_compareTo.java |   49 -
 .../files/FilesTest_deleteFiles.java               |   83 -
 .../CollaboratingUsingConstructorInjection.java    |   37 -
 .../CollaboratingUsingSetterInjection.java         |   40 -
 ...IsisActionsTest_returnNewTransientInstance.java |   93 -
 .../jmocking/JMockActionsTest_returnEach.java      |   70 -
 .../jmocking/JUnitRuleMockery2Test.java            |   46 -
 ..._autoWiring_constructorInjection_happyCase.java |   57 -
 ...y2Test_autoWiring_sadCase_noClassUnderTest.java |   45 -
 ...est_autoWiring_sadCase_twoClassesUnderTest.java |   50 -
 ...2Test_autoWiring_setterInjection_happyCase.java |   58 -
 ...RuleMockery2Test_mockAnnotatedWithAllowing.java |   60 -
 ...RuleMockery2Test_mockAnnotatedWithChecking.java |   62 -
 ...RuleMockery2Test_mockAnnotatedWithIgnoring.java |   59 -
 ...kery2Test_mockAnnotatedWithNever_happyCase.java |   54 -
 ...ockery2Test_mockAnnotatedWithNever_sadCase.java |   59 -
 ...ockery2Test_mockAnnotatedWithOne_happyCase.java |   55 -
 ...eMockery2Test_mockAnnotatedWithOne_sadCase.java |   56 -
 .../sortedsets/SomeDomainObject.java               |   35 -
 core/viewer-restfulobjects-applib/pom.xml          |   38 +-
 .../apache/isis/viewer/legacy/ClientExecutor.java  |  160 +-
 .../apache/isis/viewer/legacy/ClientRequest.java   |   22 +-
 .../isis/viewer/legacy/ClientRequestFactory.java   |   36 +-
 .../apache/isis/viewer/legacy/RestEasyLegacy.java  |   96 +-
 .../restfulobjects/applib/JsonRepresentation.java  | 3470 ++++++++++----------
 .../restfulobjects/applib/LinkRepresentation.java  |    6 +-
 .../isis/viewer/restfulobjects/applib/Rel.java     |   65 +-
 .../restfulobjects/applib/RelDefinition.java       |    4 +-
 .../restfulobjects/applib/RepresentationType.java  |   30 +-
 .../restfulobjects/applib/RestfulHttpMethod.java   |    8 +-
 .../restfulobjects/applib/RestfulMediaType.java    |   32 +-
 .../applib/client/ClientRequestConfigurer.java     |   20 +-
 .../applib/client/RepresentationWalker.java        |    6 +-
 .../applib/client/RestfulClient.java               |    2 +-
 .../applib/client/RestfulResponse.java             |   10 +-
 .../applib/client/UriBuilderPlugin.java            |   50 +-
 .../DomainObjectMemberRepresentation.java          |    6 +-
 .../domainobjects/DomainObjectRepresentation.java  |    8 +-
 .../applib/domainobjects/DomainObjectResource.java |   77 +-
 .../applib/domainobjects/DomainRepresentation.java |    8 +-
 .../domainobjects/DomainServiceResource.java       |   24 +-
 .../ObjectCollectionRepresentation.java            |    2 +-
 .../applib/domaintypes/DomainTypeResource.java     |    8 +-
 .../applib/menubars/MenuBarsResource.java          |    4 +-
 .../restfulobjects/applib/util/JsonMapper.java     |   26 +-
 .../restfulobjects/applib/util/JsonNodeUtils.java  |    6 +-
 .../restfulobjects/applib/util/MediaTypes.java     |   84 +-
 .../viewer/restfulobjects/applib/util/Parser.java  |   64 +-
 .../restfulobjects/applib/util/PathNode.java       |   16 +-
 .../applib/util/UrlEncodingUtils.java              |    4 +-
 .../RepresentationTypeTest_getMediaType.java       |   41 -
 ...entationTypeTest_getMediaType_ContractTest.java |   43 +
 .../applib/RepresentationTypeTest_getName.java     |   37 -
 ...epresentationTypeTest_getName_ContractTest.java |   40 +
 .../applib/RepresentationTypeTest_lookup.java      |   75 -
 ...RepresentationTypeTest_lookup_ContractTest.java |   78 +
 .../applib/RepresentationTypeTest_parser.java      |   38 -
 ...RepresentationTypeTest_parser_ContractTest.java |   42 +
 .../applib/RestfulHttpMethodTest_setUp.java        |    8 +-
 .../restfulobjects/applib/util/ParserTest.java     |  220 --
 .../restfulobjects/applib/util/Parser_Test.java    |  177 +
 .../util/Parser_forCacheControl_ContractTest.java  |   58 +
 .../Parser_forJaxRsMediaType_ContractTest.java     |   47 +
 core/viewer-restfulobjects-rendering/pom.xml       |   14 +-
 .../restfulobjects/rendering/LinkFollowSpecs.java  |    2 +-
 .../restfulobjects/rendering/RendererContext.java  |    6 +-
 .../rendering/ReprRendererAbstract.java            |    4 +-
 .../viewer/restfulobjects/rendering/Responses.java |    8 +-
 .../AbstractObjectMemberReprRenderer.java          |   12 +-
 .../domainobjects/ActionResultReprRenderer.java    |   50 +-
 .../domainobjects/CollectionSemantics.java         |    4 +-
 .../domainobjects/DomainObjectLinkTo.java          |    2 +-
 .../domainobjects/DomainObjectReprRenderer.java    |   42 +-
 .../domainobjects/DomainServiceLinkTo.java         |    6 +-
 .../rendering/domainobjects/InvokeKeys.java        |    6 +-
 .../rendering/domainobjects/JsonValueEncoder.java  |   65 +-
 .../rendering/domainobjects/ListReprRenderer.java  |    2 +-
 .../rendering/domainobjects/MemberReprMode.java    |    2 +-
 .../domainobjects/ObjectActionReprRenderer.java    |    2 +-
 .../ObjectCollectionReprRenderer.java              |    2 +-
 .../domainobjects/ObjectPropertyReprRenderer.java  |    8 +-
 .../domainobjects/ScalarValueReprRenderer.java     |    8 +-
 .../AbstractTypeMemberReprRenderer.java            |    4 +-
 .../RepresentationServiceContentNegotiator.java    |    2 +-
 .../acceptheader/AcceptHeaderServiceForRest.java   |   30 +-
 .../conneg/ContentNegotiationServiceAbstract.java  |   13 +-
 ...entNegotiationServiceForRestfulObjectsV1_0.java |   18 +-
 .../ContentNegotiationServiceOrgApacheIsisV1.java  |   57 +-
 .../ContentNegotiationServiceXRoDomainType.java    |    2 +-
 .../rendering/util/FollowSpecUtil.java             |    2 +-
 .../restfulobjects/rendering/util/OidUtils.java    |    2 +-
 .../JsonValueEncoderTest_asAdapter.java            |    4 +-
 .../JsonValueEncoderTest_asObject.java             |   10 +-
 core/viewer-restfulobjects-server/pom.xml          |   38 +-
 .../server/IsisJaxrsServerPlugin.java              |   46 +-
 .../restfulobjects/server/ResourceContext.java     |   17 +-
 .../server/RestfulObjectsApplication.java          |    9 +-
 .../AuthenticationSessionStrategyBasicAuth.java    |    2 +-
 .../AuthenticationSessionStrategyHeader.java       |    2 +-
 .../server/mappers/ExceptionMapperAbstract.java    |   14 +-
 .../server/mappers/entity/ExceptionDetail.java     |   12 +-
 .../server/mappers/entity/ExceptionPojo.java       |   12 +-
 .../server/mappers/entity/package-info.java        |    4 +-
 .../resources/DomainObjectResourceServerside.java  |  173 +-
 .../server/resources/DomainResourceHelper.java     |    2 +-
 .../resources/DomainServiceResourceServerside.java |   34 +-
 .../resources/DomainServicesListReprRenderer.java  |    2 +-
 .../resources/DomainTypeResourceServerside.java    |    8 +-
 .../server/resources/ImageResourceServerside.java  |   50 +
 .../resources/MenuBarsResourceServerside.java      |    4 +-
 .../server/resources/ObjectActionArgHelper.java    |   32 +-
 .../resources/ObjectAdapterAccessHelper.java       |   14 +-
 .../resources/ObjectAdapterUpdateHelper.java       |    2 +-
 .../server/resources/SwaggerSpecResource.java      |    8 +-
 .../server/util/UrlDecoderUtils.java               |    2 +-
 ...ceContextTest_ensureCompatibleAcceptHeader.java |  211 --
 .../server/ResourceContextTest_getArg.java         |    2 +-
 ..._ensureCompatibleAcceptHeader_ContractTest.java |  211 ++
 ...tsApplicationExceptionMapper_Test_Contract.java |  145 +
 core/viewer-wicket-applib/pom.xml                  |  106 +-
 .../applib/WicketDeveloperUtilitiesService.java    |    6 +-
 core/viewer-wicket-impl/pom.xml                    |  129 +-
 .../wicket/viewer/IsisWicketApplication.java       |  585 ++--
 .../viewer/wicket/viewer/IsisWicketModule.java     |    8 +-
 .../imagecache/ImageResourceCacheClassPath.java    |    4 +-
 .../viewer/imagecache/ImageResourceCacheKey.java   |   10 +-
 .../isis/DeploymentTypeWicketAbstract.java         |    8 +-
 .../viewer/integration/isis/WicketServer.java      |    8 +-
 .../integration/isis/WicketServerPrototype.java    |    6 +-
 .../wicket/AuthenticatedWebSessionForIsis.java     |   66 +-
 .../wicket/ConverterForObjectAdapter.java          |    2 +-
 .../integration/wicket/LocalizerForIsis.java       |   16 +-
 .../integration/wicket/WebRequestCycleForIsis.java |   28 +-
 .../ComponentFactoryRegistrarDefault.java          |   50 +-
 .../ComponentFactoryRegistryDefault.java           |    4 +-
 .../registries/pages/PageClassListDefault.java     |    4 +-
 .../viewer/services/BookmarkUiServiceWicket.java   |    2 +-
 .../viewer/services/DeepLinkServiceWicket.java     |    2 +-
 .../viewer/services/GuiceBeanProviderWicket.java   |    2 +-
 .../services/HintStoreUsingWicketSession.java      |    8 +-
 .../viewer/services/LocaleProviderWicket.java      |    2 +-
 .../wicket/viewer/services/Object_clearHints.java  |    8 +-
 .../services/TranslationsResolverWicket.java       |   14 +-
 .../wicket/viewer/IsisWicketApplication_Pages.java |    4 +-
 ...uthenticatedWebSessionForIsis_Authenticate.java |    4 +-
 .../AuthenticatedWebSessionForIsis_SignIn.java     |    2 +-
 core/viewer-wicket-model/pom.xml                   |   88 +-
 .../wicket/model/hints/HasUiHintDisambiguator.java |    2 +-
 .../wicket/model/hints/IsisEventAbstract.java      |    6 +-
 .../wicket/model/hints/IsisSelectorEvent.java      |    2 +-
 .../viewer/wicket/model/hints/UiHintContainer.java |    2 +-
 .../wicket/model/isis/WicketViewerSettings.java    |    6 +-
 .../wicket/model/links/ListOfLinksModel.java       |    4 +-
 .../wicket/model/mementos/ActionMemento.java       |   10 +-
 .../model/mementos/ActionParameterMemento.java     |    6 +-
 .../wicket/model/mementos/CollectionMemento.java   |    2 +-
 .../model/mementos/ObjectAdapterMemento.java       |  136 +-
 .../wicket/model/mementos/PageParameterNames.java  |   26 +-
 .../wicket/model/mementos/PropertyMemento.java     |    4 +-
 .../viewer/wicket/model/mementos/SpecUtils.java    |    6 +-
 .../viewer/wicket/model/models/AboutModel.java     |    2 +-
 .../viewer/wicket/model/models/ActionModel.java    |  104 +-
 .../wicket/model/models/BookmarkTreeNode.java      |  100 +-
 .../model/models/BookmarkTreeNodeComparator.java   |   14 +-
 .../wicket/model/models/BookmarkableModel.java     |    4 +-
 .../wicket/model/models/BookmarkedPagesModel.java  |   10 +-
 .../wicket/model/models/EntityCollectionModel.java |  172 +-
 .../viewer/wicket/model/models/EntityModel.java    |   45 +-
 .../model/models/EntityModelForReference.java      |    2 +
 .../wicket/model/models/ImageResourceCache.java    |    2 +-
 .../isis/viewer/wicket/model/models/PageType.java  |    8 +-
 .../viewer/wicket/model/models/ScalarModel.java    |   85 +-
 .../model/models/ScalarModelWithMultiPending.java  |    2 +-
 .../model/models/ScalarModelWithPending.java       |   14 +-
 .../wicket/model/models/ServiceActionsModel.java   |    3 +-
 .../isis/viewer/wicket/model/models/Util.java      |   47 +
 .../viewer/wicket/model/models/ValueModel.java     |    6 +-
 .../isis/viewer/wicket/model/models/VoidModel.java |    6 +-
 .../wicket/model/models/WicketComponentUtils.java  |    3 +-
 .../model/models/whereami/WhereAmIModel.java       |   62 +-
 .../models/whereami/WhereAmIModelDefault.java      |  156 +-
 .../viewer/wicket/model/util/ComponentHintKey.java |    6 +-
 .../models/LowestCommonSuperclassClosureTest.java  |   15 +-
 .../ScalarModel_isScalarSubtypingAnyOf_Test.java   |   71 +
 core/viewer-wicket-ui-legacy/pom.xml               |   88 -
 core/viewer-wicket-ui/pom.xml                      |  222 +-
 .../isis/viewer/wicket/ui/ComponentFactory.java    |   10 +-
 .../viewer/wicket/ui/ComponentFactoryAbstract.java |    4 +-
 .../isis/viewer/wicket/ui/ComponentType.java       |   10 +-
 .../ui/actionresponse/ActionResultResponse.java    |   12 +-
 .../ActionResultResponseHandlingStrategy.java      |    7 +-
 .../actionresponse/ActionResultResponseType.java   |   26 +-
 .../ui/app/registry/ComponentFactoryRegistrar.java |    4 +-
 .../ui/app/registry/ComponentFactoryRegistry.java  |    8 +-
 .../wicket/ui/components/about/AboutPanel.java     |   10 +-
 .../ui/components/about/JarManifestAttributes.java |   16 +-
 .../ui/components/about/JarManifestListView.java   |    2 +-
 .../ui/components/about/JarManifestModel.java      |   38 +-
 .../ui/components/about/JarManifestPanel.java      |    1 +
 .../ui/components/actionlink/ActionLinkPanel.java  |    4 +-
 .../entityactions/AdditionalLinksPanel.java        |   74 +-
 .../entityactions/EntityActionLinkFactory.java     |    4 +-
 .../actionmenu/serviceactions/CssMenuItem.java     |   38 +-
 .../serviceactions/ServiceActionLinkFactory.java   |    2 +-
 .../serviceactions/ServiceActionUtil.java          |   56 +-
 .../serviceactions/ServiceActionsPanel.java        |   68 +-
 .../serviceactions/TertiaryActionsPanel.java       |   18 +-
 .../actionprompt/ActionPromptModalWindow.java      |    4 +-
 .../actions/ActionFormExecutorStrategy.java        |    9 +-
 .../components/actions/ActionParametersForm.java   |   12 +-
 .../actions/ActionParametersFormPanelFactory.java  |    6 +-
 .../components/actions/ActionParametersPanel.java  |    4 +-
 .../bookmarkedpages/BookmarkedPagesPanel.java      |   18 +-
 .../collection/AssociatedWithActionsHelper.java    |   10 +-
 .../ui/components/collection/CollectionPanel.java  |   10 +-
 .../collection/bulk/BulkActionsLinkFactory.java    |   37 +-
 .../selector/CollectionSelectorHelper.java         |   10 +-
 .../selector/CollectionSelectorPanel.java          |    3 +-
 .../CollectionContentsAsAjaxTablePanel.java        |   80 +-
 .../CollectionContentsSortableDataProvider.java    |    4 +-
 .../ajaxtable/IsisAjaxFallbackDataTable.java       |   16 +-
 .../ajaxtable/IsisAjaxFallbackHeadersToolbar.java  |   35 +-
 .../ajaxtable/IsisAjaxFallbackOrderByBorder.java   |   25 +-
 .../ajaxtable/IsisAjaxHeadersToolbar.java          |    6 +-
 .../ajaxtable/IsisAjaxNavigationToolbar.java       |    4 +-
 .../ajaxtable/IsisAjaxPagingNavigation.java        |    2 +-
 .../IsisAjaxPagingNavigationIncrementLink.java     |    2 +-
 .../ajaxtable/IsisAjaxPagingNavigator.java         |    2 +-
 .../ajaxtable/columns/ColumnAbstract.java          |    2 +-
 .../columns/ObjectAdapterPropertyColumn.java       |    3 +-
 .../columns/ObjectAdapterTitleColumn.java          |    2 +-
 .../columns/ObjectAdapterToggleboxColumn.java      |   16 +-
 .../CollectionContentsMultipleViewsPanel.java      |    8 +-
 ...ollectionContentsMultipleViewsPanelFactory.java |    2 +-
 .../summary/CollectionContentsAsSummary.java       |   11 +-
 .../CollectionContentsAsSummaryFactory.java        |   71 +-
 .../entity/collection/EntityCollectionPanel.java   |    1 +
 .../components/entity/fieldset/PropertyGroup.java  |   39 +-
 .../entity/icontitle/EntityIconAndTitlePanel.java  |   29 +-
 .../selector/links/EntityLinksSelectorPanel.java   |    1 +
 .../wicket/ui/components/footer/FooterPanel.java   |   24 +-
 .../wicket/ui/components/layout/bs3/col/Col.java   |   82 +-
 .../components/layout/bs3/tabs/TabGroupPanel.java  |   32 +-
 .../ui/components/layout/bs3/tabs/TabPanel.java    |    4 +-
 .../ui/components/property/PropertyEditForm.java   |   15 +-
 .../components/property/PropertyEditFormPanel.java |    2 +-
 .../ui/components/property/PropertyEditPanel.java  |    2 +-
 .../property/PropertyFormExecutorStrategy.java     |    7 +-
 .../scalars/ComponentFactoryScalarAbstract.java    |    2 +-
 .../ui/components/scalars/DateConverter.java       |   10 +-
 .../components/scalars/DateConverterAbstract.java  |    8 +-
 .../ui/components/scalars/DateConverterPlugin.java |   10 +-
 .../components/scalars/IsisConverterLocator.java   |   62 +-
 .../components/scalars/ScalarPanelAbstract2.java   |   32 +-
 .../scalars/ScalarPanelTextFieldAbstract.java      |    5 +-
 .../ScalarPanelTextFieldDatePickerAbstract.java    |   26 +-
 .../scalars/ScalarPanelTextFieldNumeric.java       |    6 +-
 .../ui/components/scalars/TextFieldAbstract.java   |    4 +-
 .../ui/components/scalars/TextFieldValueModel.java |    6 +-
 .../scalars/datepicker/DateTimeConfig.java         |   18 +-
 .../isisapplib/IsisBlobOrClobPanelAbstract.java    |   72 +-
 .../scalars/isisapplib/IsisBlobPanel.java          |    4 +-
 .../scalars/isisapplib/IsisClobPanel.java          |    4 +-
 .../jdk8time/DateConverterForJdk8Abstract.java     |    4 +-
 .../jdk8time/DateConverterForJdk8LocalDate.java    |    4 +-
 .../DateConverterForJdk8LocalDateTime.java         |   22 +-
 .../DateConverterForJdk8OffsetDateTime.java        |   88 +-
 .../scalars/jdk8time/Jdk8LocalDatePanel.java       |    2 +-
 .../scalars/jdk8time/Jdk8LocalDateTimePanel.java   |    3 +-
 .../scalars/jdk8time/Jdk8OffsetDateTimePanel.java  |    1 +
 .../jdkdates/DateConverterForJavaAbstract.java     |    6 +-
 .../jdkdates/DateConverterForJavaSqlDate.java      |    4 +-
 .../jdkdates/DateConverterForJavaSqlTimestamp.java |    2 +-
 .../jdkdates/DateConverterForJavaUtilDate.java     |    4 +-
 .../jdkmath/BigDecimalConverterWithScale.java      |   22 +-
 .../scalars/jdkmath/BigDecimalTextField.java       |   11 +-
 .../scalars/jdkmath/JavaMathBigDecimalPanel.java   |    1 +
 .../jdkmath/JavaMathBigDecimalPanelFactory.java    |    8 +-
 .../scalars/jdkmath/JavaMathBigIntegerPanel.java   |    2 +-
 .../jodatime/DateConverterForJodaAbstract.java     |    4 +-
 .../jodatime/DateConverterForJodaDateTime.java     |    4 +-
 .../jodatime/DateConverterForJodaLocalDate.java    |    2 +-
 .../scalars/jodatime/JodaDateTimePanel.java        |    1 +
 .../scalars/jodatime/JodaLocalDatePanel.java       |    2 +-
 .../scalars/jodatime/JodaLocalDateTimePanel.java   |    1 +
 .../components/scalars/markup/MarkupComponent.java |   78 +-
 .../ui/components/scalars/markup/MarkupPanel.java  |   85 +-
 .../scalars/markup/MarkupPanelFactories.java       |  102 +
 .../scalars/markup/MarkupPanelFactory.java         |  105 -
 .../components/scalars/primitive/BooleanPanel.java |    7 +-
 .../components/scalars/primitive/DoublePanel.java  |    2 +-
 .../scalars/reference/EntityLinkSelect2Panel.java  |    2 +-
 .../scalars/reference/ReferencePanel.java          |   75 +-
 .../scalars/string/MultiLineStringPanel.java       |    3 +-
 .../ui/components/scalars/string/StringPanel.java  |    4 +-
 .../scalars/string/StringPanelFactory.java         |    4 +-
 .../ui/components/scalars/uuid/UuidPanel.java      |    1 +
 .../ui/components/scalars/uuid/UuidTextField.java  |    9 +-
 .../ui/components/scalars/value/ValuePanel.java    |    2 +-
 .../valuechoices/ValueChoicesSelect2Panel.java     |   27 +-
 .../StandaloneCollectionPanel.java                 |   11 +-
 .../components/tree/IsisToWicketTreeAdapter.java   |  486 +++
 .../ui/components/tree/StandaloneTreePanel.html    |   32 +
 .../ui/components/tree/StandaloneTreePanel.java    |   36 +
 .../wicket/ui/components/tree/TreePanel.html       |   66 +
 .../wicket/ui/components/tree/TreePanel.java       |   79 +
 .../ui/components/tree/TreePanelFactories.java     |  109 +
 .../ui/components/unknown/UnknownModelPanel.java   |    2 +-
 .../unknown/UnknownModelPanelFactory.java          |    2 +-
 .../value/StandaloneValuePanelFactory.java         |    2 +-
 .../widgets/breadcrumbs/BreadcrumbModel.java       |    8 +-
 .../widgets/breadcrumbs/BreadcrumbPanel.java       |   52 +-
 .../widgets/buttons/ContainedButtonPanel.java      |    4 +-
 .../widgets/checkbox/ContainedToggleboxPanel.java  |   18 +-
 .../entitysimplelink/EntityLinkSimplePanel.java    |    4 +-
 .../formcomponent/FormComponentPanelAbstract.java  |    6 +-
 .../widgets/linkandlabel/ActionLink.java           |   92 +-
 .../linkandlabel/ActionLinkFactoryAbstract.java    |  114 +-
 .../linkandlabel/AjaxDeferredBehaviour.java        |    4 +-
 .../ui/components/widgets/navbar/Placement.java    |    4 +-
 .../ui/components/widgets/select2/Select2.java     |   12 +-
 .../widgets/select2/Select2MultiChoiceExt.java     |    4 +-
 .../select2/providers/EmptyChoiceProvider.java     |    7 +-
 .../ObjectAdapterMementoProviderAbstract.java      |    8 +-
 ...tAdapterMementoProviderForReferenceChoices.java |    3 +-
 ...entoProviderForReferenceObjectAutoComplete.java |   15 +-
 ...derForReferenceParamOrPropertyAutoComplete.java |   15 +-
 ...bjectAdapterMementoProviderForValueChoices.java |    3 +-
 .../widgets/themepicker/ThemeChooser.java          |    8 +-
 .../widgets/zclip/SimpleClipboardModalWindow.java  |    4 +-
 .../zclip/SimpleClipboardModalWindowForm.java      |    4 +-
 .../zclip/SimpleClipboardModalWindowPanel.java     |    6 +-
 .../widgets/zclip/ZeroClipboardPanel.java          |   14 +-
 .../viewer/wicket/ui/errors/ExceptionModel.java    |    6 +-
 .../wicket/ui/errors/ExceptionStackTracePanel.html |    8 +-
 .../wicket/ui/errors/ExceptionStackTracePanel.java |  136 +-
 .../viewer/wicket/ui/errors/JGrowlBehaviour.java   |    4 +-
 .../isis/viewer/wicket/ui/errors/JGrowlUtil.java   |   12 +-
 .../viewer/wicket/ui/errors/StackTraceDetail.java  |   22 +-
 .../wicket/ui/errors/StackTraceListView.java       |    2 +-
 .../ui/pages/BookmarkedPagesModelProvider.java     |    2 +-
 .../isis/viewer/wicket/ui/pages/PageAbstract.java  |   92 +-
 .../isis/viewer/wicket/ui/pages/PageClassList.java |    2 +-
 .../ui/pages/accmngt/AccountConfirmationMap.java   |  244 +-
 .../accmngt/AccountManagementPageAbstract.java     |    2 +-
 .../accmngt/password_reset/PasswordResetPage.java  |    2 +-
 .../ui/pages/accmngt/register/RegisterPanel.java   |   30 +-
 .../pages/accmngt/signup/RegistrationFormPage.java |    2 +-
 .../ui/pages/actionprompt/ActionPromptPage.java    |    4 +-
 .../viewer/wicket/ui/pages/entity/EntityPage.java  |   68 +-
 .../viewer/wicket/ui/pages/error/ErrorPage.java    |    8 +-
 .../isis/viewer/wicket/ui/pages/home/HomePage.java |    8 +-
 .../wicket/ui/pages/mmverror/MmvErrorPage.java     |    4 +-
 .../StandaloneCollectionPage.java                  |    2 +-
 .../viewer/wicket/ui/pages/value/ValuePage.java    |   12 +-
 .../wicket/ui/pages/voidreturn/VoidReturnPage.java |    6 +-
 .../isis/viewer/wicket/ui/panels/FormAbstract.java |    8 +-
 .../wicket/ui/panels/FormExecutorDefault.java      |   68 +-
 .../viewer/wicket/ui/panels/PanelAbstract.java     |    8 +-
 .../isis/viewer/wicket/ui/panels/PanelUtil.java    |   18 +-
 .../wicket/ui/panels/PromptFormAbstract.java       |   80 +-
 .../wicket/ui/panels/PromptFormPanelAbstract.java  |    3 +-
 .../viewer/wicket/ui/util/CssClassRemover.java     |    4 +-
 .../apache/isis/viewer/wicket/ui/util/Links.java   |   16 +-
 .../viewer/wicket/ui/pages/PageAbstractTest.java   |    4 +-
 core/webdocker/pom.xml                             |  267 ++
 core/webdocker/src/main/assembly/assembly.xml      |   36 +
 .../conf/Catalina/localhost/host-manager.xml       |   23 +
 .../conf/Catalina/localhost/manager.xml            |   23 +
 .../catalina_home/conf/catalina.properties         |  148 +
 .../resources/catalina_home/conf/tomcat-users.xml  |   50 +
 .../webdocker/src/main/resources/docker/Dockerfile |   38 +
 core/webserver/pom.xml                             |   64 +-
 .../org/apache/isis/core/webserver/WebServer.java  |   12 +-
 .../isis/core/webserver/WebServerConstants.java    |    4 +-
 .../webserver/internal/OptionHandlerAddress.java   |    2 +-
 .../core/webserver/internal/OptionHandlerPort.java |    2 +-
 core/wrapper/pom.xml                               |   52 +-
 .../isis/core/wrapper/WrapperFactoryDefault.java   |    6 +-
 .../handlers/DomainObjectInvocationHandler.java    |   46 +-
 .../core/wrapper/handlers/ProxyContextHandler.java |    2 +-
 .../isis/core/wrapper/internal/util/Util.java      |   53 -
 .../isis/core/wrapper/proxy/ProxyCreator.java      |   83 +-
 example/application/helloworld/.gitignore          |    2 +
 example/application/helloworld/.m2/settings.xml    |   12 +
 .../application/helloworld/nb-configuration.xml    |   19 -
 example/application/helloworld/nbactions.xml       |   50 -
 example/application/helloworld/pom.xml             |  211 +-
 .../java/domainapp/dom/impl/HelloWorldObject.java  |   32 +-
 .../src/main/java/domainapp/dom/types/Name.java    |   24 +
 .../src/main/java/domainapp/dom/types/Notes.java   |   25 +
 .../src/main/webapp/WEB-INF/logging.properties     |    4 +-
 .../dom/impl/HelloWorldObjectTest_delete.java      |   69 -
 .../dom/impl/HelloWorldObjectTest_updateName.java  |   40 -
 .../dom/impl/HelloWorldObject_delete_Test.java     |   69 +
 .../dom/impl/HelloWorldObject_updateName_Test.java |   40 +
 example/application/simpleapp/.gitignore           |    2 +
 example/application/simpleapp/.gitlab-ci.yml       |   51 +
 example/application/simpleapp/.m2/settings.xml     |   20 +
 example/application/simpleapp/application/pom.xml  |    4 +-
 .../bdd/specglue/BootstrappingGlue.java            |    4 +-
 .../bdd/specglue/BootstrappingGlueAbstract.java    |   32 +
 .../application/simpleapp/module-simple/.gitignore |    2 +
 .../application/simpleapp/module-simple/pom.xml    |   16 +-
 .../domainapp/modules/simple/SimpleModule.java     |    6 +-
 .../modules/simple/dom/impl/SimpleObject.java      |   36 +-
 .../modules/simple/dom/impl/SimpleObjects.java     |    2 +-
 .../domainapp/modules/simple/dom/types/Name.java   |    8 +-
 .../domainapp/modules/simple/dom/types/Notes.java  |   25 +
 .../modules/simple/dom/impl/SimpleObject_Test.java |    7 +-
 .../simple/dom/impl/SimpleObjects_Test.java        |    3 +-
 .../integtests/SimpleModuleIntegTestAbstract.java  |    6 +-
 .../tests/SimpleObjectMenu_IntegTest.java          |   30 +-
 .../integtests/tests/SimpleObject_IntegTest.java   |   42 +-
 example/application/simpleapp/pom.xml              |  140 +-
 .../application/simpleapp/webapp/lib/.gitignore    |    5 -
 example/application/simpleapp/webapp/pom.xml       |  183 +-
 .../webapp/src/main/resources/docker/Dockerfile    |   30 +-
 .../src/main/webapp/WEB-INF/logging.properties     |    4 +-
 example/archetype/helloworld/pom.xml               |  140 +-
 .../appended-resources/supplemental-models.xml     |   26 -
 .../META-INF/maven/archetype-metadata.xml          |  142 +-
 .../resources/archetype-resources/.gitattributes   |   51 -
 .../main/resources/archetype-resources/.gitignore  |   41 -
 .../resources/archetype-resources/.m2/settings.xml |   15 +
 .../src/main/resources/archetype-resources/pom.xml |  402 ++-
 .../application/isis-non-changing.properties       |    4 +-
 .../java/domainapp/dom/impl/HelloWorldObject.java  |   32 +-
 .../java/domainapp/dom/impl/HelloWorldObjects.java |    8 +-
 .../src/main/java/domainapp/dom/types/Name.java    |   27 +
 .../src/main/java/domainapp/dom/types/Notes.java   |   28 +
 .../src/main/webapp/META-INF/context.xml           |    5 +
 .../src/main/webapp/WEB-INF/logging.properties     |    4 +-
 .../src/main/webapp/WEB-INF/web.xml                |    7 +-
 .../dom/impl/HelloWorldObjectTest_delete.java      |   72 -
 .../dom/impl/HelloWorldObjectTest_updateName.java  |   43 -
 .../dom/impl/HelloWorldObject_delete_Test.java     |   72 +
 .../dom/impl/HelloWorldObject_updateName_Test.java |   43 +
 .../resources/projects/basic/archetype.properties  |    2 +-
 example/archetype/simpleapp/pom.xml                |  140 +-
 .../appended-resources/supplemental-models.xml     |   26 -
 .../META-INF/maven/archetype-metadata.xml          |  356 +-
 .../resources/archetype-resources/.gitattributes   |   51 -
 .../main/resources/archetype-resources/.gitignore  |   41 -
 .../resources/archetype-resources/.gitlab-ci.yml   |   51 +
 .../resources/archetype-resources/.m2/settings.xml |   23 +
 .../archetype-resources/application/.gitignore     |    1 -
 .../archetype-resources/application/pom.xml        |    2 +-
 .../fixture/scenarios/DomainAppDemo.java           |    6 +-
 .../manifest/isis-non-changing.properties          |    4 +-
 .../bdd/specglue/BootstrappingGlue.java            |    4 +-
 .../bdd/specglue/BootstrappingGlueAbstract.java    |   35 +
 .../application/translations.pot                   |  845 +++++
 .../archetype-resources/module-simple/.gitignore   |    6 -
 .../archetype-resources/module-simple/pom.xml      |   43 +-
 .../domainapp/modules/simple/SimpleModule.java     |    6 +-
 .../modules/simple/dom/impl/SimpleObject.java      |   51 +-
 .../simple/dom/impl/SimpleObjectRepository.java    |   58 -
 .../modules/simple/dom/impl/SimpleObjects.java     |   13 +-
 .../domainapp/modules/simple/dom/types/Name.java   |   39 +
 .../domainapp/modules/simple/dom/types/Notes.java  |   28 +
 .../simple/fixture/SimpleObject_persona.java       |    6 +-
 .../modules/simple/dom/impl/SimpleObject_Test.java |    7 +-
 .../simple/dom/impl/SimpleObjects_Test.java        |    9 +-
 .../integtests/SimpleModuleIntegTestAbstract.java  |    6 +-
 .../tests/SimpleObjectMenu_IntegTest.java          |   30 +-
 .../integtests/tests/SimpleObject_IntegTest.java   |   42 +-
 .../module-simple/translations.pot                 |  829 +++++
 .../src/main/resources/archetype-resources/pom.xml |  308 +-
 .../archetype-resources/webapp/lib/.gitignore      |    5 -
 .../resources/archetype-resources/webapp/pom.xml   |  179 +-
 .../webapp/src/main/resources/docker/Dockerfile    |   26 +
 .../src/main/webapp/WEB-INF/logging.properties     |    4 +-
 .../webapp/src/main/webapp/WEB-INF/web.xml         |    7 +-
 .../resources/projects/basic/archetype.properties  |    2 +-
 .../jsr303/Jsr303FacetFactoryProcessProperty.java  |    2 +-
 .../jsr303/Jsr303FacetValidatingInteraction.java   |   22 +-
 pom.xml                                            |    8 +-
 recreate_archetype_RELEASE.sh                      |   11 +-
 recreate_archetype_SNAPSHOT.sh                     |   14 +-
 scripts/recreate-archetype.sh                      |   11 +-
 scripts/updateGeneratedArchetypeSources.groovy     |  274 +-
 scripts/verify-isis-release.sh                     |  108 -
 todo-deprecation-list.txt                          |  144 +-
 2013 files changed, 46756 insertions(+), 32421 deletions(-)
 delete mode 100644 adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Parent.adoc
 create mode 100644 adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PropertyLayout_navigable.adoc
 create mode 100644 adocs/documentation/src/main/asciidoc/guides/ugfun/images/getting-started/dockerhub-tags.png
 create mode 100644 adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.16.0-to-2.0.0-M1.adoc
 delete mode 100644 adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.16.0-to-2.0.0.adoc
 create mode 100644 adocs/documentation/src/main/asciidoc/release-notes/_release-notes_2.0.0-M1.adoc
 delete mode 100644 adocs/documentation/src/main/asciidoc/release-notes/_release-notes_2.0.0.adoc
 create mode 100644 core/.m2/settings.xml
 delete mode 100644 core/applib-legacy/pom.xml
 delete mode 100644 core/applib-legacy/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingWithSupportForLargeUrlsAbstract.java
 delete mode 100644 core/applib-legacy/src/main/java/org/apache/isis/applib/util/Clause.java
 delete mode 100644 core/applib-legacy/src/main/java/org/apache/isis/applib/util/ObjectContractsLegacy.java
 delete mode 100644 core/applib-legacy/src/test/java/org/apache/isis/applib/util/ObjectContractsLegacyTest_equals_and_hashCode.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/annotation/Navigable.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/annotation/Parent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/_Constants.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Bytes.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Bytes_GZipCompressor.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Bytes_GZipCompressorSmart.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Casts.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_NullSafe.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings_NaturalNames.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/_Strings_SplitIterator.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/base/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/collections/_Lists.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/collections/_Maps.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/collections/_Multimaps.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/collections/_Sets.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/collections/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/compare/_Comparators.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/compare/_Comparators_SequenceCompare.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/compare/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/context/_Context.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/context/_Plugin.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/context/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/discover/_Discover.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/discover/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/exceptions/_Exceptions.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/exceptions/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/resources/_Resource.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/resources/_Resource_ContextPath.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/resources/_Resource_Path.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/resources/_Resource_RestfulPath.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/internal/resources/package-info.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/dto/DtoMappingHelper.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/dto/Util.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/dto/package-info.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedAt.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/HoldsUpdatedBy.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/Timestampable.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/mixins/timestamp/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/plugins/classdiscovery/ClassDiscovery.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/plugins/classdiscovery/ClassDiscoveryPlugin.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/RepresentsInteractionMemberExecution.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService2.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/background/BackgroundService2.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/dto/Dto.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/dto/DtoMappingHelper.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/dto/Dto_downloadXml.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/dto/Dto_downloadXsd.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/dto/Util.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/dto/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractDomainEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractLifecycleEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/AbstractUiEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ActionDomainEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CssClassUiEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/EventBusImplementation.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/IconUiEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ObjectCreatedEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ObjectLoadedEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ObjectPersistedEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ObjectPersistingEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ObjectRemovingEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ObjectUpdatedEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/ObjectUpdatingEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/PropertyDomainEvent.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/eventbus/TitleUiEvent.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/jdosupport/IsisJdoSupport0.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/layout/Object_downloadLayoutXml.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/layout/Object_openRestApi.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/layout/Object_rebuildMetamodel.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/layout/Util.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/memento/MementoService.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheControlInternal.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/timestamp/HoldsUpdatedAt.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/timestamp/HoldsUpdatedBy.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/timestamp/Timestampable.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/timestamp/package-info.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncoding.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression.java
 delete mode 100644 core/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompressionAbstract.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/LazyTreeNode.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreeAdapter.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_iteratorBreadthFirst.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_iteratorDepthFirst.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_iteratorHierarchyUp.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreePath.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreePath_Default.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreeState.java
 create mode 100644 core/applib/src/main/java/org/apache/isis/applib/tree/TreeState_Default.java
 delete mode 100644 core/applib/src/test/java/org/apache/isis/applib/internal/base/BytesTest.java
 delete mode 100644 core/applib/src/test/java/org/apache/isis/applib/internal/base/NullSafeTest.java
 delete mode 100644 core/applib/src/test/java/org/apache/isis/applib/internal/base/StringsTest.java
 delete mode 100644 core/applib/src/test/java/org/apache/isis/applib/internal/compare/ComparatorsTest.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceTest.java
 delete mode 100644 core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceWithCompression_Abstract_Test.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/applib/tree/TreePathTest.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/commons/internal/base/BytesTest.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/commons/internal/base/NullSafeTest.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/commons/internal/base/ReductionTest.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/commons/internal/base/StringsTest.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/commons/internal/compare/ComparatorsTest.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/commons/internal/memento/MementosTest.java
 create mode 100644 core/applib/src/test/java/org/apache/isis/schema/utils/CommonDtoUtils_setValueOn_Test.java
 copy core/{viewer-wicket-ui-legacy => commons}/.gitignore (100%)
 create mode 100644 core/commons/pom.xml
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/_Constants.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Bytes.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Bytes_GZipCompressor.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Bytes_GZipCompressorSmart.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Casts.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Lazy.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_NullSafe.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Reduction.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings_NaturalNames.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings_SplitIterator.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/_With.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/base/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Arrays.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Arrays_Collector.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Arrays_CollectorUnknownSize.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections_Collector.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Collections_SortedSetOfList.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Lists.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Maps.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Multimaps.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/_Sets.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/collections/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/compare/_Comparators.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/compare/_Comparators_SequenceCompare.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/compare/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/context/_Context.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/context/_Plugin.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/context/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/_Exceptions.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/exceptions/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/functions/_Functions.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/functions/_Functions_IndexAwareFunctionAdapter.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/functions/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/memento/_Mementos.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/memento/_Mementos_MementoDefault.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/memento/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/reflection/_Reflect.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/reflection/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/resources/_Resource.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/resources/_Resource_ContextPath.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/resources/_Resource_Path.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/resources/_Resource_RestfulPath.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/resources/package-info.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/plugins/PluginResolveException.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/plugins/classdiscovery/ClassDiscovery.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/plugins/classdiscovery/ClassDiscoveryPlugin.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/plugins/codegen/ProxyFactory.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/plugins/codegen/ProxyFactoryPlugin.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/plugins/eventbus/EventBusPlugin.java
 delete mode 100644 core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
 create mode 100644 core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestJupiter.java
 delete mode 100644 core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
 create mode 100644 core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/ModuleBuilder.java
 create mode 100644 core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/TransactionRuleAbstract.java
 create mode 100644 core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/components/HeadlessTransactionSupportDefault.java
 rename core/{runtime-legacy => legacy/applib-legacy}/.gitignore (100%)
 create mode 100644 core/legacy/applib-legacy/pom.xml
 rename core/{applib => legacy/applib-legacy}/src/main/java/org/apache/isis/applib/DomainObjectContainer.java (100%)
 rename core/{applib => legacy/applib-legacy}/src/main/java/org/apache/isis/applib/annotation/Encodable.java (100%)
 rename core/{applib => legacy/applib-legacy}/src/main/java/org/apache/isis/applib/annotation/Parseable.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/fixtures/AbstractFixtureSusa.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/fixtures/DateFixture.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/fixtures/switchuser/package-info.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/layout/Util.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData_legacy.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/layout/component/FieldSet_legacy.java (100%)
 create mode 100644 core/legacy/applib-legacy/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService2.java
 create mode 100644 core/legacy/applib-legacy/src/main/java/org/apache/isis/applib/services/background/BackgroundService2.java
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstractLegacy.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForTypeLegacy.java (100%)
 create mode 100644 core/legacy/applib-legacy/src/main/java/org/apache/isis/applib/services/memento/MementoService.java
 rename core/{applib => legacy/applib-legacy}/src/main/java/org/apache/isis/applib/services/memento/package-info.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/services/repository/RepositoryServiceLegacy.java (100%)
 create mode 100644 core/legacy/applib-legacy/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingWithSupportForLargeUrlsAbstract.java
 create mode 100644 core/legacy/applib-legacy/src/main/java/org/apache/isis/applib/util/Clause.java
 create mode 100644 core/legacy/applib-legacy/src/main/java/org/apache/isis/applib/util/ObjectContractsLegacy.java
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/value/Date.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/value/DateTime.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/value/Time.java (100%)
 rename core/{ => legacy}/applib-legacy/src/main/java/org/apache/isis/applib/value/TimeStamp.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForTypeLegacyTest.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerGeneralLegacyTest.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/util/Invoice.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/util/InvoiceItem.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/util/NumberedEvaluator.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/util/ObjectContractsLegacyTest_compareTo.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/util/ObjectContractsLegacyTest_equals.java (100%)
 create mode 100644 core/legacy/applib-legacy/src/test/java/org/apache/isis/applib/util/ObjectContractsLegacyTest_equals_and_hashCode.java
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/util/ObjectContractsLegacyTest_toString.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/value/DateTest.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/value/DateTimeTest.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/value/TimeStampTest.java (100%)
 rename core/{ => legacy}/applib-legacy/src/test/java/org/apache/isis/applib/value/TimeTest.java (100%)
 create mode 100644 core/legacy/integtestsupport-legacy/pom.xml
 create mode 100644 core/legacy/integtestsupport-legacy/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract.java
 rename core/{integtestsupport => legacy/integtestsupport-legacy}/src/main/java/org/apache/isis/core/integtestsupport/IntegrationTestAbstract2.java (100%)
 create mode 100644 core/legacy/integtestsupport-legacy/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
 rename core/{integtestsupport => legacy/integtestsupport-legacy}/src/main/java/org/apache/isis/core/integtestsupport/scenarios/ScenarioExecutionForIntegration.java (100%)
 copy core/{integtestsupport => legacy/integtestsupport-legacy}/test.data (100%)
 rename core/{ => legacy}/metamodel-legacy/.gitignore (100%)
 create mode 100644 core/legacy/metamodel-legacy/pom.xml
 rename core/{metamodel => legacy/metamodel-legacy}/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotation.java (100%)
 create mode 100644 core/legacy/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
 rename core/{metamodel => legacy/metamodel-legacy}/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotation.java (100%)
 create mode 100644 core/legacy/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/date/DateValueFacetUsingSemanticsProviderFactory.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/date/DateValueSemanticsProvider.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/datetime/DateTimeValueFacetUsingSemanticsProviderFactory.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/datetime/DateTimeValueSemanticsProvider.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/time/TimeValueFacetUsingSemanticsProviderFactory.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/time/TimeValueSemanticsProvider.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/timestamp/TimeStampValueFacetUsingSemanticsProviderFactory.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/timestamp/TimeStampValueSemanticsProvider.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/timestamp/TimeStampValueSemanticsProviderAbstract.java (100%)
 create mode 100644 core/legacy/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
 create mode 100644 core/legacy/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceLegacyInternalDefault.java
 create mode 100644 core/legacy/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/services/swagger/plugins/IsisTimeValuePropertyPlugin.java
 create mode 100644 core/legacy/metamodel-legacy/src/main/java/org/apache/isis/progmodels/plugins/ProgrammingModelIsisTimePlugin.java
 rename core/{ => legacy}/metamodel-legacy/src/main/resources/META-INF/services/org.apache.isis.core.metamodel.progmodel.ProgrammingModelPlugin (100%)
 rename core/{ => legacy}/metamodel-legacy/src/main/resources/META-INF/services/org.apache.isis.core.metamodel.services.swagger.internal.ValuePropertyPlugin (100%)
 rename core/{metamodel => legacy/metamodel-legacy}/src/test/java/org/apache/isis/core/metamodel/facets/object/encodable/EncodableFacetFactoryTest.java (100%)
 rename core/{metamodel => legacy/metamodel-legacy}/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAnnotationElseConfigurationFactoryTest.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/test/java/org/apache/isis/core/metamodel/facets/value/DateTimeValueSemanticsProviderTest.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/test/java/org/apache/isis/core/metamodel/facets/value/DateValueSemanticsProviderTest.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeStampValueSemanticsProviderTest.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/test/java/org/apache/isis/core/metamodel/facets/value/TimeStampValueSemanticsProviderTest.java (100%)
 rename core/{ => legacy}/metamodel-legacy/src/test/java/org/apache/isis/core/metamodel/facets/value/TimeValueSemanticsProviderTest.java (100%)
 rename core/{applib-legacy => legacy/runtime-legacy}/.gitignore (100%)
 create mode 100644 core/legacy/runtime-legacy/pom.xml
 rename core/{ => legacy}/runtime-legacy/src/main/java/org/apache/isis/core/runtime/fixtures/SwitchUserServiceImpl.java (100%)
 rename core/{runtime => legacy/runtime-legacy}/src/main/java/org/apache/isis/core/runtime/services/memento/Dom4jUtil.java (100%)
 create mode 100644 core/legacy/runtime-legacy/src/main/java/org/apache/isis/core/runtime/services/memento/MementoServiceDefault.java
 rename core/{runtime => legacy/runtime-legacy}/src/test/java/org/apache/isis/core/runtime/services/memento/MementoServiceDefaultTest.java (100%)
 copy core/{viewer-wicket-ui-legacy => legacy/transition-1-2}/.gitignore (100%)
 create mode 100644 core/legacy/transition-1-2/pom.xml
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/filter/Filter.java
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/filter/Filters.java
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/services/background/BackgroundCommandService2.java
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/services/background/BackgroundService2.java
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/services/eventbus/ActionDomainEvent.java
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/applib/services/eventbus/PropertyDomainEvent.java
 create mode 100644 core/legacy/transition-1-2/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAssociationFilters.java
 copy core/{viewer-wicket-ui-legacy => legacy/unittestsupport-legacy}/.gitignore (100%)
 create mode 100644 core/legacy/unittestsupport-legacy/pom.xml
 create mode 100644 core/legacy/unittestsupport-legacy/src/main/java/org/apache/isis/core/unittestsupport/jmocking/JavassistImposteriser.java
 rename core/{unittestsupport => legacy/unittestsupport-legacy}/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JavassistImposteriserTest.java (100%)
 copy core/{ => legacy}/viewer-wicket-ui-legacy/.gitignore (100%)
 create mode 100644 core/legacy/viewer-wicket-ui-legacy/pom.xml
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/ApplibDateConverterPlugin.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDate.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTime.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanel.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDatePanelFactory.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanel.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisDateTimePanelFactory.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimePanelFactory.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanel.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisTimeStampPanelFactory.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/main/resources/META-INF/services/org.apache.isis.viewer.wicket.ui.components.scalars.DateConverterPlugin (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTest.java (100%)
 rename core/{ => legacy}/viewer-wicket-ui-legacy/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/DateConverterForApplibDateTimeTest.java (100%)
 delete mode 100644 core/metamodel-legacy/pom.xml
 delete mode 100644 core/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/JavaSqlTimeStampValueFacetUsingSemanticsProviderFactory.java
 delete mode 100644 core/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/JavaSqlTimeStampValueSemanticsProvider.java
 delete mode 100644 core/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/services/repository/RepositoryServiceLegacyInternalDefault.java
 delete mode 100644 core/metamodel-legacy/src/main/java/org/apache/isis/core/metamodel/services/swagger/plugins/IsisTimeValuePropertyPlugin.java
 delete mode 100644 core/metamodel-legacy/src/main/java/org/apache/isis/progmodels/plugins/ProgrammingModelIsisTimePlugin.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/commons/lang/MethodInvocationPreprocessor.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/MethodIncompatibilityWorkaround.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/JaxbFacetFactory.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/XmlAccessorTypeFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/XmlAccessorTypeFacetAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/XmlAccessorTypeFacetDefault.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/jaxb/XmlJavaTypeAdapterFacetFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/encodeable/annotcfg/EncodableFacetAnnotationElseConfigurationFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/parseable/annotcfg/ParseableFacetAnnotationElseConfigurationFactory.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/JavaSqlTimeStampValueFacetUsingSemanticsProviderFactory.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/JavaSqlTimeStampValueSemanticsProvider.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/timestampsql/TimeStampValueSemanticsProviderAbstract.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/treenode/TreeNodeValueFacet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/treenode/TreeNodeValueFacetUsingSemanticsProviderFactory.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/treenode/TreeNodeValueSemanticsProvider.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/CollectionHelper.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/DomainObjectContainerDefault.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/xactn/TransactionServiceDefault.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/JavassistEnhanced.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ProxyEnhanced.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/propparam/specification/Utils.java
 copy core/{viewer-wicket-ui-legacy => plugins/codegen-bytebuddy}/.gitignore (100%)
 create mode 100644 core/plugins/codegen-bytebuddy/pom.xml
 create mode 100644 core/plugins/codegen-bytebuddy/src/main/java/org/apache/isis/core/plugins/codegen/ProxyFactoryPluginUsingByteBuddy.java
 create mode 100644 core/plugins/codegen-bytebuddy/src/main/resources/META-INF/services/org.apache.isis.core.plugins.codegen.ProxyFactoryPlugin
 copy core/{viewer-wicket-ui-legacy => plugins/codegen-javassist}/.gitignore (100%)
 create mode 100644 core/plugins/codegen-javassist/pom.xml
 create mode 100644 core/plugins/codegen-javassist/src/main/java/org/apache/isis/core/plugins/codegen/ProxyFactoryPluginUsingJavassist.java
 create mode 100644 core/plugins/codegen-javassist/src/main/resources/META-INF/services/org.apache.isis.core.plugins.codegen.ProxyFactoryPlugin
 delete mode 100644 core/plugins/discovery-reflections/src/main/java/org/apache/isis/applib/plugins/classdiscovery/reflections/ClassDiscoveryUsingReflectionsPlugin.java
 delete mode 100644 core/plugins/discovery-reflections/src/main/java/org/apache/isis/applib/plugins/classdiscovery/reflections/ReflectDiscovery.java
 delete mode 100644 core/plugins/discovery-reflections/src/main/java/org/apache/isis/applib/plugins/classdiscovery/reflections/ReflectManifest.java
 create mode 100644 core/plugins/discovery-reflections/src/main/java/org/apache/isis/core/plugins/classdiscovery/reflections/ClassDiscoveryPluginUsingReflections.java
 create mode 100644 core/plugins/discovery-reflections/src/main/java/org/apache/isis/core/plugins/classdiscovery/reflections/ReflectDiscovery.java
 create mode 100644 core/plugins/discovery-reflections/src/main/java/org/apache/isis/core/plugins/classdiscovery/reflections/ReflectManifest.java
 delete mode 100644 core/plugins/discovery-reflections/src/main/resources/META-INF/services/org.apache.isis.applib.plugins.classdiscovery.ClassDiscoveryPlugin
 create mode 100644 core/plugins/discovery-reflections/src/main/resources/META-INF/services/org.apache.isis.core.plugins.classdiscovery.ClassDiscoveryPlugin
 delete mode 100644 core/plugins/eventbus-axon/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheControlUsingAxon.java
 create mode 100644 core/plugins/eventbus-axon/src/main/java/org/apache/isis/core/plugins/eventbus/EventBusPluginForAxon.java
 delete mode 100644 core/plugins/eventbus-axon/src/main/java/org/apache/isis/core/runtime/services/eventbus/adapter/EventBusImplementationForAxonSimple.java
 delete mode 100644 core/plugins/eventbus-axon/src/main/resources/META-INF/services/org.apache.isis.applib.services.eventbus.EventBusImplementation
 create mode 100644 core/plugins/eventbus-axon/src/main/resources/META-INF/services/org.apache.isis.core.plugins.eventbus.EventBusPlugin
 create mode 100644 core/plugins/eventbus-axon/src/test/java/org/apache/isis/core/runtime/services/eventbus/EventBusServiceDefaultUsingAxonSimpleTest.java
 delete mode 100644 core/plugins/eventbus-guava/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCacheControlUsingGuava.java
 create mode 100644 core/plugins/eventbus-guava/src/main/java/org/apache/isis/core/plugins/eventbus/EventBusPluginForGuava.java
 delete mode 100644 core/plugins/eventbus-guava/src/main/java/org/apache/isis/core/runtime/services/eventbus/adapter/EventBusImplementationForGuava.java
 delete mode 100644 core/plugins/eventbus-guava/src/main/resources/META-INF/services/org.apache.isis.applib.services.eventbus.EventBusImplementation
 create mode 100644 core/plugins/eventbus-guava/src/main/resources/META-INF/services/org.apache.isis.core.plugins.eventbus.EventBusPlugin
 create mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/applib/Parser_forCacheControl_Test.java
 create mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/applib/Parser_forJaxRsMediaType_Test.java
 create mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_getMediaType.java
 create mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_getName.java
 create mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_lookup.java
 create mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_parser.java
 create mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext_ensureCompatibleAcceptHeader_Test.java
 delete mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/server/mappers/RestfulObjectsApplicationExceptionMapperTest.java
 create mode 100644 core/plugins/jaxrs-resteasy-3/src/test/java/org/apache/isis/viewer/restfulobjects/server/mappers/RestfulObjectsApplicationExceptionMapper_Test.java
 create mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/applib/Parser_forCacheControl_Test.java
 create mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/applib/Parser_forJaxRsMediaType_Test.java
 create mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_getMediaType.java
 create mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_getName.java
 create mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_lookup.java
 create mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_parser.java
 create mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext_ensureCompatibleAcceptHeader_Test.java
 delete mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/server/mappers/RestfulObjectsApplicationExceptionMapperTest.java
 create mode 100644 core/plugins/jaxrs-resteasy-4/src/test/java/org/apache/isis/viewer/restfulobjects/server/mappers/RestfulObjectsApplicationExceptionMapper_Test.java
 delete mode 100644 core/runtime-legacy/pom.xml
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/headless/HeadlessTransactionSupport.java
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/CommandInvocationHandler.java
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/ForkingInvocationHandler.java
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/services/error/EmailTicket.java
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/services/error/SimpleTicket.java
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoDisabled.java
 delete mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/services/memento/MementoServiceDefault.java
 create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/services/xactn/TransactionServiceDefault.java
 rename core/{viewer-wicket-ui-legacy => unittestsupport-test}/.gitignore (100%)
 create mode 100644 core/unittestsupport-test/pom.xml
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/runtime/services/ServiceInstantiatorTestUsingCodegenPlugin.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/bidir/BidirectionalRelationshipContractTestAll.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/bidir/ChildDomainObject.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/bidir/InstantiatorForChildDomainObject.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/bidir/ParentDomainObject.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/bidir/PeerDomainObject.java
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/bidir/PeerDomainObjectForTesting.java (100%)
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/comparable/CategorizedDomainObject.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/comparable/CategorizedDomainObjectComparableContractTest_compareTo.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/files/FilesTest_deleteFiles.java
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/inject/InjectServiceMethodMustBeFinalContractTestAll.java (100%)
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/inject/SomeDomainObject.java (100%)
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/inject/SomeService.java (100%)
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/CollaboratingUsingConstructorInjection.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/CollaboratingUsingSetterInjection.java
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborator.java (100%)
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/ImposteriserTestUsingCodegenPlugin.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/IsisActionsTest_returnNewTransientInstance.java
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnArgument.java (100%)
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnEach.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_constructorInjection_happyCase.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_setterInjection_happyCase.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithAllowing.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithChecking.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithIgnoring.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase.java
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/unittestsupport/sortedsets/SomeDomainObject.java
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/sortedsets/SortedSetsContractTestAll.java (100%)
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_BigIntegerTest.java (100%)
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_ColorTest.java (100%)
 rename core/{unittestsupport => unittestsupport-test}/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_StringTest.java (100%)
 create mode 100644 core/unittestsupport-test/src/test/java/org/apache/isis/core/wrapper/proxy/ProxyCreatorTestUsingCodegenPlugin.java
 rename core/{unittestsupport => unittestsupport-test}/src/test/resources/signed.jar (100%)
 rename core/{unittestsupport => unittestsupport-test}/xml/objects/CUS.xml (100%)
 rename core/{unittestsupport => unittestsupport-test}/xml/objects/CUS/1.txt (100%)
 rename core/{unittestsupport => unittestsupport-test}/xml/objects/CUS/1.xml (100%)
 rename core/{unittestsupport => unittestsupport-test}/xml/objects/CUS/2.xml (100%)
 create mode 100644 core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/ImposteriserUsingCodegenPlugin.java
 create mode 100644 core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/Imposterisers.java
 delete mode 100644 core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/JavassistImposteriser.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/bidir/BidirectionalRelationshipContractTestAll.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/bidir/ChildDomainObject.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/bidir/InstantiatorForChildDomainObject.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/bidir/ParentDomainObject.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/bidir/PeerDomainObject.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/comparable/CategorizedDomainObject.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/comparable/CategorizedDomainObjectComparableContractTest_compareTo.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/files/FilesTest_deleteFiles.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/CollaboratingUsingConstructorInjection.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/CollaboratingUsingSetterInjection.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/IsisActionsTest_returnNewTransientInstance.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnEach.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_constructorInjection_happyCase.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_setterInjection_happyCase.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithAllowing.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithChecking.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithIgnoring.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase.java
 delete mode 100644 core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/sortedsets/SomeDomainObject.java
 delete mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_getMediaType.java
 create mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_getMediaType_ContractTest.java
 delete mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_getName.java
 create mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_getName_ContractTest.java
 delete mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_lookup.java
 create mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_lookup_ContractTest.java
 delete mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_parser.java
 create mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/RepresentationTypeTest_parser_ContractTest.java
 delete mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/util/ParserTest.java
 create mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser_Test.java
 create mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser_forCacheControl_ContractTest.java
 create mode 100644 core/viewer-restfulobjects-applib/src/test/java/org/apache/isis/viewer/restfulobjects/applib/util/Parser_forJaxRsMediaType_ContractTest.java
 create mode 100644 core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/ImageResourceServerside.java
 delete mode 100644 core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
 create mode 100644 core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContext_ensureCompatibleAcceptHeader_ContractTest.java
 create mode 100644 core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/mappers/RestfulObjectsApplicationExceptionMapper_Test_Contract.java
 create mode 100644 core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/Util.java
 create mode 100644 core/viewer-wicket-model/src/test/java/org/apache/isis/viewer/wicket/model/models/ScalarModel_isScalarSubtypingAnyOf_Test.java
 delete mode 100644 core/viewer-wicket-ui-legacy/pom.xml
 create mode 100644 core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupPanelFactories.java
 delete mode 100644 core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupPanelFactory.java
 create mode 100644 core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/IsisToWicketTreeAdapter.java
 create mode 100644 core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.html
 create mode 100644 core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.java
 create mode 100644 core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.html
 create mode 100644 core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.java
 create mode 100644 core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanelFactories.java
 create mode 100644 core/webdocker/pom.xml
 create mode 100644 core/webdocker/src/main/assembly/assembly.xml
 create mode 100644 core/webdocker/src/main/resources/catalina_home/conf/Catalina/localhost/host-manager.xml
 create mode 100644 core/webdocker/src/main/resources/catalina_home/conf/Catalina/localhost/manager.xml
 create mode 100644 core/webdocker/src/main/resources/catalina_home/conf/catalina.properties
 create mode 100644 core/webdocker/src/main/resources/catalina_home/conf/tomcat-users.xml
 create mode 100644 core/webdocker/src/main/resources/docker/Dockerfile
 delete mode 100644 core/wrapper/src/main/java/org/apache/isis/core/wrapper/internal/util/Util.java
 create mode 100644 example/application/helloworld/.m2/settings.xml
 delete mode 100644 example/application/helloworld/nb-configuration.xml
 delete mode 100644 example/application/helloworld/nbactions.xml
 create mode 100644 example/application/helloworld/src/main/java/domainapp/dom/types/Name.java
 create mode 100644 example/application/helloworld/src/main/java/domainapp/dom/types/Notes.java
 delete mode 100644 example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_delete.java
 delete mode 100644 example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_updateName.java
 create mode 100644 example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObject_delete_Test.java
 create mode 100644 example/application/helloworld/src/test/java/domainapp/dom/impl/HelloWorldObject_updateName_Test.java
 create mode 100644 example/application/simpleapp/.gitlab-ci.yml
 create mode 100644 example/application/simpleapp/.m2/settings.xml
 create mode 100644 example/application/simpleapp/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlueAbstract.java
 create mode 100644 example/application/simpleapp/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
 delete mode 100644 example/archetype/helloworld/src/main/appended-resources/supplemental-models.xml
 delete mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/.gitattributes
 delete mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/.gitignore
 create mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/.m2/settings.xml
 create mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/src/main/java/domainapp/dom/types/Name.java
 create mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/src/main/java/domainapp/dom/types/Notes.java
 create mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/src/main/webapp/META-INF/context.xml
 delete mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_delete.java
 delete mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/src/test/java/domainapp/dom/impl/HelloWorldObjectTest_updateName.java
 create mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/src/test/java/domainapp/dom/impl/HelloWorldObject_delete_Test.java
 create mode 100644 example/archetype/helloworld/src/main/resources/archetype-resources/src/test/java/domainapp/dom/impl/HelloWorldObject_updateName_Test.java
 delete mode 100644 example/archetype/simpleapp/src/main/appended-resources/supplemental-models.xml
 delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/.gitattributes
 delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/.gitignore
 create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/.gitlab-ci.yml
 create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/.m2/settings.xml
 delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/application/.gitignore
 create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlueAbstract.java
 create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/application/translations.pot
 delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/.gitignore
 delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java
 create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
 create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/types/Notes.java
 create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/translations.pot
 delete mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/lib/.gitignore
 create mode 100644 example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/resources/docker/Dockerfile
 delete mode 100755 scripts/verify-isis-release.sh


[isis] 01/01: ISIS-1810: working on migration notes for 2.0.0-M1

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

danhaywood pushed a commit to branch ISIS-1810
in repository https://gitbox.apache.org/repos/asf/isis.git

commit a3b5b9530741cdd294b7caefe742403dbb0fdb78
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Aug 5 19:32:25 2018 +0100

    ISIS-1810: working on migration notes for 2.0.0-M1
---
 adocs/documentation/pom.xml                        |  11 +-
 .../guides/cgcom/_cgcom_cutting-a-release.adoc     |   7 +-
 ...cgcom_release-process-for-interim-releases.adoc |   4 +-
 .../guides/rgant/_rgant-Collection_editing.adoc    |   5 +-
 .../main/asciidoc/guides/rgant/_rgant-Column.adoc  |  12 +-
 .../guides/rgant/_rgant-Property_editing.adoc      |   6 +-
 .../main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc |   6 +-
 .../main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc   | 135 ++---
 adocs/documentation/src/main/asciidoc/index.html   |  69 ++-
 .../_migration-notes_1.16.0-to-2.0.0-M1.adoc       | 541 +++++++++++++++++++++
 .../_migration-notes_1.16.0-to-2.0.0.adoc          | 223 ---------
 .../release-notes/_release-notes_2.0.0-M1.adoc     | 139 ++++++
 .../release-notes/_release-notes_2.0.0.adoc        |   9 -
 .../main/asciidoc/release-notes/release-notes.adoc |   9 +
 core/applib/pom.xml                                |  36 --
 scripts/verify-isis-release.sh                     | 108 ----
 todo-deprecation-list.txt                          | 144 +-----
 17 files changed, 855 insertions(+), 609 deletions(-)

diff --git a/adocs/documentation/pom.xml b/adocs/documentation/pom.xml
index 8da6604..ef23534 100644
--- a/adocs/documentation/pom.xml
+++ b/adocs/documentation/pom.xml
@@ -53,9 +53,10 @@
         <build.dir>${project.basedir}/target/site</build.dir>
 
 	<!-- expected isis-site to be checked out to /c/ASF/isis/isis-site, vs /c/github/apache/isis -->
-        <isis-site-latest.dir>../../../../../ASF/isis/isis-site/latest</isis-site-latest.dir>
-        <isis-site-content.dir>../../../../../ASF/isis/isis-site/content</isis-site-content.dir>
-        <isis-site-search.dir>../../../../../ASF/isis/isis-site/search</isis-site-search.dir>
+        <isis-site.dir>../../../../../ASF/isis/isis-site</isis-site.dir>
+        <isis-site-latest.dir>${isis-site.dir}/latest</isis-site-latest.dir>
+        <isis-site-content.dir>${isis-site.dir}/content</isis-site-content.dir>
+        <isis-site-search.dir>${isis-site.dir}/search</isis-site-search.dir>
         <message>updating content (built from adocs/documentation in isis.git repo)</message>
     </properties>
 
@@ -224,7 +225,7 @@
                                         <delete includeemptydirs="true">
                                             <fileset dir="${isis-site-latest.dir}" includes="**/*"/>
                                         </delete>
-
+p
                                         <echo message=""/>
                                         <echo message=""/>
                                         <mkdir 
@@ -415,7 +416,7 @@
                                         <echo message=""/>
                                         <echo message="TO COMPLETE:"/>
                                         <echo message=""/>
-                                        <echo message="   cd ../../../isis-site"/>
+                                        <echo message="   cd ${isis-site.dir}"/>
                                         <echo message="   sh preview.sh"/>
                                         <echo message="   git commit -am 'some message'"/>
                                         <echo message="   git push"/>
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
index 638b343..291ee95 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
@@ -823,9 +823,12 @@ Once the artifacts have been uploaded, you can call a vote.
 In all cases, votes last for 72 hours and require a +3 (binding) vote from members.
 
 [[__cgcom_cutting-a-release_voting-start-voting-thread]]
-=== Start voting thread on link:mailto:&#100;e&#118;&#x40;&#x69;&#x73;&#x69;&#115;&#x2e;&#x61;p&#97;&#x63;&#104;e&#46;&#111;&#114;g[&#100;e&#118;&#x40;&#x69;&#x73;&#x69;&#115;&#x2e;&#x61;p&#97;&#x63;&#104;e&#46;&#111;&#114;g]
+=== Start voting thread on dev mailing list
 
-The following boilerplate is for a release of the Apache Isis Core. Adapt as required:
+That is, link:mailto:dev@apache.isis.org[]
+
+The following boilerplate is for a release of the Apache Isis Core.
+Adapt as required:
 
 Use the following subject, eg:
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc
index 8f6e891..d59a787 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc
@@ -9,8 +9,8 @@
 The intent of an "interim" release is to allow a developer team to release their application based on a `-SNAPSHOT` version of the framework.
 Since `-SNAPSHOT` changes on a day-to-day basis, the idea is to tag a particular revision and to release this, thereby providing stability/traceability for the application being developed.
 
-Whereas xref:../cgcom/cgcom.adoc#_cgcom_cutting-a-release.adoc[formal release]s and xref:../cgcom/cgcom.adoc#_cgcom_release-process-for-snapshots.adoc[snapshot release]s are public (released through the Maven repository maintained by Apache Software Foundation), interim releases are non-public and rely on infrastructure provided by a developer team.
-The tagged release resides _not_ in the xref:../../downloads.adoc#__downloads_source_code[official Apache Isis git repository], but instead in a fork/clone maintained by the developer team.
+Whereas xref:../cgcom/cgcom.adoc#\_cgcom_cutting-a-release.adoc[formal release]s and xref:../cgcom/cgcom.adoc#\_cgcom_release-process-for-snapshots.adoc[snapshot release]s are public (released through the Maven repository maintained by Apache Software Foundation), interim releases are non-public and rely on infrastructure provided by a developer team.
+The tagged release resides __not__ in the xref:../../downloads.adoc#\__downloads_source_code[official Apache Isis git repository], but instead in a fork/clone maintained by the developer team.
 
 [NOTE]
 ====
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_editing.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_editing.adoc
index c578545..ab7d6f6 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_editing.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_editing.adoc
@@ -21,11 +21,12 @@ Whether a collection is enabled or disabled depends upon these factors:
 
 * whether the domain object has been configured as immutable through the xref:../rgant/rgant.adoc#_rgant-DomainObject_editing[`@DomainObject#editing()`] attribute
 
-* else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] `isis.objects.editing`.  If set to `false`, then the object's collections (and properties) are *not* editable
+* else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:../rgcfg/rgcfg.adoc#\_rgcfg_configuring-core[configuration property] `isis.objects.editing`.
+If set to `false`, then the object's collections (and properties) are *not* editable
 
 * else, then the value of the `@Collection(editing=...)` attribute itself.
 
-* else, the result of invoking any supporting xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_disable[`disable...()`] supporting methods
+* else, the result of invoking any supporting xref:../rgcms/rgcms.adoc#\_rgcms_methods_prefixes_disable[`disable...()`] supporting methods
 
 
 Thus, to make a collection read-only even if the object would otherwise be editable, use:
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Column.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Column.adoc
index 08451f0..3691d6a 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Column.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Column.adoc
@@ -19,7 +19,7 @@ Moreover, while JDO/DataNucleus will recognize annotations on either the field o
 This section identifies which attributes of `@Column` are recognized and used by Apache Isis.
 
 
-
+[[_rgant-Column_allowsNull]]
 == Nullability
 
 The `allowsNull()` attribute is used to specify if a property is mandatory or is optional.
@@ -42,6 +42,7 @@ In the vast majority of cases you should be fine just to add the `@Column#allows
 
 
 
+[[_rgant-Column_length]]
 == Length for ``String``s
 
 The `length()` attribute is used to specify the length of `java.lang.String` property types as they map to `varchar(n)` columns.
@@ -66,6 +67,7 @@ Isis also provides xref:../rgant/rgant.adoc#_rgant-Property_maxLength[`@Property
 
 
 
+[[_rgant-Column_length-scale]]
 == Length/scale for ``BigDecimal``s
 
 
@@ -81,18 +83,21 @@ public class Customer {
     public void setTotalOrdersToDate(BigDecimal totalOrdersToDate) { ... }
 ----
 
-For ``BigDecimal``s it is also possible to specify the xref:../rgant/rgant.adoc#_rgant-Digits[`@Digits`] annotation, whose form is `@Digits(integer, fraction)`.  There is a subtle difference here: while `@Column#scale()` corresponds to `@Digits#fraction()`, the value of `@Column#length()` (ie the precision) is actually the _sum_ of the `@Digits`' `integer()` and `fraction()` parts.
+For ``BigDecimal``s it is also possible to specify the xref:../rgant/rgant.adoc#\_rgant-Digits[`@Digits`] annotation, whose form is `@Digits(integer, fraction)`.
+There is a subtle difference here: while `@Column#scale()` corresponds to `@Digits#fraction()`, the value of `@Column#length()` (ie the precision) is actually the __sum__ of the `@Digits`' `integer()` and `fraction()` parts.
 
 If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
 
 
 
 
+[[_rgant-Column_hints-and-tips]]
 == Hints and Tips
 
 This seems to be a good place to describe some additional common mappings that use `@Column`.  Unlike the sections above, the attributes specified in these hints and tips aren't actually part of Apache Isis metamodel.
 
 
+[[_rgant-Column_hints-and-tips_mapping-foreign-keys]]
 === Mapping foreign keys
 
 The `name()` attribute can be used to override the name of the column.  References to other objects are generally mapped as foreign key columns.  If there are multiple references to a given type, then you will want to override the name that JDO/DataNucleus would otherwise default.
@@ -114,7 +119,8 @@ public class PartyRelationship {
 
 
 
-== Mapping ``Blob``s and ``Clob``s
+[[_rgant-Column_hints-and-tips_mapping-blobs-and-clobs]]
+=== Mapping ``Blob``s and ``Clob``s
 
 Isis provides custom value types for xref:../rgcms/rgcms.adoc#_rgcms_classes_value-types_Blob[`Blob`]s and xref:../rgcms/rgcms.adoc#_rgcms_classes_value-types_Clob[`Clob`]s.  These value types have multiple internal fields, meaning that they corresponding to multiple columns in the database.  Mapping this correctly requires using  `@Column` within JDO's `@Persistent` annotation.
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Property_editing.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Property_editing.adoc
index 2740d17..e565f7e 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Property_editing.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Property_editing.adoc
@@ -11,13 +11,13 @@ The related `editingDisabledReason()` attribute specifies the a hard-coded reaso
 
 Whether a property is enabled or disabled depends upon these factors:
 
-* whether the domain object has been configured as immutable through the xref:../rgant/rgant.adoc#_rgant-DomainObject_editing[`@DomainObject#editing()`] attribute
+* whether the domain object has been configured as immutable through the xref:../rgant/rgant.adoc#\_rgant-DomainObject_editing[`@DomainObject#editing()`] attribute
 
-* else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] `isis.objects.editing`.  If set to `false`, then the object's properties (and collections) are _not_ editable
+* else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:../rgcfg/rgcfg.adoc#\_rgcfg_configuring-core[configuration property] `isis.objects.editing`.  If set to `false`, then the object's properties (and collections) are __not__ editable
 
 * else, then the value of the `@Property(editing=...)` attribute itself
 
-* else, the result of invoking any supporting xref:../rgcms/rgcms.adoc#_rgcms_methods_prefixes_disable[`disable...()`] supporting methods
+* else, the result of invoking any supporting xref:../rgcms/rgcms.adoc#\_rgcms_methods_prefixes_disable[`disable...()`] supporting methods
 
 
 Thus, to make a property read-only even if the object would otherwise be editable, use:
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc
index 2b8ea74..ad03819 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc
@@ -54,15 +54,15 @@ Note that the discriminator overrides the object type that may otherwise be infe
 
 |xref:../rgant/rgant.adoc#_rgant-PersistenceCapable[`@javax.jdo.annotations.` +
 `PersistenceCapable`]
-|Used to build Apache Isis' own internal identifier for objects. +
+|Used to build Apache Isis' own internal identifier for objects.
 
-If the `schema()` attribute is specified (and if xref:../rgant/rgant.adoc#_rgant-Discriminator[`@Discriminator`] _hasn't_ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:../ugvro/ugvro.adoc#[RestfulObjects viewer] and elsewhere.
+If the `schema()` attribute is specified (and if xref:../rgant/rgant.adoc#\_rgant-Discriminator[`@Discriminator`] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:../ugvro/ugvro.adoc#[RestfulObjects viewer] and elsewhere.
 
 |Domain / persistence
 |Class
 
 
-|xref:../rgant/rgant.adoc#_rgant-PrimaryKey[`@javax.jdo.annotations.` +
+|xref:../rgant/rgant.adoc#\_rgant-PrimaryKey[`@javax.jdo.annotations.` +
 `PrimaryKey`]
 |Used to ensure Apache Isis does not overwrite application-defined primary keys, and to ensure is read-only in the UI.
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc
index 407a933..b67dfc8 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc
@@ -10,40 +10,36 @@
 [[__rgsvc_intro_types-of-domain-services]]
 == Types of Domain Service
 
-The domain services also group into various broad categories.  Many support functionality of the various layers of the
-system (presentation layer, application layer, core domain, persistence layer); others exist to allow the domain objects
-to integrate with other bounded contexts, or provide various metadata (eg for development-time tooling).  The diagram
-below shows these categories:
+The domain services also group into various broad categories.
+Many support functionality of the various layers of the system (presentation layer, application layer, core domain, persistence layer); others exist to allow the domain objects to integrate with other bounded contexts, or provide various metadata (eg for development-time tooling).
+The diagram below shows these categories:
 
 image::{_imagesdir}reference-services/categories.png[width="600px",link="{_imagesdir}reference-services/categories.png"]
 
 
-A small number of domain services can be considered both API and SPI; a good example is the xref:../rgsvc/rgsvc.adoc#_rgsvc_integration-api_EmailService[`EmailService`] that is of direct use for domain objects wishing to send out emails,
-but is also used by the framework to support the xref:../ugvw/ugvw.adoc#_ugvw_features_user-registration[user registration]
-functionality supported by the xref:../ugvw/ugvw.adoc#[Wicket viewer].   The same is true of the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`]; this can be used by domain objects to broadcast arbitrary events,
-but is also used by the framework to automatically emit events for
+A small number of domain services can be considered both API and SPI; a good example is the xref:../rgsvc/rgsvc.adoc#_rgsvc_integration-api_EmailService[`EmailService`] that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the xref:../ugvw/ugvw.adoc#_ugvw_features_user-registration[user registration]
+functionality supported by the xref:../ugvw/ugvw.adoc#[Wicket viewer].
+The same is true of the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`]; this can be used by domain objects to broadcast arbitrary events, but is also used by the framework to automatically emit events for
 xref:../rgant/rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`] etc.
 
-For these hybrid services we have categorized the service as an "API" service.  This chapter therefore contains only
-the strictly SPI services.
+For these hybrid services we have categorized the service as an "API" service.
+This chapter therefore contains only the strictly SPI services.
 
-This rest of this guide is broken out into several chapters, one for each of the various types/categories of domain
-service.
+This rest of this guide is broken out into several chapters, one for each of the various types/categories of domain service.
 
 
 
 [[__rgsvc_intro_public-api]]
 == Public API vs Internal Services
 
-The vast majority of Apache Isis' domain services are defined in Apache Isis' applib (`o.a.i.core:isis-core-applib`
-module) as stable, public classes.  Importantly, this also minimizes the coupling between your code and Apache Isis,
-allowing you to easily mock out these services in your unit tests.
+The vast majority of Apache Isis' domain services are defined in Apache Isis' applib (`o.a.i.core:isis-core-applib` module) as stable, public classes.
+Importantly, this also minimizes the coupling between your code and Apache Isis, allowing you to easily mock out these services in your unit tests.
 
 
-The framework also defines a number of "internal" services.  These are not part of the framework's formal API, in that
-they use classes that are outside of the applib.  These internal framework services should be thought of as part of the
-internal design of the framework, and are liable to change from release to release.  The internal framework services 
-are documented in the xref:../rgfis/rgfis.adoc#[Framework Internal Services] guide.
+The framework also defines a number of "internal" services.
+These are not part of the framework's formal API, in that they use classes that are outside of the applib.
+These internal framework services should be thought of as part of the internal design of the framework, and are liable to change from release to release.
+The internal framework services are documented in the xref:../rgfis/rgfis.adoc#[Framework Internal Services] guide.
 
 
 
@@ -51,8 +47,7 @@ are documented in the xref:../rgfis/rgfis.adoc#[Framework Internal Services] gui
 [[__rgsvc_intro_using-the-services]]
 == Using the services
 
-Apache Isis includes an extensive number of domain services for your domain objects to use; simply define the service
-as an annotated field and Apache Isis will inject the service into your object.
+Apache Isis includes an extensive number of domain services for your domain objects to use; simply define the service as an annotated field and Apache Isis will inject the service into your object.
 
 For example:
 
@@ -78,13 +73,9 @@ public class Customer {
 For objects that are already persisted, the service is automatically injected just after the object is rehydrated by
 JDO/DataNucleus.
 
-For transient objects (instantiated programmatically), the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_FactoryService[`FactoryService`]'s
-``instantiate()`` method (or the deprecated xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_DomainObjectContainer[`DomainObjectContainer`]'s
-``newTransientInstance()`` method) will automatically inject the services.
+For transient objects (instantiated programmatically), the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_FactoryService[`FactoryService`]'s ``instantiate()`` method (or the deprecated xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_DomainObjectContainer[`DomainObjectContainer`]'s ``newTransientInstance()`` method) will automatically inject the services.
 
-Alternatively the object can be instantiated simply using `new`, then services injected using
-xref:../rgsvc/rgsvc.adoc#_rgsvc_metadata-api_ServiceRegistry[`ServiceRegistry`]'s ``injectServicesInto(...)`` method (or the deprecated
-xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_DomainObjectContainer[`DomainObjectContainer`]'s ``injectServicesInto(...)`` method).
+Alternatively the object can be instantiated simply using `new`, then services injected using xref:../rgsvc/rgsvc.adoc#_rgsvc_metadata-api_ServiceRegistry[`ServiceRegistry`]'s ``injectServicesInto(...)`` method (or the deprecated xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_DomainObjectContainer[`DomainObjectContainer`]'s ``injectServicesInto(...)`` method).
 
 
 
@@ -92,23 +83,23 @@ xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_DomainObjectContainer[`DomainObj
 [[__rgsvc_intro_overriding-the-services]]
 == Overriding the services
 
-The framework provides default implementations for many of the domain services.  This is convenient, but sometimes you
-will want to replace the default implementation with your own service implementation.
+The framework provides default implementations for many of the domain services.
+This is convenient, but sometimes you will want to replace the default implementation with your own service implementation.
 
 The trick is to use the xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`]
 attribute, specifying a low number (typically `"1"`).
 
 [NOTE]
 ====
-For a small number of domain services, all implementations are used (following the chain-of-responsibility pattern),
-not just the first one.  The services in question are:
+For a small number of domain services, all implementations are used (following the chain-of-responsibility pattern), not just the first one.
+The services in question are:
 xref:../rgsvc/rgsvc.adoc#_rgsvc_presentation-layer-spi_ContentMappingService[`ContentMappingService`],
 xref:../rgsvc/rgsvc.adoc#_rgsvc_presentation-layer-spi_GridSystemService[`GridSystemService`], and
 xref:../rgsvc/rgsvc.adoc#_rgsvc_presentation-layer-spi_RoutingService[`RoutingService`].
 ====
 
-For example, suppose you wanted to provide your own implementation of
-xref:../rgsvc/rgsvc.adoc#_rgsvc_api_LocaleProvider[`LocaleProvider`].  Here's how:
+For example, suppose you wanted to provide your own implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_api_LocaleProvider[`LocaleProvider`].
+Here's how:
 
 [source,java]
 ----
@@ -128,9 +119,8 @@ public class MyLocaleProvider implements LocaleProvider {
 <1> takes precedence over the default implementation.
 
 
-It's also quite common to want to decorate the existing implementation (ie have your own implementation delegate to the
-default); this is also possible and quite easy (if using `1.10.0` or later).  The idea is to have the framework
-inject all implementations of the service, and then to delegate to the first one that isn't "this" one:
+It's also quite common to want to decorate the existing implementation (ie have your own implementation delegate to the default); this is also possible and quite easy (if using `1.10.0` or later).
+The idea is to have the framework inject all implementations of the service, and then to delegate to the first one that isn't "this" one:
 
 [source,java]
 ----
@@ -162,14 +152,11 @@ The above code could be improved by caching the delegateLocaleProvider once loca
 [[__rgsvc_intro_commands-and-events]]
 == Command and Events
 
-A good number of the domain services manage the execution of action invocations/property edits, along with the state
-of domain objects that are modified as a result of these.  These services capture information which can then be used
-for various purposes, most notably for auditing or for publishing events, or for deferring execution such that the
-execution be performed in the background at some later date.
+A good number of the domain services manage the execution of action invocations/property edits, along with the state of domain objects that are modified as a result of these.
+These services capture information which can then be used for various purposes, most notably for auditing or for publishing events, or for deferring execution such that the execution be performed in the background at some later date.
 
-The diagram below shows how these services fit together.  The outline boxes are services while the coloured boxes
-represent data structures - defined in the applib and therefore accessible to domain applications - which hold various
-information about the executions.
+The diagram below shows how these services fit together.
+The outline boxes are services while the coloured boxes represent data structures - defined in the applib and therefore accessible to domain applications - which hold various information about the executions.
 
 image::{_imagesdir}reference-services/commands-and-events.png[width="960px",link="{_imagesdir}reference-services/commands-and-events.png"]
 
@@ -179,67 +166,49 @@ To explain:
 * the (request-scoped) xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_CommandContext[`CommandContext`] captures the user's intention to
 invoke an action or edit a property; this is held by the `Command` object.
 
-* if a xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-spi_CommandService[`CommandService`] has been configured, then this will be used to
-create the `Command` object implementation, generally so that it can then also be persisted. +
+* if a xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-spi_CommandService[`CommandService`] has been configured, then this will be used to create the `Command` object implementation, generally so that it can then also be persisted.
 +
-If the action or property is annotated to be invoked in the background (using
-xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#command...()`] or
-xref:../rgant/rgant.adoc#_rgant-Property_command[`@Property#command...()`]) then no further work is done. But,
-if the action/property is to be executed in the foreground, then the interaction continues.
-
-* the (request-scoped) xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_InteractionContext[`InteractionContext`] domain service acts as a
-factory for the ``Interaction`` object, which keeps track of the call-graph of executions (``Interaction.Execution``)
-of either action invocations or property edits.  In the majority of cases there is likely to be just a single top-level
-node of this graph, but for applications that use the xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_WrapperFactory[`WrapperFactory`]
-extensively each successive call results in a new child execution.
-
-* before and after each action invocation/property edit, a xref:../rgcms/rgcms.adoc#_rgcms_classes_domainevent[domain event] is
-may be broadcast to all subscribers.  Whether this occurs depends on whether the action/property has been annotated
-(using xref:../rgant/rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`] or
-xref:../rgant/rgant.adoc#_rgant-Property_domainEvent[`@Property#domainEvent()`]). +
+If the action or property is annotated to be invoked in the background (using xref:../rgant/rgant.adoc#_rgant-Action_command[`@Action#command...()`] or xref:../rgant/rgant.adoc#_rgant-Property_command[`@Property#command...()`]) then no further work is done.
+But, if the action/property is to be executed in the foreground, then the interaction continues.
+
+* the (request-scoped) xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_InteractionContext[`InteractionContext`] domain service acts as a factory for the ``Interaction`` object, which keeps track of the call-graph of executions (``Interaction.Execution``) of either action invocations or property edits.
+In the majority of cases there is likely to be just a single top-level node of this graph, but for applications that use the xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_WrapperFactory[`WrapperFactory`] extensively each successive call results in a new child execution.
+
+* before and after each action invocation/property edit, a xref:../rgcms/rgcms.adoc#_rgcms_classes_domainevent[domain event] is may be broadcast to all subscribers.
+Whether this occurs depends on whether the action/property has been annotated (using xref:../rgant/rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`] or xref:../rgant/rgant.adoc#_rgant-Property_domainEvent[`@Property#domainEvent()`]).
 +
 (Note that susbcribers will also receive events for vetoing the action/property; this is not shown on the diagram).
 
-* As each execution progresses, and objects that are modified are "enlisted" into the (internal)
-xref:../rgfis/rgfis.adoc#_rgfis_persistence-layer_ChangedObjectsServiceInternal[`ChangedObjectsServiceInternal`] domain service.  Metrics as
-to which objects are merely loaded into memory are also captured using the
-xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-api_MetricsService[`MetricsService`] (not shown on the diagram).
+* As each execution progresses, and objects that are modified are "enlisted" into the (internal) xref:../rgfis/rgfis.adoc#_rgfis_persistence-layer_ChangedObjectsServiceInternal[`ChangedObjectsServiceInternal`] domain service.
+Metrics as to which objects are merely loaded into memory are also captured using the xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-api_MetricsService[`MetricsService`] (not shown on the diagram).
 
 * At the end of each execution, details of that execution are published through the (internal)
-xref:../rgfis/rgfis.adoc#_rgfis_spi_PublisherServiceInternal[`PublisherServiceInternal`] domain service.  This is only done for
-actions/properties annotated appropriate (with xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`] or
-xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`]).  +
+xref:../rgfis/rgfis.adoc#_rgfis_spi_PublisherServiceInternal[`PublisherServiceInternal`] domain service.  This is only done for actions/properties annotated appropriate (with xref:../rgant/rgant.adoc#_rgant-Action_publishing[`@Action#publishing()`] or xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`]).
 +
 The internal service delegates in turn to any registered xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`]s (there may be more than one).
 
-* At the end of each transaction, details of all changed objects are published, again through the (internal)
-xref:../rgfis/rgfis.adoc#_rgfis_spi_PublisherServiceInternal[`PublisherServiceInternal`] to any registered `PublisherService` implementations.
+* At the end of each transaction, details of all changed objects are published, again through the (internal) xref:../rgfis/rgfis.adoc#_rgfis_spi_PublisherServiceInternal[`PublisherServiceInternal`] to any registered `PublisherService` implementations.
 Only domain objects specified to be published with
 xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] are published. +
 +
 [NOTE]
 ====
-Note that it's possible for there to be more than one transaction per top-level interaction, by virtue of the
-xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_TransactionService[`TransactionService`].
+Note that it's possible for there to be more than one transaction per top-level interaction, by virtue of the xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_TransactionService[`TransactionService`].
 ====
 
 * Also at the end of each transaction, details of all changed properties are passed to any registered
-xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_AuditerService[`AuditerService`](s) by way of the (internal)
-xref:../rgfis/rgfis.adoc#_rgfis_persistence-layer_AuditingServiceInternal[`AuditingServiceInternal`] domain service.
+xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_AuditerService[`AuditerService`](s) by way of the (internal) xref:../rgfis/rgfis.adoc#_rgfis_persistence-layer_AuditingServiceInternal[`AuditingServiceInternal`] domain service.
 
-Implementations of xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-spi_CommandService[`CommandService`] can use the `Command#getMemento()`
-method to obtain a XML equivalent of that `Command`, reified using the xref:../rgcms/rgcms.adoc#_rgcms_schema-cmd[`cmd.xsd`]
-schema. This can be converted back into a `CommandDto` using the `CommandDtoUtils` utility class (part of the applib).
+Implementations of xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-spi_CommandService[`CommandService`] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:../rgcms/rgcms.adoc#_rgcms_schema-cmd[`cmd.xsd`] schema.
+This can be converted back into a `CommandDto` using the `CommandDtoUtils` utility class (part of the applib).
 
-Similarly, implementations of xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`] can use the
-`InteractionDtoUtils` utility class to obtain a `InteractionDto` representing the interaction, either just for a single
-execution or for the entire call-graph.  This can be converted into XML in a similar fashion.
+Similarly, implementations of xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`] can use the `InteractionDtoUtils` utility class to obtain a `InteractionDto` representing the interaction, either just for a single execution or for the entire call-graph.
+This can be converted into XML in a similar fashion.
 
-Likewise, the `PublishedObjects` class passed to the `PublisherService` at the end of the interaction provides the
-`PublishedObjects#getDto()` method which returns a `ChangesDto` instance.  This can be converted into XML using the
-`ChangesDtoUtils` utility class.
+Likewise, the `PublishedObjects` class passed to the `PublisherService` at the end of the interaction provides the `PublishedObjects#getDto()` method which returns a `ChangesDto` instance.
+This can be converted into XML using the `ChangesDtoUtils` utility class.
 
 One final point: multiple xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`] implementations are supported because different implementations may have different responsibilities.
 For example, the (non-ASF) link:http://platform.incode.org[Incode Platform^]'s publishmq module is responsible for publishing messages onto an ActiveMQ event bus, for inter-system communication.
 However, the SPI can also be used for profiling; each execution within the call-graph contains metrics of the number of objects loaded or modified as a result of that execution, and thus could be used for application profiling.
-The framework provides a default `PublisherServiceLogging` implementation that logs this using SLF4J.
+The framework provides a default `PublisherServiceLogging` implementation that logs this using SLF4J.
\ No newline at end of file
diff --git a/adocs/documentation/src/main/asciidoc/index.html b/adocs/documentation/src/main/asciidoc/index.html
index 64a863a..f70bd89 100644
--- a/adocs/documentation/src/main/asciidoc/index.html
+++ b/adocs/documentation/src/main/asciidoc/index.html
@@ -254,10 +254,16 @@ table.CodeRay td.code>pre{padding:0}
     <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Versions<span class="caret"></span></a>
      <ul class="dropdown-menu">
       <li><a href="documentation.html">1.16.2 (current)</a></li>
+      <!--
       <li role="separator" class="divider"></li>
-      <li><a href="versions/SNAPSHOT/documentation.html">1.16.3-M1-SNAPSHOT</a></li>
+      <li><a href="versions/SNAPSHOT/documentation.html">2.0.0-M2-SNAPSHOT</a></li>
+      -->
+      <li role="separator" class="divider"></li>
+      <li class="dropdown-header">2.0.0 Milestones</li>
+      <li><a href="versions/2.0.0-M1/documentation.html">2.0.0-M1</a></li>
       <li role="separator" class="divider"></li>
       <li class="dropdown-header">Archive</li>
+      <li><a href="versions/1.16.2/documentation.html">1.16.2</a></li>
       <li><a href="versions/1.16.1/documentation.html">1.16.1</a></li>
       <li><a href="versions/1.16.0/documentation.html">1.16.0</a></li>
       <li><a href="versions/1.15.1/documentation.html">1.15.1</a></li>
@@ -628,11 +634,19 @@ table.CodeRay td.code>pre{padding:0}
         <div class="col-sm-12">
          <h4>Getting started</h4>
          <br/>
-         <p>Start developing your own Apache Isis application using either the minimal <a href="guides/ugfun/ugfun.html#_ugfun_getting-started_helloworld-archetype">helloworld archetype</a> or alternatively with the more structured <a href="guides/ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">simpleapp archetype</a>.  With the *nix bash shell, use:</p>
+         <p>Start developing your own Apache Isis application using either the minimal <a href="guides/ugfun/ugfun.html#_ugfun_getting-started_helloworld-archetype">helloworld archetype</a> or alternatively with the more structured <a href="guides/ugfun/ugfun.html#_ugfun_getting-started_simpleapp-archetype">simpleapp archetype</a>.
+          </p>
+        </div>
+       </div>
+       <div class="row">
+        <div class="col-sm-12">
+          To use the current production 1.x version (from a *nix bash shell):
+         <br/>
+         <br/>
         </div>
        </div>
        <div class="row">
-        <div class="col-sm-6">
+        <div class="col-sm-5">
          <div class=panel>
                 <pre>
 mvn archetype:generate  \
@@ -645,7 +659,10 @@ mvn archetype:generate  \
     -B</pre>
          </div>
         </div>
-        <div class="col-sm-6">
+        <div class="col-sm-1">
+         <p>or</p>
+        </div>
+        <div class="col-sm-5">
          <div class=panel>
                 <pre>
 mvn archetype:generate  \
@@ -658,10 +675,52 @@ mvn archetype:generate  \
     -B</pre>
          </div>
         </div>
+        <div class="col-sm-1">
+        </div>
+       </div>
+       <div class="row">
+        <div class="col-sm-12">
+         To use the beta 2.x milestone release, use:
+         <br/>
+         <br/>
+        </div>
+       </div>
+       <div class="row">
+        <div class="col-sm-5">
+         <div class=panel>
+                <pre>
+mvn archetype:generate  \
+    -D archetypeGroupId=org.apache.isis.archetype \
+    -D archetypeArtifactId=helloworld-archetype \
+    -D archetypeVersion=2.0.0-M1 \
+    -D groupId=com.mycompany \
+    -D artifactId=myapp \
+    -D version=1.0-SNAPSHOT \
+    -B</pre>
+         </div>
+        </div>
+        <div class="col-sm-1">
+         <p>or</p>
+        </div>
+        <div class="col-sm-5">
+         <div class=panel>
+                <pre>
+mvn archetype:generate  \
+    -D archetypeGroupId=org.apache.isis.archetype \
+    -D archetypeArtifactId=simpleapp-archetype \
+    -D archetypeVersion=2.0.0-M1 \
+    -D groupId=com.mycompany \
+    -D artifactId=myapp \
+    -D version=1.0-SNAPSHOT \
+    -B</pre>
+         </div>
+        </div>
+        <div class="col-sm-1">
+        </div>
        </div>
        <div class="row">
         <div class="col-sm-12">
-          <p>Adjust as necessary if using Windows `cmd.exe` or Powershell.</p>
+          <p>Adjust as necessary if using Windows.</p>
         </div>
        </div>
 
diff --git a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.16.0-to-2.0.0-M1.adoc b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.16.0-to-2.0.0-M1.adoc
new file mode 100644
index 0000000..84f1647
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.16.0-to-2.0.0-M1.adoc
@@ -0,0 +1,541 @@
+[[_migration-notes_1.15.0-to-1.16.0]]
+= From v1.16.x to 1.16.0
+: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 [...]
+:_basedir: ../
+:_imagesdir: images/
+
+
+
+
+
+
+
+[[__migration-notes_1.15.0-to-1.16.0_meta-annotations]]
+== Meta annotations
+
+TODO: document
+
+
+
+[[__migration-notes_1.15.0-to-1.16.0_updated-annotations]]
+== Updated annotations
+
+Prior to v2.0.0, several annotation attributes were defined as booleans.
+In order to support xref:migration-notes.adoc#__migration-notes_1.15.0-to-1.16.0_meta-annotations[meta annotations], these have been replaced by enums which also include a `NOT_SPECIFIED` value.
+Other enums have been extended (where necessary) to also have a `NOT_SPECIFIED` value.
+In all cases `NOT_SPECIFIED` is the new default.
+
+
+
+[cols="1a,1a,3a", options="header"]
+|===
+
+| Annotation
+| Modified attribute
+| Change
+
+.7+|xref:../guides/rgant/rgant.adoc#_rgant-Action[`@Action`]
+
+|xref:../guides/rgant/rgant.adoc#_rgant-Action_command[`command`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Action_hidden[`hidden`]
+| Default changed from `NOWHERE` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Action_invokeOn[`invokeOn`]
+| Default changed from `OBJECT_ONLY` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Action_publishing[`publishing`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Action_publishing[`publishing`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Action_restrictTo[`restrictTo`]
+| Default changed from `NO_RESTRICTIONS` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Action_semantics[`semantics`]
+| Default changed from `NON_IDEMPOTENT` to `NOT_SPECIFIED`.
+
+
+
+.3+|xref:../guides/rgant/rgant.adoc#_rgant-ActionLayout[`@ActionLayout`]
+
+| xref:../guides/rgant/rgant.adoc#_rgant-ActionLayout_bookmarking[`bookmarking`]
+| Default changed from `NEVER` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-ActionLayout_contributed[`contributed`]
+| Default changed from `AS_BOTH` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-ActionLayout_position[`position`]
+| Default changed from `BELOW` to `NOT_SPECIFIED`.
+
+
+.3+|xref:../guides/rgant/rgant.adoc#_rgant-Collection[`@Collection`]
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Collection_hidden[`hidden`]
+| Default changed from `NOWHERE` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Collection_editing[`editing`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Collection_mementoSerialization[`mementoSerialization`]
+| Replaces `notPersisted`, taking values of `INCLUDED`, `EXCLUDED` or `NOT_SPECIFIED`.
+Defaults to `NOT_SPECIFIED`.
+
+
+
+.4+|xref:../guides/rgant/rgant.adoc#_rgant-DomainObject[`@DomainObject`]
+
+
+| xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_auditing[`auditing`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_bounding[`bounding`]
+| Replaces `bounded`, taking values of `BOUNDED`, `UNBOUNDED` and `NOT_SPECIFIED`.
+Defaults to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_editing[`editing`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_publishing[`publishing`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+
+
+.1+|xref:../guides/rgant/rgant.adoc#_rgant-DomainObjectLayout[`@DomainObjectLayout`]
+
+| xref:../guides/rgant/rgant.adoc#_rgant-DomainObjectLayout_bookmarking[`bookmarking`]
+| Default changed from `NEVER` to `NOT_SPECIFIED`.
+
+
+.1+|xref:../guides/rgant/rgant.adoc#_rgant-Parameter[`@Parameter`]
+[cols="1a,3a", options="header"]
+
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Parameter_optionality[`optionality`]
+| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
+
+
+
+.2+|xref:../guides/rgant/rgant.adoc#_rgant-ParameterLayout[`@ParameterLayout`]
+
+| xref:../guides/rgant/rgant.adoc#_rgant-ParameterLayout_labelPosition[`labelPosition`]
+| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-ParameterLayout_renderDay[`renderDay`]
+| Replaces `renderedAsDayBefore`, taking values of `AS_DAY`, `AS_DAY_BEFORE` or `NOT_SPECIFIED`.
+Defaults to `NOT_SPECIFIED`.
+
+
+.6+|xref:../guides/rgant/rgant.adoc#_rgant-Property[`@Property`]
+
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Property_commandReification[`commandReification`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Property_editing[`editing`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Property_hidden[`hidden`]
+| Default changed from `NOWHERE` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Property_mementoSerialization[`mementoSerialization`]
+| Replaces `notPersisted`, taking values of `INCLUDED`, `EXCLUDED` or `NOT_SPECIFIED`.
+Defaults to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Property_optionality[`optionality`]
+| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
+
+| xref:../guides/rgant/rgant.adoc#_rgant-Property_publishing[`publishing`]
+| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
+
+
+
+.5+|xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`]
+
+| xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout_labelPosition[`labelPosition`]
+| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
+
+
+| xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout_promptStyle[`promptStyle`]
+| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
+
+
+| xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout_renderDay[`renderDay`]
+| Replaces `notPersisted`, taking values of `AS_DAY`, `AS_DAY_BEFORE` or `NOT_SPECIFIED`.
+Defaults to `NOT_SPECIFIED`.
+
+
+| xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout_repainting[`repainting`]
+| Replaces `unchanging`, taking values of `REPAINT`, `NO_REPAINT` or `NOT_SPECIFIED`.
+Defaults to `NOT_SPECIFIED`.
+
+
+
+.1+|xref:../guides/rgant/rgant.adoc#_rgant-ViewModelLayout[`@ViewModelLayout`]
+
+| xref:../guides/rgant/rgant.adoc#_rgant-ViewModelLayout_bookmarking[`bookmarking`]
+| adds new NOT_SPECIFIED value
+
+
+|===
+
+
+
+
+[[__migration-notes_1.15.0-to-1.16.0_removed-annotations]]
+== Removed annotations/attributes
+
+[cols="1l,1l,3a", options="header"]
+|===
+
+| Annotation
+| Attribute
+| Use instead
+
+|@Action
+|publishingPayloadFactory()
+|Removed, use the simpler xref:../guides/rgsvc/rgsvc.adoc#PublisherService[PublisherService] SPI instead.
+
+
+|@ActionInteraction
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_domainEvent[`@Action#domainEvent()`]
+
+|@ActionOrder
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_MemberOrder[`@MemberOrder()`]
+
+|@Aggregated
+|
+|Never implemented internally in Isis 1.x so no replacement.
+
+|@Audited
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_audited[`@DomainObject#auditing()`]
+
+|@AutoComplete
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_autoComplete[`@DomainObject#autoComplete()`]
+
+|@ActionSemantics
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_semantics[`@Action#semantics()`]
+
+|@Bookmarkable
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_bookmarking[`@DomainObject#bookmarking()`]
+
+|@Bounded
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_bounding[`@DomainObject#bounding()`]
+
+|@Bulk
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_invokeOn[`@Action#invokeOn()`]
+
+Similarly, the `Bulk.InteractionContext` domain service is replaced with the xref:../guides/rgsvc/rgsvc.adoc#ActionInvocationContext[ActionInvocationContext] domain service.
+
+
+|@Collection
+| notPersisted
+| Removed, replaced with xref:../guides/rgant/rgant.adoc#_rgant_Collection_mementoSerialization[`@Collection#mementoSerialization()`]
+
+|@CollectionInteraction
+|
+| xref:../guides/rgant/rgant.adoc#_rgant_Collection_domainEvent[`@Collection
+#domainEvent()`]
+
+|@CollectionLayout
+|render()
+|xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_defaultView[`@CollectionLayout#defaultView()`]
+
+|@Command
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_command[`@Action#command()`]
+
+|@CssClass
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_ActionLayout_cssClass[`@ActionLayout#cssClass()`], xref:../guides/rgant/rgant.adoc#_rgant_PropertyLayout_cssClass[`@PropertyLayout#cssClass()`], xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_cssClass[`@CollectionLayout#cssClass()`], xref:../guides/rgant/rgant.adoc#_rgant_ParameterLayout_cssClass[`@ParameterLayout#cssClass()`], xref:../guides/rgant/rgant.adoc#_rgant_DomainObjectLayout_cssClass[`@DomainObjectLayout#cssClass()`] or xr [...]
+
+|@CssClassFa
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_ActionLayout_cssClassFa[`@ActionLayout#cssClassFa()`], xref:../guides/rgant/rgant.adoc#_rgant_DomainObjectLayout_cssClassFa[`@DomainObjectLayout#cssClassFa()`] or xref:../guides/rgant/rgant.adoc#_rgant_ViewModelLayout_cssClassFa[`@ViewModelLayout#cssClassFa()`].
+
+|@Debug
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_restrictTo[`@Action#restrictTo()`]
+
+|@DescribedAs
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_ActionLayout_describedAs[`@ActionLayout#describedAs()`], xref:../guides/rgant/rgant.adoc#_rgant_PropertyLayout_describedAs[`@PropertyLayout#describedAs()`], xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_describedAs[`@CollectionLayout#describedAs()`], xref:../guides/rgant/rgant.adoc#_rgant_ParameterLayout_describedAs[`@ParameterLayout#describedAs()`], xref:../guides/rgant/rgant.adoc#_rgant_DomainObjectLayout_describedAs[`@DomainObje [...]
+
+|@Disabled
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Property_editingDisabledReason[`@Property#editingDisabledReason()`]
+
+.2+|@DomainObject
+|bounded
+|Deleted (was a boolean attribute), replaced by xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_bounding[`@Property#bounding`]
+
+|publishingPayloadFactory
+|Removed, use the simpler xref:../guides/rgsvc/rgsvc.adoc#PublisherService[PublisherService] SPI instead.
+
+
+
+|@Exploration
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_restrictTo[`@Action#restrictTo()`]
+
+|@FieldOrder
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_MemberOrder[`@MemberOrder()`]
+
+|@Hidden
+|
+|For actions by either xref:../guides/rgant/rgant.adoc#_rgant_Action_hidden[`@Action#hidden()`] or xref:../guides/rgant/rgant.adoc#_rgant_ActionLayout_hidden[`@ActionLayout#hidden()`], for properties by either xref:../guides/rgant/rgant.adoc#_rgant_Property_hidden[`@Property#hidden()`] or xref:../guides/rgant/rgant.adoc#_rgant_PropertyLayout_hidden[`@PropertyLayout#hidden()`], for collections by either xref:../guides/rgant/rgant.adoc#_rgant_Collection_hidden[`@Collection#hidden()`] or xr [...]
+
+|@Idempotent
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_semantics[`@Action#semantics()`]
+
+|@Ignore
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Programmatic[`@Programmatic`]
+
+|@Immutable
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_editing[`@DomainObject#editing()`]
+
+|@Mandatory
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_Property_optionality[`@Property#optionality()`] or xref:../guides/rgant/rgant.adoc#_rgant_Parameter_optionality[`@Parameter#optionality()`].
+
+For properties, can also use xref:../guides/rgant/rgant.adoc#_rgant_Column_allowsNull[`@Column#allowsNull()`]
+Can also use xref:../guides/rgant/rgant.adoc#_rgant_Nullable[`@Nullable`] for either properties or parameters.
+
+|@Mask
+|
+|Removed, never implemented internally in Isis 1.x so no replacement.
+
+|@MaxLength
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_Property_maxLength[`@Property#maxLength()`] or xref:../guides/rgant/rgant.adoc#_rgant_Parameter_maxLength[`@Parameter#maxLength()`].
+
+For properties, can also use xref:../guides/rgant/rgant.adoc#_rgant_Column_length[`@Column#length()`]
+
+|@MemberGroups
+|
+|xref:../guides/ugvw/ugvw.adoc#_ugvw_layout_file-based[.layout.xml] file instead.
+
+|@MultiLine
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_PropertyLayout_multiLine[`@PropertyLayout#multiLine()`] or xref:../guides/rgant/rgant.adoc#_rgant_ParameterLayout_multiLine[`@ParameterLayout#multiLine()`].
+
+|@MustSatisfy
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_Property_mustSatisfy[`@Property#mustSatisfy()`] or xref:../guides/rgant/rgant.adoc#_rgant_Parameter_mustSatisfy[`@Parameter#mustSatisfy()`].
+
+|@NotPersisted
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Property_notPersisted[`@Property#notPersisted()`].
+
+|@Optional
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_Property_optionality[`@Property#optionality()`] or xref:../guides/rgant/rgant.adoc#_rgant_Parameter_optionality[`@Parameter#optionality()`].
+
+For properties, can also use xref:../guides/rgant/rgant.adoc#_rgant_Column_allowsNull[`@Column#allowsNull()`]
+Can also use xref:../guides/rgant/rgant.adoc#_rgant_Nullable[`@Nullable`] for either properties or parameters.
+
+|@Named
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_ActionLayout_named[`@ActionLayout#named()`], xref:../guides/rgant/rgant.adoc#_rgant_PropertyLayout_named[`@PropertyLayout#named()`], xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_named[`@CollectionLayout#named()`], xref:../guides/rgant/rgant.adoc#_rgant_ParameterLayout_named[`@ParameterLayout#named()`], xref:../guides/rgant/rgant.adoc#_rgant_DomainObjectLayout_named[`@DomainObjectLayout#named()`] or xref:../guides/rgant/rgant.adoc# [...]
+
+|@NotInServiceMenu
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainService_nature[`@DomainService#nature()`]
+
+Specify nature of `VIEW_CONTRIBUTIONS_ONLY`.
+Alternatively, use a xref:../guides/rgant/rgant.adoc#_rgant_Mixin[mixin].
+
+|@NotContributed
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainService_nature[`@DomainService#nature()`]
+
+Specify nature of `VIEW_MENU_ONLY`.
+
+|@NotPersistable
+|
+|Never implemented internally in Isis 1.x so no replacement.
+
+|@ObjectType
+|
+|Removed, xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_objectType[`@DomainObject#objectType()`] or xref:../guides/rgant/rgant.adoc#_rgant_DomainService_objectType[`@DomainService#objectType()`]
+
+Alternatively, for domain entities either:
+
+* the xref:../guides/rgant/rgant.adoc#_rgant_Discriminator[`@Discriminator`] annotation can be specified; the value is used as the object type, or
+* the xref:../guides/rgant/rgant.adoc#_rgant_PersistenceCapable_schema[`@PersistenceCapable#schema()`] can be specified; the value is used as the concatenated with the class name to create a two part object type.
+
+|@Parameter
+|minLength()
+|Never implemented internally in Isis 1.x so no replacement.
+
+Note that the xref:../guides/rgant/rgant.adoc#_rgant_MinLength[`@MinLength`] annotation is for use with autocomplete supporting methods (specifying the minimum number of characters to enter before an auto-complete search is performed).
+
+
+|@Paged
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_paged[`@CollectionLayout#paged()`] (for parented collections), or xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_paged[`@DomainObject#paged()`] (for standalone collections)
+
+|@ParameterLayout
+| renderedAsDayBefore
+|Deleted (was a boolean attribute), replaced by xref:../guides/rgant/rgant.adoc#_rgant_ParameterLayout_renderDay[`@ParameterLayout#renderDay`].
+
+
+|@Plural
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainObjectLayout_plural[`@DomainObjectLayout#plural()`]
+
+|@PostsAction
+InvokedEvent
+|
+| xref:../guides/rgant/rgant.adoc#_rgant_Action_domainEvent[`@Action#domainEvent()`]
+
+|@PostsCollection
+AddedToEvent
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Collection_domainEvent[`@Collection#domainEvent()`]
+
+|@PostsCollection
+RemovedFromEvent
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Collection_domainEvent[`@Collection#domainEvent()`]
+
+|@PostsProperty
+ChangedEvent
+|
+| xref:../guides/rgant/rgant.adoc#_rgant_Property_domainEvent[`@Property#domainEvent()`]
+
+|@Property
+| notPersisted
+| Removed, replaced with xref:../guides/rgant/rgant.adoc#_rgant_Collection_mementoSerialization[`@Collection#mementoSerialization()`]
+
+|@PropertyInteraction
+|
+| xref:../guides/rgant/rgant.adoc#_rgant_Property_domainEvent[`@Property#domainEvent()`]
+
+.2+|@PropertyLayout
+| renderedAsDayBefore
+|Deleted (was a boolean attribute), replaced by xref:../guides/rgant/rgant.adoc#_rgant_PropertyLayout_renderDay[`@PropertyLayout#renderDay`].
+
+| unchanging
+| Deleted (was a boolean attribute), replaced by by xref:../guides/rgant/rgant.adoc#_rgant_PropertyLayout_repainting[`@PropertyLayout#repainting`].
+
+
+|@Prototype
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_restrictTo[`@Action#restrictTo()`]
+
+|@PublishedAction
+|
+|Removed, use xref:../guides/rgant/rgant.adoc#_rgant-Action_publishing[@Action#publishing()]
+
+|@PublishedObject
+|
+|Removed, use xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_publishing[@DomainObject#publishing()]
+
+|@PublishingPayload
+FactoryForAction
+|
+|Removed, use the simpler xref:../guides/rgsvc/rgsvc.adoc#PublisherService[PublisherService] SPI instead.
+
+|PublishingPayload
+FactoryForObject
+|
+|Removed, use the simpler xref:../guides/rgsvc/rgsvc.adoc#PublisherService[PublisherService] SPI instead.
+
+|@QueryOnly
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_Action_semantics[`@Action#semantics()`]
+
+|@Regex
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_Property_regexPattern[`@Property#regexPattern()`] or xref:../guides/rgant/rgant.adoc#_rgant_Parameter_regexPattern[`@Parameter#regexPattern()`].
+
+|@Render
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_defaultView[`@CollectionLayout#defaultView()`]
+
+Supporting `RenderType` enum also removed.
+
+|@RenderedAs
+DayBefore
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_Property_renderDay[`@Property#renderDay()`] or xref:../guides/rgant/rgant.adoc#_rgant_Parameter_renderDay[`@Parameter#renderDay()`].
+
+|@Resolve
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_defaultView[`@CollectionLayout#defaultView()`]
+
+|@SortedBy
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_sortedBy[`@CollectionLayout#sortedBy()`]
+
+|@TypeOf
+|
+|Either xref:../guides/rgant/rgant.adoc#_rgant_CollectionLayout_typeOf[`@CollectionLayout#typeOf()`] (for parented collections), or xref:../guides/rgant/rgant.adoc#_rgant_ActionLayout_typeOf[`@ActionLayout#typeOf()`] (for actions returning a standalone collection).
+
+|@TypicalLength
+|
+|xref:../guides/rgant/rgant.adoc#_rgant_PropertyLayout_typicalLength[`@PropertyLayout#typicalLength()`].
+
+
+|===
+
+
+[[__migration-notes_1.15.0-to-1.16.0_removed-interfaces]]
+== Removed interfaces
+
+[cols="1a,3a", options="header"]
+|===
+
+| Removed interface
+| Replaced with
+
+|`Auditable` +
+(JDO applib)
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_audited[`@DomainObject#auditing()`]
+
+|`Bounded` +
+(JDO applib)
+|xref:../guides/rgant/rgant.adoc#_rgant_DomainObject_bounding[`@DomainObject#bounding()`]
+
+|`NotPersistable` +
+(JDO applib)
+|Never implemented internally in Isis 1.x so no replacement.
+
+|`ProgramPersistable` +
+(JDO applib)
+|Never implemented fully in Isis 1.x so no replacement.
+
+|`AlwaysImmutable` +
+(JDO applib)
+|Never implemented fully in Isis 1.x so no replacement.
+
+|`ImmutableOncePersisted` +
+(JDO applib)
+|Never implemented fully in Isis 1.x so no replacement.
+
+|`ImmutableUntilPersisted` +
+(JDO applib)
+|Never implemented fully in Isis 1.x so no replacement.
+
+|`NeverImmutable` +
+(JDO applib)
+|Never implemented fully in Isis 1.x so no replacement.
+
+
+|===
+
diff --git a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.16.0-to-2.0.0.adoc b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.16.0-to-2.0.0.adoc
deleted file mode 100644
index 3e073ca..0000000
--- a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.16.0-to-2.0.0.adoc
+++ /dev/null
@@ -1,223 +0,0 @@
-[[_migration-notes_1.15.0-to-1.16.0]]
-= From v1.16.x to 1.16.0
-: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 [...]
-:_basedir: ../
-:_imagesdir: images/
-
-
-
-
-
-
-== Removed annotations
-
-TODO: document
-
-== Meta annotations
-
-TODO: document
-
-== Updated annotations
-
-Prior to v2.0.0, several annotation attributes were defined as booleans.
-In order to support meta annotations, these have been replaced by enums which also include a `NOT_SPECIFIED` value.
-Other enums have been extended (where necessary) to also have a `NOT_SPECIFIED` value.
-In all cases `NOT_SPECIFIED` is the new default.
-
-
-.xref:../guides/rgant/rgant.adoc#_rgant-Action[`@Action`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-| Modified attribute
-| Change
-
-|xref:../guides/rgant/rgant.adoc#_rgant-Action_command[`command`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Action_hidden[`hidden`]
-| Default changed from `NOWHERE` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Action_invokeOn[`invokeOn`]
-| Default changed from `OBJECT_ONLY` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Action_publishing[`publishing`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Action_restrictTo[`restrictTo`]
-| Default changed from `NO_RESTRICTIONS` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Action_semantics[`semantics`]
-| Default changed from `NON_IDEMPOTENT` to `NOT_SPECIFIED`.
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-ActionLayout[`@ActionLayout`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-| xref:../guides/rgant/rgant.adoc#_rgant-ActionLayout_bookmarking[`bookmarking`]
-| Default changed from `NEVER` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-ActionLayout_contributed[`contributed`]
-| Default changed from `AS_BOTH` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-ActionLayout_position[`position`]
-| Default changed from `BELOW` to `NOT_SPECIFIED`.
-
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-Collection[`@Collection`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Collection_hidden[`hidden`]
-| Default changed from `NOWHERE` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Collection_editing[`editing`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Collection_mementoSerialization[`mementoSerialization`]
-| Replaces `notPersisted`, taking values of `INCLUDED`, `EXCLUDED` or `NOT_SPECIFIED`.
-Defaults to `NOT_SPECIFIED`.
-
-| `notPersisted`
-| Removed, replaced with `mementoSerialization`
-
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-DomainObject[`@DomainObject`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-| xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_auditing[`auditing`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-| `bounded`
-| Deleted (was a boolean attribute), replaced by `bounding` (below)
-
-| xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_bounding[`bounding`]
-| Replaces `bounded`, taking values of `BOUNDED`, `UNBOUNDED` and `NOT_SPECIFIED`.
-Defaults to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_editing[`editing`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-DomainObject_publishing[`publishing`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-DomainObjectLayout[`@DomainObjectLayout`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-| xref:../guides/rgant/rgant.adoc#_rgant-DomainObjectLayout_bookmarking[`bookmarking`]
-| Default changed from `NEVER` to `NOT_SPECIFIED`.
-
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-Parameter[`@Parameter`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Parameter_optionality[`optionality`]
-| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
-
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-ParameterLayout[`@ParameterLayout`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-
-| xref:../guides/rgant/rgant.adoc#_rgant-ParameterLayout_labelPosition[`labelPosition`]
-| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
-
-| `renderedAsDayBefore`
-| Deleted (was a boolean attribute), replaced by `renderDay`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-ParameterLayout_renderDay[`renderBay`]
-| Replaces `notPersisted`, taking values of `AS_DAY`, `AS_DAY_BEFORE` or `NOT_SPECIFIED`.
-Defaults to `NOT_SPECIFIED`.
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-Property[`@Property`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Property_commandReification[`commandReification`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Property_editing[`editing`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Property_hidden[`hidden`]
-| Default changed from `NOWHERE` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Property_mementoSerialization[`mementoSerialization`]
-| Replaces `notPersisted`, taking values of `INCLUDED`, `EXCLUDED` or `NOT_SPECIFIED`.
-Defaults to `NOT_SPECIFIED`.
-
-| `notPersisted`
-| Removed, replaced with `mementoSerialization`
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Property_optionality[`optionality`]
-| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-Property_publishing[`publishing`]
-| Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
-
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout[`@PropertyLayout`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-| xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout_labelPosition[`labelPosition`]
-| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
-
-
-| xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout_promptStyle[`promptStyle`]
-| Default changed from `DEFAULT` to `NOT_SPECIFIED`.
-
-
-| `renderedAsDayBefore`
-| Deleted (was a boolean attribute), replaced by `renderDay`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout_renderDay[`renderBay`]
-| Replaces `notPersisted`, taking values of `AS_DAY`, `AS_DAY_BEFORE` or `NOT_SPECIFIED`.
-Defaults to `NOT_SPECIFIED`.
-
-
-| `unchanging`
-| Deleted (was a boolean attribute), replaced by `repainting`.
-
-| xref:../guides/rgant/rgant.adoc#_rgant-PropertyLayout_repainting[`repainting`]
-| Replaces `unchanging`, taking values of `REPAINT`, `NO_REPAINT` or `NOT_SPECIFIED`.
-Defaults to `NOT_SPECIFIED`.
-
-
-|===
-
-.xref:../guides/rgant/rgant.adoc#_rgant-ViewModelLayout[`@ViewModelLayout`] attributes
-[cols="1a,3a", options="header"]
-|===
-
-| xref:../guides/rgant/rgant.adoc#_rgant-ViewModelLayout[`@ViewModelLayout`]
-| xref:../guides/rgant/rgant.adoc#_rgant-ViewModelLayout_bookmarking[`bookmarking`]
-| adds new NOT_SPECIFIED value
-
-
-|===
-
-
diff --git a/adocs/documentation/src/main/asciidoc/release-notes/_release-notes_2.0.0-M1.adoc b/adocs/documentation/src/main/asciidoc/release-notes/_release-notes_2.0.0-M1.adoc
new file mode 100644
index 0000000..8bcc0c3
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/release-notes/_release-notes_2.0.0-M1.adoc
@@ -0,0 +1,139 @@
+[[_release-notes_2.0.0-M1]]
+= 2.0.0-M1
+: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 [...]
+:_basedir: ../
+:_imagesdir: images/
+:toc: right
+
+
+
+
+This is the first milestone release for Apache Isis 2.0
+
+Apache Isis 2.0 upgrades the framework to require Java 8 and above, and along the way upgrades DataNucleus ORM to 5.1 and Wicket to 8.0.
+
+Notable new features include support for meta-annotations (both Apache Isis annotations and DataNucleus).
+
+Features deprecated in Apache Isis 1.x (most notably, domain services and annotations) have been removed.
+The most significant domain service removed is `DomainObjectContainer`.
+
+
+
+== New Feature
+
+* link:https://issues.apache.org/jira/browse/ISIS-1969[ISIS-1969] - Distribute Isis as a Docker image, with the libraries in Tomcat's lib/ folder (skinny wars)
+* link:https://issues.apache.org/jira/browse/ISIS-1809[ISIS-1809] - Convenience adapter implementations of UrlEncodingService
+* link:https://issues.apache.org/jira/browse/ISIS-1740[ISIS-1740] - New Feature: Where am I
+* link:https://issues.apache.org/jira/browse/ISIS-1726[ISIS-1726] - Support DataNucleus meta annotations for @PersistenceCapable.
+* link:https://issues.apache.org/jira/browse/ISIS-1632[ISIS-1632] - Support meta annotations for @Property/@Collection/@Action + @XxxLayout
+* link:https://issues.apache.org/jira/browse/ISIS-1056[ISIS-1056] - [DUPLICATE] Support user-defined annotations (as per Spring and JSR-303 etc).
+
+
+== Improvement
+
+* link:https://issues.apache.org/jira/browse/ISIS-1961[ISIS-1961] - ResourceCachingFilter: Suppress 'client connection abort' exceptions.
+* link:https://issues.apache.org/jira/browse/ISIS-1959[ISIS-1959] - Update to Wicket 8
+* link:https://issues.apache.org/jira/browse/ISIS-1958[ISIS-1958] - Integration Tests: HSQL-DB is forced upon users
+* link:https://issues.apache.org/jira/browse/ISIS-1956[ISIS-1956] - Remove dependencies on guava from unittestsupport
+* link:https://issues.apache.org/jira/browse/ISIS-1955[ISIS-1955] - Allow for ErrorReportingService Tickets to render arbitrary HTML
+* link:https://issues.apache.org/jira/browse/ISIS-1954[ISIS-1954] - JUnit 5 support
+* link:https://issues.apache.org/jira/browse/ISIS-1950[ISIS-1950] - Add a ByteBuddy plugin implementing proxy-factory mechanics
+* link:https://issues.apache.org/jira/browse/ISIS-1949[ISIS-1949] - Make proxy-factory mechanics a plugin (Javassist)
+* link:https://issues.apache.org/jira/browse/ISIS-1948[ISIS-1948] - Remove Javassist as a dependency
+* link:https://issues.apache.org/jira/browse/ISIS-1942[ISIS-1942] - New Facet: XmlAccessorTypeFacet
+* link:https://issues.apache.org/jira/browse/ISIS-1935[ISIS-1935] - Remove the requirement for event-bus plugins to implement QueryResultCacheControl
+* link:https://issues.apache.org/jira/browse/ISIS-1932[ISIS-1932] - Consolidation of Collection Utility classes
+* link:https://issues.apache.org/jira/browse/ISIS-1931[ISIS-1931] - ServicesInjector: Reduce Heap Pollution
+* link:https://issues.apache.org/jira/browse/ISIS-1930[ISIS-1930] - PersistenceSession: Reduce Heap Pollution
+* link:https://issues.apache.org/jira/browse/ISIS-1928[ISIS-1928] - Don't log ERROR if fail to authenticate (INFO is enough)
+* link:https://issues.apache.org/jira/browse/ISIS-1911[ISIS-1911] - TranslationServicePo: new config option to disable the service
+* link:https://issues.apache.org/jira/browse/ISIS-1910[ISIS-1910] - Rename IsisJdoSupport0 back to its original name
+* link:https://issues.apache.org/jira/browse/ISIS-1906[ISIS-1906] - Programming Model: @Parent needs replacement
+* link:https://issues.apache.org/jira/browse/ISIS-1904[ISIS-1904] - gitlab setup, supporting CI/CD builds with externalized version
+* link:https://issues.apache.org/jira/browse/ISIS-1897[ISIS-1897] - applib: the new ObjectContracts needs backward compatibility
+* link:https://issues.apache.org/jira/browse/ISIS-1896[ISIS-1896] - Swagger-UI: provide a link for convenient login to restful API
+* link:https://issues.apache.org/jira/browse/ISIS-1891[ISIS-1891] - Make jax-rs provider (resteasy) a plugin
+* link:https://issues.apache.org/jira/browse/ISIS-1881[ISIS-1881] - Package swagger-ui web-content with metamodel module
+* link:https://issues.apache.org/jira/browse/ISIS-1846[ISIS-1846] - Code deduplication (new Internal API)
+* link:https://issues.apache.org/jira/browse/ISIS-1844[ISIS-1844] - API cleanup: make any unchecked casts explicit
+* link:https://issues.apache.org/jira/browse/ISIS-1843[ISIS-1843] - remove occurences of Thread.currentThread().getContextClassLoader()
+* link:https://issues.apache.org/jira/browse/ISIS-1842[ISIS-1842] - API cleanup: add generic type arguments where missing
+* link:https://issues.apache.org/jira/browse/ISIS-1830[ISIS-1830] - Eliminate dependence on any JDK internal APIs (jdeps JDK 9)
+* link:https://issues.apache.org/jira/browse/ISIS-1827[ISIS-1827] - Remove dependencies on guava from isis-core-applib (public API)
+* link:https://issues.apache.org/jira/browse/ISIS-1823[ISIS-1823] - Config property for disabling footer entirly
+* link:https://issues.apache.org/jira/browse/ISIS-1818[ISIS-1818] - new config property: max navigable parent chain length
+* link:https://issues.apache.org/jira/browse/ISIS-1817[ISIS-1817] - new config property that allows to disable the where-am-i feature
+* link:https://issues.apache.org/jira/browse/ISIS-1779[ISIS-1779] - Transition to JAX-RS 2.0 Client API
+* link:https://issues.apache.org/jira/browse/ISIS-1775[ISIS-1775] - Context-Path support for SwaggerService
+* link:https://issues.apache.org/jira/browse/ISIS-1763[ISIS-1763] - Change @DomainObject#bounded (a boolean) to @DomainObject#bounding (an enum)
+* link:https://issues.apache.org/jira/browse/ISIS-1762[ISIS-1762] - Java 8+ Miscellaneous Utilities
+* link:https://issues.apache.org/jira/browse/ISIS-1756[ISIS-1756] - JEE Support - proper life-cycling
+* link:https://issues.apache.org/jira/browse/ISIS-1755[ISIS-1755] - JEE Support - let CDI ignore certain beans
+* link:https://issues.apache.org/jira/browse/ISIS-1753[ISIS-1753] - Plugable support for guava and axon event bus implementation.
+* link:https://issues.apache.org/jira/browse/ISIS-1744[ISIS-1744] - Update DataNucleus to the latest version (5.1.5 or later)
+* link:https://issues.apache.org/jira/browse/ISIS-1742[ISIS-1742] - Remove deprecated annotations, methods etc.
+* link:https://issues.apache.org/jira/browse/ISIS-1727[ISIS-1727] - Minor internal refactorings from upgrade to JDK 8
+* link:https://issues.apache.org/jira/browse/ISIS-1725[ISIS-1725] - Simplify bootstrapping logic by requiring an AppManifest to be supplied, remoev cfg property
+* link:https://issues.apache.org/jira/browse/ISIS-1724[ISIS-1724] - Remove JDO applib's IsisJdoSupport
+* link:https://issues.apache.org/jira/browse/ISIS-1723[ISIS-1723] - Remove JDO applib's Auditable interface and @Auditable annotation
+* link:https://issues.apache.org/jira/browse/ISIS-1683[ISIS-1683] - Move org.apache.isis.applib.services.timestamp.Timestampable to mixins.timestamp
+* link:https://issues.apache.org/jira/browse/ISIS-1682[ISIS-1682] - Move org.apache.isis.applib.services.layout.Object_downloadLayoutXml mixins out of services.layout and into mixins.layout
+* link:https://issues.apache.org/jira/browse/ISIS-1681[ISIS-1681] - Move wrapper factory events (eg org.apache.isis.applib.events.AccessEvent) to subpackage of services.wrapper
+* link:https://issues.apache.org/jira/browse/ISIS-1680[ISIS-1680] - Move event classes (eg org.apache.isis.applib.services.eventbus.AbstractDomainEvent) out of services.eventbus and into applib.events (subpackages thereof)
+* link:https://issues.apache.org/jira/browse/ISIS-1679[ISIS-1679] - Move org.apache.isis.applib.services.dto.Dto to org.apache.isis.applib.mixins
+
+
+== Bug
+
+* link:https://issues.apache.org/jira/browse/ISIS-1963[ISIS-1963] - Wicket UI: IllegalArgumentExceptions after persistent field update using AJAX
+* link:https://issues.apache.org/jira/browse/ISIS-1957[ISIS-1957] - ServiceInjector fails to handle Generic Types in target fields of type List
+* link:https://issues.apache.org/jira/browse/ISIS-1946[ISIS-1946] - Running with o.a.i.WebServer throws exception due to empty context path.
+* link:https://issues.apache.org/jira/browse/ISIS-1941[ISIS-1941] - [NOT A PROBLEM] Metamodel: XmlJavaTypeAdapterFacetFactory broken somehow
+* link:https://issues.apache.org/jira/browse/ISIS-1940[ISIS-1940] - MultiSelect Action Invocation throws IllegalArgumentException
+* link:https://issues.apache.org/jira/browse/ISIS-1939[ISIS-1939] - Internal API: Memento deserialization requires proper class-loader
+* link:https://issues.apache.org/jira/browse/ISIS-1929[ISIS-1929] - Skinny WAR Redeployment: Isis Core Plugins might not be resolved
+* link:https://issues.apache.org/jira/browse/ISIS-1887[ISIS-1887] - Metamodel: restore java.sql.Timestamp support
+* link:https://issues.apache.org/jira/browse/ISIS-1880[ISIS-1880] - LocalResourcePath: new value type for local URLs
+* link:https://issues.apache.org/jira/browse/ISIS-1870[ISIS-1870] - Fix JUnit Tests previously not picked up by surefire
+* link:https://issues.apache.org/jira/browse/ISIS-1869[ISIS-1869] - Surefire does not pick up all relevant tests
+* link:https://issues.apache.org/jira/browse/ISIS-1868[ISIS-1868] - Eclipse fails to build the schema module
+* link:https://issues.apache.org/jira/browse/ISIS-1866[ISIS-1866] - Metamodel: 38 JUnit Test Failures
+* link:https://issues.apache.org/jira/browse/ISIS-1865[ISIS-1865] - Wicket-Impl: Some JUnit tests are failing
+* link:https://issues.apache.org/jira/browse/ISIS-1852[ISIS-1852] - Iterating over query result list with parallelStream produces next exception
+* link:https://issues.apache.org/jira/browse/ISIS-1821[ISIS-1821] - Metadata validation failure when no @Nullable is present
+* link:https://issues.apache.org/jira/browse/ISIS-1736[ISIS-1736] - ConfigurationServiceDefault is inconsistent
+* link:https://issues.apache.org/jira/browse/ISIS-1721[ISIS-1721] - Isis should optionally not override the default values of entities.
+* link:https://issues.apache.org/jira/browse/ISIS-1599[ISIS-1599] - "Set" interface does not work as an action parameter's collection type
+* link:https://issues.apache.org/jira/browse/ISIS-1531[ISIS-1531] - Possible memory leak
+* link:https://issues.apache.org/jira/browse/ISIS-1506[ISIS-1506] - tomcat shutdown - threads in PARK state
+* link:https://issues.apache.org/jira/browse/ISIS-1172[ISIS-1172] - Logo in wicket viewer should be calculated relative to context root
+
+
+== Dependency upgrade
+
+* link:https://issues.apache.org/jira/browse/ISIS-1276[ISIS-1276] - Update DN to 5.1.x (from DN 4.1.x)
+
+== Task
+
+* link:https://issues.apache.org/jira/browse/ISIS-1903[ISIS-1903] - Update helloworld/simpleapp for Isis version 2
+* link:https://issues.apache.org/jira/browse/ISIS-1871[ISIS-1871] - Pull changes, that do not conflict with DN-4, from M2 into M1
+* link:https://issues.apache.org/jira/browse/ISIS-1828[ISIS-1828] - Jdeps analysis of core code-base In preparation for Java 9+
+* link:https://issues.apache.org/jira/browse/ISIS-1810[ISIS-1810] - Release tasks for 2.0.0-M1
+
+== Sub-task
+
+* link:https://issues.apache.org/jira/browse/ISIS-1951[ISIS-1951] - Move objenesis dependency to plugin codegen-javassist
+* link:https://issues.apache.org/jira/browse/ISIS-1915[ISIS-1915] - Migration Notes: We have core plugins now
+* link:https://issues.apache.org/jira/browse/ISIS-1909[ISIS-1909] - Migration Notes: Moved and Deprecated Classes
+* link:https://issues.apache.org/jira/browse/ISIS-1908[ISIS-1908] - Mirgation Notes: swagger-ui is now packed with metamodel
+* link:https://issues.apache.org/jira/browse/ISIS-1907[ISIS-1907] - Migration Notes: Apply workaround for DN plugins
+* link:https://issues.apache.org/jira/browse/ISIS-1893[ISIS-1893] - fix mvn build issues
+* link:https://issues.apache.org/jira/browse/ISIS-1890[ISIS-1890] - configure surefire for all new plugins
+* link:https://issues.apache.org/jira/browse/ISIS-1889[ISIS-1889] - Backport datanucleus specific commits from M2 into M1.
+* link:https://issues.apache.org/jira/browse/ISIS-1886[ISIS-1886] - Port QueryResultCache back into applib
+* link:https://issues.apache.org/jira/browse/ISIS-1885[ISIS-1885] - Re-invent ObjectContracts' JUnit Tests
+* link:https://issues.apache.org/jira/browse/ISIS-1819[ISIS-1819] - Documentation (guide) of where-am-i feature
+* link:https://issues.apache.org/jira/browse/ISIS-1816[ISIS-1816] - Specify framework's behavior if multiple @Parent annotations or parent() methods are resolved in the object's hierarchy
+* link:https://issues.apache.org/jira/browse/ISIS-1754[ISIS-1754] - JEE Support - Investigate Class Loading on Payara 4.1.2
+
+
diff --git a/adocs/documentation/src/main/asciidoc/release-notes/_release-notes_2.0.0.adoc b/adocs/documentation/src/main/asciidoc/release-notes/_release-notes_2.0.0.adoc
deleted file mode 100644
index 913436e..0000000
--- a/adocs/documentation/src/main/asciidoc/release-notes/_release-notes_2.0.0.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-[[_release-notes_2.0.0]]
-= 2.0.0
-: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 [...]
-:_basedir: ../
-:_imagesdir: images/
-:toc: right
-
-
-
diff --git a/adocs/documentation/src/main/asciidoc/release-notes/release-notes.adoc b/adocs/documentation/src/main/asciidoc/release-notes/release-notes.adoc
index 9766c86..622762e 100644
--- a/adocs/documentation/src/main/asciidoc/release-notes/release-notes.adoc
+++ b/adocs/documentation/src/main/asciidoc/release-notes/release-notes.adoc
@@ -21,6 +21,14 @@ This table summarises all releases of Apache Isis to date.
 | Bugs
 | JIRA relnotes
 
+| xref:release-notes.adoc#_release-notes_2.0.0-M1[2.0.0-M1]
+| 31-07-2018
+| First milestone release for Apache Isis 2.0.0: Java 8 support, DataNucleus 5.1, Wicket 8, meta-annotations, breadcrumbs
+| XXX
+| XXX
+| XXX
+| https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311171&version=XXXXXX[Release notes for 2.0.0-M1]
+
 | xref:release-notes.adoc#_release-notes_1.16.2[1.16.2]
 | 05-03-2018
 | RO viewer support, performance improvement, fix of severe bug for parented checkboxes
@@ -321,6 +329,7 @@ This table summarises all releases of Apache Isis to date.
 
 
 
+include::_release-notes_2.0.0-M1.adoc[leveloffset=+1]
 include::_release-notes_1.16.2.adoc[leveloffset=+1]
 include::_release-notes_1.16.1.adoc[leveloffset=+1]
 include::_release-notes_1.16.0.adoc[leveloffset=+1]
diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index f0c797e..c5d2360 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -56,42 +56,6 @@
                 </excludes>
             </resource>
         </resources>
-<!--  [ahuber] possibly no longer required -->
-<!--         <pluginManagement> -->
-<!--             <plugins> -->
-<!--                 This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
-<!--                 <plugin> -->
-<!--                     <groupId>org.eclipse.m2e</groupId> -->
-<!--                     <artifactId>lifecycle-mapping</artifactId> -->
-<!--                     <version>1.0.0</version> -->
-<!--                     <configuration> -->
-<!--                         <lifecycleMappingMetadata> -->
-<!--                             <pluginExecutions> -->
-<!--                                 <pluginExecution> -->
-<!--                                     <pluginExecutionFilter> -->
-<!--                                         <groupId> -->
-<!--                                             org.datanucleus -->
-<!--                                         </groupId> -->
-<!--                                         <artifactId> -->
-<!--                                             datanucleus-maven-plugin -->
-<!--                                         </artifactId> -->
-<!--                                         <versionRange> -->
-<!--                                             [4.0.0-release,) -->
-<!--                                         </versionRange> -->
-<!--                                         <goals> -->
-<!--                                             <goal>enhance</goal> -->
-<!--                                         </goals> -->
-<!--                                     </pluginExecutionFilter> -->
-<!--                                     <action> -->
-<!--                                         <ignore /> -->
-<!--                                     </action> -->
-<!--                                 </pluginExecution> -->
-<!--                             </pluginExecutions> -->
-<!--                         </lifecycleMappingMetadata> -->
-<!--                     </configuration> -->
-<!--                 </plugin> -->
-<!--             </plugins> -->
-<!--         </pluginManagement> -->
     </build>
 
     <dependencies>
diff --git a/scripts/verify-isis-release.sh b/scripts/verify-isis-release.sh
deleted file mode 100755
index 0d7d95f..0000000
--- a/scripts/verify-isis-release.sh
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/bin/bash
-# Instructions:
-# -Create an empty directory
-# -Put a url.txt file in it containing a list of all the urls of the zip files
-# -Run this script
-
-_execmustpass(){
-    echo $@
-    $@
-    status=$?
-    if [ $status -eq 0 ] || [ $? -eq 0 ]; then
-        return;
-    fi
-    echo "Command $@ failed! [error $status] Exiting..."
-    exit 10
-}
-
-_execmayfail(){
-    echo $@
-    $@
-    status=$?
-    if [ $status -eq 0 ] || [ $? -eq 0 ]; then
-        return;
-    fi
-    echo "Command $@ failed! [error $status] But continuing anyway..."
-}
-
-_download(){
-    for fil in `cat *.txt`
-    do
-        echo 'Downloading '$fil
-        _execmustpass $download_cmd $fil
-        _execmustpass $download_cmd $fil.asc
-    done
-}
-
-_verify(){
-    for zip in *.zip
-    do 
-        echo 'Verifying '$zip   
-        _execmustpass gpg --verify $zip.asc $zip 
-    done
-}
-
-_unpack(){
-    echo 'Unpacking '
-    set -f
-    _execmustpass unzip -q '*.zip'
-    set +f
-}
-
-_fetch_dependencies(){
-    _execmayfail mvn dependency:go-offline
-}
-
-_build(){
-    echo 'Removing Isis from local repo '$module
-    rm -rf ~/.m2/repository/org/apache/isis
-    for module in ./isis*/ ./*archetype*/
-    do
-        cd $module
-        grep -q "Isis Core" pom.xml
-        retcode=$?
-        if [  $retcode -eq 0 ]
-        then
-            echo 'Building Core '$module
-            _fetch_dependencies
-            _execmustpass mvn clean install -o
-        else
-            echo 'Building Module '$module
-            _execmustpass mvn clean install $offline
-        fi
-		cd ..
-    done
-}
-
-if [[ $@ == *online* ]]
-then
-    echo "Enabling online mode."
-	offline=
-else
-    echo "Enabling offline mode. Use '$0 --online' to use online mode."
-	offline=-o
-fi
-
-# check the environment
-# Check for curl or wget
-download_cmd=
-curl --version > /dev/null 2>&1
-if [[ $? -eq 0 ]]; then
-    download_cmd=curl -L -O
-fi 
-if [[ -z "$download_cmd" ]]; then
-    wget --version > /dev/null 2>&1
-    if [[ $? -eq 0 ]]; then
-        download_cmd=wget
-    else
-        echo "No downloader found.. exitting.."
-        exit 11
-    fi 
-fi
-
-# The work starts here 
-_download
-_verify
-_unpack
-_build
-
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index 1d54d15..909b44d 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -1,6 +1,21 @@
 
+for 2.0.0-M2
 
 
+remove:
+- @MemberGroupLayout
+- contributed domain services (use mixins instead)
+
+to change:
+- automatically wrap domain services (perhaps behind a config property)
+- automatically infer \@Programmatic for all \@DomainService(nature=DOMAIN)
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+the stuff below here was working notes for 2.0.0-M1, not necessarily up to date.
+
 
 TO REMOVE:
 
@@ -25,13 +40,10 @@ org.apache.isis.applib.services.memento  (19 usages found)
 
 
 Also for 2.0.0, new features/deprecations:
-    automatically wrap domain services (perhaps behind a config property)
-    automatically infer \@Programmatic for all \@DomainService(nature=DOMAIN)
     deprecate use of guava predicates, but don't remove (too big a change, weren't deprecated previously)
     deprecate FixtureScripts service with view to removing from applib ... the framework provides an implementation by default
     get rid of automatic initialization of fields (perhaps behind a config property)
     deprecate the Apache Isis' DateTime classes for removal in the future) ... and probably all of the custom value types, subclasses of Magnitude
-    flag to make @Action mandatory, @Programmatic the default
     merge metamodel and runtime
     remove *Installer
 
@@ -39,6 +51,10 @@ Also for 2.0.0, new features/deprecations:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
+1.16.2
+- flag to make @Action mandatory, @Programmatic the default
+
+
 OTHER STUFF:
 
 
@@ -190,128 +206,6 @@ org.apache.isis.applib
 
 
 
-org.apache.isis.applib.annotation
-
-    ActionInteraction.java  - entire annotation, use @Action(domainEvent=...)
-    CollectionInteraction.java - entire annotation, use @Collection(domainEvent=...)
-    PostsActionInvokedEvent.java - entire annotation, use @Action(domainEvent=...) instead
-    PostsCollectionAddedToEvent.java - entire annotation, use @Collection(domainEvent=...) instead.
-    PostsCollectionRemovedFromEvent.java - entire annotation, use @Collection(domainEvent=...) instead.
-    PostsPropertyChangedEvent.java - entire annotation, use @Property(domainEvent=...) instead.
-    PropertyInteraction.java - entire annotation, use @Property(domainEvent=...) instead.
-
-    Action.java
-        publishingPayloadFactory()  - attribute; use the simpler PublisherService SPI instead
-    DomainObject.java
-        publishingPayloadFactory() - attribute, use the simpler PublisherService SPI instead
-    PublishedAction.java - entire annotation, use @Action(publishing=...) instead
-    PublishedObject.java - entire annotation, use @DomainObject(publishing=...) instead
-    PublishingPayloadFactoryForAction.java - entire annotation, replaced with simpler PublisherService SPI
-    PublishingPayloadFactoryForObject.java - entire annotation, replaced with simpler PublisherService SPI
-
-
-    AutoComplete.java - entire annotation, use @DomainObject(autoComplete...=...)
-
-    Bookmarkable.java - entire annotation, use @DomainObjectLayout(bookmarking=...)
-
-    Bulk.java - entire annotation, use @Action(invokeOn=...)
-    Bulk.InteractionContext - entire service, use ActionInvocationContext service instead
-
-    Command.java - entire annotation, use @Action(command=...) instead
-
-    Disabled.java - entire annotation, use @Property(editingDisabledReason=...) instead
-    Hidden.java - entire annotation, use @Property(hidden=...), @Collection(hidden=...), @Action(hidden=...)
-
-    ActionSemantics.java  - entire annotation, use @Action(semantics=...)
-    Idempotent.java - entire annotation, use @Action(semantics=...) instead.
-    QueryOnly.java - entire annotation, use @Action(semantics=...) instead.
-
-    ActionOrder.java - entire annotation, use @MemberOrder instead
-    FieldOrder.java - entire annotation, use @MemberOrder instead
-
-    Aggregated.java - entire annotation, not supported internally
-
-    Audited.java - entire annotation, use @DomainObject(audited=...)
-
-    Bounded.java - entire annotation, use @DomainObject(bounded=...)
-
-    CollectionLayout.java
-        render() - use @CollectionLayout(defaultView=...) instead
-    RenderType.java - supporting enum for @Render annotation
-    Render.java - entire annotation, use @CollectionLayout(defaultView=...) instead
-    Resolve.java - entire annotation, use @CollectionLayout(defaultView=...) instead
-
-    CssClass.java - entire annotation, use @XxxLayout(cssClass=...) instead, where Xxx is Property, Collection, Action, Parameter, DomainObject, ViewModel
-    CssClassFa.java - entire annotation, use @XxxLayout(cssClass=...) instead, where Xxx is Property, Collection, Action, Parameter, DomainObject, ViewModel
-
-    Debug.java - entire annotation, use @Action#(restrictTo=...) instead
-    Exploration.java - entire annotation, use @Action(restrictTo=....) instead
-    Prototype.java  - entire annotation, use @Action(restrictTo=....) instead
-
-    DescribedAs.java - entire annotation, use @XxxLayout(describedAs=...) instead
-
-    Ignore.java - entire annotation, use @Programmatic instead.
-
-    Immutable.java - entire annotation, use @DomainObject(editing=...) instead
-
-    Mask.java - entire annotation, not supported by either Wicket viewer or RO viewer
-    MaxLength.java - entire annotation, use @Property(maxLength=...) and @Parameter(maxLength=...)
-    MultiLine.java - entire annotation, use @PropertyLayout(multiLine=...) and @ParameterLayout(multiLine=...) instead.
-    Named.java - entire annotation, use @XxxLayout(named=...) instead, where Xxx is Property, Collection, Action, Parameter, DomainObject, ViewModel
-    Plural.java - entire annotation, use @DomainObjectLayout(plural=...) instead
-
-    MemberGroups.java - entire annotation, use Xxx.layout.xml instead
-
-    MustSatisfy.java - entire annotation, use @Property(mustSatisfy=....) or @Parameter(mustSatisfy=...) instead
-
-    RegEx.java - entire annotation, use @Property(regexPatternFlags=...) or @Parameter(regexPatternFlags=...) instead;
-
-
-    RenderedAsDayBefore.java - entire annotation, use @PropertyLayout(renderedAsDayBefore=...) and @ParameterLayout(renderedAsDayBefore=...)
-
-    Paged.java - entire annotation, use @DomainObjectLayout(paged=...) or @CollectionLayout(paged=...) instead.
-    SortedBy.java - entire annotation, use @CollectionLayout(sortedBy=...) instead
-
-    TypicalLength.java - entire annotation, use @PropertyLayout(typicalLength=...) instead.
-
-
-    TypeOf.java - entire annotation, use @Collection(typeOf=...) or @Action(typeOf=...) instead.
-
-
-    Mandatory.java - entire annotation, use @Property(optionality=...) and @Parameter(optionality=...), or @javax.annotations.Nullable
-    Optional.java - entire annotation, use @Property(optionality=...) and @Parameter(optionality=...), or @javax.annotations.Nullable
-
-
-    NotInServiceMenu.java - entire annotation, use @DomainService(nature=...) or mixins instead.
-
-    NotContributed.java - entire annotation, use @DomainService(nature=...) or mixins instead.
-
-    NotPersisted.java - entire annotation, use @Property(notPersisted=...) instead
-
-    NotPersistable.java - entire annotation, not supported and does nothing
-
-    Parameter.java
-        minLength() attribute; not supported.  For autocomplete, use @MinLength annotation.
-
-    ObjectType.java - entire annotation, use @DomainObject(objectType=...) or @javax.jdo.annotations.Discriminator instead.
-
-    When.java - entire enum, no replacement (believe is unused within the framwork)
-
-
-
-org.apache.isis.applib.marker - remove these marker interfaces (tend to use annotations in preference)
-
-    Auditable.java
-    Bounded.java
-
-    NotPersistable.java
-    ProgramPersistable.java
-
-    AlwaysImmutable.java
-    ImmutableOncePersisted.java
-    ImmutableUntilPersisted.java
-    NeverImmutable.java
-