CARVIEW |
Select Language
HTTP/2 200
date: Sun, 20 Jul 2025 02:42:32 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"36408a05abdeb3cf94b0768f91a444ca"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=qBD5l931ElBatUl5TVGSGGVxUG0vEEBCud1tJ3o%2FLU%2B64TnH16Q9vkPYZIMGUGsZG27soIu4GbQYHcL87fB%2FPYiU4lwSw4Dp8CalvYoZE6rcl1IiBkq8pvKfmcUKe3DqnAQ776%2FlkDFdlV0hJH2JukXqvujbf%2B68kp2I0t8R18G9Eop1UGAioKfayQUb3Ih%2FTeVLIJfwVk1mE1hKygDdjJk2QXyCLsZ4o9lPaAQ323vyMD59DPk28CxFxS4VEO%2FN1FlSFVfWaJVoXB%2FUJ6%2BvUw%3D%3D--xTII51sqlKLSfm01--lt3wcB0gcBB0dBWVQk12qA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1157843515.1752979352; Path=/; Domain=github.com; Expires=Mon, 20 Jul 2026 02:42:32 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Mon, 20 Jul 2026 02:42:32 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: BB88:110E0E:999C62:C774A5:687C5798
Releases · integrated-application-development/sonar-delphi · GitHub
02 Jul 23:08
Loading
10 Jun 03:53
Loading
15 May 06:27
Loading
08 May 23:56
Loading
03 Apr 03:00
Loading
05 Mar 03:49
Loading
03 Mar 03:52
Loading
05 Feb 00:54
Loading
05 Jan 23:50
Loading
06 Dec 07:29
Loading
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 21
Releases: integrated-application-development/sonar-delphi
Releases · integrated-application-development/sonar-delphi
1.17.2
Compare
Assets 3
1.17.1
Compare
Fixed
- Inaccurate handling of variant conversions, which resulted in overload resolution failures.
Assets 3
1 person reacted
1.17.0
Compare
Added
- Support for the
AtomicCmpExchange128
intrinsic routine. - Support for the
GetTypeKind
intrinsic routine. - Support for the
OpenString
intrinsic type. - API:
TypeParameterNode::getTypeParameters
method. - API:
InterfaceTypeNode::getGuidExpression
method. - API:
AttributeNode::getExpression
method. - API:
IntrinsicType.OPENSTRING
enum value.
Changed
- Issue locations no longer span the entire routine declaration in
RoutineName
. - Improve type modeling around the
VarArg*
intrinsic routines.
Deprecated
- API:
InterfaceGuidNode
node type. - API:
InterfaceTypeNode::getGuid
method, usegetGuidExpression
instead. - API:
DelphiTokenType.GUID
, as the associatedInterfaceGuidNode
is no longer parsed.
Fixed
- Name resolution failures on generic routine invocations where later type parameters are constrained by earlier type parameters.
- Type resolution failures on property attribute lists.
- Type resolution failures on implementation-local routine attribute lists.
- Type resolution failures on
as
casts where the type is returned from a routine invocation. - Inaccurate type resolution when calling a constructor on a class reference type.
- Grammar ambiguity causing attributes to be misinterpreted as interface GUIDs.
- Failure to resolve invocations of
System.IsManagedType
where a value is passed.
Assets 3
1.16.0
Compare
Added
- Support for MSBuild item and item metadata expressions in project files.
- Debug logging for name resolution failures (enabled with
sonar-scanner -X
). ExhaustiveEnumCase
analysis rule, which flagscase
statements that do not handle all values in an enumeration.IterationPastHighBound
analysis rule, which flagsfor
loops that iterate past the end of the collection.ExplicitBitwiseNot
analysis rule, which flags potentially incorrect bitwisenot
operations.- API:
EnumeratorOccurrence
type. - API:
ForInStatementNode::getEnumeratorOccurrence
method. - API:
TypeOfTypeNode::getTypeReferenceNode
method. - API:
NameReferenceNode::getFirstName
method. - API:
DelphiTokenType.TYPE_CONSTRAINT
token type. - API:
ConstraintNode
node type. - API:
ClassConstraintNode
node type. - API:
ConstructorConstraintNode
node type. - API:
RecordConstraintNode
node type. - API:
TypeConstraintNode
node type. - API:
TypeParameterNode::getConstraintNodes
method. - API:
TypeParameterType::constraintItems
method. - API:
Constraint
type. - API:
Constraint.ClassConstraint
type. - API:
Constraint.ConstructorConstraint
type. - API:
Constraint.RecordConstraint
type. - API:
Constraint.TypeConstraint
type.
Changed
- Detect tab-indented multiline strings in
TabulationCharacter
. - Improve support for evaluating name references in compiler directive expressions.
- Improve overload resolution in cases involving generic type parameter constraints.
- Improve handling for MSBuild properties, items, and conditional evaluation.
- Perform best-effort name resolution of arguments to unresolved routines or array properties, which improves analysis quality in cases where symbol information is incomplete.
Deprecated
- API:
ForInStatementNode::getGetEnumeratorDeclaration
method, get the declaration throughgetEnumeratorOccurrence
instead. - API:
ForInStatementNode::getMoveNextDeclaration
method, get the declaration throughgetEnumeratorOccurrence
instead. - API:
ForInStatementNode::getCurrentDeclaration
method, get the declaration throughgetEnumeratorOccurrence
instead. - API:
TypeParameterNode::getTypeConstraintNodes
method, usegetConstraintNodes
instead. - API:
TypeParameterType::constraints
method, useconstraintItems
instead.
Fixed
- False positives on enumerable method
GetEnumerator
inUnusedRoutine
. - False positives on enumerator method
MoveNext
inUnusedRoutine
. - False positives on enumerator property
Current
inUnusedProperty
. - False positives on enums that are never referenced by name (but have used values) in
UnusedType
. - Name resolution failures in legacy initialization sections referencing the implementation section.
- Name resolution failures when accessing ancestors of enclosing types from nested type methods.
- Name resolution failures on invocations of methods with generic open array parameters.
- Name resolution failures around
Create
calls on types withconstructor
constraints. - Name resolution failures on
read
,write
, andstored
specifiers of indexed properties. - Name resolution failures on routine references assigned to a
var
/const
declaration. - Name resolution failures on routine references in constant arrays.
- Type resolution failures on array expressions nested within multidimensional constant arrays.
- Incorrect file position calculation for multiline string tokens.
- Analysis errors around
type of
type declarations.
Assets 3
2 people reacted
1.15.0
Compare
Added
ParsingError
analysis rule, which flags files where parsing failures occurred.- Support for the
WEAK_NATIVEINT
symbol, which is defined from Delphi 12 onward. - Support for undocumented intrinsics usable within
varargs
routines:VarArgStart
VarArgGetValue
VarArgCopy
VarArgEnd
Changed
- Exclude types annotated with attributes in
UnusedType
. - Improve reporting of parsing failures occurring within include files.
- Improve reporting of parsing failures occurring within compiler directives.
Deprecated
- API:
SwitchDirective.SwitchKind.TYPEADDRESS
enum member, useTYPEDADDRESS
instead.
Fixed
- Exceptions from empty structures (e.g.,
if
) inLoopExecutingAtMostOnce
andRedundantJump
. - False positives from case statements in
LoopExecutingAtMostOnce
. - False positives from nested finally-except blocks in
RedundantJump
. - False positives around wrapped type declarations in
VisibilityKeywordIndentation
. - False negatives around inline
var
andconst
inPlatformDependentTruncation
. - Trailing whitespace within comments not recognized in
TrailingWhitespace
. - Overload resolution failures on the variant overload of the
Copy
intrinsic. - Several compiler directives were not being recognized:
E
F
K
N
S
ALLOWBIND
ALLOWISOLATION
HIGHENTROPYVA
HIGHCHARUNICODE
LARGEADDRESSAWARE
MAXPAGESIZE
NXCOMPAT
SONAME
SOPREFIX
SOSUFFIX
SOVERSION
STACKCHECKS
STRINGCHECKS
TSAWARE
TYPEDADDRESS
Assets 3
2 people reacted
1.14.1
Compare
Fixed
- File pointer errors around
>=
and<=
tokens.
Assets 3
1.14.0
Compare
Added
RedundantJump
analysis rule, which flags redundant jump statements, e.g.,Continue
,Exit
.LoopExecutingAtMostOnce
analysis rule, which flags loop statements that can execute at most once.excludedNames
rule property to theMixedNames
rule.- API:
RepeatStatementNode::getGuardExpression
method. - API:
RepeatStatementNode::getStatementList
method. - API:
CaseStatementNode::getSelectorExpression
method. - API:
CaseItemStatementNode::getStatement
method.
Fixed
- Parsing errors where adjacent
>
and=
tokens were wrongly interpreted as the>=
operator. - False-positives within assignment statements in
IndexLastListElement
.
Assets 3
1.13.0
Compare
Added
- API:
AnonymousMethodNode::getDeclarationSection
method. - API:
AnonymousMethodNode::getStatementBlock
method. - API:
AnonymousMethodNode::isEmpty
method.
Changed
- Include the global browsing path in unit import resolution.
- Reprioritize the analysis search path in the following order (highest to lowest):
- Referenced project files (
DCCReference
) - Search path (
DCC_UnitSearchPath
) - Debugger source path (
Debugger_DebugSourcePath
) - Library path (
DelphiLibraryPath
/DelphiTranslatedLibraryPath
) - Browsing path (
DelphiBrowsingPath
) - Standard library
- Analysis source files (
sonar.sources
)
- Referenced project files (
- Empty anonymous methods are now ignored in
EmptyBlock
. - Empty anonymous methods are now flagged in
EmptyRoutine
.
Assets 3
1.12.2
Compare
Fixed
- Incorrect case-sensitive treatment of file names in coverage reports.
Assets 3
1.12.1
Compare
Fixed
- Various intrinsic routines had incorrect signatures around dynamic and open arrays.
- False positives around platform-dependent binary expressions in
PlatformDependentTruncation
. - Incorrect type resolution around array property accesses.
Assets 3
Previous Next
You can’t perform that action at this time.