Releases: rainbow-me/rainbow
Releases · rainbow-me/rainbow
v2.0.21
Added
- Add regression tests for emoji resolution paths (#7173)
- Always show notification prompt in onboarding (#7108)
- Add perps PnL share image (#7139)
- Add PnL graphic to trade details sheet (#7140)
- Show trade details sheet after closing perps position (#7142)
- Encode position leverage in cloid (#7143)
- Add carousel for PnL share image selection (#7198)
- Add paginated fetching for events browse screen in predictions (#7203)
- Introduce IS_INTERNAL and IS_STORE_INSTALL flags (#7244)
- Add cross-platform install source detection (#7258)
- Add RNBW membership tab and feature flag (#7228)
Changed
- Remove emoji-datasource from dependencies (#7174)
- Remove points feature code (#7102)
- Bump iOS and Android to v2.0.21 (#7214)
- Remove all remote promo sheet related code (#7202)
- Revert fix for missing timestamps on custom breadcrumbs (9930687)
- Colocate unit test files next to source modules (#7223)
- Consolidate ENS domain into src/features/ens/ (#7197)
- Move ens-avatar fork to src/vendor (#7231)
- Consolidate wallet-connect domain into src/features/wallet-connect (#7230)
- Colocate integration tests next to positions transform module (#7224)
- Enforce colocated test file placement in ESLint (#7232)
- Document SimpleHash shutdown and viem migration path for ens-avatar (#7238)
- Remove src/features/perps/components/Slider/index.ts barrel file (#6995)
- Remove stale CodeQL workflow in favor of GitHub default setup (#7241)
- Remove src/navigation/index.ts barrel file (#6996)
- Remove src/notifications/settings/index.ts barrel file (#6997)
- Remove src/parsers/index.ts barrel file (#6998)
- Remove unused SVG icons and dead Icon.js entries (#7243)
- Remove src/theme/index.ts barrel file (#7000)
- Remove src/references/index.ts barrel file (#6999)
- Remove src/config/index.ts barrel file (#6991)
- Upgrade yarn from 4.2.2 to 4.13.0 (#7245)
- Remove unused ToolbarTextButton component from DappBrowser (#7268)
- Remove dead code from pre-userAssetsStore era in assets (#7269)
Fixed
- Use ignoreErrors instead of ignoreTransactions for error filtering in Sentry (#7212)
- Handle swaps with multiple inputs/outputs in history (APP-3447) (#7131)
- Add missing timestamps on custom breadcrumbs in Sentry (4c03399)
- Prevent platform splitting of captureMessage issues in Sentry (#7221)
- Add missing timestamps on custom breadcrumbs in Sentry (#7222)
- Fix Android font rendering and share functionality (#7199)
- Only retry E2E tests on CI (#7234)
- Suppress non-actionable rainbowFetch errors in Sentry (#7229)
- Prevent Metro from refreshing on ios/android folder changes (#7235)
- Remove rainbow-scripts from watchman ignore (#7255)
- Fix transaction not found Sentry noise during pending transaction polling (#7248)
- Allow private key import over damaged seed wallet (APP-3443) (#7254)
- Prevent backup sheet from showing over notification permissions (#7227)
- Fix crash in AppInstallInfo when iOS sync method returns true (#7264)
- Align E2E builds with production by disabling dev mode (#7260)
- Fix debug key builds incorrectly classified as store installs in AppInstallInfo (#7265)
- Fix crash when viewing connected dapps in wallet-connect (#7270)
v2.0.20
Added
- Polymarket block buy/sell when zero or not enough liquidity (#7151)
- Polymarket "in review" market label (#7152)
- Add icons for sports over/under markets (#7170)
- Polymarket midpoint live pricing support (#7164)
- Use midpoint pricing for moneyline ratio bar (#7165)
- 7702 delegation, atomic swaps (#7157)
Changed
- Remove unused debug utilities (#7144)
- Remove dead test files and orphaned test helper (#7148)
- Move rainbow-fetch to framework/data/http (#7145)
- Move styled-thing to framework/ui (#7147)
- Move safeMath to framework/core (#7146)
- Remove deprecated sentry breadcrumb utils (#7158)
- Remove unused ActionCard component (#7159)
- Refactor market and team fallback colors selection (#7122)
- Update react-native-view-shot to 4.0.3 and remove patch (#7126)
- Upload AWS Device Farm logs as GitHub artifacts (#7156)
- Remove IS_TEST hacks from Swap components (#7154)
- Remove unused AirdropSection component and store (#7160)
- Enforce TS are imported with annotation (#7161)
- Import types with annotation in VSCode(Cursor) (#7162)
- Remove barrel import of date-fns to reduce bundle size (#7166)
- Remove unused DraggableFlatList and AnimatedFlatList components (#7169)
- Remove unused AllocationBreakdown component and i18n keys (#7168)
- Organize app-icon into type directories (#7167)
- Bump iOS and Android to v2.0.20 (#7176)
- Convert ImgixImage from class to function component (#7153)
- Remove unused BackupRainbowButton component (#7178)
- Add AGENTS.md for AI coding agent context (#7175)
- New Crowdin updates (#7163)
- Remove unused BottomSheetBackground component (#7180)
- Normalize lockfile and project for Xcode 26 + Ruby 3.4.8 (#7182)
- Remove 13 unused devDependencies (#7183)
- Move dev-only packages out of runtime dependencies (#7184)
- Upgrade Node.js from 18 to 22 LTS (#7181)
- Migrate from @gelatonetwork/relay-sdk to @gelatocloud/gasless (#7179)
- Update TypeScript to 5.9.3 and fix type errors (#7155)
- Remove unused @ethersproject/random (#7186)
- Remove unused @ethersproject/solidity (#7187)
- Remove unused @walletconnect/legacy-utils (#7188)
- Remove unused react-native-section-list-get-item-layout (#7189)
- Remove unused react-style-proptype (#7190)
- Remove noop string.fromcodepoint (#7191)
- Drop @react-native/metro-config from runtime deps (#7192)
- Remove remote cards feature (#7201)
- Smart wallet delegation translations (#7196)
- Remove dead code from src/helpers and src/components (ffbacc3)
- Remove koth points multiplier (#7208)
Fixed
- Fix android performance test (#7150)
- Resolved outcomes displayed twice when all outcomes resolved (#7177)
- Handle DepositQuoteStatus.Error in deposit quote flow (#7193)
- Transaction fixes, 7702 cleanup (#7200)
- Resolve startup race dropping identify traits (#7207)
- Correct allowance target handling for wrap/unwrap (#7210)
v2.0.19
Added
- Feat: add stripe f2c (#7039)
- New Crowdin updates (#7040)
- New Crowdin updates (#7115)
- Feat: add search header to perps/prediction flows token selector (#7098)
- Feat: swap limit approvals (#7018)
- Feat: atomic swaps (#6975)
- Feat: delegation revoke sheets, confirmations (#7014)
- Feat: delegation wallet management/preferences (#7015)
- Feat: delegation developer settings (#7016)
Changed
- Use feature flag for swap estimated rewards (#7066)
- Bump iOS and Android to v2.0.19 (#7065)
- chore: fix lint on CI (#7068)
- Move opacity util to dedicated file (#7069)
- Refactor(framework): move actionsheet utility to framework directory (#7070)
- chore: remove dead reference to old store review module (#7084)
- chore: remove unused device id custom module (#7086)
- chore: remove src/utils/** barrel files (#6986)
- chore: remove src/hooks/** barrel files (#6987)
- chore: remove dead JS components and exports (#7091)
- chore(floating-emojis): remove noop wrapperProps from CopyFloatingEmojis (#7092)
- chore(e2e): temp disable SwapERC20Transaction flaky test (#7100)
- chore(ButtonPressAnimation): remove noop pointerEvents props (#7094)
- chore: temporary disable circular dependency check (#7110)
- refactor: move GestureHandlerButton to shared components (#7099)
- chore(CI): bump iOS build timeout to 45 minutes (#7109)
- chore(deps): upgrade react-native-mmkv to v4 (#7106)
- chore: remove custom start time module (#7083)
- chore: remove vestigial WalletConnect row from Activity tab (#7114)
- refactor: move shared border and separator constants to styles/constants (#7101)
- chore: remove custom native theme module (#7085)
- refactor: extract token search input and button (#7093)
- chore: remove custom testflight module (#7082)
- chore: remove dead ChartExpandedState and transitive dependencies (#7116)
- chore(ButtonPressAnimation): fix caller type mismatches ahead of moduleSuffixes (#7117)
- chore(ios): migrate ImageNotification extension from ObjC to Swift (#7104)
- Migrate useAnimatedGestureHandler to RNGH v2 Gesture API (#7105)
- chore: resolve remaining type mismatches from moduleSuffixes (#7123)
- chore(CopyTooltip): remove dead activeOpacity prop (#7124)
- refactor(ButtonPressAnimation): unify platform types into shared interface (#7125)
- chore(tsconfig): enable moduleSuffixes for platform-aware type resolution (#7127)
- chore(ci): add checkJs error baseline to gate JS type regressions (#7128)
- chore(ci): enable detection of broken imports in JS files (#7129)
- chore: remove dead ShowcaseSheet and RecyclerAssetList v1 (#7130)
- chore: upgrade swap SDK to 0.41.0 and fix address type safety (#6971)
- chore(shim): resolve TS2866 global name conflict for Event import (#7133)
- docs(readme): restructure setup instructions with correct dependency order (#7134)
- chore: remove src/components/** barrel files (#6988)
- chore: remove src/entities/index.ts barrel file (#6994)
- refactor: group app-icon domain into src/features/app-icon (#7132)
- chore: pin Ruby 3.4.8 and fix local setup prerequisites (#7136)
- docs(readme): restructure setup by target platform and fix Android setup gaps (#7138)
- refactor: move wallet initialization before WalletScreen navigation (#7090)
- chore(deps): migrate from react-native-linear-gradient to expo-linear-gradient (#7103)
- chore: delegation sdk, service injection (#7017)
- refactor: transaction simulation uniformity (#7019)
- Integrate with latest delegation SDK (#7135)
- Harden and consolidate legacy gas checks (#7157)
Fixed
- Fix Android build.gradle crash on empty .env values (#7067)
- Clicking on available polymarket balance navigates to PM portfolio (#7089)
- Fix(e2e): update Discover test for rnbw rewards screen (#7097)
- Fix(NetworkSelectorButton): restore missing tap target padding (#7096)
- Fix(haptics): derive HapticFeedbackType from react-native-haptic-feedback (#7095)
- Fix(RequestVendorLogoIcon): fix broken initials fallback from barrel removal (#7113)
- Fix(ImportOrWatchWalletSheet): restore missing watchWallet analytics on button tap (#7119)
- Fix(ButtonPressAnimation): restore broken scaleTo on 5 call sites (#7118)
- Fix: prevent account balance updates on predictions new position sheet (#7121)
- Fix: predictions initial markets to show logic (#7120)
- Fix(gradient): correct 135deg angle conversion for expo-linear-gradient (#7141)
- Fix: adopt expo-linear-gradient (#7157)
v2.0.18
Added
- Add dependency cycles check (#6984)
- Add Stripe as a fiat provider (#6982)
- Add debug info to feedback emails (#7056)
- Add category selection to support email flow (#7063)
- RNBW realtime rewards & airdrop claiming (#7011)
Changed
- Remove unused skia-cards discover entry points (#6983)
- Remove stale duplicate PR template (#7003)
- Remove orphaned Jest mocks and disabled test files (#7004)
- Remove unused Buck build system remnants (#7005)
- Remove unused Detox artifacts (#7006)
- Remove unused cspell.json (#7007)
- Bump iOS and Android to v2.0.18 (#7010)
- Remove global console override caused by rn-nodeify (#7008)
- Consolidate logic to show Fiat Provider list items (#6981)
- Migrate f2c api from gretchen (#7021)
- Remove react-native-redash patch (#7025)
- Remove react-native-screen-corner-radius patch (#7024)
- Forbid barrel files (index.ts) (#7026)
- Expand allowed bash commands (#7027)
- Crowdin translations for prediction markets (#6941)
- Regenerate Podfile.lock for react-native-screen-corner-radius 0.2.3 (#7050)
- Auto-run allow-scripts via Yarn plugin (#7048)
- Remove unused getExchangeIconUrl (#7057)
Fixed
- Remove dependency cycle in polymarket to avoid crashes (#6985)
- Fix crash with new f2c provider (#7022)
- Support email flow broken on Android 11+ (#7053)
- iOS driver timeout causing cascading test failures (#7058)
- Update Anvil fork block to fix swap test flakiness (#7060)
- Broken balance validation in SwapERC20Transaction test (#7061)