Backend Release 2022-01-11

Updated 2 weeks ago by Copado Solutions

Key Features

  • Copado now supports Vlocity version 1.14.16.
  • Copado now supports PMD version 6.40. This new version of PMD includes the following changes:
    • Updated Apex support: The Apex language support has been bumped to version 54.0 (Spring ‘22).
    • New rules: 
      • EagerlyLoadedDescribeSObjectResult. This rule finds DescribeSObjectResults which could have been loaded eagerly via SObjectType.getDescribe().
    • Modified rules:
      • ApexUnitTestClassShouldHaveAsserts has a new property additionalAssertMethodPattern. When specified the pattern is evaluated against each invoked method name to determine whether it represents a test assertion in addition to the standard names.
      • ApexDoc has a new property reportMissingDescription. If set to false (default is true if unspecified) doesn’t report an issue if the @description tag is missing. This is consistent with the ApexDoc dialect supported by derivatives such as SfApexDoc and also with analogous documentation tools for other languages, e.g., JavaDoc, ESDoc/JSDoc, etc.
      • ApexCRUDViolation has new properties that allow the specification of regular-expression-based patterns for additional methods that should be considered valid for pre-CRUD authorization beyond those offered by the system Apex checks and ESAPI, e.g., sirono-common’s AuthorizationUtil class. Two new properties have been added per-CRUD operation, one to specify the naming pattern for a method that authorizes that operation and another to specify the argument passed to that method that contains the SObjectType instance of the type being authorized.
      • EmptyStatementBlock has two new properties:
        • Setting reportEmptyPrivateNoArgConstructor to false ignores empty private no-arg constructors that are commonly used in singleton pattern implementations and utility classes in support of prescribed best practices.
        • Setting reportEmptyVirtualMethod to false ignores empty virtual methods that are commonly used in abstract base classes as default no-op implementations when derived classes typically only override a subset of virtual methods.
        • By default, both properties are true to not change the default behaviour of this rule.
      • EmptyCatchBlock has two new properties modeled after the analogous Java rule:
        • The allowCommentedBlocks property, when set to true (defaults to false), ignores empty blocks containing comments.
        • The allowExceptionNameRegex property is a regular expression for exception variable names for which empty catch blocks should be ignored by this rule. For example, using the default property value of ^(ignored|expected)$, the following empty catch blocks will not be reported:
      • OneDeclarationPerLine has a new property reportInForLoopInitializer. If set to false (default is true if unspecified), it doesn’t report an issue for multiple declarations in a for loop’s initializer section. This supports the common idiom of one declaration for the loop variable and another for the loop bounds condition.

Bug Fixes

  • When opening the commit page in the user story, you will no longer receive the following error message: "Error invoking Salesforce REST API: Connection reset"  (KI-00512).

How did we do?