Releases: eiffel-community/eiffel-intelligence
Releases · eiffel-community/eiffel-intelligence
Eiffel Intelligence 2.1.2
Fixes:
- Removed faulty documentation link in README
- Updated the curl command when downloading Codacy coverage reporter
Eiffel Intelligence 2.1.1
Fixes:
- Bug where Eiffel Intelligence could not start with encoded LDAP password due to a faulty if statement
Eiffel Intelligence 2.1.0
What's new?
- Passwords used in subscriptions now gets encrypted before storing them into MongoDB and decrypted before use. This functionality will be activated if “jasypt.encryptor.password” is set. See how to set the password configuration in documentation
Fixes:
- Bug where Eiffel Intelligence could not send e-mail and logs stated that method was not found.
- Bug where Subscription name was not properly validated and could contain invalid characters.
- Bug where LDAP password was displayed when users made a GET call to the /information endpoint.
Eiffel Intelligence 2.0.2
This release includes this bug fix:
- Fixed the Jasypt empty password error when Ldap is enabled which was introduced in previous EIffel Intelligence 2.0.1 version.
Eiffel Intelligence 2.0.1
What's new?
- Added possibility to encrypt password properties in application.properties configurations. Read more here
- Add FlowContext extraction rules for extracting FlowContextDefinedEvent data to ArtifactCreated aggregated object.
Improvements
- Updated documentation about HistoryRules to properly reflect the behavior of upstream searches for only the starting events of aggregations
Eiffel Intelligence 2.0.0
What's new?
- It is now possible to configure Eiffel Intelligence with rules from an external URI. If the path to rules is a URI it needs to contain the http(s) protocol. See documentation. (Note! files located on GitHub needs to point to the raw file content, otherwise EI can't parse the json content.
- All example rules are now located in a subdirectory. The example rules have changed names and older versions are called Toulouse, while newer rules are called Agen version. Read about the different versions of Eiffel protocol.
- The properties for configuring LDAP server has changed format to allow support for several LDAP servers. Any Eiffel Intelligence instance which is upgraded needs to update the configuration format of these properties. See this application.properties example.
- Old properties which have been removed: "ldap.url", "ldap.base.dn", "ldap.username", "ldap.password", "ldap.user.filter" with String values.
- The new format from this release is "ldap.server.list" which takes a list of JSON structures as input. It is possible to define one or more LDAP servers.
- The property "ldap.enabled" remains unchanged and takes a boolean value.
- Introduced a new authentication type in subscriptions. It is now possible to choose 'BASIC_AUTH_JENKINS_CSRF' authentication type instead of BASIC_AUTH when using subscriptions to trigger Jenkins job in a secure Jenkins instance. Read more about the different authentication types. A new subscription template has been added.
- Existing subscriptions with authentication type 'BASIC_AUTH' for triggering non Jenkins services do not have to be updated.
- Existing subscriptions with authentication type 'BASIC_AUTH' for triggering Jenkins jobs are recommended to switch to 'BASIC_AUTH_JENKINS_CSRF' since 'BASIC_AUTH' will not work toward a secure Jenkins instance. 'BASIC_AUTH_JENKINS_CSRF' works even in non secured Jenkins instances.
- Add new REST API endpoint to retrieve the current rules in use by Eiffel Intelligence. It is now possible to perform a GET request toward the '/rules' endpoint. Read more here.
- A compatibility page has been created to make it easier for users to see which versions of Eiffel Intelligence back-end and front-end are compatible with each other.
Improvements
- Example rules for ArtifactCreated event have been updated to also extract 'customData' field and 'name' from Eiffel ArtifactCreated event.
- Swagger documentation of the REST API can be found when browsing to the web interface of a started Eiffel Intelligence instance. The root URL redirects to the Swagger user interface. The Swagger annotations have been updated with clearer descriptions.
- Added documentation about configuring Eiffel Intelligence and how to run it.
- Updated documentation about subscription notifications and linking to relevant documentation on CRUD operations on the REST API for Eiffel Intelligence.
- Standardized the error messages returned by requests made to the REST API. Error messages are now returned as a JSON, containing a key "message". (#289)
- Some internal code refactoring and improvements to make test execution faster.
- Better error responses when Eiffel Intelligence fails to send HTTP POST notifications after a subscription has been fulfilled. (#297)
- We've changed how Eiffel Intelligence saves aggregated objects into the mongo DB database. The aggregated object content is now stored in the root of the mongo DB document. This enables us to keep the same syntax of freestyle queries on aggregated objects and conditions in subscriptions. Previous behavior was that Eiffel Intelligence interpreted subscription conditions directly on the aggregated object, while interpreting freestyle queries on the mongo DB document. This added an extra level of complexity and confusion for users who are only interested in performing queries on the content of the aggregated object.
- Since Eiffel Intelligence also saves additional keys such as "_id" and "time", these can overwrite any user defined values extracted from Eiffel events.
- Users with existing aggregated objects in the database will be affected, as the syntax for freestyle queries have changed. It is no longer possible to prefix the query with the name of the aggregated object. If users still wants to query old, existing aggregated objects, it is possible to use the old syntax for querying them (prefixing the query with the name of the agreggated object).
- The freestyle queries are now being performed directly on the aggregated object, in the same way conditions are written when setting up subscriptions. See examples here.
- The two configuration properties "search.query.prefix" and "aggregated.object.name" have been removed because it is now possible to perform simpler freestyle queries directly on the aggregated object, rendering the prefix useless. See related issue #287.
Fixes
- The template subscriptions were older versions and did not match (#296)
- Missed notifications are now created and saved in the database when subscriptions with email notification fails. (#301)
- Fixed an issue in which the search query for previous events in a database was dependent on how the user configured the URL in application.properties, resulting in broken links. It is now possible to configure the property "er.url" with both a trailing slash '/' and without. (#316)
- Stepped dependency jackson-databind to version 2.9.9.2 due to security vulnerabilities (#310)
- Subscription validation will no longer be different in Eiffel Intelligence front-end and back-end, since they use the same library for validating subscriptions. (#277)
Eiffel Intelligence 1.0.2
What's new?
Eiffel Intelligence documentation now contains examples rules with Agen version of the Eiffel protocol. Example rules can be found in subdirectory called /rules.
Fixes
Fixed an issue where previously it wasn't possible to add multiple email recipients in a subscription. Each email address should be separated with a comma in the subscription notificationMeta field.
Fixed an issue where EI back-end was not properly shut down if deployed with Tomcat
Any user can now perform all READ, UPDATE and DELETE operations on existing anonymous subscriptions
Eiffel Intelligence 1.0.1
What's new
- Updated documentation with new rules diagrams and mapping of rules to aggregated objects
- Reorganized the documentation into chapters, making it easier to find in the documentation in both the
README file and on GitHub pages. - Add Dockerfile for building Eiffel Intelligence
- Add docker-compose file to easy start up the surrounding components which Eiffel Intelligence requires to run
Bug fixes
- URL encoding of parameters on subscriptions so that it is now possible to use jmespath expressions inside
a subscription's notification meta
Eiffel Intelligence first stable release
What is new?
- Subscriptions are now validated when added to EI (Already existing subscriptions are excluded)
- A Dockerfile has been added to run EI
- A JenkinsManager class to create, trigger, check status and delete Jenkins jobs. Will be used for integration and system tests
- Integration tests added
Improvements:
- Documentation has been updated
- When an unauthorized user tries to delete a subscription owned by another user the user will get the message "Unauthorized..." instead of “No subscription found”
- Rest post calls has been improved, EI may now fetch and use Jenkins crumbs if applicable
- Several dependencies have been updated to newer versions
Fixes:
- Unit- functional-test should now work in Windows, although forkCount in pom.xml may need to be set to be set to 1 to work properly in Windows
- Make more strict matching between events and aggregated objects, should fix some aggregation issues
Searching aggregated object with _id instead of id
Upgraded RAML version to 1.0
What is new?
- The project documentation is published to Github pages
Improvements
- Stepped version of RAML from 0.8 to 1.0
Fixes:
- Fixed a NullPointerException which occurred if username or password were not set in a subscription with BASIC_AUTH enabled.