mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
1.9 KiB
1.9 KiB
0.3.0
Deprecated APIs
- The
ArrayContenttype in the data flow library has been deprecated and made an alias for theCollectionContenttype, to better reflect the hierarchy of the Swift standard library. Uses ofArrayElementin model files will be interpreted as referring toCollectionContent.
Major Analysis Improvements
- The predicates
getABaseType,getABaseTypeDecl,getADerivedTypeandgetADerivedTypeDeclonTypeandTypeDeclnow 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
NSStringmore accurately. - Modelled
CustomStringConvertible.descriptionandCustomDebugStringConvertible.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/1togetInheritedType. - Flow through writes via keypaths is now supported by the data flow library.
- Added flow through variadic arguments, and the
getVaListfunction. - Added flow steps through
Dictionarykeys and values. - Added taint models for
Numericconversions.
Bug Fixes
- The regular expressions library no longer incorrectly matches mode flag characters against the input.