2.0.0-RC3

This release is primarily a stabilization and bug fix release, but there are a small number of new features, mostly improving the Wicket UI. There are also some new support classes for Oauth2 (using Spring security), as well as improved support for background commands.

New Feature

  • CAUSEWAY-3619 - SPI for the GridSystemServiceBootstrap to provide custom layouts.

  • CAUSEWAY-3616 - Allow background command job to be paused

  • CAUSEWAY-3614 - Allow default min scale to be optionally defined for BigDecimalValueSemantics.

  • CAUSEWAY-3607 - ParamDto id’s in commands and executions should use "internalId" rather than "Friendly Name"

  • CAUSEWAY-3599 - Extend TableColumnOrderService so that parented collections also fallback to use Xxx.columnOrder.txt

  • CAUSEWAY-3598 - Allow logical type name to optionally be one of a class’s aliases.

  • CAUSEWAY-3597 - Mixins to download .columnOrder.txt files

  • CAUSEWAY-3595 - Date picker should optionally automatically popup when focus

  • CAUSEWAY-3592 - Allow @Column#scale and @Digits#fraction to derive the min fractional digits (as well as the max)

  • CAUSEWAY-3574 - Wicket date picker display format.

  • CAUSEWAY-3571 - Support for generic type bounded methods that are not overwritten using explicit types.

  • CAUSEWAY-3566 - [Wicket Viewer] Allow HTML in Tooltips, if enabled via Config.

  • CAUSEWAY-3557 - FakeScheduler for integ tests.

  • CAUSEWAY-3556 - [Metamodel] Support for action methods that override generic type bounded ones

  • CAUSEWAY-3547 - [SecMan] Support for Seeding from YAML file.

  • CAUSEWAY-3545 - Better support for Oauth2 (including JWT classes); add retry logic to RestfulClient, make more configurable

  • CAUSEWAY-3524 - Allow secman permission evaluator to support v1 strategy (package names rather than logical type names)

  • CAUSEWAY-3521 - Allow TableColumnOrderService to also read from a .columnOrder.fallback.txt file.

  • CAUSEWAY-3517 - Secman should ALWAYS allow logout action (as a special case).

Improvement

  • CAUSEWAY-3618 - Secman should copy the user’s roles into the UserMemento (as obtained via UserService).

  • CAUSEWAY-3613 - package for exceldownload inconsistent with other wicket viewer extensions

  • CAUSEWAY-3608 - Improve ConfigurationViewModel to show all properties, not just those for selected config roots..

  • CAUSEWAY-3605 - _Exceptions utility method should never itself throw an exception when attempting to format its error message.

  • CAUSEWAY-3602 - Run background commands job with one interaction/transaction per command.

  • CAUSEWAY-3601 - [Extensions] Autosize Columns for Excel Exports/Downloads

  • CAUSEWAY-3596 - Don’t allow tabbing to the 'T' or ban buttons.

  • CAUSEWAY-3594 - [Wicket Viewer] Time-Taken message (when prototyping) is nowhere near actual response time

  • CAUSEWAY-3593 - Validators missing for JPA handling of @Column.

  • CAUSEWAY-3591 - jpa integration classes misplaced?

  • CAUSEWAY-3590 - [Wicket Viewer] cosmetic: less confusing selected collection presentation indicator in dropdown

  • CAUSEWAY-3589 - All framework defined mixins should declare their command and execution publishing.

  • CAUSEWAY-3587 - [cosmetic] fa icons and bootstrap colours - extend and clean up default config.

  • CAUSEWAY-3586 - Allow for ViewModel.viewModelMemento() to return non-url-safe Strings

  • CAUSEWAY-3585 - [Metamodel] Allow for Types that subclass an Entity Type to actually be a Viewmodel.

  • CAUSEWAY-3582 - [Wicket Viewer] cosmetic: menu items in dropdowns misaligned, if some don’t have fa-icon

  • CAUSEWAY-3580 - [cosmetic] checkbox label misaligned, too high

  • CAUSEWAY-3578 - [Wicket Viewer] Honor @CollectionLayout(hidden=…​) when not hidden in Tables

  • CAUSEWAY-3575 - [Layout] Allow for slot-in order of unreferenced associations to be configured either sequence-based or alphabetical.

  • CAUSEWAY-3573 - Not possible to copy a URL link from the icon (this could be done in v1).

  • CAUSEWAY-3570 - positioning of the "T" hint varies by scalar type.

  • CAUSEWAY-3565 - [DocGen] Make ObjectGraph a first Class Citizen to allow for easy Customizations.

  • CAUSEWAY-3564 - [Valuetypes/Tooling] Replace causeway-tooling-model4adoc with causeway-valuetypes-asciidoc-builder

  • CAUSEWAY-3563 - [SecMan] Autoseed Regular User Perms for ExtDocgen when Module is present

  • CAUSEWAY-3554 - Framework should throw a more meaningful exception, when validateXxx support method returns an empty string.

  • CAUSEWAY-3553 - Make JaxbServiceDefault use backward compatible XML serialization

  • CAUSEWAY-3552 - Allow setting of properties on a transient entity (eg when import Excel spreadsheet).

  • CAUSEWAY-3551 - [Wicket Viewer] Cosmetic: disabled buttons appear smaller

  • CAUSEWAY-3550 - YamlUtils: Global tag expression is discouraged

  • CAUSEWAY-3543 - AuthenticatedWebSessionForCauseway lookup MetaModelContext rather than injected.

  • CAUSEWAY-3536 - [Wicket Viewer] Cosmetic: if Table has no Column at least render Titles

  • CAUSEWAY-3534 - [Wicket Viewer] Cosmetic: Button Label w/o Icon is not centered

  • CAUSEWAY-3533 - Remove code marked as deprecated for removal since RC2

  • CAUSEWAY-3510 - Ugly warning message on login page if clear cookies.

  • CAUSEWAY-3500 - [Persistence] Cleanup ambiguous EntityState Terminology

  • CAUSEWAY-3481 - [invalid] Remove sequence attribute from .layout.xml - it doesn’t really accomplish much.

  • CAUSEWAY-3432 - [Wicket Viewer] Focus for @ActionLayout#promptStyle of inline or inline-as-if-edit is not on the field.

  • CAUSEWAY-3430 - Remove <action namedEscaped=…​> attribute from layout.xml

  • CAUSEWAY-3048 - Suggested UI improvements (after review demo app)

  • CAUSEWAY-3035 - Log Stacktrace alongside ERROR to Console

