Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
e5335f2
Merge pull request #4342 from onflow/feature/subtype-gen
SupunS Nov 18, 2025
2e5a2de
Always run the generated subtyping check and compare results
SupunS Nov 19, 2025
1b33755
Make the flag configurable
SupunS Nov 19, 2025
396d7ee
Fix tests
SupunS Nov 19, 2025
564920e
Skip visiting already visited imports
SupunS Nov 19, 2025
b9c9c4d
Simplify import alias compiler test
SupunS Nov 19, 2025
7074085
Merge pull request #4345 from onflow/supun/improve-imports-compilation
SupunS Nov 19, 2025
f135331
v1.8.4
turbolent Nov 20, 2025
ddef80b
Merge pull request #4346 from onflow/release/v1.8.4
turbolent Nov 20, 2025
d1bc404
Convert the flag to a build-tag
SupunS Nov 20, 2025
1be7786
Merge pull request #4344 from onflow/supun/enable-generated-subtyping
SupunS Nov 20, 2025
3e34288
test copying for default function invocation
turbolent Nov 20, 2025
c7a3b45
skip transfer of arguments for interface delegation method calls
turbolent Nov 20, 2025
278ab44
skip transfer/convert for synthetic return in default function call, …
turbolent Nov 20, 2025
af6b3c0
Merge pull request #4347 from onflow/bastian/fix-default-function-cop…
turbolent Nov 20, 2025
72919dd
don't transfer key when indexing for reads
turbolent Nov 20, 2025
e4cea30
test slab allocation for indexing key
turbolent Nov 20, 2025
e2a6b55
transfer enum lookup result in interpreter
turbolent Nov 20, 2025
61d6825
Merge pull request #4348 from onflow/bastian/avoid-indexing-key-trans…
turbolent Nov 20, 2025
8c3abdf
test emit of inherited default destroy event
turbolent Nov 20, 2025
e3d6b96
Merge pull request #4349 from onflow/bastian/transfer-enum-lookup-result
turbolent Nov 20, 2025
3378a56
Add test for self referencing declarations
SupunS Nov 20, 2025
9f03648
reduce test cases
turbolent Nov 21, 2025
dfe030d
Merge pull request #4350 from onflow/bastian/test-emit-inheritered-de…
turbolent Nov 21, 2025
91d06d6
fix potential deadlock when calculating supported entitlements of sel…
turbolent Nov 21, 2025
54eee47
make cyclic conformance error a pointer type, like all other sema use…
turbolent Nov 21, 2025
fdcca9b
fix potential deadlock when calculating members of self-conforming in…
turbolent Nov 21, 2025
5d4fc6d
fix potential infinite recursion when checking instantiation of self-…
turbolent Nov 21, 2025
b2fa892
add tests for transitive self-references in addition to direct self-r…
turbolent Nov 21, 2025
e0f7c01
v1.8.5
turbolent Nov 21, 2025
5ec4685
Merge pull request #4351 from onflow/release/v1.8.5
turbolent Nov 21, 2025
26bf8d9
Fix self-variable type
SupunS Nov 21, 2025
d79215e
Enable subtyping comparison in CI
SupunS Nov 21, 2025
8a0185f
Merge pull request #355 from onflow/supun/fix-self-variable-type
SupunS Nov 24, 2025
8d61975
add benchmark for checking Flow token contract and imports
turbolent Nov 24, 2025
df98821
use smaller atomic.Pointer instead of heavy sync.Once for caching com…
turbolent Nov 24, 2025
157ab95
add license header
turbolent Nov 24, 2025
d8de9af
handle potential infinite recursion in InterfaceType.GetMembers
turbolent Nov 24, 2025
2bf437e
handle potential infinite recursion in InterfaceType.SupportedEntitle…
turbolent Nov 24, 2025
d331927
add note
turbolent Nov 24, 2025
24610ca
Merge pull request #4354 from onflow/bastian/flow-token-checking-benc…
SupunS Nov 24, 2025
c3994b5
Merge pull request #354 from onflow/supun/fix-self-referencing-decls
turbolent Nov 24, 2025
354ec3c
Add compiler benchmark
SupunS Nov 24, 2025
d0a7985
Merge pull request #4356 from onflow/supun/benchmark-compiler
SupunS Nov 25, 2025
79db485
add test for contract deployment with transferred argument
turbolent Nov 25, 2025
c7bfca9
adding sast-sca
Nov 25, 2025
d45e1e8
remove unnecessary second transfer of contract initializer arguments
turbolent Nov 25, 2025
579e1b4
Merge pull request #4358 from onflow/bastian/fix-compiler-contract-de…
turbolent Nov 25, 2025
1ecb73a
Metering memory in compiler
SupunS Nov 25, 2025
be7d333
v1.8.6
turbolent Nov 25, 2025
08ecd5a
Merge pull request #4361 from onflow/release/v1.8.6
turbolent Nov 25, 2025
1c96cbe
Add tests
SupunS Nov 26, 2025
625ce64
Merge branch 'master' of https://github.com/onflow/cadence into supun…
SupunS Nov 26, 2025
640eeb1
Fix lint
SupunS Nov 26, 2025
fc7dabc
Update existing CodeQL workflow to v4 instead of adding duplicate
Nov 26, 2025
c233355
Merge pull request #4360 from onflow/supun/compiler-memory-metering
SupunS Nov 26, 2025
80e2d20
update GitHub actions, use Go version from go.mod file
turbolent Nov 26, 2025
54bd1eb
Apply suggestions from code review
turbolent Nov 26, 2025
988ce77
Merge pull request #4362 from onflow/bastian/update-github-actions
turbolent Nov 26, 2025
6c11ac2
update compatibility-check tool
turbolent Nov 26, 2025
164563c
Merge branch 'master' into sast-sca
turbolent Nov 26, 2025
f4674cc
fix Go version
turbolent Nov 26, 2025
9493c57
Merge pull request #4359 from onflow/sast-sca
turbolent Nov 26, 2025
c76c9a0
update dependencies
turbolent Nov 26, 2025
8b341dc
use Go v1.25, as some tools already need it
turbolent Nov 26, 2025
a715a21
use Go v1.25, as some tools already need it
turbolent Nov 26, 2025
0e525ec
go mod tidy
turbolent Nov 26, 2025
cf3b4fe
Merge pull request #4363 from onflow/sast-sca
turbolent Nov 26, 2025
84766ff
Also prepare the interpreter if the compiler flag is on
SupunS Nov 28, 2025
d7b042c
add reproducer
turbolent Nov 28, 2025
4e84b61
always transfer indexing key, in both interpreter and compiler
turbolent Nov 28, 2025
a5275cd
Merge pull request #4365 from onflow/bastian/fix-enum-key-transfer-mi…
turbolent Nov 28, 2025
148386c
update peter-evans/create-pull-request action to v7 for compatibility…
turbolent Nov 28, 2025
fc32656
Merge pull request #4366 from onflow/bastian/update-release-action
turbolent Nov 28, 2025
f3c8da0
v1.8.7
turbolent Nov 28, 2025
a477681
Compare slabs
SupunS Nov 28, 2025
4a9f952
cleanup combined invokable
SupunS Nov 28, 2025
ed55f55
Merge pull request #4367 from onflow/release/v1.8.7
turbolent Nov 28, 2025
0ca63bd
Improve slab comparison
SupunS Nov 28, 2025
40d21b0
Add licensee header
SupunS Nov 28, 2025
cdb6213
Fix test setup
SupunS Dec 2, 2025
bb1824a
Move the skipping of comparisson to the test-setup
SupunS Dec 2, 2025
bf1c4a0
Merge branch 'master' of https://github.com/onflow/cadence into supun…
SupunS Dec 2, 2025
b40c6fa
Merge remote-tracking branch 'origin/v1.8.5-rc' into bastian/merge-v1…
turbolent Dec 2, 2025
e9c4d2d
Merge pull request #356 from onflow/bastian/merge-v1.8.5-rc-into-v1.8…
turbolent Dec 2, 2025
5aafb91
Fix tests
SupunS Dec 2, 2025
02b0c08
CLeanup VMInvokable
SupunS Dec 2, 2025
3f39ca7
Fix slabID assertion in tests
SupunS Dec 2, 2025
f5803ac
Add reasoning for skipping the comparison
SupunS Dec 2, 2025
aeb6666
improve SomeValue.isInvalidatedResource to also check inner value
turbolent Dec 3, 2025
76689c0
set VM config tracer if interpreter trace recording function is set
turbolent Dec 3, 2025
d8125be
Merge pull request #4369 from onflow/bastian/fix-some-value-is-invali…
turbolent Dec 3, 2025
51f8c50
Merge pull request #4352 from onflow/supun/enable-type-checking-compa…
SupunS Dec 3, 2025
0269d76
Refactor test
SupunS Dec 3, 2025
60e882a
Merge pull request #4368 from onflow/supun/compare-slabs
SupunS Dec 3, 2025
afbf89e
update version
turbolent Dec 4, 2025
95ecb9c
Merge pull request #4371 from onflow/bastian/v1.8-port-v1.8.8-rc.1
turbolent Dec 4, 2025
58b0fa2
fix version
turbolent Dec 4, 2025
7241ca2
Merge pull request #4372 from onflow/bastian/v1.8-fix-npm-version
turbolent Dec 4, 2025
d4e1d8f
v1.8.8
turbolent Dec 4, 2025
33100d5
Merge tag 'v1.8.8' into bastian/merge-v1.8.8
turbolent Dec 4, 2025
b3053f1
Merge pull request #4374 from onflow/bastian/merge-v1.8.8
turbolent Dec 4, 2025
4a3ff1d
v1.9.0
turbolent Dec 4, 2025
8c00e42
Merge pull request #4375 from onflow/release/v1.9.0
turbolent Dec 4, 2025
3facd78
Skip resource-loss check for temporary variable assignments
SupunS Dec 4, 2025
f5c0beb
extend tests
turbolent Dec 4, 2025
4ca3d81
adjust compiler tests
turbolent Dec 4, 2025
d258b9e
SetLocal instruction has new isTempVar operand
turbolent Dec 4, 2025
5ab6de2
Merge pull request #4376 from onflow/supun/fix-temp-local-assignment
turbolent Dec 4, 2025
fcae7ef
remove unnecessary copy of arguments
turbolent Dec 4, 2025
8be9eff
enable attachments tests to be run with compiler/VM
turbolent Dec 5, 2025
b2585dd
Fix attachment implicit argument passing
SupunS Dec 5, 2025
21c1cc6
Fix lint
SupunS Dec 5, 2025
0b87d99
Merge pull request #4378 from onflow/bastian/fix-attachments
turbolent Dec 5, 2025
38d6335
Merge pull request #4377 from onflow/bastian/remove-arguments-copying
turbolent Dec 5, 2025
608341d
v1.9.1
turbolent Dec 5, 2025
0665d3f
Merge pull request #4379 from onflow/release/v1.9.1
turbolent Dec 5, 2025
1b51b3f
Merge branch 'master' into bastian/update-subtype-gen-runtime
turbolent Dec 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ on:
- 'feature/**'
- 'v**'

