You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,25 @@
2
2
3
3
## Unreleased (develop)
4
4
5
+
## 4.49.0 (staging)
6
+
7
+
- added: Monero wallet import support
8
+
- added: Monero wallet settings to choose between a Light Wallet Server and a monerod full node backend
9
+
- added: Home screen long-press shortcuts for "⚠️ Save 2FA First!" warning and "Contact Support".
10
+
- added: Honor `af` affiliate parameter on `deep.edge.app` deep links, activating the promotion alongside any inner payload (e.g. private-key import).
11
+
- added: Show swap KYC/terms modal for NExchange
12
+
- added: Nym mixnet warning in Stake, Unstake, and Claim Rewards scenes
13
+
- added: Logbox disable option to env.json
14
+
- added: Reverse-resolve recipient addresses to ENS / Unstoppable Domains / ZNS names in the send flow, address modal, and transaction history.
15
+
- added: Remote enable/disable of gift card providers via the info server's giftCardInfo config, supporting whole-provider disabling for Phaze and Bitrefill and per-brand disabling for Phaze.
16
+
- changed: Migrate Monero to the react-native-monero implementation, replacing edge-currency-monero
17
+
- changed: Migrate package manager from yarn to npm.
18
+
- changed: Deprecate Botanix by switching it to keys-only mode on July 9, 2026.
19
+
- changed: Reorganize the wallet list menu so Asset Settings is reached through Wallet Settings, and rename the Monero "Backend" card to "Server Settings".
20
+
- fixed: Android build failure from the home screen long-press shortcuts feature, caused by an expo-quick-actions Kotlin compile error under Kotlin 2.3.
21
+
- fixed: Use Biometrics toggle in Settings reverting to its previous state after leaving and re-entering the scene.
22
+
- fixed: Prevent imported Monero wallets from using the Edge LWS backend. Choosing to import now prompts the user to continue with a full node or configure a custom LWS server, matching the wallet settings rule.
This project uses npm to manage Javascript dependencies (npm ships with Node).
33
+
40
34
cd edge-react-gui
41
-
yarn
42
-
yarn prepare
35
+
npm ci
36
+
npm run prepare
43
37
44
38
### Run the bundler
45
39
46
-
yarn start
40
+
npm start
47
41
48
42
This bundler process needs to run in the background, so feel free to run this in its own terminal window.
49
43
@@ -57,15 +51,15 @@ Change the `AIRBITZ_API_KEY` in `env.json` to the API key you received from Edge
57
51
58
52
#### iOS
59
53
60
-
- Run `yarn prepare.ios` to generate the CocoaPods files. You will need to do this after the first install, and any time Xcode produces a `The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.` error.
54
+
- Run `npm run prepare.ios` to generate the CocoaPods files. You will need to do this after the first install, and any time Xcode produces a `The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.` error.
61
55
- Open `edge-react-gui/ios/edge.xcworkspace` in Xcode
62
56
- Choose a target device or simulator and tap the Play button on the top nav bar
63
57
64
58
#### Android
65
59
66
60
To build, install, and start the app on a simulator or physical phone with USB debugging, run:
67
61
68
-
yarn android
62
+
npm run android
69
63
70
64
Otherwise, to get an APK, do:
71
65
@@ -109,11 +103,11 @@ Set `BUILD_REPO_URL` to the URL of an empty Git repo that will hold a version
109
103
file that will be auto updated to increment the version and build number. Then
110
104
run the following to update a local `release-version.json` file
111
105
112
-
yarn gitVersionFile
106
+
npm run gitVersionFile
113
107
114
108
Update the project files based on the version in `release-version.json`
115
109
116
-
yarn updateVersion
110
+
npm run updateVersion
117
111
118
112
### Build, sign, and deploy
119
113
@@ -132,32 +126,51 @@ The included `deploy.ts` is a script to automate building, signing, and deployin
132
126
- Set the `bundleToolPath` in `deploy-config.json` to the path to the bundle tool `.jar` file
133
127
- Put any Android keystore files into `edge-react-gui/keystores/`
134
128
- If using Firebase, put your account's `google-services.json` and `GoogleService-Info.plist` into `edge-react-gui/`
135
-
- Install xcpretty `sudo gem install xcpretty`
129
+
- Install CocoaPods `brew install cocoapods` (use Homebrew, not `gem install`, so it survives Ruby upgrades)
130
+
- Install xcbeautify `brew install xcbeautify`
136
131
137
132
Run deploy
138
133
139
134
```sh
140
-
yarn deploy edge ios master
141
-
yarn deploy edge android master
135
+
npm run deploy edge ios master
136
+
npm run deploy edge android master
142
137
```
143
138
144
139
## Fastlane support
145
140
146
-
This repo supports utilizing Fastlane to automate updates to iOS Provisioning
147
-
Profiles. To use Fastlane, set the following environment variables and run
148
-
`yarn deploy` as mentioned above
141
+
This repo uses Fastlane to automate iOS code signing. The deploy script uses
142
+
`fastlane match` to install the signing certificates and provisioning profiles,
143
+
and to renew them automatically when they expire (see Certificate renewal
144
+
below).
145
+
146
+
Fastlane must be version 2.235.0 or newer (install or upgrade with
147
+
`brew install fastlane`). Older versions ignore `--skip_confirmation` during
148
+
`match nuke`, which blocks the automatic certificate renewal on an interactive
149
+
prompt.
150
+
151
+
Authentication uses an App Store Connect API key, not an Apple ID. Place the key
152
+
JSON at `fastlane.json` in the repo root (see the
153
+
[App Store Connect API docs](https://docs.fastlane.tools/app-store-connect-api/)).
154
+
Then set the following environment variables and run `npm run deploy` as mentioned
155
+
above
149
156
150
157
BUILD_REPO_URL // Git repo used to store encrypted provisioning
151
158
// keys.
152
159
// Will be shared with the gitVersionFile.ts script
153
-
FASTLANE_USER // Apple ID email
154
-
FASTLANE_PASSWORD // Apple ID password
155
160
GITHUB_SSH_KEY // (Optional) SSH Key file to use when accessing
156
161
// BUILD_REPO_URL
157
162
MATCH_KEYCHAIN_PASSWORD // Password to unlock the current users keychain
158
163
MATCH_PASSWORD // Password used to encrypt profile information
159
164
// before being saved to the BUILD_REPO_URL
160
165
166
+
### Certificate renewal
167
+
168
+
Apple signing certificates expire once a year. When `fastlane match` fails
169
+
because a certificate is no longer valid, the deploy script automatically nukes
170
+
that certificate type (revoking it on the Apple Developer Portal and wiping it
171
+
from `BUILD_REPO_URL`) and re-runs match to generate a fresh certificate and
0 commit comments