Bug

  • CAUSEWAY-3615 - Swagger UI authorize button doesn’t seem to work.

  • CAUSEWAY-3617 - isis.applib.annotation.action.command-publishing is set to 'ignore_safe', and yet these are being logged.

  • CAUSEWAY-3611 - Restful Objects viewer domain-types uses paramName instead of paramId

  • CAUSEWAY-3610 - AuditTrailEntry instances not correlated back to command if executed via CommandExecutorService (ie background commands)

  • CAUSEWAY-3609 - EntityPropertyChangePublisherDefault fails to add audit records if hits hollowed object.

  • CAUSEWAY-3606 - DnStateManagerForHollow calls _Exceptions.unrecoverable with side effects

  • CAUSEWAY-3604 - Can’t view background command that has siblings.

  • CAUSEWAY-3603 - [Commons] Lazy type does not handle evaluation exceptions well.

  • CAUSEWAY-3588 - actions annotated with command or execution publishing disabled are nevertheless being published.

  • CAUSEWAY-3583 - [cosmetic] properties hidden when REFERENCES_PARENT aren’t being hidden.

  • CAUSEWAY-3577 - Object_identifier is picked up as an action rather than a property.

  • CAUSEWAY-3576 - Calendarable's method should be marked as @Programmatic.

  • CAUSEWAY-3572 - for narrow screens, the secondary menu does not wrap while the primary does.

  • CAUSEWAY-3562 - [Wicket Viewer] rendering an empty 'home-page' will throw

  • CAUSEWAY-3561 - [Wicket Viewer] rendering an empty tree will throw class-cast exception

  • CAUSEWAY-3560 - [Wicket Viewer] Cosmetic: Header panels prim vs sec/tert have different text color

  • CAUSEWAY-3559 - [Wicket Viewer] AuthenticatedWebSessionForCauseway fails to log when session exipres

  • CAUSEWAY-3555 - Fix serialization of null args via BackgroundService, to CommandDto and back out for executoin.

  • CAUSEWAY-3549 - ImpersonateMenuAdvisorForSecman.allUserNames should comply with contract

  • CAUSEWAY-3546 - In testing, saw OutboxRestApi#pending action itself in the outbox, suggests executionPublishing=DISABLED isn’t being honoured?

  • CAUSEWAY-3538 - [Regression] Wicket Viewer: Non-serializable object causes errors when list all, and elsewhere.

  • CAUSEWAY-3532 - [Regression] Loading an EntityPage when Object-Not-Found results in HTTP 500 (JDO+JPA)

  • CAUSEWAY-3531 - [Metamodel] Corner Case: Mixedin Action picked up as Association

  • CAUSEWAY-3530 - Managed Object for Entity: On object refetch, Object-Not-Found should be silently ignored

  • CAUSEWAY-3525 - [SecMan] 'Name Formatted' shows up in the UI, should be programmatic

  • CAUSEWAY-3522 - [Wicket Viewer] Potential Issues when Expanding Tree Nodes

  • CAUSEWAY-3479 - [Wicket Viewer] spacing of error when edit a property directly.

  • CAUSEWAY-3015 - [Wicket Viewer] Property Edit via FormExecutorDefault, will not display Recoverable Exception

Task

Previously Implemented

Duplicates

  • CAUSEWAY-3581 - [duplicate] cosmetic - numbers not showing right aligned in tables; losing .00 for bigdecimals

  • CAUSEWAY-3558 - [DUPLICATE] CommandExecutorService should handle 'take over' and handle publishing phase of its calling thread.

Not a problem / Invalid / Can’t Reproduce

  • CAUSEWAY-3600 - [INVALID] Contributed properties and collections should not be published as executions

  • CAUSEWAY-3568 - [NOT A PROBLEM] Incorrectly requiring supporting choices/autoComplete for actions with list params

  • CAUSEWAY-3539 - [CAN’T REPRODUCE] Inspect metamodel is rendered incorrectly

  • CAUSEWAY-3520 - Framework fails to build with Eclipse M2E 2.4.0.20230704-1545

  • CAUSEWAY-3389 - {not a problem] Impersonate menu is missing from simpleapp, though not helloworld ? Also metamodel actions?

  • CAUSEWAY-3079 - [not a problem] Secman should provide a convenience role to allow fixture scripts to be run.