<
Fork me on GitHub

Summary

This table summarises all releases of Apache Isis to date.

Version Date Components Notes

1.8.0

24-feb-2015

Wicket viewer moved into core; todoapp archetype moved to Isis Addons (non-ASF).

1.7.0

18-oct-2014

Module functionality previously in 1.6.0 now retired; use Isis Addons (non-ASF) instead.

1.6.0

28-jul-2014

Restful Objects viewer, JDO/Datanucleus Objectstore and Shiro Security all moved into core. Quickstart-wrj archetype renamed to todoapp; simple-wrj archetype renamed to simpleapp. Some functionality copied/refactored as Isis Addons (non-ASF).

1.5.0

08-jun-2014

No longer releasing security-file

1.4.1

14-mar-2014

  • objectstore-jdo-1.4.1

  • viewer-wicket-1.4.1

  • archetype-simple-wrj-1.4.1

  • archetype-quickstart-wrj-1.4.1

Patch release

1.4.0

11-mar-2014

  • core-1.4.0

  • objectstore-jdo-1.4.0

  • security-file-1.4.0

  • security-shiro-1.4.0

  • viewer-restfulobjects-2.2.0

  • viewer-wicket-1.4.0

  • archetype-simple-wrj-1.4.0

  • archetype-quickstart-wrj-1.4.0

1.3.1

7-nov-2013

  • viewer-wicket-1.3.1

  • archetype-simple-wrj-1.3.1

  • archetype-quickstart-wrj-1.3.1

Patch release

1.3.0

25-oct-2013

  • core-1.3.0

  • objectstore-jdo-1.3.0

  • security-file-1.0.2

  • security-shiro-1.3.0

  • viewer-restfulobjects-2.1.0

  • viewer-wicket-1.3.0

  • archetype-simple-wrj-1.3.0

  • archetype-quickstart-wrj-1.3.0

WRJ archetype renamed to Quickstart WRJ. Simple WRJ archetype added.

1.2.0

30-may-2013

  • core-1.2.0

  • objectstore-jdo-1.2.0

  • security-file-1.0.1

  • security-shiro-1.1.1

  • viewer-restfulobjects-2.0.0

  • viewer-wicket-1.2.0

  • archetype-wrj-1.0.3

1.1.0

31-jan-2013

  • core-1.1.0

  • security-shiro-1.1.0

  • viewer-wicket-1.1.0

  • archetype-wrj-1.0.2

1.0.1

10-jan-2013

  • security-shiro-1.0.0

  • archetype-wrj-1.0.1

Combining RestfulObjects and Wicket viewers into a single webapp, along with Shiro security

1.0.0

24-dec-2012

  • core-1.0.0

  • security-file-1.0.0

  • viewer-wicket-1.0.0

  • viewer-restfulobjects-1.0.0

  • archetype-wrj-1.0.0

First release having graduated

0.2.0-incubating

20-feb-2012

  • 0.2.0-incubating

0.1.2-incubating

13-jul-2011

  • 0.1.2-incubating

First release in the ASF incubator

1.8.0

Isis 1.8.0 incorporates the Wicket viewer, which was previously a separately released component. Other components that are included in core (that were previously released separately are: the Restful Objects viewer, Shiro Security and the JDO/DataNucleus ObjectStore.

New Feature

  • ISIS-284 - Maven plugin to validate domain object model w.r.t. Isis programming conventions

  • ISIS-537 - Convert Wicket viewer to use Bootstrap, so that it can be themed.

  • ISIS-690 - 'Show all' button for tables.

  • ISIS-702 - Provide new annotation/facet as a hint for the layout of the label for a property.

  • ISIS-703 - Provide a switch in the Wicket viewer to make the positioning of a fields label either to the left or above the field.

  • ISIS-819 - Wicket viewer should show the environment details so can distinguish if running in productnio vs UAT/systest/dev etc

  • ISIS-854 - Separator between for menu items

  • ISIS-874 - Allow individual items to stand out in a collection, eg new reserved method

  • ISIS-901 - Use @DomainService(repositoryFor=…​) as the basis for an implementation of the IconFacet.

  • ISIS-930 - Support use of "font awesome" icons as decoration of actions and also instead of entity icons.

  • ISIS-933 - Allow the RO viewer to be configured so that it can honour or ignore UI hints (in particular, the @Render(EAGERLY) facet).

  • ISIS-951 - Add menu separators (bootstrap dividers) when multiple services define actions on the same menu

  • ISIS-956 - icons to be specified using pattern matching on member names.

  • ISIS-963 - Allow service actions to be rendered either on a primary, secondary or tertiary (the "me" icon) menu

  • ISIS-964 - Unify UI hints into @XxxLayout annotations with corresponding support in .layout.json for properties, collections and actions.

  • ISIS-967 - Let the LayoutMetadataReader implementation(s) be configured using isis.properties.

  • ISIS-983 - Embedded Neo4J support

  • ISIS-985 - Filter collections so that objects that are not visible to the current user are not shown.

  • ISIS-987 - register for an Isis application.

  • ISIS-990 - Optional UserProfileService to allow the user profile information to be customized.

  • ISIS-995 - Allow the label of a property to be rendered as HTML. Also, allow the label of boolean panels to be rendered on the right hand side.

  • ISIS-999 - Provide a log to administrator of which users logged in and logged out

  • ISIS-1000 - Allow objects to return CSS class (analogous to iconName() method) so that their presentation can be dynamically reflected in tables or on an object form.

  • ISIS-1016 - Make it possible to use brand logo instead of plain text in the header

  • ISIS-1024 - Support imperative validation of a single action parameter argument (as well as of entire parameter args).

  • ISIS-1027 - Raise metamodel validation exceptions if deprecated annotations or method prefixes are used.

  • ISIS-1033 - Extend DomainObjectContainer, add isViewModel(…​).

Improvement

  • ISIS-568 - Drop support for JDK 1.6, standardize on JDK 1.7.

  • ISIS-650 - Nested Menu Support in Apache ISIS

  • ISIS-705 - Support actions accepting parameters that return Blobs/Clobs

  • ISIS-755 - Allow external system data to be integrated and managed with an Apache Isis domain object

  • ISIS-779 - Refactor EventBusService as a @RequestScoped service, and have it own the guava EventBus as a field.

  • ISIS-903 - side locale.

  • ISIS-931 - Make Isis faster to start.

  • ISIS-934 - printed if running in prototype mode.

  • ISIS-935 - RO viewer should return a 404 exception if object not found.

  • ISIS-936 - memory) into core (metamodel and runtime)

  • ISIS-937 - Move TCK out of core

  • ISIS-938 - bytecode modules (as no longer used by either objectstore)

  • ISIS-939 - Simplify Persistor and ObjectStore components.

  • ISIS-944 - Minor improvements to TitleBuffer.

  • ISIS-948 - scoped services

  • ISIS-950 - Suppress stack trace from Error page if exception is recognised.

  • ISIS-953 - Minor enhancements to Fixture script execution context

  • ISIS-955 - Merge JDO Java Type Mapping for Money.

  • ISIS-960 - The event bus swallows errors thrown in the subscribers

  • ISIS-968 - Rationalize handling of menu actions and contributed actions

  • ISIS-969 - Create new @DomainServiceLayout annotation, and move UI hints out of @DomainService

  • ISIS-970 - UI (layout) hints, and deprecate old annotations

  • ISIS-972 - Make it possible to set FontAwesome icons after the label for action links

  • ISIS-973 - Simplify the FixtureScript API so that child fixtures are executed using the ExecutionContext object

  • ISIS-980 - menu sections in the tertiary actions menu panel

  • ISIS-981 - Should be able to use the wrapper factory when installing fixtures.

  • ISIS-1002 - Recognize (JDO) exceptions for foreign key constraint violations

  • ISIS-1003 - Add "veto" as a simpler API for EventBusSubscribers

  • ISIS-1008 - Make it possible to stream Lobs after using the action prompt

  • ISIS-1012 - Use the same date and time format across tables and fields

  • ISIS-1014 - Modal window improvements

  • ISIS-1018 - Do not allow http session replacement in Wicket because Shiro knowledge becomes outdated

  • ISIS-1019 - Upgrade dependencies to javassist, org.reflections

  • ISIS-1026 - plugin to 1.56

  • ISIS-1032 - Contract test for bidirectional relationship can't handle overridden methods

  • ISIS-1036 - Inject services into Comparators specified in a @CollectionLayout(sortedBy=…​) clause

  • ISIS-1038 - Extend ActionDomainEvent so that it provides the return value during the Executed phase.

  • ISIS-1039 - XmlSnapshot.Builder interface missing the build() method…​

  • ISIS-1040 - Extend FixtureScript / ExecutionContext with defaultParam / checkParam…​

  • ISIS-1043 - Enhance fixture script framework with better support for parameters being passed between scripts.

  • ISIS-1049 - Move Wicket viewer under core.