env:
GO_VERSION: '1.24'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
Expand All @@ -26,7 +23,7 @@ jobs:
steps:

- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand All @@ -53,9 +50,9 @@ jobs:

id: settings

- uses: actions/setup-go@v3
- uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version-file: go.mod
cache: true

- name: Run unconditional benchmarks, on current branch
Expand Down
37 changes: 17 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ on:
- 'feature/**'
- 'v**'

env:
GO_VERSION: '1.24'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
Expand All @@ -25,12 +22,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6

- name: Setup Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version: '1.25'
cache: true

- name: Build
Expand All @@ -44,12 +41,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6

- name: Setup Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version-file: go.mod
cache: true

- name: Build linter
Expand All @@ -63,12 +60,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6

- name: Setup Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version-file: go.mod
cache: true

- name: Test
Expand All @@ -85,12 +82,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6

- name: Setup Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version-file: go.mod
cache: true

- name: Test
Expand All @@ -101,16 +98,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
# fetch all tags.
# required to update the embedded version during code generation
fetch-depth: 0

- name: Setup Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version-file: go.mod
cache: true

- name: Lint
Expand All @@ -130,7 +127,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6

- name: json-syntax-check
uses: limitusus/json-syntax-check@v1
Expand All @@ -146,7 +143,7 @@ jobs:
if: (github.actor != 'dependabot[bot]')
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6

