mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
29 lines
1.9 KiB
Markdown
29 lines
1.9 KiB
Markdown
## 0.3.0
|
|
|
|
### Deprecated APIs
|
|
|
|
* The `ArrayContent` type in the data flow library has been deprecated and made an alias for the `CollectionContent` type, to better reflect the hierarchy of the Swift standard library. Uses of `ArrayElement` in model files will be interpreted as referring to `CollectionContent`.
|
|
|
|
### Major Analysis Improvements
|
|
|
|
* The predicates `getABaseType`, `getABaseTypeDecl`, `getADerivedType` and `getADerivedTypeDecl` on `Type` and `TypeDecl` now behave more usefully and consistently. They now explore through type aliases used in base class declarations, and include protocols added in extensions.
|
|
|
|
To examine base class declarations at a low level without these enhancements, use `TypeDecl.getInheritedType`.
|
|
|
|
`Type.getABaseType` (only) previously resolved a type alias it was called directly on. This behaviour no longer exists. To find any base type of a type that could be an alias, the construct `Type.getUnderlyingType().getABaseType*()` is recommended.
|
|
|
|
### Minor Analysis Improvements
|
|
|
|
* Modelled varargs function in `NSString` more accurately.
|
|
* Modelled `CustomStringConvertible.description` and `CustomDebugStringConvertible.debugDescription`, replacing ad-hoc models of these properties on derived classes.
|
|
* The regular expressions library now accepts a wider range of mode flags in a regular expression mode flag group (such as `(?u)`). The `(?w`) flag has been renamed from "UNICODE" to "UNICODEBOUNDARY", and the `(?u)` flag is called "UNICODE" in the libraries.
|
|
* Renamed `TypeDecl.getBaseType/1` to `getInheritedType`.
|
|
* Flow through writes via keypaths is now supported by the data flow library.
|
|
* Added flow through variadic arguments, and the `getVaList` function.
|
|
* Added flow steps through `Dictionary` keys and values.
|
|
* Added taint models for `Numeric` conversions.
|
|
|
|
### Bug Fixes
|
|
|
|
* The regular expressions library no longer incorrectly matches mode flag characters against the input.
|