2.0.0-RC1

The big highlight of this release is the rename of the project to its new name, "Causeway". But there are also some new features worth mentioning:

  • new PageRenderSubscriber SPI provides callbacks to track the time taken to render a page (CAUSEWAY-3373)

  • Allow SAFE semantics actions to be invoked with only VIEWING permission (CAUSEWAY-3358)

  • new HTML Documentation Service based on the domain model (CAUSEWAY-3328)

  • ViewModel implementations need Means of using Injection Points during Construction (CAUSEWAY-3293)

  • new BackgroundService (CAUSEWAY-3267)

Some known issues (in the Web UI (Wicket Viewer)) should also be mentioned:

  • Date/Time picking not fully supported for temporal value types with zone or offset information.

  • File Upload Action Parameters are forced non-mandatory and also always cleared in case a dependent parameter changes (during parameter negotiation).

  • The extension in support of Server Sent Events (SSE), as used for progress bars, is experimental and not recommended for production.

New Feature

  • CAUSEWAY-3373 - PageRenderSubscriber

  • CAUSEWAY-3358 - Allow SAFE semantics actions to be invoked with only VIEWING permission

  • CAUSEWAY-3381 - Spike changing @Scope for @DomainObject to a custom value ; update docs.

  • CAUSEWAY-3368 - Additional callbacks for CommandPublisher for when created, started ; persist CommandLogEntry at beginning.

  • CAUSEWAY-3362 - Add query by username to AuditTrailEntryRepository

  • CAUSEWAY-3343 - [Value Types] - Add Plantuml Support to AsciiDoc

  • CAUSEWAY-3329 - [Applib] Refactor DomainObjectLayout#tableDecoration to allow Customization

  • CAUSEWAY-3328 - HTML Documentation Service based on the domain model

  • CAUSEWAY-3300 - [Applib] Support File I/O for Blob and Clob (Convenience)

  • CAUSEWAY-3295 - [Metamodel] Framework should honor PostConstruct on Viewmodels

  • CAUSEWAY-3293 - ViewModel implementations need Means of using Injection Points during Construction

  • CAUSEWAY-3267 - Add BackgroundService

  • CAUSEWAY-3250 - [Wicket Viewer] Config Option for enable/disable clear-field Button

  • CAUSEWAY-1840 - Integration test given/when/then sections

  • CAUSEWAY-3366 - Allow @PdfJsViewer to be annotated at class level for mixins.

  • CAUSEWAY-3361 - Allow each OOTB XxxSubscriber to be disabled via a config property (HasEnabling interface)

Improvement

  • CAUSEWAY-3388 - Centre logo on login page.

  • CAUSEWAY-3384 - wkt fullcalendar is missing module defns, and packages slightly inconsistent.

  • CAUSEWAY-3377 - polish swagger categories/

  • CAUSEWAY-3375 - Rationalize/polish "download metamodel" actions

  • CAUSEWAY-3363 - Rename HasUsername_open

  • CAUSEWAY-3344 - [Extensions] Flesh out the Entity Relation Diagram for Docgen

  • CAUSEWAY-3317 - [Wicket Viewer] Navbar Font Color and Link Color need to be distinguished

  • CAUSEWAY-3304 - [Commons] Code Quality Improvements for 2.0.0 Release

  • CAUSEWAY-3303 - Redefine UserMemento#isSystemUser to instead take into account SudoService#accessAll role

  • CAUSEWAY-3302 - [Commons] Text Util to properly handle Files with BOM Signature

  • CAUSEWAY-3301 - [Wicket Viewer] Less prominent Collection View Select Dropdown

  • CAUSEWAY-3276 - Rename RestEasy Artifact (remove '4' in name)

  • CAUSEWAY-3330 - [RO] Does not handle Composite Value Types as ActionParameters well

