## 8.1.0 ### Deprecated APIs * The `UnreachableBlocks.qll` library has been deprecated. * Renamed the following predicates to increase uniformity across languages. The `getBody` predicate already existed on `LoopStmt`, but is now properly inherited. - `UnaryExpr.getExpr` to `getOperand`. - `ConditionalExpr.getTrueExpr` to `getThen`. - `ConditionalExpr.getFalseExpr` to `getElse`. - `ReturnStmt.getResult` to `getExpr`. - `WhileStmt.getStmt` to `getBody`. - `DoStmt.getStmt` to `getBody`. - `ForStmt.getStmt` to `getBody`. - `EnhancedForStmt.getStmt` to `getBody`. ### Minor Analysis Improvements * Using a regular expression to check that a string doesn't contain any line breaks is already a sanitizer for `java/log-injection`. Additional ways of doing the regular expression check are now recognised, including annotation with `@javax.validation.constraints.Pattern`. * More ways of checking that a string matches a regular expression are now considered as sanitizers for various queries, including `java/ssrf` and `java/path-injection`. In particular, being annotated with `@javax.validation.constraints.Pattern` is now recognised as a sanitizer for those queries. * Kotlin versions up to 2.3.10 are now supported.