Bug

  • ISIS-853 - joda DateTime properties loose time when persisted

  • ISIS-878 - Wicket viewer escape does not dismiss some (though not all) action dialog boxes

  • ISIS-881 - deterministic?

  • ISIS-897 - Wrong format for org.joda.time.LocalDateTime

  • ISIS-911 - The blob panel's "additionalLinks" (for upload and clear buttons) should be hidden in Edit mode.

  • ISIS-941 - Wicket viewer shouldn't try to flush properties that are disabled.

  • ISIS-942 - Auditing broken for deleted objects.

  • ISIS-943 - ObjectContracts#equals should be more resilient.

  • ISIS-946 - Isis application won't run from Eclipse

  • ISIS-954 - Duplicate menu items in the application menu

  • ISIS-961 - Throwing exception in application code does NOT abort the transaction (it should, of course).

  • ISIS-966 - Restful viewer doesn't return a JSON representation when hits a 500 internally (instead getting an HTML page)

  • ISIS-971 - Ignore anonymous classes which inherit from @DomainService (eg in integ tests).

  • ISIS-1010 - "Session already open" error if attempting to login in a second browser tab

  • ISIS-1011 - Select2 component doesn't filter the suggestions

  • ISIS-1017 - @PreDestroy annotated method is not called

  • ISIS-1029 - Hidden{where} in layout is not honored by table representations

  • ISIS-1030 - Not possible for a declarative view model (@ViewModel) to reference another view model/

  • ISIS-1041 - Under certain circumstances, appears that auditing can cause the same tuple to be audited within a single transaction.

  • ISIS-1042 - Dropdown of Enums does not honour title() method

Task

  • ISIS-928 - Isis 1.8.0 release tasks

  • ISIS-959 - Update Jackson dependency from 1.9.11 to 2.4.3

Sub-task

  • ISIS-512 - Wicket: render icons for actions (if available)

  • ISIS-556 - 537 branch to master

  • ISIS-876 - Action prompt dialog box rendering when title too long…​

1.7.0

Core

New Feature

  • ISIS-809 - Provide implementation of ViewModelFacet that doesn't require explicit implementation of the IViewModel interface.

  • ISIS-873 - CommandContext.getCommand() should also expose the ActionInteractionEvent.

  • ISIS-917 - Support pluggable representations for the RO viewer (object and list representations)

Security fixes

  • ISIS-846 - Enhance ExceptionRecognizer so that the stack trace can be suppressed in certain circumstances (for security)

  • ISIS-895 - HomePage should honour authorization rules.

Improvement

  • ISIS-864 - Command should be persisted if any dirty objects enlisted into transaction, in order to ensure no accidental orphans.

  • ISIS-866 - scoped service should be told when the request is starting and stopping.

  • ISIS-882 - Appropriate facets should be copied over to contributed collections and properties.

  • ISIS-907 - downs are truncated…​ the (derived) typical length for enums uses the name() rather than the toString()

  • ISIS-908 - strict" mode

  • ISIS-916 - provided services, such as MementoService or BookmarkService, can be overridden by the developer.

  • ISIS-918 - case handling of DomainObjectContainer; is just another service.

  • ISIS-927 - BookmarkService should be WrapperFactory aware…​

  • ISIS-805 - (Mac and Linux) Class discovery service throws errors on startup

Bug

  • ISIS-404 - Testing if a "wrapped" Domain Object has been persisted fails

  • ISIS-643 - N relationship

  • ISIS-852 - Derived property cannot be written properly

  • ISIS-871 - ActionInvocationFacetForInteractionAbstract passes Null to "ObjectSpecification.isViewModelCloneable"

  • ISIS-879 - ObjectMemberAbstract#isAlwaysHidden() does not honour where=Where.EVERYWHERE.

  • ISIS-899 - Can't return a view model in Isis 1.6.0 over RO viewer.

  • ISIS-905 - arg action.

  • ISIS-912 - fixture flag is broken).

  • ISIS-919 - scoped) service when logging in DEBUG mode.

Removed features

Moved to (non-ASF) Isis Addons

  • ISIS-851 - Remove modules from Isis core (available instead through isisaddons).

  • ISIS-887 - xxx modules, as now in isisaddons.

Removed features (obsolete)

  • ISIS-802 - Remove the ProfileStore component (in future, can raise a ProfileService as and when we identify a concrete reqt).

  • ISIS-913 - Remove the "ViewerInstaller" and "EmbeddedWebServerInstaller" APIs, since in effect defunct.

Unreleased features (backed out)

  • ISIS-865 - fast if an action is annotated with safe semantics but nevertheless results in dirty objects in the xactn.

  • ISIS-921 - 865), since does not cater for edits with contributed properties.

Task

Wicket viewer

New Feature

  • ISIS-902 - Enhance ImageResourceCacheClassPath so that can have two entities with the same simple name but in different packages.

Security fixes

  • ISIS-920 - (As a configuration option), provide the ability to disable the Wicket viewer automatically continuing to original URL after successful login.

  • ISIS-846 - Enhance ExceptionRecognizer so that the stack trace can be suppressed in certain circumstances (for security)

  • ISIS-895 - HomePage should honour authorization rules.

  • ISIS-884 - ErrorPage vulnerable to XSS attacks.

  • ISIS-885 - To avoid leaking information (eg in the title) should have a "special" permission to throw a 404 if user doesn't have permission to view any of the class' members.

  • ISIS-883 - Bookmarkable action URLs can be submitted by a user without permissions to bring up action dialog (thereafter that user can invoke).

Bug

  • ISIS-889 - Action prompt dialog seems to be not quite big enough in Chrome (is ok in Firefox and IEv11)

  • ISIS-880 - Appearance of Password field (in action dialogs) requires tweaking.

  • ISIS-910 - Entering invalid data for Char type fails with an internal error

Dependency upgrade

  • ISIS-794 - Upgrade to Wicket 6.16.0, remove CharSequenceResource

Task

1.6.0

Core

Isis core 1.6.0 also incorporates the Restful Objects viewer, Shiro Security and JDO Objectstore.

New Feature

  • ISIS-493 - Annotation to identify domain services/repositories

  • ISIS-800 - like form for Wicket viewer

  • ISIS-813 - Provide the ability to mock out domain services in integration tests.

Improvement

  • ISIS-421 - Write TCK tests for Restful Objects viewer

  • ISIS-574 - shiro to use shiro 1.2.3 (currently using 1.2.1)

  • ISIS-798 - Minor improvements in support of integration testing.

  • ISIS-823 - Restructure Todo's tests, nested static classes.

  • ISIS-827 - Introduce WrappingObject, with more unique method names, as a replacement for WrappedObject.

  • ISIS-831 - Extend (custom) EventBus vetoing logic so that can also encompass hide, disable, validate.

  • ISIS-832 - Move jdo, shiro and restful into core

  • ISIS-833 - Break out applib and JDO services into modules

  • ISIS-838 - Provide an additional hook method for AbstractIsisSessionTemplate that automatically sets up the transaction.

Bug

  • ISIS-796 - lifecycle callback "updating()" is not firing

  • ISIS-797 - 'Restful objects' decodes json request body while this is not

  • ISIS-801 - Action method taking domain object paramater gets triggered automatically whenever instances of that object type is accessed

  • ISIS-812 - Isis 1.5 blob mapping broken for PostgreSQL (when set to null)

  • ISIS-818 - wrapSkipRules does not execute action due to being hidden

  • ISIS-821 - Precision gets lost when double values are use in BigDecimal attributes

  • ISIS-824 - Generic repository is broken

  • ISIS-828 - Wrapping an already wrapped object should honour the mode if different.

  • ISIS-836 - Not certain that FixtureScripts' ClassDiscoveryService works when referencing deployed 1.5.0 JAR

  • ISIS-840 - "Permission groups" for IsisPermission (custom security string for Shiro) not working as advertised.

Dependency upgrade

  • ISIS-716 - Update to DN 3.3.8 (deferred)

Task (Core)

Wicket Viewer

New Feature

  • ISIS-800 - like form for Wicket viewer

  • ISIS-816 - Provide an applib for Wicket viewer to hold any services specific to that viewer.

  • ISIS-817 - sources debugging plugin

Improvement

  • ISIS-781 - Add edit capability to view objects

  • ISIS-807 - Break out EntityPropertiesForm into two for the new IWizard, and then make into a separate component.

  • ISIS-815 - Internationalization of Wicket UI elements (edit, ok, cancel, logout, about)

Bug

  • ISIS-544 - focus on an action param date, then doesn’t show calendar picker..

  • ISIS-825 - focus on first field on action parameter not working

  • ISIS-835 - NPE in select2 with isisaddons module for tags, (optional choices for strings)

  • ISIS-837 - In Wicket viewer, forms not flushing properties when annotated with JDO @NotPersistent.

  • ISIS-843 - AboutPage is not serializable

Task

1.5.0

Core

New Feature

  • ISIS-550 - Complete the guava EventBus support with new annotations

  • ISIS-776 - end stories.

  • ISIS-786 - Allow event bus subscribers to veto interactions by throwing a RecoverableException or NonRecoverableException

Improvement

  • ISIS-569 - Fix JMock to support JDK7 (JavassistImposteriser)

  • ISIS-745 - Do not suppress the org.apache.isis classes from the "download metamodel" action (as provided by DeveloperUtilities service)

  • ISIS-749 - Make logging less noisy for selected classes

  • ISIS-762 - For commands on contributed actions, the target and "user friendly" target details should be captured as the contributee, not the contributed service.

  • ISIS-765 - Allow UserMemento#hasRole to match on wildcards

  • ISIS-770 - ioc (because brings in cglib/asm dependency)

  • ISIS-772 - Reimplement WrapperFactory to use javassist instead of cglib/asm (for Java7 support)

  • ISIS-782 - Integration testing framework should automatically install the FixtureClock singleton rather than the regular Clock

  • ISIS-783 - Integration test support enhancements

  • ISIS-795 - commit in the archetypes.

