Appearance
Change notes
v13.0 (April 2025)
Breaking Changes
major update of the provided Servlet API from 4.0 to 6.1 (jakarta.servlet-api)
major update of the provided Mail API from 1.6 to 2.1 (jakarta.mail-api)
major update of the provided Dependency Injection API from 1.0 to 2.0 (jakarta.inject-api)
major update of the provided Annotation API from 1.3 to 3.0 (jakarta.annotation-api)
major update of the provided Activation API from 1.2 to 2.1 (jakarta.activation-api)
major update of the provided SLF4J API from 1.7 to 2.0 (slf4j-api)
major update of the JSF API from 2.3 to 4.1 (jakarta.faces)
compilation switch from Java 11 to Java 21
the interface
LocationProviderhas been replaced by the new interface OptionalLocationProvider affecting the methodgetLocation()in Userrenamed method
isCTIRoutingEnabled()toisExternalRoutingEnabled()in interface Categorymethod
getCreatedUser()in interface TextModuleNode now returns anOptional<User>instead ofUsermethod
getLastChangedUser()in interface TextModuleNode now returns anOptional<User>instead ofUsermethod
getDeviceId()in interface AgentDeviceLoginRequest now returns anOptional<String>instead ofStringrenamed interface
AgentCallQuickCaseto AgentPhoneTicketrenamed interface
AgentCallQuickCaseStartOperationto AgentPhoneTicketStartOperationrenamed interface
AgentCallQuickCaseStartOperationResultto AgentPhoneTicketStartOperationResultrenamed interface AgentQuickCaseOperationBuilder.
AsCallQuickCaseto AgentQuickCaseOperationBuilder.AsPhoneTicketremoved method
getDuration()in interface Call - the duration of a call is provided by the CallInfo object.removed method
getRoutingDuration()in interface Call - the routing duration of a call is provided by the CallInfo object.removed method
getCallState()in interface CallBacklogHandler - the CallState is now provided by the Callnew enum CallType provided by the Call to differentiate between
QueuedCall,IncomingCallandOutgoingCall.removed method
getDialogUrl()in AgentTicketActionValidationException and corresponding constructor - the dialog url is now provided by the AgentTicketActionInterruptedException thrown be the specificvalidatemethods of the AgentTicketActionValidatorremoved method
getDialogUrl()in AgentChatActionValidationException and corresponding constructor - the dialog url is now provided by the AgentChatActionInterruptedException thrown be the specificvalidatemethods of the AgentChatActionValidatorremoved method
getDialogUrl()in AgentCallActionValidationException and corresponding constructor - the dialog url is now provided by the AgentCallActionInterruptedException thrown be the specificvalidatemethods of the AgentCallActionValidatorchanged parameter list and added new parameter
displayNameto Public Javascript API methodaddTab():function(name, displayName, url, autoSwitch)removed deprecated API:
ChatStartedEventListenerreplaced by ChatStateEventListenerChatResubmittedEventListenerreplaced by ChatStateEventListenerChatClosedEventListenerreplaced by ChatStateEventListenerPreProcessingResult(unused)- PostIncomingMessageListener.
postIncomingMessage(Message,IncomingMessageInfo,Message,BacklogMessageInfo,Ticket)replaced by PostIncomingMessageListener.postIncomingMessage(PostIncomingMessageEvent) - TemplateMessageManipulator.
preProcess(Message, IncomingMessageInfo)replaced by TemplateMessageManipulator.manipulateTemplateMessage(TemplateMessageManipulationInput) - PhoneDeviceState.
LOGGED_OFFreplaced by PhoneDeviceState.DISCONNECTED - Category.
isCloseAllowed()replaced by Category.isCloseWithoutAnswerAllowed() - Category.
isTransactionCodeRequired()replaced by Category.isTransactionCodeRequiredForMail(), Category.isTransactionCodeRequiredForChat(), Category.isTransactionCodeRequiredForCall() - CategoryModifier.
isCloseAllowed()replaced by CategoryModifier.isCloseWithoutAnswerAllowed() - CategoryModifier.
setCloseAllowed(boolean)replaced by CategoryModifier.setCloseWithoutAnswerAllowed(boolean) - CategoryModifier.
validateCloseAllowed(boolean)replaced by CategoryModifier.validateCloseWithoutAnswerAllowed(boolean) - CategoryModifier.
isTransactionCodeRequired()replaced by CategoryModifier.isTransactionCodeRequiredForMail(), CategoryModifier.isTransactionCodeRequiredForChat(), CategoryModifier.isTransactionCodeRequiredForCall() - CategoryModifier.
setTransactionCodeRequired(boolean)replaced by CategoryModifier.setTransactionCodeRequiredForMail(boolean), CategoryModifier.setTransactionCodeRequiredForChat(boolean), CategoryModifier.setTransactionCodeRequiredForCall(boolean) - CategoryModifier.
validateTransactionCodeRequired(boolean)replaced by CategoryModifier.validateTransactionCodeRequiredForMail(boolean), CategoryModifier.validateTransactionCodeRequiredForChat(boolean), CategoryModifier.validateTransactionCodeRequiredForCall(boolean) - TransactionCode.
getDescription()replaced by TransactionCode.getDescription(Locale) - TransactionCodeModifier.
getDescription()replaced by TransactionCodeModifier.getDescription(Locale) - TransactionCodeModifier.
setDescription(String)replaced by TransactionCodeModifier.setDescription(Locale, String) - TransactionCodeModifier.
validateDescription(String)replaced by TransactionCodeModifier.validateDescription(Locale, String)
Other Changes
- Removed "Info" tab of mail detail view in novomind iAGENT Desk
- Removed legacy external forward dialog in novomind iAGENT Desk
- Text module tag [JAVASCRIPT] evaluated as server side Javascript
- The
sendMessagemethod of MessageConnector plugins will also be invoked to send mails with channelLETTERif the printout process is not handled by other custom components. - new notification type
BannerinUserNotificationOperationBuilderto send top screen banner notifications to agents - The AgentTicketSendAndCloseAction provides additional functionality to enforce clearance authorization for specific messages sent by an agent.
- new MessageHandler provides basic functionality to access and handle messages
- new IncomingMessageHandler to asynchronously receive messages
- the StorageHandler has new methods for obtaining storages also for chats and calls. The maximum number of Map entries returned is limited to 1000.
- the legacy mail protocols "IMAP", "IMAPS", "POP3", "POP3S", "FILE" will not be supported any more. Mail accounts using one of those protocols will be reconfigured automatically to the corresponding new mail protocol "novomind.IMAP", "novomind.POP3" and "novomind.FILE". Please ensure having installed the required apps if necessary (novomind Mail Connector App, novomind File Connector App).
v12.40 (October 2024)
new extension point
- SupervisorMultiTicketsActionValidator Extension point to validate supervisor actions on multiple tickets
new method
- DeliveryFailureMessageInfo
getSentTicketCategoryto get an option with the category of the ticket that caused this delivery failure message, if available
- DeliveryFailureMessageInfo
v12.39 (September 2024)
new deprecations
- Category
- method
isCloseAllowed()is deprecated and will be removed with the next major version. This method is replaced byisCloseWithoutAnswerAllowed().
- method
- CategoryModifier
- method
isCloseAllowed()is deprecated and will be removed with the next major version. This method is replaced byisCloseWithoutAnswerAllowed(). - method
setCloseAllowed(boolean)is deprecated and will be removed with the next major version. This method is replaced bysetCloseWithoutAnswerAllowed(boolean). - method
validateCloseAllowed(boolean)is deprecated and will be removed with the next major version. This method is replaced byvalidateCloseWithoutAnswerAllowed(boolean).
- method
- Category
changed behavior
- A Category that returns
falsewhen calling the methodisCloseAllowed()buttruewhen calling the methodisAnswerAllowed()now disallows only to close without answering any tickets of this category but allows the send-and-close operation. (Previously the send-and-close operation was also disallowed when the methodisCloseAllowed()returnedfalse)
- A Category that returns
new methods
- AgentEditorController
addAttachment(Attachment)now allows also to add an external attachment provided by an AttachmentDataSourceProvider to the currently selected mail in the novomind iAGENT Desk. The method is a backend alternative to the JS-API method NM.api.imail.agent.mail.addAttachment(scheme, uid, name).
- AgentEditorController
v12.37 (July 2024)
- new methods
- CategoryModifier
addAssignedMessageTemplate,removeAssignedMessageTemplateandgetAssignedMessageTemplatesto assign templates to categories. - Category
getAssignedMessageTemplatesto get a list of currently assigned templates.
- CategoryModifier
v12.36 (June 2024)
- new extension point
v12.33 (March 2024)
- changed behavior
- incoming messages retrieval in the novomind iAGENT core process is now separated from message content classification and analysis. A ticket will be created and persisted after successful message retrieval from the incoming source and the message is classified and analyzed by the knowledge base in a separately thread. The following extension points are now executed separately and asynchronously from the message retrieval:
- the ticket is already persisted at the execution time of these extension points
- if a TemporaryMessagingException is thrown all data associated with the ticket will be stored and provided again when the extension point is processed during the next polling cycle.
- the new concept allows to perform long term operations during message classification and analysis by the knowledge base or plugins implementing the extension points mentioned above. To avoid delays on incoming message processing due to long term operations incoming accounts may use a thread pool with a limited number of threads depending on the available memory to perform the required operations asynchronously without blocking other pending messages.
- new deprecations
- PostIncomingMessageListener
- method
postIncomingMessage(Message, IncomingMessageInfo, Message, BacklogMessageInfo, Ticket)is deprecated and will be removed with the next major version. This method is replaced bypostIncomingMessage(PostIncomingMessageEvent).
- method
- TemplateMessageManipulator
- method
preProcess(Message, IncomingMessageInfo)is deprecated and will be removed with the next major version. This method is replaced bymanipulateTemplateMessage(TemplateMessageManipulationInput)and will now return theTemplateMessageManipulationResult.
- method
- PostIncomingMessageListener
v12.31 (January 2024)
- new deprecations
- TransactionCode
- method
getDescription()is deprecated and will be removed with the next major version. This method is replaced bygetDescription(Locale)and will now return the localized description of the transaction code for the default language of the novomind iAGENT system.
- method
- TransactionCodeModifier
- method
getDescription()is deprecated and will be removed with the next major version. This method is replaced bygetDescription(Locale)and will now return the localized description of the transaction code for the default language of the novomind iAGENT system. - method
setDescription(String)is deprecated and will be removed with the next major version. This method is replaced bysetDescription(Locale, String)and will now set the localized description of the transaction code for the default language of the novomind iAGENT system. - method
validateDescription(String)is deprecated and will be removed with the next major version. This method is replaced byvalidateDescription(Locale, String)and will now validate the localized description of the transaction code for the default language of the novomind iAGENT system.
- method
- TransactionCode
v12.29 (November 2023)
- new deprecation
- Category method
isTransactionCodeRequiredis deprecated and will be removed with novomind iAGENT v13. This method is replaced by the module specific methodsisTransactionCodeRequiredForMail,isTransactionCodeRequiredForChat,isTransactionCodeRequiredForCall.isTransactionCodeRequiredwill now returntrueif one of the new module specific methods is true, otherwisefalse
- CategoryModifier methods
isTransactionCodeRequired,setTransactionCodeRequiredandvalidateTransactionCodeRequiredare deprecated and will be removed with novomind iAGENT v13. These methods are replaced by the module specific methods.isTransactionCodeRequiredwill now returntrueif one of the new module specific methods is true, otherwisefalsesetTransactionCodeRequiredwill now call all the new module specific methodsvalidateTransactionCodeRequiredwill now call all the new module specific methods
- ChatStartedEventListener, ChatResubmittedEventListener and ChatClosedEventListener are deprecated and will be removed with novomind iAGENT v13. The event listeners are replaced by the new ChatStateEventListener.
- Category method
- new extension point
- the interface BacklogChatInfo now offers a new method getChatState to retrieve the current state of the chat in the backlog
- new handler
- GroupPrivilegeHandler to read and check all group privileges
- the
SystemGroupModifiernow allows to add or removeGroupPrivileges - new novomind iAGENT REST API endpoint GET
iMail/api/rest/privilegesto retrieve all visible privileges for the executing user. See API Console for more information. - new novomind iAGENT REST API endpoint GET / PUT / DELETE
iMail/api/rest/groups/systemgroups/{id}/assignedprivilegesto retrieve, add or remove privileges of a system group. See API Console for more information.
v12.28 (September 2023)
- new extension point
v12.27 (August 2023)
- new extension point
v12.25 (May 2023)
- new builder
TicketOperationBuilderprovides specific operation builders e.g. to create a new ticket - new info object
AgentChatInfoprovided byAgentInfofor extension point - the AgentTicketActionValidator can now validate multi close actions in a single validation method. The default behavior calling the validation methods for every ticket closed by the multi close action remains unchanged.
v12.24 (April 2023)
- new handler
- ContactRelationHandler to modify the contact relation of an existing contact
- the ContactHandler has a new method for obtaining a ContactRelationHandler
- the ContactHandler has new methods for obtaining a
Contactor a List with the help of a ContactIdentifier.
v12.23 (March 2023)
- new operation available for chats:
- RoutingOperationBuilder
closenow supports closing chats
- RoutingOperationBuilder
- new extension point
v12.22 (February 2023)
- new novomind iAGENT REST API method HTTP POST for
iMail/api/rest/accountsin order to create incoming and system accounts. See API Console for more information. - new novomind iAGENT REST API endpoint PATCH
iMail/api/rest/accounts/{id}in order to update specific fields using HTTP PATCH. See API Console for more information. - new type ENCRYPTED_STRING for all property based endpoints of the iAGENT REST API
- Breaking Fix: GET */properties Endpoints of the iAGENT REST API have been fixed to deliver correct key names. The internal prefix "!" is not part of the key anymore. "!myKeyName" changes to "myKeyName".
v12.20 (December 2022)
- new extension point
- MessengerConnector Extension point to implement messenger retrieval from external messaging sources into novomind iAGENT
- new handler
- CustomEventHandler to raise and process custom events between different plugins and apps
- new JS-API to switch the mail info tab or chat info tab in the novomind iAGENT-Desk and Chat-Agent
v12.18 (October 2022)
- new more specific events for extension point TicketStateEventListener
- new JS-API to expand and collapse the sidebar in the novomind iAGENT-Desk
v12.17 (September 2022)
- new extension points
- AgentMessageSelectionEventListener
- new novomind iAGENT Chat REST API ChatChange types (see Models for details):
ChatChangeReconnectAckAcknowledge of successful reconnect. All following ChatChanges until ChatChangeReconnectLoaded represent the current chat history.ChatChangeReconnectLoadedEnd of transferred chat history.ChatChangeReconnectNackUnsuccessful reconnect to a chat e.g. due to invalid chatid and token
v12.16 (August 2022)
- new novomind iAGENT Chat REST API property
payloadforChatChangeChatstepto access custom payloads like a chatbot emotion.
v12.15 (July 2022)
- new REST API endpoint
iMail/api/rest/search/chatsin order to search past chats. See API Console for more information.
v12.14 (June 2022)
- the interface Contact now offers two new methods getAssignedPhoneNumbers and getAttributes
- the ContactHandler has a new method for obtaining a ContactModifier
- the ContactHandler has a new method for obtaining the
Contactof aCall - new extension points
- AgentHomeTabProvider displays a custom tab in the home section of the novomind iAGENT Desk.
- ServiceLevelRatioCalculator allows to override the default algorithm for the calculation of the service level ratio of an issue in the backlog.
v12.13 (May 2022)
- new builder
UserNotificationOperationBuilderto send notifications to agents provided by the - new JS-API to manipulate TO/CC/BCC addresses in agent editor
v12.12 (April 2022)
- new extension points
v12.10 (February 2022)
- new extension point
v12.9 (January 2022)
- new handler to asynchronously send messages
- new view context to display specific mail info tabs only for phone tickets
v12.4 (August 2021)
- the interface Call now offers a new method hasRecording
v12.3 (July 2021)
- Important Note: Number of keys in app storage limited to 1000 keys per app.
- the
PersistencyHandlernow provides aRoutingTagModifierto create a newRoutingTag.
v12.2 (June 2021)
- a
Usernow offers access to the following attributes:clearanceRequired,maxMails,maxChats,autoRoutingCategoryMode,manualRoutingCategoryMode - the
UserModifiercan now change the following attributes of anUser:clearanceRequired,maxMails,maxChats,autoRoutingCategoryMode,manualRoutingCategoryMode
v12.1 (May 2021)
- new extension points
- new operations available:
- RoutingOperationBuilder
tagto assign routing tags to an issue
- RoutingOperationBuilder
v12.0 (April 2021)
Breaking Changes
- major update of the provided Servlet API from 3.1 to 4.0
- compilation switch from Java 8 to Java 11
- change of return type from
longtoLongof MessageInfo.getTicketId - renamed method
getDate()togetEventDate()in interfaces TicketEvent and ChatEvent defined by new common interface Event - the interface PhoneSystemStateChangedEvent now has to implement the method
getEventDate() - the interface PhoneDeviceStateChangedEvent now has to implement the method
getEventDate() - the interface
CategoryProviderhas been replaced by the new interface OptionalCategoryProvider - the interface Issue now extends an OptionalCategoryProvider instead of
CategoryProvider. Therefore the methodgetCategory()now returns anOptional<Category>instead ofCategory. - the interface Issue now extends an OptionalTenantProvider instead of
TenantProvider. Therefore the methodgetTenant()now returns anOptional<Tenant>instead ofTenant. - the method
getAttributes()in the SimpleMessage Interface has been removed. Please usegetIntermediateStorage()from the NextMessageInfo Interface - the interface MailMessageConnector has been replaced by the Interface ExtendedMessageConnector
- the interface PostSendMessageListener has been replaced by the Interface MessageSentEventListener
- the event listener TicketRecategorizedEventListener package is changed from
com.novomind.ecom.api.imail.routing.workflowtocom.novomind.ecom.api.iagent.routing.workflow - deprecated event listeners: (Please use new TicketStateEventListener instead)
- TicketAnsweredEventListener
- TicketClosedEventListener
- TicketCreatedEventListener
- TicketEnqueuedEventListener
- TicketInternalForwardedEventListener
- TicketResubmittedEventListener
- TicketRoutedEventListener
Other Changes
- a ticket now offers access to its state (see Ticket.getTicketState)
- the TicketBacklogHandler now offers a new method getBacklogMessageInfo
- the AgentTicketActionValidator now offers a new method to validate attachment upload actions
- the AgentChatActionValidator now offers a new method to validate attachment upload actions
- new extension points
- new events available in TicketStateEventListener:
- TicketRequeuedEvent to detect the state transition from ASSIGNED to QUEUED
- new operations available:
- RoutingOperationBuilder
requeueto requeue a ticket currently assigned to an agent
- RoutingOperationBuilder
- all app provided tabs are now rendered sorted by their display name or name
- a
Usernow offers access to the assignedRoutingTags(see getRoutingTags) - new Javascript API for inserting text or HTML content into the agent editor for an active chat
v11.36 (January 2021)
- new master entity RoutingTag
v11.34 (November 2020)
- a pause reason now offers access to the boolean flag work time break (see isWorkTimeBreak)
v11.32 (September 2020)
- MessageConnector and CallRoutingConnector apps can now provide a
ContactIdentifierfor incoming messages or queued calls via theSimpleMessage(see getContactIdentifier),ExtendedMessage(see getContactIdentifier) orQueuedCallEnqueuedEvent(see getContactIdentifier). The information will be used as secondary search criterion for searching existing contacts. - new ExtendedMessageConnector extends the base interface
MessageConnector. ReplacesMailMessageConnectorin the future. - new handler
- master entity 'textmodule' change/create can now notify agents with the notifyAgents boolean flag in the 'TextModuleRequest'
v11.30 (July 2020)
- new extension point
- new action
AgentTicketRecategorizeActionfor extension point - new info object
AgentQueuedCallInfoprovided byAgentInfofor extension point
v11.29 (June 2020)
- new extension points
- new info object
AgentFolderInfoprovided byAgentInfofor extension point
v11.28 (May 2020)
- new operation available:
close
v11.27 (April 2020)
- new extension points
- PhoneSystemConnector
- PhoneSystemConnectorTabProvider
- CallStateEventListener
- CallBacklogHandler
- AgentDeviceStateEventListener
- AgentLoginStateEventListener
- AgentPauseStateEventListener
- AgentPostProcessingStateEventListener
- CallInfoTabProvider
- AgentSidebarContentProvider
- DeliveryFailureMessageReceivedEventListener
v11.26 (March 2020)
- an issue now offers access to the assigned location (see getLocation)
- new handler
v11.25 (February 2020)
- new extension point
- new handler
v11.23 (December 2019)
- new extension points
- PreStartChatValidator
- TicketAnsweredEventListener
- TicketInternalForwardedEventListener
- TicketResubmittedEventListener
v11.22 (November 2019)
- an issue now offers access to the assigned locale (see getLocale)
- new extension points
- TicketRoutedEventListener
- ChatOfferedEventListener
- ChatStartedEventListener
- new operation available:
internalForwardandresubmit
v11.21 (October 2019)
- new extension points
- TicketCreatedEventListener
- TicketEnqueuedEventListener
- new handler
v11.16 (June 2019)
- trigger actions for logged on agents on the novomind iAGENT Desk
- new handler
v11.15 (May 2019)
- new extension point
v11.9 (November 2018)
- new controller
v11.5 (July 2018)
- new extension point
- new handler
v11.3 (May 2018)
- an issue now offers access to the date it was received by the novomind iAGENT system (see getDateReceived)
- the AgentTicketActionValidator can now validate all actions regarding QuickCases
- new extension point
v11.2 (April 2018)
- update, delete and undelete operations for the master entity 'user'
- new extension points
v11.1 (March 2018)
- new extension point
v11.0 (February 2018)
Breaking Changes
- The structure of our public api has changed. The artifact
ecom-api-imailhas been removed. The contents are now part ofecom-api-iagent. The java packages did not change. If you resolvedecom-api-imailin your plugins, please change it toecom-api-iagentstarting with v11.0. - The return types of all
set*()methods of the interfaceIntermediateStoragehave changed from the return typeStorageto the new return typeIntermediateStorage. If you are using any of these methods in your plugins, please recompile and redeploy your apps when updating to v11.0. - The return type of the method
getAttachments()of the interfaceMailMessagehas changed fromMap<String, BodyPart>to the new return typeSet<MessageAttachmentDataSource>. If you are using this method ofMailMessagein your plugins, please adapt to this change when updating to v11.0. - The default version of the novomind iAGENT REST API was changed from v1 to v2. The v1 version of the novomind iAGENT REST API will be removed in the novomind iAGENT version 11.6. The changes are:
- The "flat" flag for the services:
/categories,/users,/holidaysand/businesshourswas removed. The services now return changed responses. See API Console for more information on the responses. - All HATEOAS links now have the same schema. All services were changed to comply to the HATEOAS convention. See API Console for more information on the responses.
- The error handling has changed. All services now return JSON objects on errors. The objects contain an error message and an error code. See here for more information.
- The service
/categorieshas changed./categories/categoriescan now be used to get categories withtout maincategories./categories/maincategoriescan now be used to get the maincategories.
- The "flat" flag for the services:
Other Changes
- The Visibility api now supports categories.
- Minor update of the provided Servlet API from 3.0 to 3.1
- Minor update of the provided Java Mail API from 1.4.5 to 1.6.0
v10.0.206 (January 2018)
- new master entities 'textmodule', 'textmoduleRoot', 'textmoduleFirstLevelGroup' and 'textmoduleSecondLevelGroup' with create, read, update and delete operations
v10.0.202 (December 2017)
- new operation
v10.0.146 (November 2017)
- Visibility api for master entities
- new handler
v10.0.142 (October 2017)
- new extension points
v10.0.138 (September 2017)
- new extension point
- initial version of the novomind iAGENT Chat REST Api
v10.0.132 (August 2017)
- new extension point
v10.0.128 (July 2017)
- new extension point
v10.0.120 (May 2017)
- a ticket now offers access to its process
- the StorageHandler has a new method for obtaining storages for multiple ticket ids
- new extension points
- AgentTicketActionValidator
- MessageSentEventListener
- TicketClosedEventListener
v10.0.116 (April 2017)
- new extension point
- new controller
v10.0.108 (February 2017)
- new master entities 'agentgroup' and 'systemgroup' with create, read, update and delete operations
v10.0.102 (January 2017)
- new feature for the extension point MessageConnector: Custom Channels
- new features for the app configuration
- new
dataType:EncryptedString - new
guiTypes:passwordandsecret
- new
- new extension point
v10.0.50 (December 2016)
- new master entity 'category' with create, read, update and delete operations
- new master entity 'account' with create, read, update and delete operations
v10.0.46 (November 2016)
- new extension point
v10.0.42 (October 2016)
- new extension points
v10.0.38 (September 2016)
- Storage api for issues
- new handler
- new master entity 'transaction code' with create, read, update and delete operations
v10.0.34 (August 2016)
- access to app configuration
- new master entity 'location' with create, read, update and delete operations
- Storage api for master entities and apps
- new extension point
v10.0.28 (July 2016)
- new handler
- new master entity 'tenant' with create, read, update and delete operations
- new features for the extension point MailInfoTabProvider
v10.0.16 (April 2016)
- new handler
- new extension points
v10.0.10 (March 2016)
- new extension point

