Skip to content

Commit c5163a1

Browse files
1abhishekpandeystepsecurity-app[bot]web-flow
authored
chore(release): pull release/5.1.0 into main (#282)
* chore: apply security best practices from step security (#274) Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> Co-authored-by: stepsecurity-app[bot] <188008098+stepsecurity-app[bot]@users.noreply.github.com> * chore: apply security best practices from step security (#280) Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> Co-authored-by: stepsecurity-app[bot] <188008098+stepsecurity-app[bot]@users.noreply.github.com> * chore(example): add functionality to spawn multiple plugin instances (#279) * chore(example): add functionality to spawn multiple plugin instances This will help in reproducing the issue and validating any new changes in future; which otherwise would require a manual setup. 🔒 Scanned for secrets using gitleaks 8.28.0 * chore(example): add an explicit config param to enable lifecycle events This will help us while disabling the auto lifecycle tracking feature. 🔒 Scanned for secrets using gitleaks 8.28.0 * chore(example): move the functionality to spawn multiple plugin instance in a new screen 🔒 Scanned for secrets using gitleaks 8.28.0 * feat(braze): bump braze android and ios sdk minimum version to the latest (#281) * feat(braze): bump rudder braze android minm version to 2.1.0 🔒 Scanned for secrets using gitleaks 8.28.0 * feat(braze): bump rudder braze ios minm version to 4.2 🔒 Scanned for secrets using gitleaks 8.28.0 * chore: update podfile.lock 🔒 Scanned for secrets using gitleaks 8.28.0 * chore(release): release new package versions - rudder_integration_braze_flutter@2.5.0 - rudder_sdk_flutter_monorepo@5.1.0 --------- Signed-off-by: StepSecurity Bot <bot@stepsecurity.io> Co-authored-by: Abhishek Pandey <64667840+1abhishekpandey@users.noreply.github.com> Co-authored-by: stepsecurity-app[bot] <188008098+stepsecurity-app[bot]@users.noreply.github.com> Co-authored-by: GitHub actions <noreply@github.com>
2 parents e0e26d7 + fc1cfb1 commit c5163a1

File tree

21 files changed

+335
-43
lines changed

21 files changed

+335
-43
lines changed

.github/workflows/build-and-quality-checks.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,29 @@ on:
55
branches: ['develop', 'main']
66
types: ['opened', 'reopened', 'synchronize']
77

8+
permissions:
9+
contents: read
10+
811
jobs:
912
build:
1013
name: Build & Code Quality Checks
1114
runs-on: macos-latest
1215
if: startsWith(github.event.pull_request.head.ref, 'release/') != true
1316

1417
steps:
18+
- name: Harden the runner (Audit all outbound calls)
19+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
20+
with:
21+
egress-policy: audit
22+
1523
- name: Checkout
16-
uses: actions/checkout@v4
24+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
1725

1826
- name: Setup Dart
1927
uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c #v1.3
2028

2129
- name: Setup Java
22-
uses: actions/setup-java@v4
30+
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
2331
with:
2432
distribution: 'zulu'
2533
java-version: '11'

.github/workflows/check_pr_title.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,13 @@ jobs:
1111
runs-on: ubuntu-latest
1212

1313
steps:
14+
- name: Harden the runner (Audit all outbound calls)
15+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
16+
with:
17+
egress-policy: audit
18+
1419
- name: Checkout source branch
15-
uses: actions/checkout@v4
20+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
1621

1722
- name: Check PR title
18-
uses: rudderlabs/github-action-check-pr-title@v1.0.11
23+
uses: rudderlabs/github-action-check-pr-title@0a83071336f7d6417249629f67a64530fcecda2e # v1.0.11

.github/workflows/create-hotfix-branch.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,22 @@ on:
77
description: Hotfix branch name
88
required: true
99

10+
permissions:
11+
contents: read
12+
1013
jobs:
1114
create-branch:
1215
name: Create new branch
1316
runs-on: ubuntu-latest
1417
if: github.ref == 'refs/heads/main'
1518
steps:
19+
- name: Harden the runner (Audit all outbound calls)
20+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
21+
with:
22+
egress-policy: audit
23+
1624
- name: Checkout source code
17-
uses: actions/checkout@v4
25+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
1826
with:
1927
fetch-depth: 0
2028

.github/workflows/deploy-pubdev.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,13 @@ jobs:
1818
if: startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/heads/main') || github.event.workflow_run.conclusion == 'success'
1919

2020
steps:
21+
- name: Harden the runner (Audit all outbound calls)
22+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
23+
with:
24+
egress-policy: audit
25+
2126
- name: Checkout
22-
uses: actions/checkout@v4
27+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
2328
with:
2429
fetch-depth: 0
2530
# For workflow_run triggers, explicitly use main branch
@@ -30,7 +35,7 @@ jobs:
3035
uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c #v1.3
3136

3237
- name: Setup Java
33-
uses: actions/setup-java@v4
38+
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
3439
with:
3540
distribution: 'zulu'
3641
java-version: '11'

.github/workflows/draft-new-release.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,32 @@ name: Draft new release
33
on:
44
workflow_dispatch:
55

6+
permissions:
7+
contents: read
8+
69
jobs:
710
draft-new-release:
11+
permissions:
12+
contents: write # for Git to git push
813
name: Draft a new release
914
runs-on: ubuntu-latest
1015
if: startsWith(github.ref, 'refs/heads/develop') || startsWith(github.ref, 'refs/heads/hotfix/')
1116
steps:
17+
- name: Harden the runner (Audit all outbound calls)
18+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
19+
with:
20+
egress-policy: audit
21+
1222
- name: Checkout source branch
13-
uses: actions/checkout@v4
23+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
1424
with:
1525
fetch-depth: 0
1626

1727
- name: Setup Dart
1828
uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c #v1.3
1929

2030
- name: Setup Java
21-
uses: actions/setup-java@v4
31+
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
2232
with:
2333
distribution: 'zulu'
2434
java-version: '11'

.github/workflows/housekeeping.yaml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@ jobs:
1414
pull-requests: write
1515

1616
steps:
17-
- uses: actions/stale@v9
17+
- name: Harden the runner (Audit all outbound calls)
18+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
19+
with:
20+
egress-policy: audit
21+
22+
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
1823
with:
1924
repo-token: ${{ github.token }}
2025
operations-per-run: 200
@@ -27,8 +32,13 @@ jobs:
2732
name: Cleanup old branches
2833
runs-on: ubuntu-latest
2934
steps:
35+
- name: Harden the runner (Audit all outbound calls)
36+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
37+
with:
38+
egress-policy: audit
39+
3040
- name: Checkout repository
31-
uses: actions/checkout@v4
41+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
3242
with:
3343
fetch-depth: 0
3444

.github/workflows/publish-new-release.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ jobs:
1313
runs-on: ubuntu-latest
1414
if: (startsWith(github.event.pull_request.head.ref, 'release/') || startsWith(github.event.pull_request.head.ref, 'hotfix-release/')) && github.event.pull_request.merged == true # only merged pull requests must trigger this job
1515
steps:
16+
- name: Harden the runner (Audit all outbound calls)
17+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
18+
with:
19+
egress-policy: audit
20+
1621
- name: Extract version from branch name (for release branches)
1722
id: extract-version
1823
run: |
@@ -23,12 +28,12 @@ jobs:
2328
echo "release_version=$VERSION" >> $GITHUB_OUTPUT
2429
2530
- name: Checkout
26-
uses: actions/checkout@v4
31+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
2732
with:
2833
fetch-depth: 0
2934

3035
- name: Setup Node
31-
uses: actions/setup-node@v4
36+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
3237
with:
3338
node-version: 16
3439

@@ -63,15 +68,15 @@ jobs:
6368
pr_reviewer: '@rudderlabs/sdk-flutter'
6469

6570
- name: Delete hotfix release branch
66-
uses: koj-co/delete-merged-action@master
71+
uses: koj-co/delete-merged-action@63a03c35810a8a7d4840d18793c0f68ff8b59450 # master
6772
if: startsWith(github.event.pull_request.head.ref, 'hotfix-release/')
6873
with:
6974
branches: 'hotfix-release/*'
7075
env:
7176
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7277

7378
- name: Delete release branch
74-
uses: koj-co/delete-merged-action@master
79+
uses: koj-co/delete-merged-action@63a03c35810a8a7d4840d18793c0f68ff8b59450 # master
7580
if: startsWith(github.event.pull_request.head.ref, 'release/')
7681
with:
7782
branches: 'release/*'

.github/workflows/test.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,21 @@ jobs:
1515
if: startsWith(github.event.pull_request.head.ref, 'release/') != true
1616

1717
steps:
18+
- name: Harden the runner (Audit all outbound calls)
19+
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1
20+
with:
21+
egress-policy: audit
22+
1823
- name: Checkout
19-
uses: actions/checkout@v4
24+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
2025
with:
2126
fetch-depth: 0
2227

2328
- name: Setup Dart
2429
uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c #v1.3
2530

2631
- name: Setup Java
27-
uses: actions/setup-java@v4
32+
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
2833
with:
2934
distribution: 'zulu'
3035
java-version: '11'

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,36 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## 2025-12-08
7+
8+
### Changes
9+
10+
---
11+
12+
Packages with breaking changes:
13+
14+
- There are no breaking changes in this release.
15+
16+
Packages with other changes:
17+
18+
- [`rudder_integration_braze_flutter` - `v2.5.0`](#rudder_integration_braze_flutter---v250)
19+
- [`rudder_sdk_flutter_monorepo` - `v5.1.0`](#rudder_sdk_flutter_monorepo---v510)
20+
21+
---
22+
23+
#### `rudder_integration_braze_flutter` - `v2.5.0`
24+
25+
- **FEAT**(braze): bump braze android and ios sdk minimum version to the latest ([#281](https://github.com/rudderlabs/rudder-sdk-flutter/issues/281)). ([ce4868f4](https://github.com/rudderlabs/rudder-sdk-flutter/commit/ce4868f4ab0107993c2c79a36605cb00dde2640b))
26+
27+
#### `rudder_sdk_flutter_monorepo` - `v5.1.0`
28+
29+
- **FEAT**(braze): bump braze android and ios sdk minimum version to the latest ([#281](https://github.com/rudderlabs/rudder-sdk-flutter/issues/281)). ([ce4868f4](https://github.com/rudderlabs/rudder-sdk-flutter/commit/ce4868f4ab0107993c2c79a36605cb00dde2640b))
30+
31+
## 5.1.0
32+
33+
- **FEAT**(braze): bump braze android and ios sdk minimum version to the latest ([#281](https://github.com/rudderlabs/rudder-sdk-flutter/issues/281)). ([ce4868f4](https://github.com/rudderlabs/rudder-sdk-flutter/commit/ce4868f4ab0107993c2c79a36605cb00dde2640b))
34+
35+
636
## 2025-10-23
737

838
### Changes
Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,59 @@
11
package com.rudderstack.rudder_sdk_flutter_example;
22

3+
import android.os.Bundle;
4+
import androidx.annotation.NonNull;
35
import io.flutter.embedding.android.FlutterActivity;
6+
import io.flutter.embedding.engine.FlutterEngine;
7+
import io.flutter.embedding.engine.FlutterEngineGroup;
8+
import io.flutter.embedding.engine.dart.DartExecutor;
9+
import io.flutter.plugin.common.MethodChannel;
10+
import java.util.ArrayList;
11+
import java.util.List;
412

5-
public class MainActivity extends FlutterActivity {}
13+
public class MainActivity extends FlutterActivity {
14+
private static final String CHANNEL = "test_engine_channel";
15+
private FlutterEngineGroup engineGroup;
16+
private List<FlutterEngine> backgroundEngines = new ArrayList<>();
17+
18+
@Override
19+
protected void onCreate(Bundle savedInstanceState) {
20+
super.onCreate(savedInstanceState);
21+
// Create FlutterEngineGroup for spawning multiple engines efficiently
22+
engineGroup = new FlutterEngineGroup(getApplicationContext());
23+
}
24+
25+
@Override
26+
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
27+
super.configureFlutterEngine(flutterEngine);
28+
29+
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
30+
.setMethodCallHandler((call, result) -> {
31+
if (call.method.equals("createEngine")) {
32+
try {
33+
// Create a new FlutterEngine instance
34+
// This triggers onAttachedToEngine for ALL plugins including RudderSdkFlutterPlugin
35+
FlutterEngine newEngine = engineGroup.createAndRunEngine(
36+
new FlutterEngineGroup.Options(getApplicationContext())
37+
);
38+
39+
backgroundEngines.add(newEngine);
40+
result.success("Engine #" + backgroundEngines.size() + " created - onAttachedToEngine called");
41+
} catch (Exception e) {
42+
result.error("ERROR", "Failed to create engine: " + e.getMessage(), null);
43+
}
44+
} else {
45+
result.notImplemented();
46+
}
47+
});
48+
}
49+
50+
@Override
51+
protected void onDestroy() {
52+
// Clean up all background engines
53+
for (FlutterEngine engine : backgroundEngines) {
54+
engine.destroy();
55+
}
56+
backgroundEngines.clear();
57+
super.onDestroy();
58+
}
59+
}

0 commit comments

Comments
 (0)