Releases: Taskana/taskana
API change for getCustomAttribute
Breaking
*
Database Schema Update
*
Major Version Updates
*
New
*
Improvements
*
Complete list of features and fixes
- TSK-1807: renamed setCustomAttribute to setCustomField
Support for Secondary Object References
Breaking
- TSK-1800: add secondary object references
- ObjectReference is an interface and not a class anymore. It cannot be instantiated. Use the method newObjectReference of TaskService instead.
- TSK-1801: Changed the names of following REST-parameters:
- classification.key to classification-key in /api/v1/classifications
- por.company to por-company in /api/v1/tasks
- por.system to por-system in /api/v1/tasks
- por.instance to por-instance in /api/v1/tasks
- por.type to por-type in /api/v1/tasks
- por.value to por-value in /api/v1/tasks
- TSK-1807: renamed setCustomAttribute to setCustomField
- setCustomAtribute() operation is deprecated from version 5.0.0 on an will be removed in version 6.0.0
- please use setCustomField() instead
- This applies to Task, TaskSummary, Workbasket, WorkbasketSummary, Classification, ClassificationSummary
- ADPT-147: TaskRouting now required a target domain
- A new property “taskana.domains.default” in taskana.properties is required to keep TaskService.newTask() working. Calling newTask() without parameter will use the domain from the property to route the task.
- TaskService.newTaskInDomain(String domain) will be available to explicitly route a task in a specific domain
- The signature of the TaskRouting API/SPI changed from determineWorkbasketId(Task task) to determineWorkbasketId(String domain, Task task) to enable the domain specific routing. It is up to the implementation of the provider how to do this.
Database Schema Update
- Version 5.0.0 comes with a new database schema version.
- Please update your database using the provides scripts from the taskana-common package
- The database updates re-creates all indexes. If you are using custom indexes as well, please verify that they are still valid
Major Version Updates
- Spring Boot 2.6.4
- TSK-1768: Integration Tests are now conducted on DB2 v11.5
New
- TSK-1790: Our recommended database indexes are renamed and cleaned up.
- TSK-1800: add secondary object references
- Each task can have a list of secondary object references. The list can be accessed and modified through Java-API as well as REST-API.
- Tasks can be filtered according to secondary object references using REST-API
- The database is adjusted to include secondary object references
Improvements
*
Complete list of features and fixes
- TSK-1481: TaskQuerys with LIKE in combination with UPPER is not supported by provided indices
- TSK-1605: Schema for DB2 indexes is hardcoded
- TSK-1629: Wrong title in nav-bar in workplace workbaskets
- TSK-1753: WorkbasketQuery on nameLike with '?' returns no workbaskets
- TSK-1785: Change default UI page to administration
- TSK-1786: Classification: Show notification when current filter has no match
- TSK-1788: Update taskana dependencies to commit wildfly dependency
- TSK-1789: Update Node to newest lts version
- TSK-1790: Restructure DB indexes
- TSK-1791: Update ClassificationQueryAccTest to use Test-API
- TSK-1792: improve workbasket-priority-report placeholder message
- TSK-1793: Task Search currently redirects to administration
- TSK-1794: Update CreateClassificationAccTest to use Test-API
- TSK-1795: Update Spring Boot to 2.6.3
- TSK-1797: Export of Classification by domain does not work
- TSK-1798: Distribution targets are loaded multiple times when scrolling
- TSK-1799: Distribution Target list can not be filtered
- TSK-1800: Add secondary object references for tasks
- TSK-1801: Rename query-parameter in Rest: Replace '.' by '-'
- TSK-1804: Workbasket filtering shows empty result, when result does not extend to current page
- TSK-1806: Switching tabs in a workbasket currently resets all input
- TSK-1813: Fix DB2 run command for IntelliJ
- ADPT-147: Add domain as a parameter to TASKANA core API for creating and routing new tasks
Support for Spring Boot 2.6.2 and DB2 11.5
Breaking
- N/A
Major Version Updates
- Spring Boot 2.6.2
- TSK-1768: Integration Tests are now conducted on DB2 v11.5
New
*
Improvements
- TSK-1770: Query Paging now returns empty, when non existing Page is requested
- TSK-1760: Improved Admin UI performance
Complete list of features and fixes
- TSK-1665: valid query parameter gets denied
- TSK-1689: Wildfly tests are not executed in the build pipeline
- TSK-1760: Our Admin UI is performing poorly when handling large amounts of workbaskets
- TSK-1768: Support for DB2 11.5
- TSK-1770: Query Paging should not return last page when non existing Page is requested
- TSK-1772: Update to Spring Boot 2.6.2
- TSK-1775: Update google-java-format to 1.13
- TSK-1776: Update Node to newest lts version
- TSK-1777: Update UpdateTaskCommentAccTest to testapi
- TSK-1778: Fix code smells
- TSK-1779: fix code smells: replace tests in WorkingTimeCalculatorTest by TestFactory
- TSK-1781: fix code smells: replace tests in LogSanitizerTest by TestFactory
- TSK-1784: Specifying domain without specifying workbasket key in TaskQuery should lead to an Exception
- TSK-1786: Classification: Show notification when current filter has no match
- TSK-1787: Update Frontend Dependencies
Minor optimizations
Breaking
- N/A
Major Version Updates
- Update to Spring Boot 2.5.7
New
- TSK-1764: WorkbasketPriorityReport now supports many filter options including state and custom-X.
Improvements
- TSK-1769: custom field are now allowed to be null again. It is possible to query for null and ““ independently.
- TSK-1771: Workbasket-Priority-Report now shows only tasks in state READY by default.
Complete list of features and fixes
- TSK-1759: Convert Excel with routing rules to DMN and upload it to configurable path
- TSK-1769: Allow to query task by custom field using empty Strings and nulls als separate values.
- TSK-1771: Default filtering for Workbasket-Prioirty-Report should be state=READY
- TSK-1773: routing-rest-enabled endpoint does not use the configured environment
PriorityReportFilter
Breaking
- TSK-1758, TSK-1764: Use “state”, “domain” and “workbasket-id” instead of “states”, “domains” and “workbasket-ids” to filter the tasks in the Reporting REST API. This is not really breaking as the documentation already stated this. But the implementation is fixed now to match the documentation.
Major Version Updates
- A new database schema version (4.11.0) is available. In this new schema, the configurations get a unique name. The last statement in the migration script tries to insert the ‘MASTER’ configuration, as it might be missing in some special scenarios. If the configuration with name ‘MASTER’ is already existing, this will fail, which is ok. As long as there is one entry with name ‘MASTER’ in the configuration table in the end of the database migration, everything is fine.
New
- TSK-1764: WorkbasketPriorityReport now supports many filter options including state and custom-X.
Improvements
- TSK-1675: Fix import function to go through http interceptor (fix for Header Tokens such as CSRF)
- TSK-1755: Fix to support to query task by empty custom fields. From version 4.11.0 on custom fields will never contain null but an empty String. If null is set via the API it will automatically replaced by an empty String. Database migrations scripts are available to replace null with ““ in running TASKANA systems.
- TSK-1757: additional user properties are not optional as they should have ever been.
- TSK-1765: working hours correctly set to 7 am to 7 pm.
Complete list of features and fixes
- TSK-1675: Fix Workbasket and Classification Import
- TSK-1711: Implement Routing Upload
- TSK-1745: Use annotations to link config files with TaskanaEngineConfiguration
- TSK-1751: AccessId is not converted to lowercase when selected in AccessId-Tab of the Admin UI
- TSK-1752: Fix multiplier handling in calculation of TestPriorityServiceProvider
- TSK-1754: Update Frontend Dependency
- TSK-1755: Allow to query empty custom fields on DB2
- TSK-1756: Propertys f?r optionalen Job sind verpflichtend zu setzen
- TSK-1757: Es kann nur noch eine TASKANA Instanz zur Zeit gestartet werden
- TSK-1758: Reporting REST API uses 'states' instead of 'state' for filtering
- TSK-1759: Convert Excel with routing rules to DMN and upload it to configurable path
- TSK-1762: Fix code smells
- TSK-1763: Refactor TaskanaConfigurationInitalizer
- TSK-1764: WorkbasketPriorityReport is missing almost all filter parameters
- TSK-1765: Working time calculation is wrong for periods shorter than a hour
- TSK-1767: Migration scripts to 4.11. are incorrect.
Support for user information and custom configuration parameters
Breaking
- TSK-1726: Query for TaskComments. The TaskComments now follow the common API logic with a Query. The known REST-Endpoints remain the same but you can now filter the TaskComments like all other entities with Queries for all fields. IMPORTANT: the /api/v1/tasks/{taskId}/comments endpoint used to return the TaskComments sorted by their CREATED timestamp by default. This is no longer the case. If you want to restore this behaviour you need to add the sort-by request param like this: /api/v1/tasks/{taskId}/comments?sort-by=CREATED.
Major Version Updates
- Spring 2.5.5
New
- TSK-1725: The UI now provides settings, where parameters for the Monitor Workbasket-Priority-Report can be administered
- TSK-1740: The Monitor Workbasket-Priority-Report now offers filters to filter the Tasks. These filters can be administered in the UI settings.
- TSK-1726: User information can bei joined for tasks and task comments. If you wan to use this, you have to add the property taskana.addAdditionalUserInfo to the taskana configuration. The API now contains attributes "full name" or "long name" to support this. If you do not activate this feature, these attributes remain empty.
- TSK-1723: Implemented a new optional Job to refresh all user data according to LDAP. IMPORTANT: With this ticket there are some new mandatory properties to set:
taskana.ldap.userFullnameAttribute
taskana.ldap.userPhoneAttribute
taskana.ldap.userMobilePhoneAttribute
taskana.ldap.userEmailAttribute
taskana.ldap.userOrglevel1Attribute
taskana.ldap.userOrglevel2Attribute
taskana.ldap.userOrglevel3Attribute
taskana.ldap.userOrglevel4Attribute
Improvements
- TSK-1741: Modify Workbasket-priority-report endpoint to accept priority filter parameters
Complete list of features and fixes
- TSK-1624: Remove note field from TaskQueryImpl
- TSK-1690: New to-String method in Exceptions lead to unspecific error messages
- TSK-1704: Enable SPI only for specific test classes
- TSK-1723: Synchronization of LDAP data for orders and order comments
- TSK-1725: Dialog for administration of parameters
- TSK-1726: LDAP information for tasks and task comments
- TSK-1727: Add NotLike and NotIn filter parameter to TaskQuery
- TSK-1730: Allow modification of TaskanaEngineConfiguration for test classes
- TSK-1735: Replace taskanaUnitTest.properties file with testcontainers
- TSK-1737: Create REST endpoint for administration of parameters
- TSK-1740: Provide a Task-Priority-Report-Filter component in the UI
- TSK-1741: Modify Workbasket-priority-report endpoint to accept priority filter parameters
- TSK-1742: Update Angular to respect security advisories
- TSK-1743: group and delete duplicate TaskQuery tests
- TSK-1744: Create algorithm for calculating the work hours between two instants
- TSK-1746: Remove hardcoded DB schema in ConfigurationMapper
- TSK-1747: Fix code smells
- TSK-1748: Consider default database schemas in SqlConnectionRunner
- TSK-1750: Fix sort order of administration dialog
TaskQuery sortby hotfix
Improvement
- TSK-1731: TaskQuery sort by received of attachment now works
New
- TSK-1706: Implemented the UserService which manages all operations on the new User entity.
Complete list of features and fixes
- TSK-1630: Owner input in workbasket form is not validated
- TSK-1633: Provide a API that allows the creation of test data
- TSK-1670: Disappearing accessItem name in UI when updating/overriding
- TSK-1682: Refactor TaskRestExceptionHandler
- TSK-1685: Use testcontainers to dynamically start and stop our docker databases
- TSK-1706: Create the REST and Java API for a UserService
- TSK-1712: Show Task-Workbasket-Report categorized by priority in Monitor component
- TSK-1714: Access Item Id gets cut off if it is too long
- TSK-1728: Refactor SqlProviderUtil
- TSK-1731: Fix TaskQuery to order correctly by attachment received
Performance optimization + numerous smaller improvements
Breaking
- TSK-1724: The ScheduledJob.Type enum has been replaced with a String.
IMPORTANT: Because of that change, the SCHEDULED_JOB table has to be cleared. Otherwise the old ScheduledJobs will run into a failure. This is not critical and can be done after deployment. TASKANA will not terminate when a ScheduledJob fails. Please either clear the table before deployment or delete all entries with TYPECLASSIFICATIONCHANGEDJOB, UPDATETASKSJOB, TASKCLEANUPJOB, WORKBASKETCLEANUPJOB, HISTORYCLEANUPJOB
after deployment.
Major Version Updates
- Spring 2.5.4
New
-
TSK-1686: Introduced an SPI for the individual priority calculation. It enables a customizable calculation of priorities for Tasks when creating / updating them. For this first implementation we turned of the ClassificationChangedJob if an SPI is existing. Detailed instructions on how to enable the SPI can be found here.
-
TSK-727: Date time fields are now displayed in german time format, time is also CET/CEST
Improvements
-
TSK-1717: Now ensuring that LoggingAspect’s JointPoints are only for classes within pro.taskana package.
-
TSK-1718: Reduced TaskQuery#list performance from O(n²) to O(n)
-
TSK-1719: LoggingAspect now requires a system property, additionally to the log level. This is done to increase performance, when the log level is not TRACE.
Complete list of features and fixes
- TSK-718: Change timestamp formatting in Workplace to German standard formatting
- TSK-1650: WorkbasketMapper and WorkbasketAccessMapper handle KEY and DOMAIN in WHERE clause differently
- TSK-1683: Custom Property is saved in wrong field when properties are invisible
- TSK-1686: Create SPI to be able to use custom prioritization logic
- TSK-1687: Provide REST API for WorkbasketReports, structured by priority instead of days
- TSK-1688: Change AspectJ plugin
- TSK-1692: List sql columns explicitly in SecurityVerifier
- TSK-1693: reformat entire backend code base
- TSK-1694: Update NodeJS to next LTS version
- TSK-1697: SQL Exception when querying for values of a TASK column
- TSK-1698: Reduce usage of REORG statements in DB2 update scripts
- TSK-1701: Add dedicated integration test for creating and routing a task using the REST API
- TSK-1703: Create configuration property to disable the checking if a planned timestamp a mismatch to the service level
- TSK-1705: Add a job to update priority for unfinished tasks
- TSK-1710: Fix code smells
- TSK-1715: Add "ownerNotIn" filter option to TaskQuery
- TSK-1716: Replace immutable Collections with mutable ones in all our entities
- TSK-1717: Ensure that our LoggingAspect only logs methods within pro.taskana package
- TSK-1718: Performance optimization for TaskQuery#list
- TSK-1719: Optimize LoggingAspect performance when TRACE logging is not enabled
- TSK-1720: Sort selected and available distribution targets by name
- TSK-1721: Provide example on how to provide UI custumization file(s)
- TSK-1724: Change JobType from Enum to String
Further performance optimization
This release contains a further general performance optimization. The (trace) LoggingAspect will be "disabled" per default. The aspect is still weaved in, but it's execution is reduced to a single comparison.
In order to enable TASKANA trace logging you have to set, additionally to the log level, the system parameter enableLoggingAspect
to true
.
As already stated in relaese v4.7.2
these changes are currently not implemented in v4.8.0
and will be added in the following releases.
Complete list of features and fixes
- TSK-1709: Optimize LoggingAspect performance when TRACE logging is not enabled
Performance optimization release
This release contains some performance optimizations for the methods TaskService#getTask
and TaskQuery#list
.
These optimizations currently don't exist in version v4.8.0
, but will be included in the versions after v4.8.0
.
Complete list of features and fixes