2.0.0-M8
Highlights of this release:
-
Full support for audit trail, command log, execution log for JPA and JDO
-
New core extensions
-
Big improvements for value types
-
Wicket viewer UI improvements
-
New
ENCAPSULATION_ENABLED
introspection policy (eg ISIS-3190, ISIS-3188)which allows actions, collections and properties to have non-
public
visibility so long as they are annotated with@Action
etc, and their supporting members with@MemberSupport
-
New
IdStringifier
API/SPI interface (ISIS-3089)to allow pluggable management of identifiers in bookmarks/URLs etc
-
Support for Java Module System (
module.info.java
) (ISIS-3207)
This release also fixes the security vulnerability: CVE-2022-42467, fixed by ISIS-3128
New Feature
-
ISIS-3221 - Provide an API to allow custom implementations of ExecutorService to have access to the details of the command being executed (ie no longer a black box).
-
ISIS-3197 - Use datatables.net for improved client-side paging/filtering
-
ISIS-3190 - Ensure that non-annotated methods are excluded if ENCAPSULATION_ENABLED introspection policy
-
ISIS-3188 - Ensure all framework-defined mixins can be used with ENCAPSULATION_ENABLED introspection policy
-
ISIS-3169 - Autocreate delegated applicationusers if using Spring Oauth2/Keycloak
-
ISIS-3124 - Add Support for Placeholder Rendering Customization
-
ISIS-3122 - [Value Types] - Add Vega and Vega-Lite Support
-
ISIS-3119 - Cover IdStringifier Functionality with the Value Semantics Infrastructure
-
ISIS-3105 - Support for persisting Temporal Types with Zone/Offset Information
-
ISIS-3095 - Mixin interface to allow type-safe calls to WrapperFactory
-
ISIS-3092 - FailureAnalyzer to detect on non-enhanced JDO entities.
-
ISIS-3090 - Add JPA support for applib value types.
-
ISIS-3089 - Introduce IdStringifier API/SPI interface to allow pluggable management of identifiers in bookmarks/URLs etc
-
ISIS-3063 - Support for (Logical Type Name) Aliases in the Programming Model
-
ISIS-3062 - SessionLog extension
-
ISIS-3040 - [Wicket Viewer] Bring in PDF/JS (extension)
-
ISIS-3039 - [Wicket Viewer] Resurrect Calendar Event View (fullcalendar extension)
-
ISIS-3038 - [Wicket Viewer] MarkupComponent to support rendering (none) badge for null
-
ISIS-3037 - Persona interface to unify PersonaWithFinder and PersonaWithBuilderScript
-
ISIS-3031 - Provide mechanism for UserMementoRefiners to be honoured in integration tests.
-
ISIS-3020 - [Programming Model] Support Multivariate Parameter Supporting Methods
-
ISIS-2997 - [Applib] new Interface MetamodelListener for Convenience to listen on Metamodel Events
-
ISIS-2966 - Make it an Option whether to include non-essential Mixins or not.
-
ISIS-2919 - Session-scoped Time-zone Support
-
ISIS-998 - Actions that are NOT contributed properties but which return a URL should optionally display that URL inline within an iframe in a new tab (or other "working area").
-
ISIS-994 - Actions that act as contributed properties and which return a URL should display that URL inline within an iframe.
Improvement
-
ISIS-3230 - Make actions in AuditTrailMenu and CommandLogMenu and ExecutoinLogMenu more consistent
-
ISIS-3236 - Cosmetic improvements to layout of UserMemento
-
ISIS-3231 - Disable auditing for SessionLogEntry
-
ISIS-3229 - Fix namespace for isis.ext.auditTrail (not isis.ext.audittrail).
-
ISIS-3228 - [Wicket Viewer] Convert moment.js dependency to webjars.
-
ISIS-3224 - consistent handlng of removeAll, findAll for audit, exec, cmd repositories
-
ISIS-3217 - [Wicket Viewer] FOCUS_FIRST_PARAMETER AJAX event sent once too often
-
ISIS-3209 - Migrate Core to JUnit 5
-
ISIS-3207 - Migrate Core to Java Module System
-
ISIS-3204 - [Metamodel] Support for bounded Generics
-
ISIS-3199 - [Metamodel] Move Responsibiltiy for Bookmark and ObjectMemento Creation
-
ISIS-3195 - Jpa applib should transitively bring in spring-data-jpa
-
ISIS-3194 - Provide default impl of PdfJsViewerAdvisor
-
ISIS-3193 - Don’t reset parameter arguments to default if the end-user has changed them.
-
ISIS-3192 - clean up dependencyManagement for extensions pom, testing pom
-
ISIS-3191 - Make the namespace for sessionlog follow convention of other extensions, eg commandLog and executionLog
-
ISIS-3187 - Secman seed improvements.
-
ISIS-3185 - audit trail, command log, execution log, secman etc should NOT implement ModuleWithFixtures
-
ISIS-3183 - Move JDO/DN mixins into separate module
-
ISIS-3182 - Split Viewer Commons Model into Applib/Model/Services
-
ISIS-3180 - Cosmetic UI fix - only apply .85em once for badges
-
ISIS-3163 - secman UserManager and RoleManager both show "metadata" as rather ugly region at end; let’s move top right; also ensure contributed actions are available through it.
-
ISIS-3161 - confirm usage of spring-instrument-5.3.5.jar for JPA weaving (or otherwise…?)
-
ISIS-3160 - remove IsisConfigurationLegacy ?
-
ISIS-3127 - [RO] Render ValueDecomposition as Map rather than String
-
ISIS-3116 - No (Property) Columns when redendering Collection of Embedded Types (Demo App)
-
ISIS-3110 - Defer audit trail publishing until end of transaction
-
ISIS-3109 - [Wicket Viewer] Wire up ZoneId from Login Page with InteractionContexts
-
ISIS-3107 - For JDO, autocreate schema, allow multiple placeholders in string
-
ISIS-3104 - factor out Object_clearHints into own module for wicket applib
-
ISIS-3103 - Separation of Concerns: BookmarkServiceDefault vs SerializingAdapter
-
ISIS-3102 - Rename LayoutMixinConstants to FallbackLayoutFieldSetIds
-
ISIS-3100 - Move SSE from 'valuetypes' to 'extensions'
-
ISIS-3099 - Move Prism from 'valuetypes' to 'viewer-commons'
-
ISIS-3097 - [Wicket Viewer] Migrate Prism to Webjars
-
ISIS-3094 - use logicalMemberIdentifier for audit trail (rather than physical memberId)
-
ISIS-3093 - Change name of event subclasses from ActionEvent to ActionDomainEvent, throughout.
-
ISIS-3091 - audit trail (impl EntityPropertyChanges subscriber to persist to DB).
-
ISIS-3087 - Remove CURRENT and NORMALIZED for LayoutService file styles.
-
ISIS-3086 - Don’t fail fast if layout mentions unknown collectionId
-
ISIS-3085 - [Wicket Viewer] Migrate Tempus-dominus to Webjars
-
ISIS-3084 - [RO/Wrapper] Remove the Notion of mutable Collections (with associated Events)
-
ISIS-3076 - ExceptionStackTracePanel should use PageClassRegistry to lookup HomePage
-
ISIS-3068 - NPE because ObjectSpecification is of sort VIEW_MODEL but has no ViewModelFacet
-
ISIS-3064 - Change schema for secman to "isisExtSecman", so consistent with namespace.
-
ISIS-3060 - [Performance] Don’t copy Facets between FacetHolders, use unique FacetHolders instead
-
ISIS-3057 - move packages for excel extension applib, is all
-
ISIS-3045 - UX: Explanatory tooltip/description for 'Clear Hints' Button.
-
ISIS-3034 - [Metamodel] Unify HiddenTypeFacet and HiddenObjectFacet
-
ISIS-3033 - [Wicket Viewer] Inconsistent Form Field Widths with Action Prompt
-
ISIS-3032 - [Wicket Viewer] Consistent Placeholder Rendering (none) + (suppressed)
-
ISIS-3027 - [Metamodel] Improved Warning Message for non-eagerly introspected Types
-
ISIS-3025 - [Wicket Viewer] Make link color a CSS var '--link-color'
-
ISIS-3024 - [Wicket Viewer] Add Form Label Decorator
-
ISIS-3023 - [Wicket Viewer] Max Width for Form Labels
-
ISIS-3021 - [Metamodel] Improved Validation Message for DomainServices when missing Namespace
-
ISIS-3017 - [Wicket Viewer] WebRequestCycleForIsis does not display recognizable error.
-
ISIS-3010 - [JDO] Add Support for JPA annotations, as DN allows these
-
ISIS-3006 - [Wicket Viewer] Several UI Glitches
-
ISIS-3004 - [Programming Model] Deprecate superfluous @DomainService.logicalTypeName
-
ISIS-3001 - Move subdomains/excel to extensions/applib/excel
-
ISIS-3000 - [RO] Relocate the RO client from mappings-restclient to isis-viewer-restfulobjects-client
-
ISIS-2999 - Remove subdomains and mappings artifacts
-
ISIS-2994 - [Viewers] Consolidate direct Uses of Facets into a Utility
-
ISIS-2993 - [Commons] Replace Result<T> with more general purpose Try<T>
-
ISIS-2987 - Although PoReader could translate text without context, can’t read it from a file
-
ISIS-2975 - Enable nightly builds using github’s own package registry.
-
ISIS-2974 - Update unittestsupport to use junit v5
-
ISIS-2959 - [Wicket Viewer] menu bar lists which are too long (eg Prototyping) should have a scroll bar.
-
ISIS-2902 - Harmonize ManagedMember.MemberType and Identifier.Type
-
ISIS-2900 - wrapMixin(…) should inject into both mixin and mixee and result of action.
-
ISIS-2858 - AbstractUserAndRoleScript and similar should inject into suppliers.
-
ISIS-2843 - Remove mavendeps 'integtests' and 'unittests'.
-
ISIS-2825 - LinkAndLabelFactoryAbstract: remove 'Wicket Hack'
-
ISIS-2731 - Allow injected services to have getters on them. This would allow entities to be annotated with @lombok.Data, removing some boilerplate.
-
ISIS-2702 - Unnecessary warning is logged whenever return an standalone collection from an action
-
ISIS-2651 - JDO bootstrapping for h2 seems to only lazily create tables. For reliability, create all up-front.
-
ISIS-2427 - Create a Docker Image showcasing the Vaadin Demo.
-
ISIS-2251 - Improve the parent pom.xml, see blog
Bug
-
ISIS-3234 - jdo simpleapp throws exception (execution outbox entry) when delete.
-
ISIS-3225 - Simple App throws ExcutionLog related Exception on deleting a SimpleObject
-
ISIS-3223 - WrapperFactory with async executor service throws exception
-
ISIS-3219 - [Wicket Viewer] Exception on Page Deserialization
-
ISIS-3215 - [Wicket Viewer] Multi-param Action Dialogs - Select2 Change Event has no Payload (when using autocomplete)
-
ISIS-3208 - [Regression] @javax.persistence.GeneratedValue(strategy = GenerationType.IDENTITY) throws Exception
-
ISIS-3202 - [Regression] Wicket Viewer: Executions don’t persist
-
ISIS-3201 - [Wicket Viewer] Default methods not triggered after changing a date parameter with date picker
-
ISIS-3200 - [Regression] Value Choices throw an Exception in the UI
-
ISIS-3198 - [Wicket Viewer] action parameter hiding problem & default method argument null
-
ISIS-3189 - Entities with application-defined String PK failing to persist with JDO (eg ApplicationTenancy).
-
ISIS-3184 - ExecutionLogEntry_siblingExecutions fails with runtime exception
-
ISIS-3181 - (In simpleapp JPA snapshot), attempting to open ExecutionLogEntry as a 'recent execution' from session fails. Can navigate to it from other places, eg from Audit trail → Command.
-
ISIS-3179 - handle commandlogentry PK under JPA (NPE)
-
ISIS-3178 - session log is not updated on logout (JPA)
-
ISIS-3177 - Fix EclipseLinkConfiguration config property defaults to max the actual defaults.
-
ISIS-3176 - Add missing @ObjectSupport methods
-
ISIS-3174 - [Regression] NPE on Wicket Session Recovery
-
ISIS-3172 - [Wicket Viewer] Parameter Default Rendering Glitch
-
ISIS-3167 - Comparator in @CollectionLayout(sortedBy = …) gets passed in detached Entities
-
ISIS-3166 - [Wicket Viewer] Timepicker partial Visibility Glitch in the Context of Sidebar Rendering
-
ISIS-3165 - [Wicket Viewer] Collection-associated Action w/ Boolean Arg throws Exception
-
ISIS-3164 - [Secman] ApplicationUser (JDO) view shows only icon, no columns, of each associated role in table ; ditto tenancy children
-
ISIS-3162 - [Regression] Download "object layouts zip" throws exception
-
ISIS-3135 - Object_recentAuditEntries doesn’t show list of properties.
-
ISIS-3126 - [JDO] Stack Overflow on TimestampService#onPreStore
-
ISIS-3125 - [Regression] nested Class Wicket in Isis Configuration is not Serializable
-
ISIS-3121 - [Wicket Viewer] UI does not honor minFractionalDigits when rendering BigDecimal
-
ISIS-3115 - IdStringifierLookupService needs to enforce IdStringifierForSerializable to go last
-
ISIS-3114 - IdStringifierForSerializable does not handle all Serializables
-
ISIS-3113 - Using OAuth2 leads to IndexOutOfBoundsException at Startup
-
ISIS-3112 - Custom per-Member Value Semantics does not honor Collection of Values
-
ISIS-3111 - Pretty rendering for ChangesDto
-
ISIS-3108 - AuditTrailEntry should not attempt to audit itself (!)
-
ISIS-3106 - Preserve the @ActionLayout(position) correctly, eg for Object_clearHints
-
ISIS-3101 - [Regression] NPE on bookmark rehydration
-
ISIS-3096 - Fix logical type names of isis-provided services, so consistent with their owning module.
-
ISIS-3088 - [Wicket Viewer] Mandatory enum dropdown does not accept changed values
-
ISIS-3080 - URL Demo throws Exception on Update Action
-
ISIS-3072 - [Regression] Parameter Names not picked from Service Action’s ParameterLayout
-
ISIS-3070 - [Wicket Viewer] Viewmodel with referenced Entity as mandatory Property fails to handle Choices
-
ISIS-3069 - [Regression] Deprecated DomainService naming strategy not picked up by Spring
-
ISIS-3067 - Cannot launch demo after bump asciidoctorj.version from 2.5.3 to 2.5.4
-
ISIS-3066 - Concurrent Modification Exception on Metamodel Reload
-
ISIS-3065 - ManagedObjects.EntityUtil.refetch(…) does not handle the object-not found case well
-
ISIS-3058 - [Regression] WicketViewer: Detached Entities on Standalone Collection of Viewmodels.
-
ISIS-3056 - [Wicket Viewer] Verify Action Button Coloring works on mixed in Actions
-
ISIS-3054 - [Regression] Wicket Viewer: non-scalar autoComplete is broken
-
ISIS-3053 - [Regression] Wicket Viewer: Click on no-arg Action with ARE_YOU_SURE Semantics does nothing, when has Tooltip
-
ISIS-3050 - [Wicket Viewer] (none) badge rendering glitches
-
ISIS-3049 - Functional issues with demo app
-
ISIS-3028 - [Wicket Viewer] Scalar Value Validator might pass Wrapped Values to ObjectManager for Adoption
-
ISIS-3026 - [Wicket Viewer] CSS class generated for property name may clash with predefined ones
-
ISIS-3022 - [Wicket Viewer] Regression: entity link click no longer honors CTRL key down
-
ISIS-3019 - [Metamodel] @Domain.Exclude not working as a Method Veto Marker
-
ISIS-3018 - [Duplicate] DataRowWkt is looking up DataRow by uuid and it causes NPE
-
ISIS-3016 - [Wicket Viewer] JGrowlUtil does not escape multiline characters well.
-
ISIS-3013 - [Wicket Viewer] ComponentHintKey can cause NPE
-
ISIS-3012 - [RO] Exception Handling depends on javax.jdo, which is not always provided
-
ISIS-3009 - Entity change publishing in demo app seemingly broken.
-
ISIS-3005 - [Wicket Viewer] DataRowToggle might throw after issuing a Blob Download
-
ISIS-2995 - Verify IsisModuleSecurityBypass does bypass Password Hash Generation
-
ISIS-2992 - [Applib] VirtualClock.nowAt(LocalDate.parse("2014-05-18")) fails.
-
ISIS-2986 - Some ValueSemanticsProvider does not take into account the null value
-
ISIS-2985 - [Wicket Viewer] Modal dialog "X" button does not close interaction well
-
ISIS-2984 - @GeneratedValue(strategy = GenerationType.SEQUENCE) no longer works after migrating to 2.0.0.M7
-
ISIS-2982 - I18n does not load translation files
-
ISIS-2981 - [Wicket Viewer] Login/rememberMe not working across App-Restarts when Prototyping
-
ISIS-2980 - [Metamodel] Default layout not loaded due to missing GridReader
-
ISIS-2978 - [Commons] Concurrent Threads use wrong ClassLoader
-
ISIS-2976 - [Wicket Viewer] Re-hydrate mixed-in collection issue when jumping between tabs
-
ISIS-2970 - [Wicket Viewer] Validation messages for textfield throw IAE
-
ISIS-2969 - ManagedObject’s NATURAL_NULL_FIRST Comparator cannot handle null well
-
ISIS-2967 - ApplicationUser.@UserLocale is missing MAX_LENGTH definitions
-
ISIS-2964 - UserMemento fails Deserialization as a Viewmodel
-
ISIS-2960 - jdo + jpa : duplicate primary key exception is not propagated to Wicket viewer
-
ISIS-2958 - IsisToWicketTreeAdapter$TreeModel Deserialization fails to resolve Injection Points
-
ISIS-2805 - Lifecycle events do not fire for JDO (either)
-
ISIS-2770 - Tabbing onto a date field doesn’t show the date picker.
-
ISIS-2627 - SecMan: UserPermissionViewModel, IllegalArgumentException when username contains a colon (:)
-
ISIS-2585 - "(none)" label not hidden after entity-type property set
-
ISIS-2578 - No injection points resolved on entity collections (both persistence stacks)
-
ISIS-2377 - [JUnit] Regression: download Layout.xml 'normalized' seems to behave like 'full'
-
ISIS-1937 - NPE when render domain entity for first time that has contributed action on contributed collection.
Won’t Fix / Not a Problem / Duplicates
-
ISIS-3227 - [NOT A PROBLEM] WicketViewer cssClass Expression
-
ISIS-3216 - [DUPLICATE] Multi-param Action Dialogs - TimePicker Change Event has no Payload
-
ISIS-3205 - [NOT A PROBLEM] Contributed properties returning BigDecimal or BigInteger do not display null values correctly
-
ISIS-3196 - [NOT A BUG] RO - HTTP 404 when invoking /properties/objectIdentifier
-
ISIS-3036 - [invalid] Remove BuilderScriptAbstract#setPrereq as it is now useless.
-
ISIS-3030 - [NOT A BUG] Multiple level drop down List issue
-
ISIS-2279 - [WON’T FIX] Make caching optional in InjectorMethodEvaluatorDefault to avoid large heap usage
-
ISIS-2990 - [Duplicate] Clean build and run displays ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
-
ISIS-2979 - [Duplicate] Removing any JPA entity in an action, which is in a parameter value, causes ObjectNotFoundException
-
ISIS-2065 - [WON’T FIX] Allow homePageService to specify the homePage without the workaround of setting its nature to VIEW_CONTRIBUTIONS_ONLY