Bug

  • ISIS-758 - Auditing should be able to cope with a change to a property where the referenced object has been deleted.

  • ISIS-759 - Transient errors being logged as result of incorrect call to sendRedirect; not sure why, need diagnostics.

  • ISIS-760 - IllegalStateException when commands/audit enabled in Estatio and failing to persist the Oid of a view model.

  • ISIS-769 - IsisTransaction should do a "precommit" for pending updates to applib services, prior to commiting the underlying (JDO) transaction.

  • ISIS-777 - safe for concurrent requests.

Task

  • ISIS-751 - Update NOTICE copyright dates

  • ISIS-792 - up tasks for Isis 1.5.0 release

Wicket Viewer

Improvement

  • ISIS-719 - Use org.webjars for some common dependencies (eg jquery)

  • ISIS-764 - Combine ReferencePanel and EntityLink2SelectPanel

  • ISIS-770 - ioc (because brings in cglib/asm dependency)

  • ISIS-774 - Remove IsisWicketUnsecuredApplication

  • ISIS-778 - Simpify ReferencePanel and EntityLinkSelect2Panel

  • ISIS-793 - Make Wicket viewer's IsisApplication easier to override (to support customization use cases)

Bug

  • ISIS-431 - A boolean atribute should never be mandatory

  • ISIS-752 - When collection is eagerly rendered (open), the title doesn't display the number of elements, instead just displays (+).

  • ISIS-757 - Make it possible to override logging.properties

  • ISIS-761 - ErrorPage itself is not serializable, resulting in stack traces in the log.

  • ISIS-787 - Property validation not displaying error message.

Dependency upgrade

  • ISIS-771 - Upgrade Wicket to wicket 6.15.0 (or whatever is latest)

Task

  • ISIS-792 - up tasks for Isis 1.5.0 release

RestfulObjects Viewer

Task

  • ISIS-792 - up tasks for Isis 1.5.0 release

Bug

  • ISIS-746 - When multiple realms configured for Shiro, should be more intelligent about obtaining roles from those realms

Task

  • ISIS-751 - Update NOTICE copyright dates

  • ISIS-792 - up tasks for Isis 1.5.0 release

JDO ObjectStore

Improvement

  • ISIS-750 - For consistency with CommandJdo, allow the serializedForm to be stored as a clob (rather than as a zipped byte array)

  • ISIS-754 - BDD tests speed improvement with DN options, through a new IsisConfigurationForTests

  • ISIS-788 - Delete the Isis Blob/Clob Converter classes for JDO, since redundant.

Bug

  • ISIS-744 - Column size can't be greater than 8000 characters on SQL Server

  • ISIS-714 - Blob/Clob mapping under DataNucleus is broken (just default serialize, not picking up the extension points)

Task

  • ISIS-751 - Update NOTICE copyright dates

  • ISIS-792 - up tasks for Isis 1.5.0 release

1.4.1

Wicket Viewer

Improvement

  • ISIS-732 - The refresh of a standalone collection after invoking a bulk action should only be done if the original action was safe (query only)

  • ISIS-734 - In Wicket viewer, if action returns a blob/clob, then currently performing in a new window/tab.

Bug

JDO Objectstore