Bug

  • CAUSEWAY-3387 - Deleting helloworld obj still renders same object (now deleted); stack trace if try to interact with it.

  • CAUSEWAY-3386 - Invoking an action that returns an empty list causes stack exception

  • CAUSEWAY-3385 - primary menu overflow is a scrollbar for the whole page; should be same as secondary menus, where overflows the menu only

  • CAUSEWAY-3371 - in Wicket, default impl pdf viewer advisor means that @PdfJsViewer(initialSize, initialScale) are effectively ignored.

  • CAUSEWAY-3365 - Custom layout not honored via LayoutUiEvent

  • CAUSEWAY-3356 - [Wicket Viewer] labelPosition: NONE not honored for BufferedImage Value Type

  • CAUSEWAY-3355 - [Wicket Viewer] Collections referenced in layout.xml appear in random Order

  • CAUSEWAY-3351 - CssClassFacetOnActionFromConfiguredRegexFactory wrongly matches against Mixin Main Method Name

  • CAUSEWAY-3350 - [Wicket Viewer] Custom Bootstrap Button Colors not honored

  • CAUSEWAY-3349 - removeAndFlush fails if object was created persistAndFlush in the same interaction.

  • CAUSEWAY-3336 - [Secman] ApplicationUser.isRunAsAdministrator() false negative if not using Shiro

  • CAUSEWAY-3335 - [Wicket Viewer] Collection View throws when navigating back to it

  • CAUSEWAY-3334 - [Regression] Layout XML Export has no Pretty Printing

  • CAUSEWAY-3327 - [Metamodel] ClassCache - Methods not enumerated correctly when there are override Relations among these

  • CAUSEWAY-3325 - IsisToWicketTreeAdapter nodes result in "failed title" when collapsed/re-expanded.

  • CAUSEWAY-3318 - [Wicket Viewer] Bookmark Panel Code Revision

  • CAUSEWAY-3306 - [Schema] Generated DTOs do need a Logical Type Name

  • CAUSEWAY-3320 - [Regression] App Starter POM does not include DN Enhancer Infrastructure

  • CAUSEWAY-3308 - [Regression Tests] MM approval test is broken

  • CAUSEWAY-3297 - Transitive Dependency not honored with causeway-valuetypes-asciidoc-persistence-jdo

  • CAUSEWAY-3294 - [Metamodel] NPE in ApplicationFeatureViewModel

  • CAUSEWAY-3291 - [Swagger] Produces 401 Unauthorized Responses

  • CAUSEWAY-3287 - Hibernate Validator throws on App Startup

  • CAUSEWAY-3285 - [Wicket Viewer] Parented Collection only shown based on Chance

  • CAUSEWAY-3283 - [Keycloak] Unreachable Code due to wrong Type Check

  • CAUSEWAY-3282 - [JPA] Potential NPE in EclipseLink Exception Translation

  • CAUSEWAY-3281 - [RO] When Menu Invocation should produce a Viewmodel returns DomainObjectList instead

  • CAUSEWAY-3280 - RepositoryService uniqueMatch uses wrong Limit

  • CAUSEWAY-3274 - [Wicket Viewer] Potential NPE when switching Tabs

  • CAUSEWAY-3270 - Jaxb Viewmodels not recognized by BeanTypeClassifier

  • CAUSEWAY-3269 - Selecting the empty item from the choices of an optional parameter throws exception

  • CAUSEWAY-3268 - [Wicket Viewer] Action parameter layout LabelPosition might get ignored (based on chance)

  • CAUSEWAY-3265 - [JPA] Stack Overflow on postLoad event

  • CAUSEWAY-3263 - ManagedObjects#isNullOrUnspecifiedOrEmpty(…​) throws, if used with deleted entity, that was prev. bookmarked.

  • CAUSEWAY-3262 - If EntityManagerHolder().getEntityManager().flush() fails, it is retried on next interaction.

  • CAUSEWAY-3252 - Q classes are not included in the released jars for JDO entities

  • CAUSEWAY-3251 - [WicketViewer] Escape String in Table

  • CAUSEWAY-3071 - [Wicket Viewer] BootstrapFileInputField (FileUpload) is glitched

  • CAUSEWAY-3360 - parsing errors with .layout.xml (perhaps because of namespace changes?)

Tasks: Rename project

