Release Notes - 1.6


  • 1.6.0-alpha1

    1.6.0-alpha1
    Improves the reliability of saving violations and the readability of analysis logs.
    Fixes an issue where forward paths using a custom URL extension were incorrectly normalized with a hardcoded `.do` suffix instead of the configured extension.
    Fixes an issue where, in a multi-application analysis, a Struts operation could be attributed to the wrong application when two applications declared a Spring bean with the same name.
    Fixes an issue where Struts operations were created several times with the same properties.
    Fixes incorrect bookmark positions and parents of Struts operations and Struts XML violations.
    Fixes an issue affecting the creation of Struts operations for actions inheriting execute from a parent class, Struts 1 dispatch actions and sub-module configuration files.
    Fixes an issue where Struts 2 operations of applications sharing the same action class were merged into a single operation.
    Fixes an issue where only one operation was created when several action declarations share the same Struts 2 action class.
    Fixes an issue where file paths were compared in lower case, which could match the wrong file on Linux.
    Fixes an issue where the configuration of an application was ignored when another application contained an identical file.
    Fixes an issue where the method named by a Struts 2 `<action>` was not found on the ancestors of its class.
    Fixes an issue where a Struts 2 action whose method is not in the analyzed source code had no operation at its own URL.
    Eliminates the objects created by the JEE extension that duplicate Struts objects: Struts Action, Struts Interceptor Stack, Struts Result, Struts Action Mapping, Struts Forward and Validation Form.
    Fixes an issue where operations were created for action methods that take a parameter.
    Fixes an issue affecting the creation of Struts 2 operations and their links to action classes and methods for actions declared with wildcard mappings.
    Adds new support for the @Namespace annotation of the Struts 2 Convention plugin, which prefixes the URL of the operations of the annotated actions.
    Adds new support for class-level @Results and @Result annotations of the Struts 2 Convention plugin.
    Adds new support for the link from a Struts 1 operation to the validate method of its form bean.
    Adds new support for Struts 1 forwards and Struts 2 results as objects linked from their action to the target JSP or action.
    Adds new support for Struts 1 global forwards and Struts 2 global results, applied to actions that do not declare their own.
    Adds new support for Struts 2 results declared on wildcard actions.
    Adds new support for Struts 1 forwards that name an action exposed by a Spring alias.
    Adds new support for the Struts 2 `default-action-ref` fallback when resolving redirect targets.
    Adds new support for the Struts 2 Convention plugin naming of action classes: the camel-case words of the operation name are separated by a hyphen, as in `/admin-tools`.
    Adds new rule: ๐Ÿ’Ž 1042054 - Avoid Struts development mode enabled
    Adds new support for Struts 1 global forwards scoped by module: a global forward declared in a module’s configuration applies to the actions of that module only.
    Adds new support for the `*` result of Struts 2 Convention actions, used when no other result matches the result code.
    Adds new support for forward targets defined via the `forward` or `include` attribute on Struts 1 action mappings, creating a link from the action to the target JSP.
    Improves accuracy of Struts operations created with path!method: they are created only for applications that enable Dynamic Method Invocation.
    Improves accuracy of Struts operations created with path!method: only the methods allowed by the configuration (Strict Method Invocation - SMI) are created.
    Improves accuracy of redirect links: a redirect to an action with a method is no longer linked when Dynamic Method Invocation (DMI) is disabled.
    Improves resolution of redirect links from Struts 2 redirectAction and chain results to the action, using the namespace, the action extension and the dispatch method.
    Improves resolution of redirect links from Struts 2 `redirect` results that name an action.
    Improves analysis of several Struts 1 and Struts 2 applications in one analysis: each application is resolved with its own version, URL patterns, JSPs and classes.
    Improves linking of Struts operations to JSP pages and to other operations: a transaction entry point now reached from another operation becomes part of a larger transaction, so some transactions may change or disappear.
    Improves accuracy of Struts 2 Convention operations: when `execute` has an @Action annotation with a URL, the class is mapped to that URL only.
    Improves accuracy of Struts 2 Convention operations: from Struts 2.5, classes that no `<action>` names get only `execute` and the methods listed by `@AllowedMethods` or by their parent package (Strict Method Invocation - SMI).
    Improves accuracy of Struts 1 operation names: the operations of every module declared in web.xml are named under the module, as in `/admin/list` for the module configured in `struts-admin.xml`.