- Fix: Permissions can be changed by unprivileged users: https://github.com/liimaorg/liima/security/advisories/GHSA-cghr-2r42-868j
- Update JavaScript dependencies
- Cleanup Java Script Imports of NgIf and NgFor
- fix: allow to add node to AppServer with update resouce permission #760
- Replace JSF GUI in settings/application-info page with Angular #725
- Replace JSF GUI in Settings -> Releases page with Angular #729
- Replace JSF GUI in Settings -> Deployment Parameter page with Angular #737
- Upgrade to Angular 17.1 and switch to new Vite build #734
- Migrate to angular17 control-flow #727
- Angular 18 Upgrade #755
- Angular: create ToastContainer Component #744
- Limit deployment log file size to 10MB #413
- Node and js version update, GH action updates #741
- Update Java Script dependencies
- Angular Cleanup and Consolidation #723
- fix nullpointer in notification service with preserved deployments #724
- Settings -> Tags migrated from Angular to JSF: #719
- Angular deployments: missing colors of deployment entries #718
- Fix error when sending mail for archived deployment, fix sending mail on predeploy failure #721
- chore(deps): bump axios and wait-on in /AMW_e2e #722
- Update to Angular 17 and update JS deps #705 #715
- Angular deployments page: Clipboard button doesn't work #699
- Exception when deleting resources with functions #681
- NullPointerException on editTemplateView.xhtml after remove of relation #704
- Duplicate resource names via renaming #682
- fix several permission related issues #701
- runtime resource type is now an normal default resource type. Permissions for default resource types now apply to runtimes also.
- fix a bug where resource create permission on one resource would allow the creation of other resources: https://github.com/liimaorg/liima/security/advisories/GHSA-q4hh-r2m7-3c22
- the jsf views apps and resource list now don't have an edit and remove column. As a replacement the release column is now also a link to the resource. Adjusted the with of the side bar.
- fix several permissions bugs on the edit resource view and related screens:
- toggling of property encryption
- permissions on templates
- permission on add application to app server
- added missing permission RESOURCE_TEMPLATE to config_admin role in test database
- added several test to the permissionService
- Update Angular, js deps and wildfly #700
- AMW_web: set secure and http-only flags for cookie, make sure cookie isn't sent via url param #694
- Bump guava from 30.1.1-jre to 32.0.0-jre #693
- editResourceView.xhtml: info popup of property doesn't work #689
- Fixed security issues:
- Update Java Script dependencies #688
- BREAKING CHANGE Due to a new unique constraint for issue #622,
TAMW_RESOURCE
needs to be free of duplicateRELEASE_ID, RESOURCEGROUP_ID
pairs before applying the change-set. Duplicates can be found using following sql statement:You can delete the duplicate release via UI. The UI will only show one release and when you delete it the hidden release will surface. Copy the currently visible release to a backup resource and the delete the visible release.select count(*), RELEASE_ID, RESOURCEGROUP_ID from TAMW_RESOURCE group by RELEASE_ID, RESOURCEGROUP_ID having count(*) > 1; select * from TAMW_RESOURCEGROUP where id = <found id>
- Fixed security issues:
- Update to Angular 14 and Bootstrap 5: #661
- Deployment filter Reason has no values: #594
- resourceDependenciesView.xhtml sort: #607
- Add audit tables for permissions entities: #653
- Replace net.sf.json-lib with another JSON library: #566
- Various JS and Java lib updates
- BREAKING CHANGE New release of relation uses old prop descriptor for copied instance property #487
- This fixes a long-standing bug in Liima and requires manual database cleanup before the updated can be deployed. Instructions can be found here
- REST DELETE: /resources/resourceGroups/{resourceGroupId}/releases/{releaseId} deletes non matching releases #623
- Update Angular and other JavaScript dependencies:
- Update java dependencies:
- Update to angular 13 and wildfly 26 #634
- Properties sometimes missing in test generation/deployment #550
- This adds a unique constraint to avoid the problem and violations have to cleanup up manually before the update can be applied. Find violations:
select res1.resource_id, res.name, res1.context_id, res1.id from TAMW_RESOURCECONTEXT res1 inner join (select context_id, resource_id from TAMW_RESOURCECONTEXT group by (context_id, resource_id) having count(*) > 1) res2 on res1.context_id = res2.context_id and res1.resource_id = res2.resource_id join TAMW_RESOURCE res on res1.resource_id = res.id;
- To clean them up you have to delete the affected resources and recreate them manually via UI.
- Sometimes I was able to fix it by creating a new release of the resource, deleting the old release and changing the release of the new release. You have to check that all properties were copied to the new release before deleting because they can be missing.
- This adds a unique constraint to avoid the problem and violations have to cleanup up manually before the update can be applied. Find violations:
- getResourceRelationListForRelease should always return same release of relation #626
- Implement REST GET /resources/{resourceId} #627
- Implement update (put) and delete for Resource templates via Rest #597
- Breaking change:
/resources/{resourceGroupName}/{releaseName}/templates/{templateName}
no longer returns an array - Code cleanup and refactoring
- Fix REST exception mapping
- Breaking change:
- Rest copy cleanup, Dockerfile cleanup, remove REQUIRES_NEW transaction for boundaries #617
- Don't log freemarker template exceptions in application server log
- Java Script updates
- Fix Rest DELETE of resource, update JS deps, update Wildfly Docker Image: #613
- Fix NullPointer when resource to delete doesn't exit: #612
- The Deployment log view was migrated to Angular. Log lines container errors or warnings are now highlited: #443 and #450
- Implement Rest DELETE resource: #602
- Add environmentNameAlias to the deployment excel export: #527
- Angular deployment view: use ng-select for appserver and release :#606
- Prevent that templates can be writen outside of generation directory: #434
- editResourceView: UI doesn't update correctly after removing runtime: #479
- Switch from TravisCI to GitHub Actions: #585
- Replace Moment.js with data-fns: #589
- Convert modals to Ngb: #587
- JavaScript dependency updates: #593 and #610
- Fix copyFrom in REST: #584
- fix confirm modal not showing: #583
- Deployment datetime picker fixes: #580
- Rest copyFrom can now be used on all resources: #522
- Properties set via REST are now visible in the audit view: #549
Same as v1.17.20
- Fix deployment dateTime picker and fix layout: #570 and #510
- Migrat to Bootstrap 4: #574
- Update to Angular 11: #577
This release fixes a NullPointer and cleans up some java dependencies.
- Fix a bug in GET
AMW_rest/resources/deployments/filter
that leads to a NullPointer when a runtime was deleted: #572 - Remove PowerMockito #568
- Update to Commons Lang 3 #565
With this release Liima is built using JDK 11 and is required to run it. We now use the Angular cli to simplify updates and switched to Angular 10.
- Switch to angular cli #512
- Update to Angular 10 #543, #562
- Update to JDK 11 and require it to build #563
- Update div Java and Angular libraries #561
- Don't cache Angular index.html #551
- Wildfly is now configured to use jsf 2.2 #547, which fixes two issues:
- Update to Docker Image to Wildfly 20 #563
- Fix amwFileDbIntegrationEmpty #526
- Document build preconditions #534
- Environment Strings in the REST API are case sensitive #418
- copyFrom TransientPropertyValueException #480
- Remove release list dropdown in resource list view #496
- Update js modules and jackson-databind #494
- Reload permission caches explicitly #492
- IllegalArgumentException after new release of relation #484
- Add shakedown test works again but is still very slow #474
- Speed up "only latest" deployment queries #488
- Speed up deployment queries that are not paged #485
- Remove the maia SOAP webservice and web module #478
- Cache isCallerInRole result in request #475
- Update jquery to 3.4.1 #482
This release contains mainly performance enhancements and bug fixes.
- The editResourceView should be faster: opening the view, switching environments, saving. #462
- The deployments view should now load faster #461
- Confirming and changing the date of a deployment gives error #459
- REST: delete relation properties call very slow #460
- Update libs to prevent potential security issues #466
- Make liquibase data source jndi configurable #467
Revert "Cache roles a user hase to reduce calls to sessionContext.isCallerInRole" #458
Bug fixes and speed improvements in this release.
- Corrected padding of environments navigation #449
- editResourceView: Test Generation button on App checks for permission on App instead of AppServer #448
- After deleting an env the env filter no long finds any deployments #452
- Update Maven dependencies #433
- serverView: cache user permissions in view. Speeds up the view considrably #453
- REST: put properties call very slow #446
- Cache roles a user has to reduce calls to sessionContext.isCallerInRole #455
- Multiple releases of Runtime displayed wrong on Appserver #442
- REST: add 'Test Generation' endpoint #360
- Returns the rendered templates of an AppServer and any errors.
- Endpoint:
AMW_Rest/resources/analyze/testGeneration/{resourceGroupName}/{releaseName}/{env}
- Alias name for environment #441
- The alias name is shown in the editResourceView and deployment view
- In templates it can be accessed via
${env.nameAlias}
, default value is empty.
Revert back to Wildfly 13 because of JSF issues, fix a JSF init bug, update RichFace #437
Fixes some JSF issues on Wildfly 14 #435
Only small fixes in this release.
Action Required: with #428 a user must now have to following permissions to copy form a resource:
- On the target: RESOURCE_RELEASE_COPY_FROM_RESOURCE action ALL
- On the source: RESOURCE, RESOURCE_TEMPLATE, RESOURCE_AMWFUNCTION action READ and RESOURCE_PROPERTY_DECRYPT action ALL
The config_admin role has this permissions already, custom roles might need to be updated.
- Fix a permission bug in copy from resource #428
- After a deployment is confirmed it can only be canceled by the requestor #424
- REST AMW_rest/resources/resources/{resource}/lte/{RL} returns http 500 instead of 404 #421
- Update Lodash version #422
Fixes a deployment confirmation bug #420
This is mostly a bug fix and enhancement release of the REST interface.
- Show Runtime of AS in Apps overview #198
- REST permission endpoints enhancements
- REST API: accept unknown properties for forward compatibility #8
- Update fronte libs #412
- Changes from copy from are not shown in audit view: #338
- editResourceView: Node properties disappear after save bug #366
This is mostly a bug fix and enhancement release of the REST interface.
- Added
/{resourceGroupName}/{releaseName}/dependencies/
REST endpoint to get dependencies of a resource #208 - Added
/configuration
REST endpoint to get the application configuration #373 - Added readiness and liveness endpoint #346
- Added
DELETE
REST method to delete resource relations #361 - Removed the
/resources/deployments/{deploymentId}/detail
endpoint, deployment details are now included deployment entity directly #392 - Update docker image to Wildfly 13 #400
- Angular: confirm of multiple deployments doesn't work #386
- Angular: auditview no longer works #383
- The model now also contains all unrendered relation templates #231
- Angular Logout tab points to applist.xhtml instead of logout url #237
REST GET /resources/{resourceGroupName}/{releaseName}/relations
only returns consumed relations [#387]- REST error response body isn't JSON encoded #343
- Get property REST endpoints don't return default values #347
- REST restrictions endpoints returns 500 instead of 403 if user has no rights #348
- Clean up Swagger definition of
/resources/{resourceGroupName}/{releaseName}/relations
#388 - JSF applist doesn't work with h2 anymore #397 (#387)
This is mostly a bug fix release.
- Angular create deploy: loader for new deployment #357
- REST create deployment now returns a 424 instead of 400 if no node is active #352
- REST get releases endpoint add, release JSON got additional fields #354
- Update swagger-ui #370
- applist.xhtml is now sorted case insensitive #334
- editResourceView: selecting release of relation causes display error #335
- Deployment CSV export: columns shifted to the left if "Deployment parameters" empty bug #344
- Feedback multi permission GUI: shows loader and success message now, Global permissions are marked as such again,
Applications without application server
is hidden #333 - Angular permission GUI: users and roles with spaces in name can be added #359
- Dash in YAML editor difficult to see #358
- editTemplateView.xhtml: "Compare with history" not updated after save #363
- editTemplateView.xhtml: compare doesn't work on Wildfly 12.0 #362
- Login prompt appears twice #349
- Templates: accessing not rendered relation templates now mostly works: #378 and #231
- Disable logging the run script output to the server log. Can be re-enabled via
LOG_RUNSCRIPT_OUTPUT_TO_SERVER_LOG
ConfigKey #380 - REST: copyFromResource no longer needs the content-type header to be set #351
- REST: get /deployments NullPointer with deleted AppServer/App #328
- properties REST endpoint returns successfully for non-existing resources #325
This release contains two mayor features: the resource audit view and the multi permission GUI.
- Audit view: #332
- Reachable via editResourceView -> Go to -> Audit view
- Shows all changes made to a resource like Property Descriptors, Properties, Templates etc., the date and the user who made the change.
- Current limitations of the implementation:
- Only changes are shown that are made after v1.17 is deployed. Older changes can only be viewed in the Liima Database.
- Changes to ResourceTypes and Functions are not shown.
- Passwords can't be viewed and are always masked.
- Relation of relation template isn't shown.
- Multi permission GUI: #259
- The new GUI allows to select multiple environments, permissions, resources and so on. This dramatically reduced the amount of clicks needed to create multiple permissions.
- Applist search is now case insensitive: #307
- Auto-Refresh on Deploy page: #293
- Minor enhancements to the config overview from v1.16.1: #295
This release contains bug fixes and one new feature.
- Rest: multiple permissions in one post #258
- Preparation for the new create permission GUI: Permission GUI: make it simple to create multiple permissions #259
- Add relation REST endpoint throws NullPointer exception #320
- Error: "Was not able to decrypt properties" after setting encrypted property over REST #322
This release adds some new features, fixes bugs and updates the used JavaScript libraries. Highlight is the new configuration overview that shows where on a resource properties have been overwritten.
- Configuration overview #77
- The resource screen now shows where resource properties are overwritten in sub environments.
- Force delete PropertyDescriptor #95
- If deleting a PropertyDescriptor doesn't work it can now be force deleted, deleting all Property values.
- Delegation of permission #74
- Usage see doc
- Deployment Excel Export: remove newline at the end of Applications column #262
- editResourceView does not refresh correctly after "Copy from resource" #222
- Permission Page TypeError: Cannot read property 'name' of undefined #299
- Sometimes no permission where shown.
- Rename a resource with "-" to "_" doesn't work #223
- deployments: reset Add filter after add bug #306
- REST resource '/resources' returns duplicates of resources if query parameter 'type' is not set #213
- AppServer can't be deleted #284
- Permissions: prevent adding the same permission multiple times #260
- Prevent potential XSS in success and error messages #286
- Update NodeJS and dependencies #290, #292, #300
- Update to Angular 4 #71
- Replace NPM with Yarn #275
Fixes some bugs on the new Angular deployment view and csv export.
- Confirming and changing the date of a deployment doesn't work via edit #271
- Deployment environment filter has wrong suggestions #257
- Deployment csv export: sort order in csv is slightly different from view #268
- editResourceView Properties not visible with window zoom #251
- Deployment filters come back after removing them #245
- Deployment filter are no longer written to the url #250
- Angular resources are cached forever #255
- Update swagger ui, the source is no longer checked into liima #256
Fixes some bugs on the new Angular deployment view.
- AMW_angular/#/deployments: filters come back #245
- AMW_angular/#/deployments: progress animation should also be shown on state progress #244
- AMW_angular/#/deployments: if filter is set, log view can not be shown and gives a http 500 #243
- Deployment screen was rewriten in angular: #89
- Deployment Filters are now writen to the url automatically and can be bookmarked or copied to the clipboard: #35
- The most common deployment failure reasons are now shown directly on the deployment: #75
- To whole deployment row is now colored if deployment failed (red) or is successful (green).
- More space for the deployment table.
- To preserve the deployment histroy deployment entries are no longer deleted if an AppServer, Environment, Release or Runtime is deleted: #79
- Deployment filter: "Latest deployment job for ..." shows two deployments for one env: #23
- Unfortunately this make the filter slower as paging happens now in code instead of SQL.
- The deployment filters "Latest deployment job for App & State" and "State filter" didn't work correctly together: #42
- Edit Resource View of AppServer: NODE not selectable: #207
- AMW_angular/#/deployment/: redeploy sometimes doesn't set an environment: #122
- Added multiple new REST endpoints for the new deployment screen, see Swagger for details.
GET /deployments
was replaced withGET /deployments/filter
and is now depricated.
- Access parent resource from template, e.g. in a resource consumed by an app
${appServer.consumedResTypes.APPLICATION?values[0].Version}
can now be written as${$parent.Version}
: #12 - Liima is now compatible with Java EE 7 and is tested on Wildfy 10: #9
- Docker image for Liima. The image can be found on Dockerhub: #82
- In this release the fields in the rest API that have been marked as depricated have been removed. Deteils see release v1.13.0 API Changes
This release contains mostly bug fixes and some small features.
- A new check was added to prevent that multiple resources can provide the same resource: #112
- Permission can now be set on domains: #182
- New rest methods: add resources, add resource release, copy resources, add resource relation: #57
- Date filter comparator gets reset when a new filter gets added: #132
- Under certain circumstances the wrong version was select in a new deployment: #127, #113
- Added a check to redeploy which makes sure the redeployed App/AppServer matches the current App names and release: #52
- In the
add related resource
popup Apps were shown: #112 - Under certain circumstances it was not possible to delete an AppServer: #165
- Fixes on the permission GUI:
- Fix a bug in user permissions that would only check the first matching permission: #174
- Fix wrong default method in copy from permission: #168
- A user could not view encrypted properties if she/he had only permissions on a certain resources/resource types: #143
- Properties were not encrypted correctly via rest interface: #131
This release contains a new and enhanced permission system and bugfixes.
- New permission system #25: the permission system has been rewriten to allow for permissions to be scoped by environement, resource and resource type. See documentation for more details. Important:
- Migration to the new permission system happens automatically via Liquibase. Please check if the permissions of the roles are still correct after the migration.
- The role app_developer can now also rename applications. This is because rename is part of the update action.
- The role app_developer can no longer edit encrypted properties by default.
- Resource relation names are now editable #78
- New REST function to add relations to resources #51
- New REST function
GET /resources/{resourceGroupName}/lte/{releaseName}
that fetches the lower or equal release to the given one #86
- The REST service did not encrypt property values before writing it to the DB #131
- The Angular page
Create new deployment
showed the wrong apps and app versions for some releases #113 and #127 - The log dropdown of the deployment log page is sorted again #128
- In ch.mobi.itc.mobiliar.rest.dtos.ResourceRelationDTO the new property relationName will replace the property identifier. The property identifier will be removed by v1.14. The following REST URIs are concerned:
- /resources
- /resources/{resourceGroupName}/{releaseName}
- /resources/{resourceGroupName}/lte/{releaseName}
- /resources/{resourceGroupName}/{releaseName}/relations
- /resources/{resourceGroupName}
- /resources/resourceGroups/{resourceGroupId}/releases/mostRelevant/
- /resources/resourceGroups/{resourceGroupId}/releases/
- /resources/resourceGroups/{resourceGroupId}/releases/{releaseId}
- appsWithMvnVersion in the ch.mobi.itc.mobiliar.rest.dtos.DeploymentDTO is depricated and will be removed in v1.14. It was replaced with appsWithVersion in v1.12. This change concerns all /deployment REST URIs. New and old deployment JSON:
{ "id": 281100, "trackingId": 259609, "state": "progress", "deploymentDate": 1501145413850, "appServerName": "liima", # new "appsWithVersion": [ { "applicationName": "org.liima.test", "version": "4.1.0-SNAPSHOT" } ], # old, depricated "appsWithMvnVersion": [ { "applicationName": "org.liima.test", "mavenVersion": "4.1.0-SNAPSHOT" } ], }