Bug

  • ISIS-733 - If toggle an object twice in standalone list (for bulk action), ends up invoking action (when shouldn't) and also throwing concurrency exception

1.4.0

Core

New Feature

  • ISIS-592 - Make XmlSnapshot (in core.runtime) available as an applib service.

  • ISIS-593 - MementoService enhancements

  • ISIS-595 - Validate metamodel to ensure that any bookmarkable actions are explicitly annotated as having safe action semantics.

  • ISIS-601 - Extend the dynamic JSON layout so that the PagedFacet (@Paged annotation) can be specified for collections.

  • ISIS-602 - Extend the dynamic JSON layout so that RenderFacet (@Render annotation) can be specified dynamically

  • ISIS-603 - Extend the dynamic JSON layout so that NamedFacet (@Named annotation) can be specified dynamically

  • ISIS-604 - Extend the dynamic JSON layout so that TypicalLengthFacet (@TypicalLength annotation) can be specified dynamically

  • ISIS-605 - Extend the dynamic JSON layout so that MultiLineFacet (@MultiLine annotation) can be specified dynamically

  • ISIS-606 - Extend the dynamic JSON layout so that CssClassFacet (@CssClass annotation) can be specified dynamically

  • ISIS-607 - Extend the dynamic JSON layout so that DescribedAsFacet (@DescribedAs annotation) can be specified dynamically

  • ISIS-612 - Return a URL from an action opens a new browser window

  • ISIS-613 - Extend the dynamic JSON layout so that HiddenFacet (@Hidden annotation) can be specified dynamically

  • ISIS-614 - Extend the dynamic JSON layout so that DisabledFacet (@Disabled annotation) can be specified dynamically

  • ISIS-624 - Use javax.validation.constraints.Digits to specify length and scale for BigDecimal action parameters (to avoid JDO exceptions later).

  • ISIS-625 - Better reporting of metamodel violation errors

  • ISIS-648 - Improve support for bulk update

  • ISIS-652 - Support @RequestScoped beans (registered as services)

  • ISIS-653 - scoped service, as a way of passing arbitrary user data from one place to another. One use case is to coordinate the response of bulk actions.

  • ISIS-654 - scoped QueryResultsCache service, as a technique for performance tuning.

  • ISIS-655 - scoped Bulk.InteractionContextService bean.

  • ISIS-660 - Profiling support and also infrastructure for background (async job) support

  • ISIS-661 - BackgroundService and BackgroundTaskService as a way of creating mementos to execute jobs asynchronously

  • ISIS-662 - Provide a "contributions" service to add a PublishedEvents contributed collection for the Interaction entity.

  • ISIS-663 - Provide a "contributions" service for AuditEntry, so that audit entries are shown as a contributed collection to the Interaction entity.

  • ISIS-664 - Provide an abstract class for running "sudo" scheduler jobs

  • ISIS-673 - AbstractIsisSessionTemplate as a way to run arbitrary 'runnable' in an Isis session

  • ISIS-685 - Add new @Command(async=true|false) flag, so that Command is automatically scheduled to run in the background

  • ISIS-696 - Extra overload for BookmarkService for lookup with downcast (making more consistent with API of MementoService).

  • ISIS-697 - Extend DeveloperUtilitiesService to be able to refresh services (for contributed actions)

  • ISIS-728 - Provide facet factory to enable auditing by default on all objects, unless explicitly opted out

  • ISIS-729 - Provide facet factory to treat all actions by default as commands, unless explicitly opted out

  • ISIS-730 - Provide a very simple ClockService, so all services accessed in same way via DI

Improvement

  • ISIS-272 - Adding ValueSemanticProviders for UUID and URI

  • ISIS-541 - Enhance contributed actions/associations to support hideXxx, disableXxx, validateXxx, defaultXxx and choices where the contributee is automatically populated.

  • ISIS-543 - title() should take precedence over @Title, or perhaps should fail eagerly?

  • ISIS-579 - Add support for range queries in JDO objectstore

  • ISIS-583 - Contributed collections ignore @Render annotation

  • ISIS-597 - Services still not injected when entering @PostConstruct methods on a Service

  • ISIS-598 - Add support for @Inject standard annotation

  • ISIS-599 - Better message and diagnostics for Exception Recognizers

  • ISIS-600 - Change format of facet properties file, scope by member then facet

  • ISIS-623 - Make the default logging of JDO and IsisSytemForTest less verbose

  • ISIS-626 - Recognize Wicket PageExpiredExceptions and display a friendlier error message

  • ISIS-634 - downs (for enums/bounded and autocomplete) should honour TypicalLengthFacet.

  • ISIS-639 - Jetty webserver support long URLs

  • ISIS-640 - Extend MementoService.Memento API so that can also return the set of keys held in the Memento

  • ISIS-651 - Modifications to enable JRebel support

  • ISIS-659 - Extend MementoServiceDefault service to handle Bookmarks and also enums (as well as simple values)

  • ISIS-665 - ObjectActionImpl should escalate a thrown Isis ApplicationException to its underlying cause if the transaction is in a state of mustAbort.

  • ISIS-668 - out" services.

  • ISIS-670 - Replace AuditingService and AuditingService2 with new AuditingService3 API, more consistent with other APIs

  • ISIS-671 - Add a ReifiableActionFacet and @Reifiable annotation as a way to restrict which ReifiableActions are persisted. Enable background task service to hint that an ReifiableAction should be persisted even if not annotated.

  • ISIS-672 - Unify BackgroundTask and Interaction into same entity, rename to "ReifiableAction".

  • ISIS-684 - Rename ReifiableAction to simply 'Command', and update services also

  • ISIS-693 - Minor extensions in support of Excel import/export functionality.

  • ISIS-708 - BookmarkService null handling

  • ISIS-723 - BookmarkService should support lookup of domain services as well as domain entities (and throw an exception for view models)

Bug

  • ISIS-234 - Persistence by reachability of aggregated instances fails.

  • ISIS-619 - Extend IsisActions to support easy mocking of the DOC#newTransientInstance

  • ISIS-627 - Lazily loaded object cannot be deleted, throws an NPE

  • ISIS-635 - JDO Publishing Service impl causes ConcurrentModificationException in core.

  • ISIS-636 - BookmarkServiceDefault throws NPE if the BookmarkHolder (to which it contributes a property) returns a null Bookmark

  • ISIS-641 - Incompatibility of TreeSet for @Bulk.

  • ISIS-691 - down list's handling of null entity or values

  • ISIS-700 - (

  • ISIS-707 - Support Bulk.InteractionContext with contributed actions.

  • ISIS-712 - Inconsistency in domain logic for validation of optional strings causes Wicket viewer to trip up.

Task

  • ISIS-695 - up tasks for Isis 1.4.0 release

Wicket Viewer

New Feature

  • ISIS-472 - Limit number of bookmarks

  • ISIS-608 - Show count for collections (if rendered eagerly), else a hint to expand.

  • ISIS-609 - Suppress showing actions for collections that are not rendered eagerly

  • ISIS-612 - Return a URL from an action opens a new browser window

  • ISIS-625 - Better reporting of metamodel violation errors

  • ISIS-633 - Press ESC to close/cancel the action prompt dialog

  • ISIS-638 - Provide the capability to capture UI hints, and copy to clipboard

  • ISIS-642 - down; when revisiting a page, any UI hints from last visit should be retained.

  • ISIS-648 - Improve support for bulk update

  • ISIS-649 - In wicket viewer, make it easier to develop custom styling by wrapping the body of all pages in a div with custom style

  • ISIS-701 - In Wicket viewer, make uppercase text switchable

  • ISIS-727 - time type

Improvement

  • ISIS-486 - Show action dialogs in a modal dialog rather than new page (less context switching for user)

  • ISIS-587 - Various UI improvements for Wicket viewer.

  • ISIS-588 - In Wicket viewer, make bookmark panel smaller, and enable with a keyboard shortcut

  • ISIS-589 - (

  • ISIS-590 - Wicket viewer strip wicket tags should depend on the deployment mode.

  • ISIS-591 - For Wicket viewer, load Javascript libraries (except for JQuery) from the footer.

  • ISIS-594 - Tidy up and simplify URLs in Wicket viewer.

  • ISIS-596 - Require smarter handling of bookmarked objects that have been deleted

  • ISIS-618 - Simplify ActionPage, separate out result components from prompt.

  • ISIS-626 - Recognize Wicket PageExpiredExceptions and display a friendlier error message

  • ISIS-634 - downs (for enums/bounded and autocomplete) should honour TypicalLengthFacet.

  • ISIS-658 - Provide a custom panel for java.sql.Timestamp

  • ISIS-677 - The blob/clob panel does not show the name of the blob/clob present (eg if just uploaded).

  • ISIS-680 - fidelity) alternative to the clipboard link, for those environments where flash is not supported.

  • ISIS-682 - In the Wicket viewer, the tooltip for icons should show the title (and perhaps also the type) of the icon being linked to.

  • ISIS-683 - In Wicket viewer, if delete objects from a standalone collection, then selecting again causes an exception.

  • ISIS-692 - down list box.

  • ISIS-699 - In Wicket viewer, when redirect to next page after invoking an action, have the browser's address bar show the URL of the object

  • ISIS-706 - Blob vs Clob request handling, also relationship with bulk actions.

  • ISIS-718 - Actions that return a URL should open in new tab/window

Bug

  • ISIS-429 - coded dependency to WicketSignInPage in PageAbstract…​

  • ISIS-617 - Wicket viewer throws NPE when rendering Isis DateTime in a collection

  • ISIS-620 - When editing an entity twice a concurrency exception is thrown

  • ISIS-621 - Improve the Wicket viewer's parsing of numbers

  • ISIS-629 - Selecting a different option from a dropdown resets other fields

  • ISIS-630 - LocalDates are parsed to a wrong date when running in different timezone

  • ISIS-637 - down in action prompt

  • ISIS-669 - Download of Excel files in Wicket viewer on *nix/OSx machines doesn't work.

  • ISIS-675 - If try to upload attachment, then have to do the operation twice.

  • ISIS-676 - down widget is no longer rendered.

  • ISIS-686 - Logout as admin doesn't work (could be if on any machine other than localhost?)

  • ISIS-691 - down list's handling of null entity or values

  • ISIS-711 - Fix so that can raiseError in bulk actions.

  • ISIS-712 - Inconsistency in domain logic for validation of optional strings causes Wicket viewer to trip up.

Task

  • ISIS-695 - up tasks for Isis 1.4.0 release

RestfulObjects Viewer

Task

  • ISIS-695 - up tasks for Isis 1.4.0 release

Shiro Security

New Feature

  • ISIS-586 - Allow the IsisLdapRealm to read its role/perm mappings from an .ini file

  • ISIS-656 - Roles not setup when using Shiro

Task

  • ISIS-695 - up tasks for Isis 1.4.0 release

JDO ObjectStore

New Feature

  • ISIS-660 - Profiling support and also infrastructure for background (async job) support

  • ISIS-661 - BackgroundService and BackgroundTaskService as a way of creating mementos to execute jobs asynchronously

  • ISIS-662 - Provide a "contributions" service to add a PublishedEvents contributed collection for the Interaction entity.

  • ISIS-663 - Provide a "contributions" service for AuditEntry, so that audit entries are shown as a contributed collection to the Interaction entity.

  • ISIS-664 - Provide an abstract class for running "sudo" scheduler jobs

  • ISIS-685 - Add new @Command(async=true|false) flag, so that Command is automatically scheduled to run in the background

  • ISIS-726 - Provide a 'Recent changes' contributed action that provides a unified view of commands and audit entries for domain objects.

  • ISIS-728 - Provide facet factory to enable auditing by default on all objects, unless explicitly opted out

  • ISIS-729 - Provide facet factory to treat all actions by default as commands, unless explicitly opted out

Improvement

  • ISIS-576 - JDO exception recognizer for sql integrity constraints should only recognize uniqueness constraints

  • ISIS-577 - Specify @Column(length=…​) for JDO entities (ApplicationSetting, UserSetting, PublishedEvent)

  • ISIS-579 - Add support for range queries in JDO objectstore

  • ISIS-597 - Services still not injected when entering @PostConstruct methods on a Service

  • ISIS-599 - Better message and diagnostics for Exception Recognizers

  • ISIS-611 - Ensure classes are properly eagerly registered with JDO Object store

  • ISIS-616 - JDO Implementation of the AuditingService should implement the AuditingService2 API

  • ISIS-623 - Make the default logging of JDO and IsisSytemForTest less verbose

  • ISIS-651 - Modifications to enable JRebel support

  • ISIS-657 - JDO objectstore service implemenations should use "IsisXxx" as a common prefix to any tables.

  • ISIS-665 - ObjectActionImpl should escalate a thrown Isis ApplicationException to its underlying cause if the transaction is in a state of mustAbort.

  • ISIS-667 - up/rationalization of JDO domain service impls

  • ISIS-670 - Replace AuditingService and AuditingService2 with new AuditingService3 API, more consistent with other APIs

  • ISIS-671 - Add a ReifiableActionFacet and @Reifiable annotation as a way to restrict which ReifiableActions are persisted. Enable background task service to hint that an ReifiableAction should be persisted even if not annotated.

  • ISIS-672 - Unify BackgroundTask and Interaction into same entity, rename to "ReifiableAction".

  • ISIS-684 - Rename ReifiableAction to simply 'Command', and update services also

  • ISIS-698 - Allow JDOQL to be able to select scalars (eg project individual field(s)) rather than entire entities.

Bug

  • ISIS-632 - PublishingService's PublishedEvent id has an incorrect max length

  • ISIS-644 - Update FrameworkSynchronizer to avoid the "Object not yet known to Isis" exception

Dependency upgrade

  • ISIS-646 - Upgrade DataNucleus to 3.3.6 (JDO 3.1), and use the convenience 'accessplatform' POMs.

Task

  • ISIS-695 - up tasks for Isis 1.4.0 release

1.3.1

Wicket Viewer

New Feature

  • ISIS-575 - Tiny new feature…​ add a tooltip to icons/titles so can see what type it represents.

Bug

  • ISIS-560 - When invoking an action, drop downs get cleared (in the UI) if there is a validation error, but the underlying model is set.

  • ISIS-570 - Drop downs for action parameters don't repaint themselves correctly when a validation error occurs for other parameters on the form.

  • ISIS-580 - Date fields are cleared when tabbing through other fields.

Task

  • ISIS-581 - Release tasks for Isis wicket viewer v1.3.1

1.3.0

Core

New Feature

  • ISIS-420 - level settings service.

  • ISIS-423 - Provide contract test utility for the automatic testing of 1:m and 1:1 bidirectional relationships

  • ISIS-426 - Provide abstract contract test to easily verify Comparable implementations.

  • ISIS-427 - specific), with JDO implementation.

  • ISIS-430 - Allow the sort order for SortedSet parented collections to be overridden with a new @SortedBy annotation.

  • ISIS-433 - specific autoComplete through prefixed methods on actions parameters (cf choices method).

  • ISIS-434 - specific autoComplete through prefixed methods on properties

  • ISIS-440 - Contributed collections to allow decoupling

  • ISIS-441 - Helper classes in the applib to implement common object contracts (toString, equals, hashCode, compareTo)

  • ISIS-446 - A new DeveloperUtilitiesService to download the metamodel as a CSV spreadsheet

  • ISIS-450 - session interaction between entities.

  • ISIS-452 - New @PostsPropertyChangedEvent annotation to post a PropertyChangedEvent via EventBusService

  • ISIS-457 - New annotation @CssClass for class member, should render in the HTML markup for that member.

  • ISIS-461 - Provide the ability to run arbitrary fixtures (implementing the applib's InstallableFixture) in integration tests

  • ISIS-463 - scope, respectively)

  • ISIS-468 - Provide better layout management of pages in the Wicket viewer.

  • ISIS-469 - Provide implementations of certain layout facets that read from a "Xxx.layout.properties" file

  • ISIS-470 - Provide the ability to rebuild the metamodel for individual classes, thus allowing dynamic layout capability…​

  • ISIS-475 - Dynamic layout using JSON, using an Xxx.layout.json file

  • ISIS-478 - Provide conditional choices, defaults and validation between action parameters

  • ISIS-484 - Contract test for ensuring that injectXxx methods are final and not overridable

  • ISIS-497 - Allow service actions to be rendered as contributed collections or as contributed properties.

  • ISIS-518 - Support Guava's Predicate API for allMatches etc in the applib; deprecate the Filter<T> API.

  • ISIS-553 - Provide view model support, as sketched out in the Restful Objects spec

  • ISIS-554 - Automatically render a "Dashboard" service (perhaps one annotated with @Dashboard) as an object in the Wicket viewer.

  • ISIS-559 - When a @Bulk action is invoked, an interaction context (available via a ThreadLocal) should provide additional contextual information.

Improvement

  • ISIS-51 - collections/guava or Apache collections)

  • ISIS-74 - Get rid of BoundedFacet (or keep only for information); instead replace with ChoicesFacetBecauseBounded.

  • ISIS-210 - Support parameter choices on contributed actions

  • ISIS-425 - Factor out abstract contract test class to make it easier to write contract tests that apply to all entities.

  • ISIS-428 - JUnitMockery2 should automatically instantiate the @ClassUnderTest

  • ISIS-436 - Extend the ApplicationSettings and UserSettings (read/write and listAll)

  • ISIS-444 - Autocomplete should allow minimum characters to be specified; choices should require no characters to be specified.

  • ISIS-453 - Extend @MemberGroups annotation so that it can provide a hint to lay out properties on either left or right hand side of the page (with respect to Wicket viewer's rendering)

  • ISIS-456 - ResourceServlet should set the contentType for common file types.

  • ISIS-458 - Allow services to be rendered in a different order than listed in isis.properties.

  • ISIS-462 - Improve ValueTypeContractTestAbstract to also test for value types that implement Comparable.

  • ISIS-465 - Provide the ability to reuse FixtureInstallerDelegate to install demo fixtures (in running application).

  • ISIS-474 - able due to user role permission mapping.

  • ISIS-480 - With the new multiple columns for properties, should only be a single edit form, and should also allow collections to "overflow" underneath property columns if need be.

  • ISIS-482 - Allow as "choices" return type any descendant of "Collection"

  • ISIS-485 - Clearer messages for validation exceptions (specially MandatoryExceptions)

  • ISIS-490 - Switch from log4j to using slf4j throughout

  • ISIS-495 - collection

  • ISIS-500 - Make EntityIconAndTitlePanel easier to subclass; minor tidy up ComponentFactory and PageRegistryDefault.

  • ISIS-503 - Refactor the way that members are ordered to allow contributee actions to be ordered within regular actions

  • ISIS-504 - Metamodel validator should throw a violation if discover any properties/collections on a service

  • ISIS-509 - Tidy up and rationalize Util classes in core (and all dependents)

  • ISIS-519 - archived stuff too, the never implemented searchable annotations/interfaces).

  • ISIS-528 - Allow framework to deal with transient objects not instantiated by newTransientInstance. Improve javadoc.

  • ISIS-536 - local

  • ISIS-539 - Allow a reason to be specified in @Disabled annotation

  • ISIS-546 - OID marshalling should allow an '@' symbol for the version.getUser()

  • ISIS-564 - The API for the AuditingService#audit omits the id of the property being changed. Fix this (respecting semver)

  • ISIS-567 - Provide the capability to disable concurrency checking through a global property (in isis.properties)