Deprecation/Removal of features

  • CAUSEWAY-3369 - Remove the causeway.extensions.commandlog.publish-policy (ONLY_IF_SYSTEM_CHANGED)

  • CAUSEWAY-3380 - [Programming Model] Remove deprecated Value#logicalTypeName

  • CAUSEWAY-3379 - [Programming Model] Remove deprecated DomainObject#logicalTypeName

  • CAUSEWAY-3378 - [Programming Model] Remove deprecated DomainService#logicalTypeName

  • CAUSEWAY-3376 - [Programming Model] Mark ActionLayout#bookmarking deprecated for removal

  • CAUSEWAY-3374 - [Programming Model] Mark ActionLayout#redirectPolicy deprecated

  • CAUSEWAY-3321 - [Applib] Deprecation of DomainObjectLayout#plural

  • CAUSEWAY-3316 - JaxbService: remove potentially ambiguous methods from API

  • CAUSEWAY-3279 - [JPA] Convert JPA Artifacts to Java Modules (JPMS)

  • CAUSEWAY-3278 - [JDO] Convert JDO Artifacts to Java Modules (JPMS)

  • CAUSEWAY-3277 - [RO] Convert RO Artifacts to Java Modules (JPMS)

  • CAUSEWAY-3272 - [Applib] LayoutService: allow for additional layout file formats

  • CAUSEWAY-3271 - Remove quartz extension - superfluous

  • CAUSEWAY-3333 - [Regression] Wicket Viewer - Title Tooltips not rendered if DomainObject has no 'describedAs'

  • CAUSEWAY-3332 - [Wicket Viewer] Collection View throws when less than 2 Collection Presentations available

  • CAUSEWAY-3322 - JDO Q classes are no longer being created for secman etc.

Docs and Website

  • CAUSEWAY-3345 - No link to download project source / remove links to nightly builds from top-level, add warnings.

  • CAUSEWAY-3254 - is the isis.prototyping.h2-console config property in the docs anywhere?

  • CAUSEWAY-3290 - [Javadoc] Annotations HomePage and DomainObject to provide Hints on Visibility

  • CAUSEWAY-3222 - [Ongoing] Doc/Site Update

Dependency Upgrades

We use Githb Dependabot to automate dependency upgrades as a matter of routine. In addition:

Demo and Starter Apps

Tooling

  • CAUSEWAY-3323 - Fix shaId for nightly builds (failed authenticated calls to api.github.com)

Won’t Fix / Not a Problem / Duplicates

  • CAUSEWAY-3383 - [NOT A PROBLEM] h2 console is not honouring its two config properties

  • CAUSEWAY-3357 - [Not a Bug] Layout Cache needs clearing when dynamic Layouts are used - layout()

  • CAUSEWAY-3315 - [Duplicate] Apache Isis sorting fails with: Comparison method violates its general contract!

  • CAUSEWAY-3307 - [WON’T FIX] Wicket Viewer - Autoconfigure Login Form when using Spring Security Stack

  • CAUSEWAY-3286 - [NOT A PROBLEM] Introspection Glitch when using ENCAPSULATION_ENABLED

  • CAUSEWAY-3273 - [WON’T DO] obtain xxx.apache.org DNS aliases for our demo apps.

  • CAUSEWAY-3266 - [NOT A PROBLEM] validateNXxx(…​) support method potentially not picked up

  • CAUSEWAY-3211 - [DUPLICATE] Ensure listed on https://projects.apache.org/

  • CAUSEWAY-3158 - [NOT REQUIRED] Change affiliations.txt

  • CAUSEWAY-3157 - [NOT REQUIRED] Change in irs-disclosures.txt

  • CAUSEWAY-3153 - [DUPLICATE] Update contents of antora template (in apache/isis-antora repo) and rebuild website

  • CAUSEWAY-3146 - [WON’T FIX] Vote for new Logo

  • CAUSEWAY-3143 - [DUPLICATE] Update .pptx and other binary docs with name change.

  • CAUSEWAY-2886 - [NOT A PROBLEM] @Lazy may be required for AuthenticationManager

  • CAUSEWAY-2885 - [NOT A PROBLEM] wrapMixin and collection parameter

  • CAUSEWAY-2847 - [DUPLICATE] Improve secman’s AbstractUsersAndRole so that it is an upsert rather than a simple insert-if-not-present.

  • CAUSEWAY-2637 - [WON’T FIX] TitlesAndTranslationsValidator should possibly be implemented as a PostProcessor instead

  • CAUSEWAY-2176 - [Duplicate] Encapsulate Command/Audit/Publishing within an Extension

  • CAUSEWAY-1953 - [WON’T FIX] Migration notes: @NotPersistable has been removed