2.0.0-RC2

This is mostly a bugfix release on the route towards a 2.0.0 release.

New Feature

  • CAUSEWAY-3508 - Support NonDurable entities, so can query against them.

  • CAUSEWAY-3507 - RepositoryService#allMatches should support JDOQL that has a 'result'

  • CAUSEWAY-3460 - allow the 'disable reason text icon tooltip' to be hidden by config param

  • CAUSEWAY-3397 - Allow @InteractAs to be specified at the class level as well as the test level.

  • CAUSEWAY-3437 - Extend facet handling to infer optionality from JAXB @XmlElement.

  • CAUSEWAY-3206 - [Metamodel] Allow to plug in custom Exporters

Improvement

  • CAUSEWAY-3523 - Don’t require Apps to Override the default Prism Coy Appearance

  • CAUSEWAY-3503 - validateNXxx() should support two forms: specify all N params, or jut the single Nth param.

  • CAUSEWAY-3501 - [Wicket Viewer] Remove Optimizations for DataTableModel

  • CAUSEWAY-3498 - Relax ChoicesAndDefaultsPostProcessor a little - no need to throw MM if action is always hidden

  • CAUSEWAY-3497 - [SecMan] Don’t seed Roles for JDO when Profile is JPA and vice versa.

  • CAUSEWAY-3494 - Refactor TenantedAuthorizationPostProcessor to access its list of evaluators azily, via a provider.

  • CAUSEWAY-3475 - Property Change Publishing is implemented differently for JDO and JPA

  • CAUSEWAY-3468 - recentAuditTrailEntries mixin should be suppressed for view models.

  • CAUSEWAY-3444 - [Validation] If a mixin does not define its correct method, should be a metamodel violation.

  • CAUSEWAY-3412 - runPersonas should run all fixture scripts within a single ExecutionContext

  • CAUSEWAY-3410 - UI - add some space between property field and action below.

  • CAUSEWAY-3298 - [Wicket Viewer] Not authorized page should at least populate the menu bar.

  • CAUSEWAY-3239 - To avoid leaky abstractions, a mixin collection should only ever emit collection domain events; ditto for properties.

  • CAUSEWAY-3075 - Throwing an IllegalArgumentException should display ErrorPage

  • CAUSEWAY-3051 - [Validation] Fail early, if Actions or Associations share same Member-id.

  • CAUSEWAY-2968 - [Validation] Guard against Members that contribute vetoed Domain-Types

  • CAUSEWAY-1883 - [Validation] Scalar ref params should have a choices or autoComplete.

Bug

  • CAUSEWAY-3499 - Hint to avoid full introspection doesn’t work, due to our custom scope for entities.

  • CAUSEWAY-3519 - [simpleapp] once impersonated, if cause exception, and click on header, then cannot stop impersonating

  • CAUSEWAY-3514 - JDO …​ persisted() callback is called when an object is updated.

  • CAUSEWAY-3504 - [Extensions] ExcelModuleIntegTest(s) broken Build

  • CAUSEWAY-3492 - Potential NPE after JdoEntityFacet Instantiation

  • CAUSEWAY-3486 - Paged Table of ViewModels appearently fails to initialize those on Page 2 or higher (JDO)

  • CAUSEWAY-3476 - [demo app] Action#executionPublished page only shows executions targeted at same page

  • CAUSEWAY-3474 - [demo apps] Parser for composite types is incomplete

  • CAUSEWAY-3472 - [demo app] @DomainObject#lifecycleEvents differ between JDO and JPA (JDO does not emit Persisted or Updated events)

  • CAUSEWAY-3470 - Shouldn’t contribute actions to mixin object s…​ cause new metamodel validation to fail

  • CAUSEWAY-3469 - ApplicationUser_removeRoles triggers validation exception

  • CAUSEWAY-3467 - @DomainObject#autoCompleteRepository has no effect

  • CAUSEWAY-3465 - legacy schemas should use http rather than https

  • CAUSEWAY-3464 - [demo app] MessageService#raiseError includes unexpected prefix "[client-side error]"

  • CAUSEWAY-3463 - [Wicket Viewer] parameter’s visibility not re-evaluated correctly.

  • CAUSEWAY-3462 - [demo app] exception with Nth arg trying to obtain previous args

  • CAUSEWAY-3459 - [Secman] AuthenticatorSecman allows disabled local Users to login

  • CAUSEWAY-3458 - [demo app] custom value type if mandatory does not show "Required" in error message

  • CAUSEWAY-3455 - Disable action param not honored

  • CAUSEWAY-3451 - @CollectionLayout#tableDecorator has no effect

  • CAUSEWAY-3443 - [demo app] Property name not picked up from .layout.xml file.

  • CAUSEWAY-3442 - [Wicket Viewer] @Property#labelPosition to RIGHT is not honoured (label is to TOP)

  • CAUSEWAY-3441 - [demo app] Property description not picked up from .layout.xml file.

  • CAUSEWAY-3425 - [Wicket Viewer] Boolean Parameter Default-Parameter-Support not triggering Form Updates

  • CAUSEWAY-3423 - @Action(typeOf=…​) does not seem to be picked up.

  • CAUSEWAY-3418 - @Action#choicesFrom throws exception, see demo app.

  • CAUSEWAY-3415 - [Wicket Viewer] table-decorator disappears if hide then reshow the table

  • CAUSEWAY-3414 - @DomainObjectLayout(tableDecorator=Datables) seems to be ignored for parented collections.

  • CAUSEWAY-3413 - attempting to inspect facets of domain object (in "inspect metamodel") causes session timeout, redirect to home page.

  • CAUSEWAY-3409 - The 'executing' and 'executed' domain events don’t fire for mixin actions; see demo app.

  • CAUSEWAY-3408 - [demo app] The 'created' lifecycle event is never emitted. See demo app.

  • CAUSEWAY-3406 - FontAwesome icons are not displayed for objects in Bookmark list

  • CAUSEWAY-3402 - Error page shows a 'null' link and clicking on it (to create an email) also fails.

  • CAUSEWAY-3401 - @Property(editingDisabledReason=…​) is not shown anywhere.

  • CAUSEWAY-3393 - [Wicket Viewer] Focus should be on first param of sidebar prompt

  • CAUSEWAY-3392 - [Value Types] - Temporal Formatting broken since JDK 20

  • CAUSEWAY-3391 - Default parameter seemingly requires a choices, else is a no-op.

  • CAUSEWAY-3324 - Entity lifecycle callbacks should fire irrespective of the entity-change-publishing default.

  • CAUSEWAY-3220 - Action with plural result type fails to properly resolve hiding advisory when element type is not visible to user.

  • CAUSEWAY-3029 - Schema "isisextensionssecman" does not exists

  • CAUSEWAY-3008 - [Wicket Viewer] Pending Parameter Glitches - changing (n-1)th arc clears n-th arg.

  • CAUSEWAY-2822 - Wrapper: async executions must run within their own exclusive transaction

  • CAUSEWAY-2646 - [Project Rename] Rename Schema Prefixes bs3→bs and mb3 → mb

  • CAUSEWAY-2235 - Mixins declared using @Property, @Collection or @Action should emit domain events