Bug

  • ISIS-236 - Classes that are not referenced in the DOM aren't found by the specification loader

  • ISIS-435 - Problems with Enums implementing methods on values

  • ISIS-442 - Fix error handling flow in IsisTransaction

  • ISIS-449 - Error handling when transaction aborted incorrect

  • ISIS-451 - Abstract methods (and perhaps synthetic methods) not being filtered out of metamodel

  • ISIS-464 - Some trivial cleanup

  • ISIS-467 - timezone difference issue in date test in org.apache.isis.objectstore.sql.HsqlTest

  • ISIS-531 - "API" classes that are used by danhaywood's wicket extensions, was breaking backward compatibility

  • ISIS-533 - When flushing transaction, allow for fact that flushing might cause additional persistence commands to be created, and iterate.

  • ISIS-545 - Test in error (Unparseable date)

  • ISIS-549 - RegisterEntities has two @PostConstruct methods…​

  • ISIS-565 - NullPointerException on OneToOneAssociation#clearValue

  • ISIS-566 - Concurrency conflict on related entity that has not been edited

Task

  • ISIS-437 - up tasks for Isis 1.3.0 and associated components.

Wicket Viewer

New Feature

  • ISIS-417 - In wicket viewer, provide a 'select all' checkbox on table (for invoking bulk actions)

  • ISIS-419 - sensitive lookups.

  • ISIS-430 - Allow the sort order for SortedSet parented collections to be overridden with a new @SortedBy annotation.

  • ISIS-432 - In the wicket viewer, table columns should be sortable

  • ISIS-433 - specific autoComplete through prefixed methods on actions parameters (cf choices method).

  • ISIS-434 - specific autoComplete through prefixed methods on properties

  • ISIS-443 - Provide the ability to group domain services into logical menus, using @MemberOrder.

  • ISIS-445 - Actions returning blobs or clobs should download as a file.

  • ISIS-447 - In Wicket viewer, distinguish prototype/exploration actions in the app menu

  • ISIS-457 - New annotation @CssClass for class member, should render in the HTML markup for that member.

  • ISIS-468 - Provide better layout management of pages in the Wicket viewer.

  • ISIS-475 - Dynamic layout using JSON, using an Xxx.layout.json file

  • ISIS-478 - Provide conditional choices, defaults and validation between action parameters

  • ISIS-497 - Allow service actions to be rendered as contributed collections or as contributed properties.

  • ISIS-498 - Enhance Wicket's BlobPanel so that, if an image is uploaded as the blob, then it is displayed in thumbnail form.

  • ISIS-553 - Provide view model support, as sketched out in the Restful Objects spec

  • ISIS-554 - Automatically render a "Dashboard" service (perhaps one annotated with @Dashboard) as an object in the Wicket viewer.

  • ISIS-559 - When a @Bulk action is invoked, an interaction context (available via a ThreadLocal) should provide additional contextual information.

Improvement

  • ISIS-416 - Make spinning icon image in Wicket pluggable

  • ISIS-424 - final so can be subclassed.

  • ISIS-444 - Autocomplete should allow minimum characters to be specified; choices should require no characters to be specified.

  • ISIS-453 - Extend @MemberGroups annotation so that it can provide a hint to lay out properties on either left or right hand side of the page (with respect to Wicket viewer's rendering)

  • ISIS-455 - specific CSS.

  • ISIS-473 - Allow operations to individually be specified for "@bookmarkable" behaviour.

  • ISIS-480 - With the new multiple columns for properties, should only be a single edit form, and should also allow collections to "overflow" underneath property columns if need be.

  • ISIS-490 - Switch from log4j to using slf4j throughout

  • ISIS-500 - Make EntityIconAndTitlePanel easier to subclass; minor tidy up ComponentFactory and PageRegistryDefault.

  • ISIS-520 - type cmd line arg.

  • ISIS-521 - Xxx.layout.json is not read for abstract classes (as used for parented collections)

  • ISIS-523 - If max length of title in collections is 0, then suppress the title label also.

  • ISIS-525 - Wicket tags should be stripped by default, overridable with an Isis property.

  • ISIS-527 - focus on first field when edit an object or on action parameter.

  • ISIS-530 - ui

  • ISIS-538 - Improve performance of rendering lists (in Wicket viewer)

  • ISIS-547 - Provide better error logging from the Wicket applicaiton init() method if Isis fails to boot.

  • ISIS-558 - When bulk action is invoked, the action that generated the collection should be resubmitted (so that a full refresh takes place).

Bug

  • ISIS-401 - In wicket viewer, concurrency checking is currently disabled when invoke action on an entity.

  • ISIS-449 - Error handling when transaction aborted incorrect

  • ISIS-502 - wicket componentList order sensitivity

  • ISIS-551 - Not forwarding onto the error page correctly if any of the application actions (ie menus) hit the object store when the transaction has been set to ABORT due to an earlier failure.

  • ISIS-552 - Upgrade to Wicket 6.11.0 and disable HTML5 functionality that caused interference between required text fields and the Wicket viewer's veil.

  • ISIS-560 - When invoking an action, drop downs get cleared (in the UI) if there is a validation error, but the underlying model is set.

  • ISIS-566 - Concurrency conflict on related entity that has not been edited

RestfulObjects Viewer

New Feature

  • ISIS-553 - Provide view model support, as sketched out in the Restful Objects spec

Improvement

  • ISIS-411 - Enhance RO to allow EAGER rendering of properties (as well as collections)

  • ISIS-509 - Tidy up and rationalize Util classes in core (and all dependents)

Bug

  • ISIS-318 - Restful Objects viewer returning 500 instead of 400 when given bad input

  • ISIS-413 - RO representation of entities with a null LocalDate failing with an ClassCastException

  • ISIS-464 - Some trivial cleanup

  • ISIS-479 - Properties not getting updated as per 14.2 in RO Spec

  • ISIS-481 - some links are broken

  • ISIS-496 - a link is broken

  • ISIS-526 - Action Resource Parameters representation

Shiro Security

Improvement

<li>Updated to run against Isis Core 1.3.0 * ISIS-362 - Upgrade to JMock 2.6.0 * ISIS-509 - Tidy up and rationalize Util classes in core (and all dependents)

JDO ObjectStore

New Feature

  • ISIS-322 - Allow JDO objectstore to run on the Google App Engine

  • ISIS-422 - Create Apache Isis API for custom Queries sent to the Objectstore by the PersistenceManager

  • ISIS-427 - specific), with JDO implementation.

  • ISIS-450 - session interaction between entities.

  • ISIS-459 - Enhance IsisJdoSupport service to support integration testing (execute arbitrary SQL, delete all instances of an entity)

  • ISIS-488 - Derive Isis' MandatoryFacet from JDO @Column(allowNulls=) annotation, and provide @Mandatory annotation as override

  • ISIS-553 - Provide view model support, as sketched out in the Restful Objects spec

