<
Fork me on GitHub

Summary

This table summarises all releases of Apache Isis to date.

Version

Date

Components

Notes

Features

Improves

Bugs

1.11.1

17-jan-2016

Re-release under Java 1.7 (using toolchains plugin).

0

0

1

1.11.0

02-jan-2016

More flexible REST API, view models using JAXB.

9

19

12

1.10.0

10-nov-2015

New domain services, multi-tenancy support and mixins.

7

18

12

1.9.0

1-sep-2015

AppManifest, Restful Objects representations and other "under-the-cover" improvements.

18

50

25

1.8.0

24-feb-2015

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

27

41

20

1.7.0

18-oct-2014

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

4

9

20

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).

6

12

15

1.5.0

08-jun-2014

No longer releasing security-file

3

19

13

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

0

2

2

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

56

62

26

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

0

3

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.

52

61

30

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

22

41

15

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

9

18

8

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

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

8

33

6

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.11.1

Apache Isis 1.11.1 is a bug fix release for Apache Isis 1.11.0, re-releasing using Java 7.

Apache Isis is intended to be compatible with both Java 7 and Java 8. However, it was found that v1.11.0 used a number of Java 8 APIs. This release fixes this issue.

Bug

1.11.0

The main focus for Apache Isis 1.11.0 is on the REST API and on view models using JAXB:

  • the Restful Objects viewer now supports simplified representations intended to make it easier to write custom Javascript (and other) clients that consume the REST API; these are obtained using the HTTP Accept header. There is also support for Swagger spec files so that the REST API can be more easily explored and tested.

    In addition, the x-ro-follow-links capability for RO spec representations is now supported.

  • JAXB-annotated classes are now recognised as view models; these also enable the contents collections to be part of the view model’s state (previously only view model properties were recognised). The new UrlEncodingService allows long URLs (for view models) to be converted into shorter URLs; this also allows the URL to optionally be encrypted.

The release also includes improved control for domain events (these can now be suppressed if required) , and a new category of UI events (so that titles, icons and CSS classes can be provided by event bus subscribers).

New Feature

  • ISIS-1279 - AcceptHeaderService for application-defined content negotiation.

  • ISIS-1274 - ContentNegotiationService for simplified representations for custom RO clients

  • ISIS-1262 - Provide mixin to allow the JDO metadata to be downloaded for any Persistable.

  • ISIS-1258 - Extend the Isis maven plugin to be able to generate XSD schemas using the JaxbService

  • ISIS-1252 - New TitleUiEvent, IconUiEvent and CssClassUiEvent as a means to allow subscribers to provide a title for domain objects.

  • ISIS-1251 - UrlEncodingService as a plugin point for serializing mementos into a URL-friendly string.

  • ISIS-1250 - JaxbService to marshall DTOs to XML.

  • ISIS-1217 - Formatting text inside a text field

  • ISIS-666 - Provide the ablity to return (and render) a different object when an action is invoked.

Improvement

  • ISIS-1275 - Configuration property for RO viewer to relax Accept header checking.

  • ISIS-1273 - Enhance RO viewer so that the default RO v1 representations are implemented as a ContentNegotiationService

  • ISIS-1269 - Deleting an object from a list can cause NPE when that list is re-rendered.

  • ISIS-1259 - For derived parameter names from nested inner classes, ignore the parent out class

  • ISIS-1257 - Allow @Title to be added as an annotation to fields.

  • ISIS-1255 - Provide configuration property so that domain events set to Xxx.Default are either ignored (like the Noop) or are posted anyway.

  • ISIS-1254 - Disable action/property/collection events if set to Noop domain events

  • ISIS-1249 - Annotate AbstractSubscriber with @DomainServiceLayout(menuOrder=…​) so that this is picked up by default by all implementations.

  • ISIS-1246 - Better diagnostics on NPE

  • ISIS-1245 - During bootstrap, ensure that any @PersistenceCapable entities found on classpath also implement PersistenceCapable interface (ie that the DN enhancer has run).

  • ISIS-1241 - Providing better feedback when RegEx validation does not match pattern

  • ISIS-1237 - Integrate with swagger for REST APIs

  • ISIS-1232 - Enhance RO viewer to support section 34.4 of RO v1.0 spec (x-ro-follow-links)

  • ISIS-1220 - Methods annotated with @Subscribe should automatically be ignored (as per @Programmatic).

  • ISIS-1117 - Allow using "marker" view models

  • ISIS-1093 - Integrate Wicket’s i18n requirements with Isis' TranslationPoService.

  • ISIS-1084 - Reduce PoReader messages in the log

  • ISIS-1070 - Add header and handle double quotes in translations.pot file

  • ISIS-803 - Replace lifecycle methods with additional EventBus events.

