- Mark React client components with "use client" directives. (#27300 by @EvanBacon)
- Add URL hash support (#27105 by @marklawlor)
- Fix using array syntax
(a,b)
with server output. (#27462 by @EvanBacon) - Fix issue with skipping all imports. (#27238 by @EvanBacon)
- Include search parameters in the default Screen.getId() function. (#26710 by @marklawlor)
- Fix sitemap missing paths (#26507 by @marklawlor)
- API routes incorrectly reporting duplicate routes (#26507 by @marklawlor)
- Invalid nested +html routes (#26507 by @marklawlor)
- Routes under shared routes using the wrong layout (#26507 by @marklawlor)
- Update typed route generation (#26578 by @marklawlor)
- Fix
push
navigation not adding to history while inside a group (#26678 by @marklawlor) - Fix using parenthesis in urls (#27120 by @marklawlor)
- Fix
push
navigation not pushing the same route multiple times (#27307 by @marklawlor) - Fix router.navigate will only push when path parameters change (#27285 by @marklawlor)
- Fix incorrect route generation of array shared groups with brackets (#27459 by @marklawlor)
- Fix incorrect initial URL on web when using baseUrl (#27287 by @marklawlor)
- Cancel ExpoRouter SplashScreen during test teardown (#27620 by @marklawlor)
- Export
toHaveRouterState
and other matcher types fromexpo-router/testing-library
(#27646 by @marklawlor) - Fix missing types from typed routes (#27412 by @marklawlor)
- Fork NavigationContainer on web to use custom linking context (#27712 by @marklawlor)
- Fix relative navigation on hoisted routes (#27778 by @marklawlor)
- Enable Jest tests for all platforms (#27407 by @marklawlor)
- Allow the file extension to be specified for
renderRouter
's filepaths (#26510 by @marklawlor) - Allow
renderRouter()
to accept an array of strings to quickly mock multiple empty components. (#26651 by @marklawlor) - Add
.dismiss(), .dismissAll() and .canDismiss()
torouter
APIs. (#26711 by @marklawlor)
- Fix issue with top-level catch-all not matching client-side routing behavior. (#26861 by @EvanBacon)
- Reduce usage of
expo-constants
. (#26834 by @EvanBacon)
This version does not introduce any user-facing changes.
- Remove error hiding system. (#26607 by @EvanBacon)
- Make
@testing-library/jest-native
usage optional (#26650 by @marklawlor)
- Add
useNavigationContainerRef
to access the root NavigationContainer ref. (#26529 by @EvanBacon)
- Deprecate
useRootNavigation
in favor ofuseNavigationContainerRef
. (#26529 by @EvanBacon) - Remove duplicate context mocking functions (#26651 by @marklawlor)
- Update to remove
ExpoRequest
/ExpoResponse
imports from@expo/server
. (#27261 by @kitten)
This version does not introduce any user-facing changes.
This version does not introduce any user-facing changes.
- Fix
<Drawer />
navigator navigation. (#25985 by @marklawlor)
- Add
router.pushOrPop
andnavigate
topushOrPop
(#24600 by @marklawlor) - Add
toHavePathnameWithParams
matcher toexpo-router/testing-library
. (#25955 by @marklawlor)
- Allow pushing to the same route multiple times. (#24600 by @marklawlor)
- Remove
not-found
URL parameter on webnot-found
pages. (#25955 by @marklawlor)
- Change
peerDependencies
forexpo
and removemetro
. (#25886 by @EvanBacon)
- Ensure search parameters are always decoded (#25589 by @marklawlor)
- Change default CSS reset to align with
react-native-web@0.19.8
. (#25429 by @EvanBacon)
- Add route-based bundle splitting on web. (#25627 by @EvanBacon)
- Change
unstable_src
toroot
in the Expo Router Config Plugin. (#25658 by @EvanBacon) - Support linking to
mailto:
, and other common links with the<Link />
component androuter
API. (#25486 by @EvanBacon) - Added support for React Native 0.73.0. (#24971, #25453 by @gabrieldonadel)
- Warn in development when a path and query parameter with the same name is used. (#24386 by @marklawlor)
- Fix traversing
generateStaticParams
. (#25440 by @EvanBacon) - Fix
state.routes.at is not a function
error on navigation. - Only mock
react-native-reanimated
if package is installed. (#25588 by @marklawlor) - Import
@expo/metro-runtime
from build dir. (#25655 by @EvanBacon)
- Disable suspense loader in production. (#25436 by @EvanBacon)
- Removed unused
dateModified
field fromMetadataOptions
in the head module. (#25467 by @tsapeta)
- Drop support for rendering
<SplashScreen />
as a React component.SplashScreen
now re-exportsexpo-splash-screen
. (#24893 by @EvanBacon) - The Babel plugin
expo-router/babel
has been moved tobabel-preset-expo
and will be enabled automatically whenexpo-router
is installed. (#24779 by @EvanBacon) - Bumped iOS deployment target to 13.4. (#25063 by @gabrieldonadel)
- Include static routes from
generateStaticParams
in server manifest. (#25003 by @EvanBacon) - Add web-only
target
,rel
, anddownload
props to theLink
component. (#24908 by @EvanBacon) - Add
className
prop toLink
component. (#24797 by @EvanBacon) - Add
file
to server manifest format to represent the location of the file on disk. (#24739 by @EvanBacon) - Add new
+not-found
convention for 404s. (#24528 by @EvanBacon)
- Fix query parameter encoding. (#25198 by @EvanBacon)
- Prevent circular navigation references. (#24548 by @EvanBacon)
- Fix navigating to shared routes. (#24218 by @marklawlor)
- Fix navigation target for nested layouts (#24598 by @marklawlor)
- Fix
renderRouter
on windows (#24674 by @marklawlor) - Fix relative hrefs when inside a group (#25111 by @marklawlor)
- Fix
renderRouter
Cannot set properties of undefined
error. (#25110 by @marklawlor) - Fix relative hrefs from index routes (#25309 by @marklawlor)
- Rename experimental
basePath
setting tobaseUrl
. (#25305 by @EvanBacon) - Move web
AppContainer
alias toexpo/cli
. (#25148 by @EvanBacon) - Fix build. (#25005 by @EvanBacon)
- Ship untranspiled JSX to support custom handling of
jsx
andcreateElement
. (#24889 by @EvanBacon) - Throw unhandled actions in tests. (#24525 by @EvanBacon)
- Migrate to new standard
URL
support on native. (#24941 by @EvanBacon)
- Include
_ctx-html
file in public release. (#24472 by @EvanBacon)
- Expo Router no longer automatically injects
react-native-gesture-handler
. Users must now add this in layout routes. (#24314 by @EvanBacon) - Drop client-side mocking for
__dirname
and__filename
. (#24348 by @EvanBacon)
- Add server manifest. (#24429 by @EvanBacon)
- Infinite renders when using ErrorBoundary in a nested layout. (#24317 by @marklawlor)
- Navigation across nested
_layout
when usingrouter.replace()
and<Redirect />
(#24457 by @marklawlor)
- Ignore root HTML automatically in the context module. (#24388 by @EvanBacon)
- Compile to cjs to support running directly in Node.js. (#24349 by @EvanBacon)
- Fix build. (#24309 by @EvanBacon)
- Fix false positive redirect deprecation since version 2.0.1 when using
<Screen />
. (#23932 by @sync)
- Remove
@bacons/react-views
-> the undocumentedhoverStyle
property is no longer supported on<Link />
. (#23889 by @EvanBacon) - Remove deprecated hooks
useSearchParams
anduseLink
(#24219 by @marklawlor) - Remove deprecated
<Screen />
propredirect
(#24219 by @marklawlor)
- Add support for
experiments.basePath
and hosting from sub-paths. (#23911 by @EvanBacon) - Add types for the
unstable_styles
export of CSS Modules. (#24244 by @EvanBacon) - Tree shake error symbolication code in production. (#24215 by @EvanBacon)
- Add static font extraction support with
expo-font
. (#24027 by @EvanBacon)
- Support
push
going back to sibling with nested stack from a modal. (#24166 by @EvanBacon) - Use deeper clone to prevent state leak. (#24149 by @EvanBacon)
- Prevent double renders when pushing stacks. (#24147 by @EvanBacon)
- Patch
react-native-web
AppContainer to prevent adding extra divs. (#24093 by @EvanBacon) - Allow pushing "sibling" routes by the same name. (#23833 by @EvanBacon)
- Prevent throwing in
canGoBack
before the navigation has mounted. (#23959 by @EvanBacon) - Fix error overlay not being applied on web. (#24052 by @EvanBacon)
- Add missing
listener
types. (#24174 by @muneebahmedayub)
- Move entry registration to
expo
. (#23891 by @EvanBacon) - Drop unused tests. (#23890 by @EvanBacon)
- Fix
yarn tsc
in the repo. (#23887 by @EvanBacon)
- Migrate to expo/expo monorepo. (#23725 by @EvanBacon)
- Change source directory in production to use
build
instead ofsrc
. (#23725 by @EvanBacon) - Fold
expo-head
intoexpo-router
. (#23725 by @EvanBacon)
- Fix exports. (#23789 by @EvanBacon)