Improvement

  • ISIS-270 - NotYetImplementedException in JDO objectstore when debug logging enabled

  • ISIS-436 - Extend the ApplicationSettings and UserSettings (read/write and listAll)

  • ISIS-438 - Upgrade to DN 3.2.3 and remove the workaround we had introduced …​

  • ISIS-460 - JDO objectstore should sync adapters on bulk delete.

  • ISIS-509 - Tidy up and rationalize Util classes in core (and all dependents)

  • ISIS-524 - Allow to control the database schema generation using a property in isis.properties file.

  • ISIS-529 - Provide hidden versions of the ApplicationSettingsService and UserSettingsService.

  • ISIS-540 - ExceptionRecognizerForJDODataStoreException is too general…​

  • ISIS-557 - If @javax.jdo.annotations.Column(length=…​) is specified, then should be used to infer the MaxLengthFacet

Bug

  • ISIS-476 - Update JDO/DN to allow for fact that invoking the Persisting callback may have resulted in the target object having already been updated.

  • ISIS-549 - RegisterEntities has two @PostConstruct methods…​

  • ISIS-566 - Concurrency conflict on related entity that has not been edited

Dependency upgrade

  • ISIS-477 - Update JDO/DataNucleus objectstore to DN 3.2.6 and other latest dependencies

  • ISIS-501 - Maven error with DN enhancer: required artifact missing

Task

  • ISIS-437 - up tasks for Isis 1.3.0 and associated components.

1.2.0

Core

New Feature

  • ISIS-323 - Provide the capability to publish events, either changed objects or invoked actions

  • ISIS-327 - Initialize and shutdown domain services

  • ISIS-344 - Automatically exclude "parent references" from parented collections.

  • ISIS-351 - fatal, for rendering to the user.

  • ISIS-356 - Allow 'inject' to be used as a prefix for injecting services into entities, fixtures or other services.

  • ISIS-360 - About page on wicket viewer should show version, build number and other details.

  • ISIS-367 - Refactor to support JTA transactions

  • ISIS-377 - Publishing Service implementation that writes to a queue (using JDO).

  • ISIS-378 - a service for prototyping that allows access into the internals of the Isis runtime

  • ISIS-380 - Enhance BookmarkService API to allow objects to be looked up directly (rather than by dint of a BookmarkHolder)

  • ISIS-407 - Annotation to automatically adjust end dates of ranges so that they are shown as inclusive vs exclusive.

  • ISIS-409 - Move the 'wrapper' progmodel component into core, reworked as an optional service

Improvement

  • ISIS-208 - If two services accidentally have the same Id, then should throw an exception.

  • ISIS-326 - Make Datanucleus JNDI aware

  • ISIS-330 - Wicket viewer calls choices method while figuring out how to render properties. Should call less often (if not at all).

  • ISIS-331 - Explicitly specify project.build.sourceEncoding for both Isis and the quickstart archetype

  • ISIS-343 - Introduce @Render annotation and deprecate @Resolve

  • ISIS-345 - Move the Bookmark service in the applib to a different package

  • ISIS-353 - compareTo methods (when implement Comparable) should be automatically hidden

  • ISIS-358 - Should be able to delete objects even if they are not versioned.

  • ISIS-362 - Upgrade to JMock 2.6.0

  • ISIS-364 - Suppress components of title when rendered in a parented collection.

  • ISIS-366 - Core unit testing support JUnitRuleMockery2 does not support autoinjection of setters

  • ISIS-386 - Provide the ability to force a reload of an object by the JDO objectstore, and provide a domain service for clients.

  • ISIS-387 - Enhance PublishingService and AuditingService for created and deleted objects (as well as just updated objects).

  • ISIS-396 - Wicket/JDO handling of BigDecimal properties should honour the @Column's scale attribute.

  • ISIS-397 - Change default AuditingService impl to write to stderr, not stdout

  • ISIS-398 - Extend applib's Clock interface to also return time as Joda LocalDate or LocalDateTime

  • ISIS-403 - Improve the bookmarks in the Wicket viewer.

Bug

  • ISIS-359 - arg…​

  • ISIS-408 - persistable properties (annotated with @NotPersisted).

Wicket Viewer

New Feature

  • ISIS-328 - Wicket viewer should shutdown Isis core on completion

  • ISIS-344 - Automatically exclude "parent references" from parented collections.

  • ISIS-351 - fatal, for rendering to the user.

  • ISIS-360 - About page on wicket viewer should show version, build number and other details.

  • ISIS-363 - Wicket viewer should abbreviate title to different lengths for parented vs standalone collections.

  • ISIS-384 - Provide automatic totalling of collections.

  • ISIS-400 - In the wicket viewer, allow actions to be associated with properties (similar to how this can be done with collections)

  • ISIS-407 - Annotation to automatically adjust end dates of ranges so that they are shown as inclusive vs exclusive.

Improvement

  • ISIS-314 - The wicket viewer should honour precision and scale when rendering BigDecimal values.

  • ISIS-320 - Be more verbose when wicket page fails to render

  • ISIS-330 - Wicket viewer calls choices method while figuring out how to render properties. Should call less often (if not at all).

  • ISIS-335 - Don't include (or perhaps abbreviate) the title text in collections

  • ISIS-337 - Reduce size of font in breadcrumbs

  • ISIS-338 - Right align number fields (byte, short, int, long, float, double, BigInteger, BigDecimal)

  • ISIS-339 - Wicket Autocomplete should only fire if at least 1 character has been entered.

  • ISIS-340 - Wicket viewer bookmarks should show icon as well as title

  • ISIS-343 - Introduce @Render annotation and deprecate @Resolve

  • ISIS-349 - Show notifications, warning messages and error messages in Wicket

  • ISIS-350 - Provide a fallback error page in case of runtime exception being thrown.

  • ISIS-357 - Gracefully handle objects that have been deleted.

  • ISIS-362 - Upgrade to JMock 2.6.0

  • ISIS-364 - Suppress components of title when rendered in a parented collection.

  • ISIS-365 - Should not add same object to bookmarks (breadcrumbs) twice if its title has changed.

  • ISIS-392 - In Wicket, provide a datepicker for all of the date/datetime value types.

  • ISIS-393 - Upgrade to Wicket 6.7.0

  • ISIS-394 - Use JQuery UI date picker rather than the YUI picker.

  • ISIS-395 - Allow Wicket viewer's date pattern to be globally configurable

  • ISIS-396 - Wicket/JDO handling of BigDecimal properties should honour the @Column's scale attribute.

  • ISIS-403 - Improve the bookmarks in the Wicket viewer.

Bug

  • ISIS-295 - NullPointerException when view aggregated entity using Wicket viewer

  • ISIS-321 - gracefully handle any constraint violation thrown by the DataNucleus persistence mechanism (to be handled by JDO ObjectStore & Wicket)

  • ISIS-334 - method String iconName() is never called in entities

  • ISIS-336 - Fix CSS for Wicket viewer so that disabled application actions (on menu bar) are shown greyed out.

  • ISIS-341 - if search and get no results, then click on the OK, then get a stack trace

  • ISIS-342 - Bootstrapping Wicket application should load supplementary config files for viewers.

  • ISIS-354 - Issues with Wicket viewer and tck examples

  • ISIS-359 - arg…​

  • ISIS-382 - Quickly pressing enter multiple times on an object form creates multiple instances.

  • ISIS-385 - In the wicket viewer, actions rendered by collections are never shown as disabled.

  • ISIS-388 - Bulk actions in Wicket viewer not correctly redirecting to error page if an unexpected error occurs

  • ISIS-390 - Fix NPE in Wicket viewer if tries to render an action that is invisible.

  • ISIS-402 - Wicket viewer, show bulk actions for prototype or exploring modes.

RestfulObjects Viewer

New Feature

  • ISIS-323 - Provide the capability to publish events, either changed objects or invoked actions

  • ISIS-410 - RO viewer support @Render(EAGERLY) for collections

Improvement

  • ISIS-233 - viewer up to RO spec 1.0.0

  • ISIS-362 - Upgrade to JMock 2.6.0

  • ISIS-387 - Enhance PublishingService and AuditingService for created and deleted objects (as well as just updated objects).

1.1.0

Core

New Feature

  • ISIS-282 - Add support for file uploads and downloads to Wicket viewer and JDO objectstore

  • ISIS-304 - arg, no business rules) do not appear.