- name: semgrep ci
run: semgrep ci --config semgrep.yaml
27 changes: 19 additions & 8 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ on:
- master
- 'feature/**'
- 'v**'

env:
GO_VERSION: '1.24'
schedule:
- cron: '0 0 * * *'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
Expand All @@ -23,23 +22,35 @@ jobs:
CodeQL-Build:
name: CodeQL
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
pull-requests: write

env:
GOPRIVATE: "github.com/onflow"

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v5

- name: Set up Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version: '1.25'
cache: true

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v4
with:
languages: go
queries: security-extended

- name: Build
run: make build

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v4
with:
category: "/language:go"
4 changes: 2 additions & 2 deletions .github/workflows/compat.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.12'
cache: 'pip'
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/compatibility-check-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ on:
FIND_API_AUTH:
required: true

env:
GO_VERSION: '1.24'

concurrency:
group: ${{ github.workflow }}-${{ inputs.base-branch || github.run_id }}-${{ inputs.chain }}
cancel-in-progress: true
Expand All @@ -32,13 +29,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
fetch-depth: 0

- uses: actions/setup-go@v3
- uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version-file: ./tools/compatibility-check/go.mod
cache: true

- name: Make output dirs
Expand Down Expand Up @@ -102,7 +99,7 @@ jobs:
# Upload checking results for later use

