Skip to content

Commit 3fb4d7c

Browse files
ci(release): publish latest release
1 parent 8a7af36 commit 3fb4d7c

File tree

299 files changed

+5143
-15617
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

299 files changed

+5143
-15617
lines changed

CODEOWNERS

-1
This file was deleted.

RELEASE

+4-22
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,5 @@
1-
IPFS hash of the deployment:
2-
- CIDv0: `QmZFXGq1NtaYzhf3RjWjaoTmr3ezXGMvLQjgudHxaofoNd`
3-
- CIDv1: `bafybeifcea7jfix5tqs6q65iuy2z2mano572wljjxqndobhh2qp7uwhnry`
4-
5-
The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org).
6-
7-
You can also access the Uniswap Interface from an IPFS gateway.
8-
**BEWARE**: The Uniswap interface uses [`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) to remember your settings, such as which tokens you have imported.
9-
**You should always use an IPFS gateway that enforces origin separation**, or our hosted deployment of the latest release at [app.uniswap.org](https://app.uniswap.org).
10-
Your Uniswap settings are never remembered across different URLs.
11-
12-
IPFS gateways:
13-
- https://bafybeifcea7jfix5tqs6q65iuy2z2mano572wljjxqndobhh2qp7uwhnry.ipfs.dweb.link/
14-
- [ipfs://QmZFXGq1NtaYzhf3RjWjaoTmr3ezXGMvLQjgudHxaofoNd/](ipfs://QmZFXGq1NtaYzhf3RjWjaoTmr3ezXGMvLQjgudHxaofoNd/)
15-
16-
### 5.68.3 (2025-01-29)
17-
18-
19-
### Bug Fixes
20-
21-
* **web:** include correct hook filter on ListPools queries (#15669) 3828ffa
22-
1+
We are back with some small updates! Here’s the latest:
232

3+
- More robust dapp information on Activity screen
4+
- Improved volume-based sorting on our Explore page
5+
- Various bug fixes and performance improvements

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
web/5.68.3
1+
extension/1.14.0

apps/extension/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
"@svgr/webpack": "8.0.1",
1313
"@tamagui/core": "1.114.4",
1414
"@types/uuid": "9.0.1",
15-
"@uniswap/analytics-events": "2.41.0",
15+
"@uniswap/analytics-events": "2.40.0",
1616
"@uniswap/uniswapx-sdk": "3.0.0-beta.1",
17-
"@uniswap/universal-router-sdk": "4.14.0",
18-
"@uniswap/v3-sdk": "3.24.0",
19-
"@uniswap/v4-sdk": "1.18.0",
17+
"@uniswap/universal-router-sdk": "4.10.0",
18+
"@uniswap/v3-sdk": "3.21.0",
19+
"@uniswap/v4-sdk": "1.15.0",
2020
"dotenv-webpack": "8.0.1",
2121
"ethers": "5.7.2",
2222
"eventemitter3": "5.0.1",

apps/extension/src/app/components/tabs/ActivityTab.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { memo } from 'react'
22
import { ScrollView } from 'ui/src'
3-
import { useActivityData } from 'wallet/src/features/activity/hooks/useActivityData'
3+
import { useActivityData } from 'wallet/src/features/activity/useActivityData'
44

55
export const ActivityTab = memo(function _ActivityTab({ address }: { address: Address }): JSX.Element {
66
const { maybeEmptyComponent, renderActivityItem, sectionData } = useActivityData({

apps/extension/src/app/features/accounts/__snapshots__/AccountSwitcherScreen.test.tsx.snap

+6-6
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ exports[`AccountSwitcherScreen renders correctly 1`] = `
5757
<svg
5858
fill="none"
5959
stroke-width="8"
60-
style="width: 24px; height: 24px; color: rgb(125, 125, 125);"
60+
style="color: rgb(125, 125, 125); width: 24px; height: 24px;"
6161
viewBox="0 0 16 16"
6262
>
6363
<path
@@ -155,7 +155,7 @@ exports[`AccountSwitcherScreen renders correctly 1`] = `
155155
<svg
156156
fill="none"
157157
stroke-width="8"
158-
style="width: 14px; height: 14px; color: rgb(125, 125, 125);"
158+
style="color: rgb(125, 125, 125); width: 14px; height: 14px;"
159159
viewBox="0 0 24 24"
160160
>
161161
<path
@@ -210,7 +210,7 @@ exports[`AccountSwitcherScreen renders correctly 1`] = `
210210
<svg
211211
fill="none"
212212
stroke-width="2"
213-
style="width: 16px; height: 16px; color: rgb(125, 125, 125);"
213+
style="color: rgb(125, 125, 125); width: 16px; height: 16px;"
214214
viewBox="0 0 24 24"
215215
>
216216
<path
@@ -289,7 +289,7 @@ exports[`AccountSwitcherScreen renders correctly 1`] = `
289289
<svg
290290
fill="none"
291291
stroke-width="8"
292-
style="width: 24px; height: 24px; color: rgb(125, 125, 125);"
292+
style="color: rgb(125, 125, 125); width: 24px; height: 24px;"
293293
viewBox="0 0 16 16"
294294
>
295295
<path
@@ -387,7 +387,7 @@ exports[`AccountSwitcherScreen renders correctly 1`] = `
387387
<svg
388388
fill="none"
389389
stroke-width="8"
390-
style="width: 14px; height: 14px; color: rgb(125, 125, 125);"
390+
style="color: rgb(125, 125, 125); width: 14px; height: 14px;"
391391
viewBox="0 0 24 24"
392392
>
393393
<path
@@ -442,7 +442,7 @@ exports[`AccountSwitcherScreen renders correctly 1`] = `
442442
<svg
443443
fill="none"
444444
stroke-width="2"
445-
style="width: 16px; height: 16px; color: rgb(125, 125, 125);"
445+
style="color: rgb(125, 125, 125); width: 16px; height: 16px;"
446446
viewBox="0 0 24 24"
447447
>
448448
<path

apps/extension/src/app/features/receive/__snapshots__/ReceiveScreen.test.tsx.snap

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ exports[`ReceiveScreen renders without error 1`] = `
3030
<svg
3131
fill="none"
3232
stroke-width="8"
33-
style="width: 24px; height: 24px; color: rgb(125, 125, 125);"
33+
style="color: rgb(125, 125, 125); width: 24px; height: 24px;"
3434
viewBox="0 0 16 16"
3535
>
3636
<path
@@ -99,7 +99,7 @@ exports[`ReceiveScreen renders without error 1`] = `
9999
<svg
100100
fill="none"
101101
stroke-width="8"
102-
style="width: 16px; height: 16px; color: rgb(125, 125, 125);"
102+
style="color: rgb(125, 125, 125); width: 16px; height: 16px;"
103103
viewBox="0 0 24 24"
104104
>
105105
<path
@@ -6066,7 +6066,7 @@ exports[`ReceiveScreen renders without error 1`] = `
60666066
<svg
60676067
fill="none"
60686068
stroke-width="8"
6069-
style="width: 24px; height: 24px; color: rgb(125, 125, 125);"
6069+
style="color: rgb(125, 125, 125); width: 24px; height: 24px;"
60706070
viewBox="0 0 16 16"
60716071
>
60726072
<path
@@ -6135,7 +6135,7 @@ exports[`ReceiveScreen renders without error 1`] = `
61356135
<svg
61366136
fill="none"
61376137
stroke-width="8"
6138-
style="width: 16px; height: 16px; color: rgb(125, 125, 125);"
6138+
style="color: rgb(125, 125, 125); width: 16px; height: 16px;"
61396139
viewBox="0 0 24 24"
61406140
>
61416141
<path

apps/extension/src/app/features/settings/SettingsScreen.tsx

+10-22
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { useDispatch } from 'react-redux'
44
import { Link } from 'react-router-dom'
55
import { ScreenHeader } from 'src/app/components/layout/ScreenHeader'
66
import { SCREEN_ITEM_HORIZONTAL_PAD } from 'src/app/constants'
7-
import { useAllDappConnectionsForActiveAccount } from 'src/app/features/dapp/hooks'
87
import { SettingsItemWithDropdown } from 'src/app/features/settings/SettingsItemWithDropdown'
98
import { AppRoutes, SettingsRoutes } from 'src/app/navigation/constants'
109
import { useExtensionNavigation } from 'src/app/navigation/utils'
@@ -67,7 +66,6 @@ export function SettingsScreen(): JSX.Element {
6766
const { navigateTo, navigateBack } = useExtensionNavigation()
6867
const currentLanguageInfo = useCurrentLanguageInfo()
6968
const appFiatCurrencyInfo = useAppFiatCurrencyInfo()
70-
const dappUrls = useAllDappConnectionsForActiveAccount()
7169

7270
const [isLanguageModalOpen, setIsLanguageModalOpen] = useState(false)
7371
const [isTestnetModalOpen, setIsTestnetModalOpen] = useState(false)
@@ -187,7 +185,6 @@ export function SettingsScreen(): JSX.Element {
187185
<SettingsItem
188186
Icon={Globe}
189187
title={t('settings.setting.wallet.connections.title')}
190-
count={dappUrls.length}
191188
onPress={(): void => navigateTo(`${AppRoutes.Settings}/${SettingsRoutes.ManageConnections}`)}
192189
/>
193190
<SettingsItem
@@ -240,7 +237,6 @@ function SettingsItem({
240237
iconProps,
241238
themeProps,
242239
url,
243-
count,
244240
hideChevron = false,
245241
}: {
246242
Icon: GeneratedIcon
@@ -251,7 +247,6 @@ function SettingsItem({
251247
// TODO: do this with a wrapping Theme, "detrimental" wasn't working
252248
themeProps?: { color?: string; hoverColor?: string }
253249
url?: string
254-
count?: number
255250
}): JSX.Element {
256251
const colors = useSporeColors()
257252
const hoverColor = themeProps?.hoverColor ?? colors.surface2.val
@@ -262,7 +257,7 @@ function SettingsItem({
262257
borderRadius="$rounded12"
263258
flexDirection="row"
264259
flexGrow={1}
265-
gap="$spacing12"
260+
gap="$spacing16"
266261
hoverStyle={{
267262
backgroundColor: hoverColor as ColorTokens,
268263
}}
@@ -271,22 +266,15 @@ function SettingsItem({
271266
py="$spacing8"
272267
onPress={onPress}
273268
>
274-
<Flex row justifyContent="space-between" flexGrow={1}>
275-
<Flex row gap="$spacing12">
276-
<Icon
277-
color={themeProps?.color ?? '$neutral2'}
278-
size={iconSizes.icon24}
279-
strokeWidth={iconProps?.strokeWidth ?? undefined}
280-
/>
281-
<Text style={{ color: themeProps?.color ?? colors.neutral1.val }} variant="subheading2">
282-
{title}
283-
</Text>
284-
</Flex>
285-
{count !== undefined && (
286-
<Text alignSelf="center" color="$neutral2" variant="subheading2">
287-
{count}
288-
</Text>
289-
)}
269+
<Flex row gap="$spacing12">
270+
<Icon
271+
color={themeProps?.color ?? '$neutral2'}
272+
size={iconSizes.icon24}
273+
strokeWidth={iconProps?.strokeWidth ?? undefined}
274+
/>
275+
<Text style={{ color: themeProps?.color ?? colors.neutral1.val }} variant="subheading2">
276+
{title}
277+
</Text>
290278
</Flex>
291279
{!hideChevron && (
292280
<RotatableChevron color="$neutral3" direction="end" height={iconSizes.icon20} width={iconSizes.icon20} />

apps/extension/src/manifest.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"manifest_version": 3,
33
"name": "Uniswap Extension",
44
"description": "The Uniswap Extension is a self-custody crypto wallet that's built for swapping.",
5-
"version": "1.15.0",
5+
"version": "1.14.0",
66
"minimum_chrome_version": "116",
77
"icons": {
88
"16": "assets/icon16.png",

apps/mobile/android/app/build.gradle

+7-4
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ if (isCI && datadogPropertiesAvailable && !isE2E) {
8989
apply from: "../../../../node_modules/@datadog/mobile-react-native/datadog-sourcemaps.gradle"
9090
}
9191

92-
def devVersionName = "1.45"
93-
def betaVersionName = "1.45"
94-
def prodVersionName = "1.45"
92+
def devVersionName = "1.44"
93+
def betaVersionName = "1.44"
94+
def prodVersionName = "1.44"
9595

9696
android {
9797
ndkVersion rootProject.ext.ndkVersion
@@ -252,9 +252,12 @@ dependencies {
252252
implementation 'com.onesignal:OneSignal:4.8.9'
253253
implementation 'com.github.statsig-io:android-sdk:4.36.0'
254254

255+
// This is required for the backported AndroidX Photo Picker on versions of Android below 30
256+
implementation("androidx.activity:activity:1.9.+")
257+
255258
// For animated GIF support
256259
implementation 'com.facebook.fresco:animated-gif:3.6.0'
257-
260+
258261
if (hermesEnabled.toBoolean()) {
259262
implementation("com.facebook.react:hermes-android")
260263
} else {

apps/mobile/android/app/src/main/AndroidManifest.xml

+15
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
<uses-permission android:name="android.permission.VIBRATE" />
1010
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
1111

12+
<!-- This permission which may be added by expo modules. Unless it's used app-wide, should not be included in our app per Play Store rules -->
13+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:node="remove" />
14+
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" tools:node="remove" />
15+
1216
<application
1317
android:name=".MainApplication"
1418
android:label="@string/app_name"
@@ -23,6 +27,17 @@
2327
android:taskAffinity=""
2428
android:excludeFromRecents="true">
2529

30+
<!-- Trigger Google Play services to install the backported photo picker module. -->
31+
<service android:name="com.google.android.gms.metadata.ModuleDependencies"
32+
android:enabled="false"
33+
android:exported="false"
34+
tools:ignore="MissingClass">
35+
<intent-filter>
36+
<action android:name="com.google.android.gms.metadata.MODULE_DEPENDENCIES" />
37+
</intent-filter>
38+
<meta-data android:name="photopicker_activity:0:required" android:value="" />
39+
</service>
40+
2641
<meta-data
2742
android:name="com.onesignal.messaging.default_notification_icon"
2843
android:resource="@drawable/ic_stat_onesignal_default" />

apps/mobile/ios/Podfile.lock

+4-2
Original file line numberDiff line numberDiff line change
@@ -2337,7 +2337,9 @@ PODS:
23372337
- React
23382338
- react-native-get-random-values (1.8.0):
23392339
- React-Core
2340-
- react-native-image-picker (7.0.1):
2340+
- react-native-image-picker (7.2.3):
2341+
- glog
2342+
- RCT-Folly (= 2022.05.16.00)
23412343
- React-Core
23422344
- react-native-mmkv (2.10.1):
23432345
- MMKV (>= 1.2.13)
@@ -3081,7 +3083,7 @@ SPEC CHECKSUMS:
30813083
react-native-compat: 100540c3cebb076da442cf058e375e8ca895ae28
30823084
react-native-context-menu-view: dcec18eb8882e20596dbb75802e7d19cb87dac02
30833085
react-native-get-random-values: a6ea6a8a65dc93e96e24a11105b1a9c8cfe1d72a
3084-
react-native-image-picker: 1569cfade34b3a011191ce262423e6ce2f8db5a1
3086+
react-native-image-picker: b049e0ea9d6b1b58c06262e19f8b66c87ac7b760
30853087
react-native-mmkv: dea675cf9697ad35940f1687e98e133e1358ef9f
30863088
react-native-netinfo: 129bd99f607a2dc5bb096168f3e5c150fd1f1c95
30873089
react-native-onesignal: ab800900cffeca4d9db70a05244013fc8a36ceb8

0 commit comments

Comments
 (0)