Bug

  • ISIS-1283 - SAFE_AND_CACHEABLE semantics caches incorrectly, works for domain services (stateless) but not for domain entities (where stateful target determines result)

  • ISIS-1278 - Title of choices lnks in RO failing, called incorrectly.

  • ISIS-1253 - Default title for enums is not friendly name

  • ISIS-1244 - RO POST to "objects of type" resource should return a 201, not a 200.

  • ISIS-1242 - Breadcrumbs broken if change the title…​. the drop-down never displays elements

  • ISIS-1227 - in edit mode, when there are validation errors, these are not showing up for the individual properties, instead for the object-level validation.

  • ISIS-1221 - JSON Format Layouts not recognized with i18n translations in Wicket Viewer

  • ISIS-1202 - Mandatory dropdown field doesn’t show asterisk

  • ISIS-1193 - void actions return 404 Not Found when called through restful viewer

  • ISIS-1185 - [CAN’T REPRODUCE] 'Ok' and 'Cancel' buttons in edit mode are both appearing as 'Submit Query'

  • ISIS-1128 - 'namedEscaped' is broken when 'named' comes from a translation.po

  • ISIS-915 - Framework should transparently allow view models to reference other view models.

Task

1.10.0

Apache Isis 1.10.0 provides a couple of new domain services. Client-side filtering of objects (eg to support (non-ASF) Isis addons' security module’s multi-tenancy support) is completed so that autocomplete//choices, summary totals and components such as (non-ASF) Isis addons' gmap3 wicket extension show only filtered objects. The "are you sure" semantic and corresponding UI is also available, as well as the ability to specify the default view for collections. The release also introduces a new type of contribution service (mixins), as well as bringing in support for Project Lombok

Internally there have been substantial simplifications to the codebase.

New Feature

  • ISIS-1215 - New MultipleExecutionStrategy for fixture scripts to use value semantics for determining whether to run a fixture script invoked more than once.

  • ISIS-1213 - Provide support for @Mixin domain objects, as a specialized type of contributor (though not a domain service)

  • ISIS-1210 - Provide an SPI service for handling exception stack traces, rather than just render to the end-user

  • ISIS-1205 - Support @Inject on List<T> or Collection<T>

  • ISIS-1007 - Provide support for "are you sure" idiom, eg using a @AreYouSure annotation on the action

  • ISIS-1005 - Allow users to implement an optional service to perform pre-commit processing ("ChangedObjectService")

  • ISIS-867 - Domain service to automatically maintain lastUpdatedAt and lastUpdatedBy on any entity.

Improvement

  • ISIS-1231 - Add jdeps to build as optional profile, to verify use of internal JDK jars.

  • ISIS-1222 - Inject services into command objects.

  • ISIS-1218 - Allow autoComplete supporting method to return a Collection as well as a List or array.

  • ISIS-1216 - Update Wicket Bootstrap to 0.9.13 (once available) as a better fix to the checkbox issue

  • ISIS-1211 - Provide no-arg versions of domain events, to avoid boilerplate in the domain applications themselves.

  • ISIS-1207 - Extend concurrency checking support for time-stamp based checks (per JDO’s @Version annotation)

  • ISIS-1197 - Extend the ContributeeMember internal API so that the devutils addon can report on the which service contributes which members

  • ISIS-1194 - Remove dead code, remove support for @Aggregated, for isDirty/clearDirty/markDirty.

  • ISIS-1189 - Autocomplete and choices should filter results so that hidden objects are not shown.

  • ISIS-1186 - Use different classpath scanner to reduce time to boot.

  • ISIS-1184 - Auto-inject services into Specification, ie @Property(mustSatisfy=…​) etc

  • ISIS-1151 - Allow the default view of a collection to be set

  • ISIS-1092 - Add OWASP Dependency Check maven plugin

  • ISIS-1044 - Table counts and gmap3/fullcalendar2 do not honour any vetoing, eg by subscribers or WithApplicationTenancy

  • ISIS-1009 - Call a @PostConstruct callback for view models

  • ISIS-534 - Does JDO Objectstore ever need to create DataNucleusUpdateObjectCommand commands?

  • ISIS-348 - Update Wicket viewer to support @Aggregated domain objects

  • ISIS-273 - Update annotation-based facet factories to read from fields, such that tools like Lombok can be supported

Bug

  • ISIS-1229 - Calling nextRequest() in an integration test should clear any @RequestScoped services.

  • ISIS-1226 - Drop-down breadcrumbs broken.

  • ISIS-1214 - Three state checkbox doesn’t work

  • ISIS-1208 - Can’t bootstrap without the wicket viewer (issue with Guice / AppManifest)

  • ISIS-1204 - The title of certain joda dates (eg LocalDate) is incorrect as per container.titleOf(…​)

  • ISIS-1203 - fixture scripts not found unless using an appManifest

  • ISIS-1201 - autoComplete support fails validation when using Collection<T> as return type

  • ISIS-1020 - upgrade select2 to v3.5.2 (was: Dropdown window opens top left of the screen)

  • ISIS-847 - RegisterEntities isn’t called prior to the metamodel validation, thus we currently rely on priming the metamodel through the services…​ not good.

  • ISIS-830 - Wire up JDO events to publish onto our EventBus (rather than publish our own events).

  • ISIS-829 - updating() callback not firing on edit

  • ISIS-325 - Field validation annotations should be on setters or fields instead of on the getters.

Task

Dependency upgrade

  • ISIS-1061 - Upgrade Wicket to 6.19.0 (or rather, 6.20.0 when released since we found issues with 6.19.0).

Superceded

  • ISIS-721 - For 2.0.0, should we remove the ObjectStore API and standardize on the JDO Objectstore

  • ISIS-725 - For 2.0.0, should we remove the ProfileStore?

Not implemented (tidying up backlog)

  • ISIS-513 - Wicket: Pdf.js display in browser natively

  • ISIS-508 - Integrate with d3js.org (for what, I don’t know exactly…​)

  • ISIS-383 - For GSOC, integrate Apache Lucene with Apache Isis as a generic text search engine

  • ISIS-374 - [GSOC2013] A generic Naked Objects app written using Javascript/Coffeescript (optionally using Apache Cordova), running against Isis' Restful Objects interface.

  • ISIS-373 - [Mentored?] A generic Naked Objects app written using Apache Flex, running against Isis' Restful Objects interface.

  • ISIS-371 - [GSOC2013] A generic (Naked Objects) Android app, to run against Isis' Restful Objects interface.

  • ISIS-369 - For GSOC: Kemble: A domain-specific language aligned with the Apache Isis programming conventions.

  • ISIS-218 - Allow file authorizor whitelist to default to "allowed"

  • ISIS-742 - For GSOC, develop an integration with zapier or ittt, for app automation.

  • ISIS-740 - For GSOC, to write a clean-room implementation of a JDO enhancer, as a replacement for the DN one, and that ideally integrates with the JRebel plugin

  • ISIS-739 - For GSOC, to develop an oAuth integration

  • ISIS-737 - For GSOC, develop screencasts for all the various features that we have

1.9.0

Apache Isis 1.9.0 provides various new "under-the-cover" features, such as AppManifest for simplified bootstrapping, and content negotiation support within RestfulObjects viewer. It also updates the DataNucleus version to DN 4.1.x.

This release was also the first to include the updated Asciidoc website.

New Feature

  • ISIS-1167 - NullPrintStream in unittestsupport to reduce the noise of unit tests that log to stdout or stderr

  • ISIS-1166 - Support for unit testing using SOAP fake servers

  • ISIS-1165 - "Schema" module to support integration scenarios.

  • ISIS-1164 - For RO viewer content negotiation (via XRoDomainType), if in prototype mode then pretty-print.

  • ISIS-1159 - Make ExceptionRecognizerCompositeForJdoObjectStore into a @DomainService, so automatically registered.

  • ISIS-1149 - New ContentNegotiationService and ContentMappingService SPIs for Restful Objects viewer

  • ISIS-1148 - Extend DomainObjectContainer to allow services to be looked up

  • ISIS-1147 - Provide API in IsisJdoSupport to execute typesafe queries

  • ISIS-1145 - REST action invocations support limited conneg to JAXB-marshalled DTOs

  • ISIS-1144 - New "NatureOfService" to restrict domain services to be visible in the REST API (Restful Objects viewer) but not in the Wicket viewer.

  • ISIS-1143 - MetaModelService to provide formal access to certain (restricted) aspects of the Isis metamodel

  • ISIS-1129 - SudoService to allow the current user to be temporarily switched (for fixture scripts and integ tests)

  • ISIS-1102 - Allow translations service to toggle between read mode and write mode from UI

  • ISIS-1096 - Derive the object type from the schema and table of @PersistenceCapable (but ensure backward compatibility is preserved).

  • ISIS-1071 - Provide new HasUsername interface in applib (analogous to HasTransactionId) so that various addon services can contribute to it.

  • ISIS-1064 - Allow DB schemas (or any other setup) to be performed as DN metamodel is built up for each class.

  • ISIS-1028 - Create Event Bus Service based on Axon

  • ISIS-940 - Extend the CommandService so that both the editing and also the rendering of an entity are shown as commands.

Improvement

  • ISIS-1191 - Broken links

  • ISIS-1188 - Refactoring/simplifying internals.

  • ISIS-1182 - Refactorings of the management of domain services; slightly simplified classpath scanning.

  • ISIS-1173 - Split out responsibilities of FixtureScript class so that framework can provide a default implementation, and be configured through an alternative.

  • ISIS-1171 - If DN autoCreate is missing, don’t default to "true", instead default to "false".

  • ISIS-1170 - Throw a better exception if an class (through programmer error) has no properties.

  • ISIS-1169 - Simplify IsisSessionFilter, make more resilient to possible leakage of IsisSession on thread-local, also allow RO to force a logout

  • ISIS-1162 - For Shiro Realm,Make LDAP attributes as permision generator

  • ISIS-1161 - Allow member group (per @Member(name=…​) to be internationalized

  • ISIS-1160 - Allow RO viewer to consume any media type (HTTP Accept)

  • ISIS-1158 - Extend o.a.i.applib.spec.Specification to support i18n

  • ISIS-1157 - Cache safe Actions results by annotating them

  • ISIS-1154 - Extend ActionDomainEvent and PublishingService’s EventMetaData to include info on the action parameter names/types.

  • ISIS-1153 - Upgrade to DN 4.1

  • ISIS-1152 - Allow domain services to be registered "late" to the event bus

  • ISIS-1150 - Retire the InMemoryObjectStore

  • ISIS-1146 - Automatically ignore @PostConstruct and @PreDestroy methods from the metamodel.

  • ISIS-1141 - Integration tests should honour isis.reflector.facets.include and isis.reflector.facets.exclude for extending the programming model

  • ISIS-1139 - Make it clear that ObjectContracts.compare() is slow, and should mostly be used for prototyping.

  • ISIS-1133 - Convert website to asciidoctor, hosted in git and published via ASF’s svnpubsub

  • ISIS-1126 - Improve deserialization logic in RO applib.

  • ISIS-1124 - Add the simple name of the domain entity as a CSS class next to 'entityPage' for easier custom styling

  • ISIS-1123 - Allow the member group label for properties to be translated.

  • ISIS-1120 - Hide the colon separating icon and title in modal window when there is no icon

  • ISIS-1116 - Use ResourceModel for labels in Wicket viewer

  • ISIS-1115 - Make it possible to set a custom favicon

  • ISIS-1114 - Allow to use EmailVerificationUrlService for custom pages too

  • ISIS-1113 - Vetoing subscribers should be able to provide a translatable reason.

  • ISIS-1110 - Check for available RequestCycle before trying to read the request locale

  • ISIS-1109 - Use titleOf(…​) for the menu services, so that any translations get picked up.

  • ISIS-1108 - Allow informUser, warnUser, raiseError and also exception messages to be translated.

  • ISIS-1107 - Register Guice Injector in Wicket before trying to inject the application’s dependencies

  • ISIS-1106 - Improve translation service to translate all enum constants of all enums, and also capture the title of all services automaticaly all domain services and of all enum constants.

  • ISIS-1105 - Improvements to the integration testing framework.

  • ISIS-1104 - Remove some of the chattiness in the log if there are no translations for a given locale

  • ISIS-1101 - Avoid unexpected concurrency exceptions if using a custom page.

  • ISIS-1100 - Improve algorithm for flushing transaction and similarly in capturing post values (for auditing) on transaction preCommit

  • ISIS-1099 - Make it possible to use images loaded from the classpath in email templates

  • ISIS-1095 - Make it possible to show the datepicker in a "birthdate" mode

  • ISIS-1091 - Simplify the format of bookmark, remove prefix (CUS:L_123 → CUS:123)

  • ISIS-1090 - Deprecate IntegrationTestAbstract#runScript (static method)

  • ISIS-1088 - Lazily discover fixture scripts

  • ISIS-1087 - Restful Objects viewer’s "services" representation should show only domain services on the menu

  • ISIS-1085 - Add cssClassFa to DomainObjectLayout

  • ISIS-1083 - Resetting dependent choice

  • ISIS-1081 - Make it possible to lookup Guice beans in Isis domain services

  • ISIS-1080 - Misc. bootstrap refinements.

  • ISIS-1078 - Wrapper factory should check visibility/usability/validity for contributed members also

  • ISIS-1077 - Use the provided 'cssClass' for action menu items

  • ISIS-1068 - Rationalize menuOrder for domain services that appear in UI

Bug

  • ISIS-1190 - If an referenced object cannot be loaded (not found in the database), then this should be handled gracefully

  • ISIS-1179 - Prevent the defaultXxx(…​) being called multiple times when invoke an action.

  • ISIS-1177 - Deserialization using RO applib fails in Jackson library

  • ISIS-1175 - Wicket viewer separators go missing when force refresh page (eg ctrl-R)

  • ISIS-1174 - In RO, posting to the ObjectsOfType resource (section 9) fails.

  • ISIS-1168 - Eagerly register entities with DataNucleus objectstore (for Neo4j)

  • ISIS-1155 - validate() vetoing - requiring rollback via the memento when editing - causes a ConcurrencyException to occur.

  • ISIS-1142 - FrameworkSynchronizer should handle case of adapter already marked as destroyed

  • ISIS-1137 - PermGen errors through WrapperFactory (javassist)

  • ISIS-1135 - Make a copy of the PojoAdapter and OidAdapter maps for debugging purposes

  • ISIS-1112 - ExceptionRecognizerComposite cannot self-inject its dependencies

  • ISIS-1111 - Trying to load an entity with wrong/non-existing OID fails with NullPointerException

  • ISIS-1103 - Translations service not picking up translated versions of property/collection names

  • ISIS-1097 - Suspicion that Isis may be leaving DB connections open under certain circumstances, leading to instability

  • ISIS-1089 - Should cascade state of tracing printstream to child fixture scripts

  • ISIS-1079 - FixtureScript#defaultParam should actually default the property on the fixture script…​

  • ISIS-1076 - MetaModelValidation error page (MmvPage) is no longer shown…​

  • ISIS-1074 - For SessionLoggingService, causedBy only meaningful for sessions that have been logged out…​

  • ISIS-1073 - Action domain event for contributed actions should provide the contributee as an argument.

  • ISIS-1072 - When editing, if property validation vetoes the save, then not handled correctly.

  • ISIS-1069 - DomainChangeJdoAbstract’s open action incorrectly annotated as being a bulk action.

  • ISIS-1065 - Auditing of editing of properties only audits one of the properties changed (the last one)

  • ISIS-1062 - Guice injector should create serializable proxies for the injected beans

  • ISIS-1057 - WebRequestCycleForIsis should use the configured SignIn page

  • ISIS-1004 - Infitinite recursion in updating() callback when call setter

Dependency upgrade

  • ISIS-1163 - Update Jetty (as used by our IsisWebServer launcher) to 9.x

  • ISIS-1140 - Now that JDK7 is eol, we should build using Java8; retain source and target compiler level set to 1.7.

Task

  • ISIS-1187 - Mothball the legacy (never documented) integration testing support

  • ISIS-1178 - Mothball the TCK tests, with a view to replacing them by new tests in the isisaddons isis-app-kitchensink

  • ISIS-1058 - Upgrade embedded Jetty to latest 8.x

  • ISIS-1052 - Isis 1.9.0 release tasks

Wish

  • ISIS-1060 - An exception is logged when the provided credentials are invalid

1.8.0

Apache 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. Apache 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 Apache 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 - Apache 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 Apache 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 Apache 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 - Apache 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 Apache 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 Apache Isis 1.5.0 release

RestfulObjects Viewer

Task

  • ISIS-792 - up tasks for Apache 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 Apache 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 Apache 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 Apache 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 Apache 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 Apache 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 Apache 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 Apache Isis 1.4.0 release

RestfulObjects Viewer

Task

  • ISIS-695 - up tasks for Apache 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 Apache 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 Apache 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 Apache 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 Apache 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 Apache 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 Apache 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 Apache 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

  • 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 Apache 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 Apache 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 Apache 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 Apache 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 Apache 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.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 Apache 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 Apache 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


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.