- name: Archive checking results
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: ${{ inputs.chain }}-checking-results
path: |
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/compatibility-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@ on:
# We want to check the compatibility of the entitlements refactor
- 'feature/entitlements-refactor'

env:
GO_VERSION: '1.24'

concurrency:
group: ${{ github.workflow }}-${{ inputs.base || github.run_id }}
cancel-in-progress: true
Expand Down
76 changes: 76 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@

# Dependency Review Action

# PRs introducing NEW known-vulnerable packages will be blocked from merging.
# This will output a GHAS comment in the PR with the details of the vulnerabilities.
# and will also provide a comment on what to do next.

# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: "Dependency review"
on:
pull_request:
branches: ["master"]

permissions:
contents: read
pull-requests: write # Required for PR comments

jobs:
dependency-review:
runs-on: ubuntu-latest
outputs:
vulnerable-changes: ${{ steps.review.outputs.vulnerable-changes }}
steps:
- name: "Checkout repository"
uses: actions/checkout@v5
- name: "Dependency Review"
id: review
uses: actions/dependency-review-action@v4
with:
comment-summary-in-pr: always
fail-on-severity: moderate
#allow-ghsas: GHSA-q34m-jh98-gwm2,GHSA-f9vj-2wh5-fj8j EXAMPLE of how to whitelist!

dependency-review-failure-info:
needs: dependency-review
if: failure()
runs-on: ubuntu-latest
steps:
- name: Add PR Comment
uses: actions/github-script@v8
env:
VULN_OUTPUT: ${{ needs.dependency-review.outputs.vulnerable-changes }}
with:
script: |
try {
const vulnData = JSON.parse(process.env.VULN_OUTPUT || '[]');
let details = '';

for (const pkg of vulnData) {
details += `\n📦 **${pkg.name}@${pkg.version}**\n`;
}

const comment = `⚠️ **Security Dependency Review Failed** ⚠️

This pull request introduces dependencies with security vulnerabilities of moderate severity or higher.

### Vulnerable Dependencies:${details}

### What to do next?
1. Review the vulnerability details in the Dependency Review Comment above, specifically the "Vulnerabilities" section
2. Click on the links in the "Vulnerability" section to see the details of the vulnerability
3. If multiple versions of the same package are vulnerable, please update to the common latest non-vulnerable version
4. If you are unsure about the vulnerability, please contact the security engineer
5. If the vulnerability cannot be avoided (can't upgrade, or need to keep), contact #security on slack to **get it added to the allowlist**
\nSecurity Engineering contact: #security on slack`;

await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
});
} catch (error) {
console.error('Error processing vulnerability data:', error);
throw error;
}
15 changes: 6 additions & 9 deletions .github/workflows/downstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ on:
- 'feature/**'
- 'v**'

env:
GO_VERSION: '1.24'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
Expand All @@ -25,14 +22,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
repository: 'onflow/flow-go'

- name: Setup Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version-file: go.mod
cache: true

- name: Update Cadence
Expand All @@ -49,14 +46,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
repository: 'onflow/flow-emulator'

- name: Setup Go
uses: actions/setup-go@v3
uses: actions/setup-go@v6
with:
go-version: ${{ env.GO_VERSION }}
go-version-file: go.mod
cache: true

- name: Update Cadence
Expand Down
Loading