Task

Docs and Website

  • CAUSEWAY-3456 - Missing documentation on writing custom value types, both composite and scalar.

  • CAUSEWAY-3450 - non-jaxb view models can only hold simple scalars and references to entities.

  • CAUSEWAY-3429 - add search box to home page

  • CAUSEWAY-3422 - Make the original isis schemas available under a "schema-v1" directory.

  • CAUSEWAY-3399 - Add in docs for valuetypes/jodatime to site.yml

  • CAUSEWAY-3395 - Update website docs, remove all TODOs

  • CAUSEWAY-3238 - missing docs for valuetypes/joda

  • CAUSEWAY-3120 - [Demo] Setup Integration Testing (JDO/JPA)

  • CAUSEWAY-2832 - Add Docs for @Property(entityChangePublishing=…​)

  • CAUSEWAY-2678 - Add missing documentation to explain the Parameters syntax for dependent (mixin) action args.

Fix Regressions

  • CAUSEWAY-3488 - [Regression] Vega datatype not rendering as a graphic?

  • CAUSEWAY-3446 - [Regression] Runtime Services are missing com.sun.mail.util.MailLogger

Deprecation/Removal of features

  • CAUSEWAY-3513 - Remove the causeway-extensions-shiro-realm-ldap extension.

  • CAUSEWAY-3483 - Move Vaadin Viewer to the 'Attic'

  • CAUSEWAY-3466 - [Testing] Remove Surefire Workaround for Wicket (wicket-graceful artifact)

  • CAUSEWAY-3426 - [Programming Model] Remove Deprecations (those targeted for removal in RC2)

  • CAUSEWAY-3424 - [Programming Model] Mark Action/Collection/Property#hidden deprecated for Removal

Dependency Upgrades

We use Github Dependabot to automate dependency upgrades as a matter of routine.

Demo and Starter Apps

Tooling

Won’t Fix / Not a Problem / Duplicates

  • CAUSEWAY-3518 - [NOT A PROBLEM] [simpleapp], navigability facet - isn’t suppressing actions; error first time clicked

  • CAUSEWAY-3515 - [Not a Problem] Should allow @Domain.Include to be specified for lifecycle callback methods.

  • CAUSEWAY-3502 - [NOT A PROBLEM] MM validation is incorrect on autoComplete/choices

  • CAUSEWAY-3482 - [Duplicate] @CollectionLayout#tableDecorator has no effect.

  • CAUSEWAY-3471 - [invalid] [demo app] @DomainObject#introspection, collection of 'encapsulated enabled' properties does not show them as columns.

  • CAUSEWAY-3427 - [NOT AN ISSUE] [demo app] @ActionLayout#cssClass bootstrap styling does not apply for PANEL_DROPDOWN. See demo app.

  • CAUSEWAY-3419 - [NOT A PROBLEM] No asciidoc styling of XML for CommandLogEntry or ExecutoinLogEntry.

  • CAUSEWAY-3372 - [WONT DO] Void action return should always result in a (current) page reload.

  • CAUSEWAY-3299 - [UNNECESSARY?] Infer domainEvent from @Property, @Collection, @Action when annotated at class level (for a mixin).

  • CAUSEWAY-3261 - [CAN’T REPRODUCE] [bug?] Even if an action fails, eg db violation, the commandPublisher still publishes.

  • CAUSEWAY-3256 - [DUPLICATE] Update demo app, complete all the menu items so there’s nothing greyed out

  • CAUSEWAY-3233 - [DUPLICATE] Suppress recentAuditTrailEntries mixin for view models

  • CAUSEWAY-2663 - [Not a Problem] Presence of a member support method interferes with 'named' attribute from layout.xml