Improvement

  • ISIS-305 - compareTo methods (when implement Comparable) should be automatically hidden

Bug

  • ISIS-207 - Improve the message given when a field is too long (exceeds its @MaxLength value)

  • ISIS-312 - Guard in BaseFixture to allow fixtures to load in production mode was faulty

Wicket Viewer

New Feature

  • ISIS-282 - Add support for file uploads and downloads to Wicket viewer and JDO objectstore

  • ISIS-304 - arg, no business rules) do not appear.

Improvement

  • ISIS-308 - Don't show (null) for a property or a parameter that has no reference (instead show an empty string)

  • ISIS-309 - Minor fixes to support extensions to Wicket viewer.

  • ISIS-315 - INF

Bug

  • ISIS-300 - The home page link in Wicket viewer goes to root context "/", rather than to the base of the webapp.

RestfulObjects Viewer

New Feature

  • ISIS-323 - Provide the capability to publish events, either changed objects or invoked actions

  • ISIS-410 - RO viewer support @Render(EAGERLY) for collections

Improvement

  • ISIS-233 - viewer up to RO spec 1.0.0

  • ISIS-362 - Upgrade to JMock 2.6.0

  • ISIS-387 - Enhance PublishingService and AuditingService for created and deleted objects (as well as just updated objects).

Shiro Security

New Feature

  • ISIS-307 - Allow groups to be mapped to roles (eg AD groups to logically internal application roles)

Improvement

  • ISIS-298 - Provide a shiro Realm implementation that supports looking up roles from an LDAP server.

Bug

  • ISIS-306 - Parsing permission strings should trim both before and after.

JDO ObjectStore

New Feature

  • ISIS-370 - Provide a service to allow all @PersistenceCapable entities to be eagerly registered with Isis (and therefore with DataNucleus)

  • ISIS-377 - Publishing Service implementation that writes to a queue (using JDO).

  • ISIS-379 - Move AuditingService out of the ToDo app demo and into JDO objectstore as a service impl.

Improvement

  • ISIS-270 - NotYetImplementedException in JDO objectstore when debug logging enabled

  • ISIS-326 - Make Datanucleus JNDI aware

  • ISIS-362 - Upgrade to JMock 2.6.0

  • ISIS-376 - Enhance JDO objectstore to also support IdentityType.APPLICATION (as well as DATASTORE)

  • ISIS-386 - Provide the ability to force a reload of an object by the JDO objectstore, and provide a domain service for clients.

  • ISIS-387 - Enhance PublishingService and AuditingService for created and deleted objects (as well as just updated objects).

  • ISIS-389 - Ensure that objects lazily loaded by JDO/DataNucleus get domain services injected into them consistently.

  • ISIS-391 - Upgrade JDO objectstore to Datanucleus 3.2.1

  • ISIS-396 - Wicket/JDO handling of BigDecimal properties should honour the @Column's scale attribute.

  • ISIS-303 - Migration of DataNucleus (DN) type support to use DN v3.2 standard

Bug

  • ISIS-296 - wicket viewer display ??? ENTITYMODEL OBJECTADAPTER OID: NULL when view a root entity's collection member which data type is primitive String.

  • ISIS-301 - Error when using class name as discriminator strategy

  • ISIS-302 - Ensure related items are mapped into pojo (possible eager loading of parent/child relationship)

  • ISIS-321 - gracefully handle any constraint violation thrown by the DataNucleus persistence mechanism (to be handled by JDO ObjectStore & Wicket)

1.0.1

Shiro Security

New Feature

  • ISIS-290 - Use shiro for security (implementation of Authentication and Authorization Manager)

1.0.0

Core

New Feature

  • ISIS-240 - Provide a bookmark service in order to lookup any object

  • ISIS-242 - Provide support for JODA LocalDate and LocalDateTime as value types.

  • ISIS-250 - Change MetaModelValidator such that multiple validation errors can be reported in a single shot…​.

  • ISIS-263 - Introduce a new @CommonlyUsed annotation as a hint for the UI. To be implemented by Wicket viewer (as a minimum)

  • ISIS-264 - side paging as a minimum). Implement in Wicket as a minimum

Improvement

  • ISIS-89 - Finish off updating documentation post the first (pre 1.0) release of Isis.

  • ISIS-131 - Archive off (and no longer support) the default runtime's client/server remoting

  • ISIS-188 - 1.0.0 release.

  • ISIS-192 - based authorization

  • ISIS-202 - Rename @Stable to @ViewModel

  • ISIS-203 - Improve the logging at startup

  • ISIS-216 - describing (ie make OidWithSpecification the norm, using an ObjectTypeFacet as a way of determining the type).

  • ISIS-227 - exist better.

  • ISIS-228 - Use JUnit categories to distinguish between tests that can be run on CI server and those that cannot.

  • ISIS-243 - Remove the Maybe type from the Isis applib.

  • ISIS-245 - Collapse the Version hierarchy

  • ISIS-248 - Perform concurrency checking within the persistor (rather than rely on every viewer/client to do the check)

  • ISIS-252 - Use enums instead of booleans in FacetFactory's/Facets/ValueSemanticsProvider

  • ISIS-253 - Get rid of DateValueFacet#getLevel(), since unused

  • ISIS-257 - Remove the @Executed annotation from the applib (and corresponding metadata stuff) since remoting no longer supported.

  • ISIS-258 - Extend @Hidden and @Disabled to specify Where the object member should be hidden/disabled.

  • ISIS-259 - Replace @QueryOnly and @Idempotent with a new @ActionSemantics annotation.

  • ISIS-260 - If a property is annotated as @Title, then by default it should not appear as a column in tables.

  • ISIS-261 - Remove obsolete code (Enumeration interface, AnnotationBasedFacetFactory)

  • ISIS-262 - Real composite for ResourceSourceStream

  • ISIS-267 - Handle "recreating" object adapters which are already resolved

  • ISIS-274 - Simplify the bootstrapping of Isis so that there are fewer configuration properties to set in isis.properties

  • ISIS-280 - More consistent support for @Prototype and @Exploration, by utilizing the existing HidingInteractionAdvisor API

  • ISIS-281 - Provide support for integration testing using a JUnit rule.

  • ISIS-283 - Provide the ability to use fixtures as domain objects, eg within demo apps

  • ISIS-285 - Add additional MetaModelValidators so that orphaned prefixes are treated as a validation error.

  • ISIS-286 - Make sure pending changes are stored before issuing a query

  • ISIS-288 - During start up the configuration files are read in repeatedly making it confusing to track down configuration issues

Bug

  • ISIS-184 - PasswordValueSemanticsProvider.doEncode threw exception when I provided a defaultXXX method

  • ISIS-255 - Test in Runtime TestSupport component fails due to TimeZone

  • ISIS-265 - NullPointerException when storing new objects

  • ISIS-266 - BoundedFacetAbstract was invalidating using disabledReason()

Wicket Viewer

New Feature

  • ISIS-232 - General improvements to the Wicket viewer

  • ISIS-263 - Introduce a new @CommonlyUsed annotation as a hint for the UI. To be implemented by Wicket viewer (as a minimum)

  • ISIS-264 - side paging as a minimum). Implement in Wicket as a minimum

Improvement

  • ISIS-239 - Add support for MultiLine facet in Wicket viewer

  • ISIS-244 - Hide properties in tables that are statically invisible within the Wicket viewer

  • ISIS-251 - Implement concurrency exception handling in Wicket viewer

Bug

  • ISIS-287 - BigInteger types throw error in Wicket viewer

Wish

  • ISIS-271 - the option to overrule properties distributed as part of the application (read external properties)

RestfulObjects Viewer

Improvement

Bug

  • ISIS-256 - NullPointerReference exceptions when attempting to persist an object

JDO ObjectStore

New Feature

  • ISIS-14 - Add JDO 3.1 object store in order to support any datastore

Improvement

Migration Notes

Upgrading to DataNucleus 4 (in 1.9.0-SNAPSHOT)

Isis 1.9.0 updates to DataNucleus 4.0.0, which requires some changes (simplifications) to the Maven configuration.

If you starting a new app then you can start from the [SimpleApp archetype]; its Maven configuration has been updated.

If you have an existing Isis app that you want to upgrade, then you’ll need to make some changes.

In the parent pom.xml

under the <project>/<properties>, remove:

<!-- must be consistent with the versions defined by the JDO Objectstore -->
<datanucleus-accessplatform-jdo-rdbms.version>3.3.6</datanucleus-accessplatform-jdo-rdbms.version>
<datanucleus-maven-plugin.version>3.3.2</datanucleus-maven-plugin.version>

In dom/pom.xml,

under <build>/<plugins>, remove:

<plugin>
    <groupId>org.datanucleus</groupId>
    <artifactId>datanucleus-maven-plugin</artifactId>
    <version>${datanucleus-maven-plugin.version}</version>
    <configuration>
        <fork>false</fork>
        <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
        <verbose>true</verbose>
        <props>${basedir}/datanucleus.properties</props>
    </configuration>
    <executions>
        <execution>
            <phase>compile</phase>
            <goals>
                <goal>enhance</goal>
            </goals>
        </execution>
    </executions>
</plugin>

and (if you have it) under <build>/<pluginManagement>/<plugins>, remove:

<!--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>
                            [3.2.0-release,)
                        </versionRange>
                        <goals>
                            <goal>enhance</goal>
                        </goals>
                    </pluginExecutionFilter>
                    <action>
                        <ignore></ignore>
                    </action>
                </pluginExecution>
            </pluginExecutions>
        </lifecycleMappingMetadata>
    </configuration>
</plugin>

and instead in <profiles> add:

<profile>
    <id>enhance</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <datanucleus-maven-plugin.version>4.0.0-release</datanucleus-maven-plugin.version>
    </properties>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                    <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>[${datanucleus-maven-plugin.version},)</versionRange>
                                        <goals>
                                            <goal>enhance</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore></ignore>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.datanucleus</groupId>
                <artifactId>datanucleus-maven-plugin</artifactId>
                <version>${datanucleus-maven-plugin.version}</version>
                <configuration>
                    <fork>false</fork>
                    <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
                    <verbose>true</verbose>
                    <props>${basedir}/datanucleus.properties</props>
                </configuration>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>enhance</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-jodatime</artifactId>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-api-jdo</artifactId>
        </dependency>
    </dependencies>
</profile>

If you don’t use Eclipse then you can omit the org.eclipse.m2e plugin in <pluginManagement>.

In the webapp’s persistor_datanucleus.properties

in src/main/webapp/WEB-INF/,

change:

isis.persistor.datanucleus.impl.datanucleus.autoCreateSchema=true
isis.persistor.datanucleus.impl.datanucleus.validateTables=true
isis.persistor.datanucleus.impl.datanucleus.validateConstraints=true

to:

isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true
isis.persistor.datanucleus.impl.datanucleus.schema.validateTables=true
isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true

and change:

isis.persistor.datanucleus.impl.datanucleus.identifier.case=PreserveCase

to:

isis.persistor.datanucleus.impl.datanucleus.identifier.case=MixedCase

Be careful to ensure that your classes are only enhanced by the DataNucleus 4 enhancer, and not by the DataNucleus 3 enhancer. Or even, be careful that they are not doubly enhanced. One of our committers had this situation and it led to all sorts of bizarre issues. The solution, it turned out, was actually just to do a full mvn clean.

If you are struggling and suspect you may have misconfigured the enhancer plugin, then you can decompile the bytecode (eg in IntelliJ) and take a look:

  • A class enhanced with DataNucleus 3 would implement javax.jdo.spi.PersistenceCapable interface

  • A class enhanced with DataNucleus 4 will implement org.datanucleus.enhancer.Persistable.

Upgrading to Java 8 (1.9.0-SNAPSHOT and later)

Apache Isis 1.9.0-SNAPSHOT is the first version to support Java 8. You can continue to use Java 7, but if you want to move to Java 8 then there are several small changes to be made.

In the parent pom.xml

under <build>/<pluginManagement>/<plugins>, add (or update) maven-enforcer-plugin:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <compilerArgument>-parameters</compilerArgument>
    </configuration>
    <executions>
        <execution>
            <id>source</id>
            <phase>compile</phase>
        </execution>
        <execution>
            <id>test</id>
            <phase>test-compile</phase>
        </execution>
    </executions>
</plugin>

The -parameters argument causes the Java compiler to capture the names of method parameters in the .class files. Isis can be configured to use this, thereby avoiding the requirement to annotate every parameter with @ParameterLayout(named=…​) or @Named(). The necessary configuration is provided in an Isis addons' paraname8 metamodel extension (non-ASF).

We also recommend that you add the maven-enforcer-plugin (if not used already). Again, this resides under <build>/<pluginManagement>/<plugins>:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.3.1</version>
    <configuration>
        <rules>
            <requireMavenVersion>
                <version>[3.2.1,)</version>
            </requireMavenVersion>
            <requireJavaVersion>
                <version>[1.8.0,)</version>
            </requireJavaVersion>
            <requirePluginVersions>
                <message>All plugin versions must be defined!</message>
                <banLatest>true</banLatest>
                <banRelease>true</banRelease>
            </requirePluginVersions>
            <DependencyConvergence />
        </rules>
    </configuration>
    <executions>
        <execution>
            <id>validate-enforce</id>
            <phase>validate</phase>
            <goals>
                <goal>enforce</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Migrating from v1.7.0 to 1.8.0

Existing projects written against v1.7.0 should run against v1.8.0 without any changes. In particular (unlike 1.6.0 and 1.7.0) there should be no need to update pom.xml files of existing projects. If you do encounter any difficulties then let us know via the [users mailing list](../../support.html), so we can support you and document issues here.

That said, many of the existing annotations have been deprecated in 1.8.0, replaced with a simplified and rationalized set of annotations; see [here](../../reference/recognized-annotations/about.html). To help you migrate your application over to the new annotations, there is a new configuration property that can be set in isis.properties:

isis.reflector.validator.allowDeprecated=false

If this flag is present and set to false, then metamodel validation errors will be thrown on startup if any deprecated annotations are encountered. These can be viewed either in the console or by browsing to the app (an error page will be displayed).

Migrating from v1.6.0 to 1.7.0

In v1.7.0 we’ve continued the work started in v1.6.0 in modularizing the framework. The most important change to note is that all Isis core modules (with the Maven groupId of org.apache.isis.module have now MOVED to [http://www.isisaddons.org](Isis Addons).

In addition, we’ve retired some obsolete (and unused) functionality, specifically the ProfileStore component.

To move up amounts to changing POM files and, where required, updating package names for any referenced modules.

Reorganized 'modules'

The following modules are no longer released as part of Isis core and have moved to Isis Addons (or in one case, back into Isis core).

Minor changes are required to pom.xml files and (in some cases) to isis.properties config file.

In one or two exceptional cases it may be necessary to fix up import statements if there are reference to changed package/class names in code (most likely any dependency on the devutils module or settings module).

Audit module

In pom.xml, replace:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-audit-jdo</artifactId>
</dependency>

with:

<dependency>
    <groupId>org.isisaddons.module.audit</groupId>
    <artifactId>isis-module-audit-dom</artifactId>
</dependency>

If necessary, also update any services registered in isis.properties (package/class names may have changed slightly).

Command module

In pom.xml, replace:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-command-jdo</artifactId>
</dependency>

with:

<dependency>
    <groupId>org.isisaddons.module.command</groupId>
    <artifactId>isis-module-command-dom</artifactId>
</dependency>

If necessary, also update any services registered in isis.properties (package/class names may have changed slightly).

DevUtils module

In pom.xml, replace:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-devutils-applib</artifactId>
</dependency>

with:

<dependency>
    <groupId>org.isisaddons.module.devutils</groupId>
    <artifactId>isis-module-devutils-dom</artifactId>
</dependency>

Remove any references to:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-devutils</artifactId>
</dependency>

or to:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-devutils-impl</artifactId>
</dependency>

These modules are no longer required (the org.apache.isis.module:isis-module-devutils-applib and org.apache.isis.module:isis-module-devutils-impl submodules have been combined into the new org.isisaddons.module.devutils:isis-module-devutils-dom module).

If necessary, also update any services registered in isis.properties (package/class names may have changed slightly).

Publishing module

In pom.xml, replace:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-publishing-jdo</artifactId>
</dependency>

with:

<dependency>
    <groupId>org.isisaddons.module.publishing</groupId>
    <artifactId>isis-module-publishing-dom</artifactId>
</dependency>

If necessary, also update any services registered in isis.properties (package/class names may have changed slightly).

Publishing Event Serializer RO module

Remove any references to:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-publishingeventserializer-ro</artifactId>
</dependency>

This module has been merged with org.isisaddons.module.publishing:isis-module-publishing-dom, above.

Settings module

In pom.xml, replace:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-settings-applib</artifactId>
</dependency>

with:

<dependency>
    <groupId>org.isisaddons.module.settings</groupId>
    <artifactId>isis-module-settings-dom</artifactId>
</dependency>

Remove any references to:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-settings</artifactId>
</dependency>

or to:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-settings-impl</artifactId>
</dependency>

These modules are no longer required (the org.apache.isis.module:isis-module-settings-applib and org.apache.isis.module:isis-module-settings-impl submodules have been combined into the new org.isisaddons.module.settings:isis-module-settings-dom module).

If necessary, also update any services registered in isis.properties (package/class names may have changed slightly).

Background module

In pom.xml, remove:

<dependency>
    <groupId>org.apache.isis.module</groupId>
    <artifactId>isis-module-background</artifactId>
</dependency>

The service classes have been moved into existing org.apache.isis.core:isis-core-runtime Maven module (that is, already be referenced in the pom.xml).

If necessary, also update any services registered in isis.properties (package/class names may have changed slightly).

Retired ProfileStore component

As per <a href='https://issues.apache.org/jira/browse/ISIS-802'>ISIS-802</a>, the ProfileStore component has been removed. This functionality was not surfaced or available in the Wicket or Restful Objects viewers, so there is no meaningful loss of functionality. However, Maven pom.xml files will require updating:

Specifically, remove any dependencies on org.apache.isis:isis-core-profilestore:

<dependency>
    <groupId>org.apache.isis.core</groupId>
    <artifactId>isis-core-profilestore</artifactId>
</dependency>

A number of corresponding classes/interfaces have also been removed from the Isis applib:

  • org.apache.isis.applib.fixtures.userprofile.UserProfileService

  • org.apache.isis.applib.fixtures.userprofile.UserProfileServiceAware

  • org.apache.isis.applib.fixtures.UserProfileFixture

  • org.apache.isis.applib.profiles.Profile

  • org.apache.isis.applib.profiles.Perspective

It is highly unlikely that any existing production code references these classes.


Copyright © 2010~2015 The Apache Software Foundation, licensed under the Apache License, v2.0.
Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.

-->