Skip to content

Latest commit

 

History

History
1496 lines (1131 loc) · 62.9 KB

CHANGELOG.md

File metadata and controls

1496 lines (1131 loc) · 62.9 KB

Changelog

This is the log of notable changes to Expo CLI and related packages.

master

🛠 Breaking changes

🎉 New features

🐛 Bug fixes

🛠 Breaking changes

🎉 New features

  • [cli] Add two-factor authentication to login (#2581)
  • [cli] Make expo install pass through to npm or yarn directly when running it in a bare React Native app without the expo package installed. (#2729)
  • [cli] EAS Build: Configure expo-updates automatically if it's installed when running eas:build:init #2587
  • [cli] Support absolute path in credentials.json for gradle

🐛 Bug fixes

  • [config] Fix relative module resolution for config files (#2744)
  • [configure-splash-screen] don't export color-string types (#2739)
  • [cli] Fix simulator picking when multiple device versions exist (#2742)
  • [cli] Fix EXPO_DEBUG on expo upgrade
  • [cli] Fix command help options order (#2721)
  • [xdl] Add support for splash screen SDK-39 standalone app configuration & building (#2747)

📦 Packages updated

🛠 Breaking changes

  • [config-types] remove loading key (#2722)

🎉 New features

  • [config-types] Split up platform configs (#2716)
  • [config-types] Rename root config file to ExpoConfig (#2715)

🐛 Bug fixes

  • [config-types] android.intentFilters.data type fix (#2707)
  • [cli] Fix typo when JS installation fails on eject (#2712)
  • [cli] Revert "Improved package name validation (#2687)"
  • [cli] Fix link to hashAsseFiles information on eject
  • [cli] Remove short form of --count (-count didn't work, -c is taken)
  • [cli] Fix windows build compatibility (#2705)

📦 Packages updated

🎉 New features

  • [configure-splash-screen]: Accommodate Android singletons.SplashScreen import from the subpackage (#2699)
  • [configure-splash-screen]: Make Android configuration conform to the new native API (#2698)

🛠 Breaking changes

🎉 New features

🐛 Bug fixes

  • [config] Disable splash screen applying on eject until we fix issue with @expo/configure-splash-screen versioning. #2700.

📦 Packages updated

🎉 New features

  • [cli] Improved package name validation (#2687)
  • [cli] Recommend Transporter.app if expo upload:ios fails
  • [cli] Only show upload:ios command when build is for an iOS archive
  • [config] Created XML module (#2694)
  • [config][eject] Added ios.entitlements (#2624)
  • [config] Created Paths module (#2695)
  • [config] Resolve inline locales (#2691)
  • [config-types] Update for schema changes (#2690)
  • [xdl] use process.env.METRO_NODE_OPTIONS when starting Metro (#2401)

🐛 Bug fixes

  • [xdl] add export modificator for Project.startExpoServerAsync function (#2697)

📦 Packages updated

🛠 Breaking changes

  • [xdl] Deprecated Project.getManifestUrlWithFallbackAsync() in favor of UrlUtils.constructManifestUrlAsync(). #2684
  • [xdl] Deprecated Project.getUrlAsync() in favor of UrlUtils.constructManifestUrlAsync(). #2684
  • [xdl] Removed Project.getSlugAsync(), Project.stopTunnelsAsync(), Project.startExpoServerAsync(), Project.stopExpoServerAsync(), Project.ProjectStatus. #2684

🎉 New features

  • [expo-cli] replace @expo/build-tools with @expo/eas-build-job to reduce dependencies size. #2679
  • [expo-cli] Upgrade - skip installing the expo package if it is already set to the correct version
  • [expo-cli] Upgrade - link to upgrade-helper in bare workflow when relevant

🐛 Bug fixes

  • [config] improve modules (#2674)
  • [expo-cli] Support unauthorized devices (#2681)

📦 Packages updated

🛠 Breaking changes

🎉 New features

  • [configure-splash-screen] Simplified and unified arguments, parameters and --help output. See configure-splash-screen --help to see the changes. #2297

🐛 Bug fixes

  • [xdl] Fix downloadApkAsync so it uses passed in URL rather than always depending on versions endpoint androidUrl
  • [cli] Bring back support for EXPO_APPLE_ID (#2671)

📦 Packages updated

🛠 Breaking changes

🎉 New features

  • [json-file] Add ensureDir option #2664
  • [configure-splash-screen] Refactor and integrate with @expo/config (#2297)

🐛 Bug fixes

  • [cli] build:android fix missing keytool warning if user want to specify ceredentials manually #2662
  • [cli] Re-use source root lookup from @expo/config to fix updates config on init for projects with names that are altered for native project compat
  • [cli] fix prompt helpers (#2667)
  • [xdl] Build iOS shell app artifact in the current directory (instead of one level up). (#2608)
  • [next-adapter] ReferenceError Html is not defined (#2666)

📦 Packages updated

🛠 Breaking changes

  • [cli] Remove deprecated --web-only flag from start command

🎉 New features

  • [cli] EAS Build: Improve errors and warnings when deprecating API #2639
  • [cli] support --config flag in expo credentials:manager #2641
  • [cli] warn the user when the bundle ID or package name is already in use (#2616)
  • [cli] Make gitignore and native project step idempotent in eject (#2620)
  • [cli] Added no-install and npm args to eject (#2621)
  • [cli] Improve JSON error formatting (#2635)
  • [cli] warn about Constants.manifest and assetBundlePatterns on eject (#2648)
  • [cli] Log about upload after build:ios completes (#2649)
  • [config-types] Generate types for Expo config (#2622)
  • [optimize] Compile expo/config in expo-optimize - faster install time! (#2643)
  • [xdl] Exclude IDFA code from Branch (#2655)

🐛 Bug fixes

  • [configure-splash-screen] Fix error when project's name contains only numeric characters #2657
  • [cli] Fix credential fetching for team members acting on behalf of a project owner #2660
  • [cli] Fix errors preventing expo eas:build:init from working
  • [cli] add missing owner query param (#2660)
  • [next-adapter] Next warning Expected Document Component Html was not rendered (#2661)
  • [config] Disable using the project's babel.config.js for transpiling app.config.js (#2656)
  • [configure-splash-screen] Fix error up upon numeric name (#2657)
  • [xdl] resolve locales from project root (#2647)
  • [cli] Remove external config evaluation script (#2625)
  • [cli] remove extra config reads (#2636)
  • [xdl] Fix path to expo-random
  • [xdl] Add expo-random to SDK39+ iOS shell apps (#2640)
  • [cli] Added better logs for invalid custom config paths (#2626)

📦 Packages updated

🎉 New features

  • [expo-cli] Clean up TerminalUI (#2614)

🐛 Bug fixes

  • [expo-cli] Default to silent when installing node dependencies through init

📦 Packages updated

🐛 Bug fixes

  • [xdl] Use ~assets for publish and assets for export

📦 Packages updated

🎉 New features

  • [expo-cli] EAS Build: add experimental.npmToken to credentials.json #2603
  • [expo-cli] EAS Build: monorepo support #2601

🛠 Breaking changes

  • [xdl] Delete deprecated Exp.extractAndInitializeTemplateApp, Exp.initGitRepoAsync, Exp.installDependenciesAsync, Exp.getPublishInfoAsync, #2590
  • [expo-cli][export] No longer prompts to automatically delete conflicting files, they must now be manually deleted, or the command must be rerun with --force #2576
  • [xdl] Deleted deprecated Web module #2588

🎉 New features

  • [expo-cli][eject] support Facebook props being removed #2566)
  • [expo-cli][config] Generate Android icons on eject and apply #2087
  • [expo-cli][export] List all conflicting files, allow for tolerable file collisions, prompt for public-url when it's not provided in interactive mode #2576

🐛 Bug fixes

  • [webpack] Fix copy webpack plugin for web overrides (#2558)

🐛 Bug fixes

  • [expo-cli] fix Segment context format #2560

📦 Packages updated

🎉 New features

  • [expo-cli] EAS Build - track build process with Segment (#2555)

🐛 Bug fixes

  • [cli] Fix requested sdk in upgrade command (#2557)

📦 Packages updated

🛠 Breaking changes

  • [expo-cli] remove push:web:upload, push:web:generate, push:web:show, push:web:clear (#2531 by @EvanBacon)

🎉 New features

  • [expo-cli] expo --help redesigned (#2538 by @EvanBacon)
  • [expo-cli] expo upload - support tar.gz files from builds v2 (#2504 by @EvanBacon)
  • [expo-cli] Implemented keychain storage for Apple ID (#2508 by @EvanBacon)
  • [expo-cli] expo publish - Clean up upload results logs (#2516 by @EvanBacon)
  • [expo-cli] expo eject - Added support for locales in eject and apply (#2496 by @EvanBacon)
  • [expo-cli] expo publish - Log bundles after building (#2527 by @EvanBacon)
  • [expo-cli] Improve warning logging on publish (#2524 by @EvanBacon)
  • [expo-cli] Add shift+i hotkey in interactive prompt to select iOS simulator to open (#2541 by @EvanBacon)
  • [expo-cli] Add shift+a hotkey in interactive prompt to select Android device/emulator to open (#2550 by @EvanBacon)
  • [expo-cli] Improve edge case handling when upgrading Expo client in iOS simulator (#2541 by @EvanBacon)
  • [expo-cli] expo eas:build - Add --skip-credentials-check option (#2442 by @satya164)
  • [expo-cli] Add a eas:build:init command (#2443 by @satya164)
  • [expo-cli] expo generate-module - Support for templates with Android native unit tests (#2548 by @barthap)
  • [expo-cli] eas build: collect build metadata (#2532)
  • [xdl] Add support for passing app.json updates config to expo-updates in SDK 39 standalone apps (#2539 by @esamelson)

🐛 Bug fixes

  • [dev-server] Use minify in prod (#2526 by @EvanBacon)
  • [dev-tools] Fix layout shifting when url becomes available by rendering a placeholder for QR code (c34397c41 by @brentvatne)
  • [expo-cli] Eas build fix prompt for unsynced credentials (#2546 by @wkozyra95)
  • [expo-cli] expo upload:android - fix --use-submission-service not resulting in non-zero exit code when upload fails (#2530 by @mymattcarroll)
  • [expo-cli] Fix generate-module to support latest expo-module-template (#2510 by @barthap)
  • [expo-cli] Fix generate-module filename generation for modules without expo- prefix (#2548 by @barthap)
  • [image-utils] Fix setting background color when calling Jimp.resize (#2535 by @cruzach)
  • [xdl] Remove undistributable code from root build.gradle (#2547 by @sjchmiela)
  • [xdl] Remove expo-image from SDK39 standalone apps (#2533 by @sjchmiela)

📦 Packages updated

🎉 New features

  • [eject] Added support for allowBackup (#2506 by @EvanBacon)
  • [eject] Warn before ejecting that some config needs to be set on dynamic config (#1761 by @brentvatne)
  • [expo-cli] Added no-install option to expo init (#2515 by @EvanBacon)

🐛 Bug fixes

  • [image-utils] Add missing dependencies (#2512 by @byCedric)
  • [webpack-config] fix: handle empty favicons (#2423 by @jaulz)
  • [config] Update "googleMobileAdsAutoInit" to be optional (#2317 by @JamieS1211)
  • [webpack-config] add compatibility for node-pushnotifications in service worker (#1440 by @jaulz)

📦 Packages updated

🎉 New features

  • [expo-cli] EAS Build: warn user when credentials are not git ignored (#2482 by @wkozyra95)
  • [expo-cli] EAS Build: tweaks (#2485 by @dsokal):
    • initialize a git repository if it does not exist yet
    • improve reading the bundle identifier from the Xcode project (handle the string interpolation case)
  • [xdl] Add EXPO_TOKEN authentication method (#2415 by @byCedric)
  • [expo-cli] Generate iOS icons on eject and apply (#2495 by @EvanBacon)
  • [expo-cli] expo apply - prompt for bundle ID and package name (#2498 by @EvanBacon)
  • [expo-cli] expo eject - added support for device families (#2505 by @EvanBacon)
  • [expo-cli] EAS build: allow choosing scheme for ios project build (#2501 by @dsokal)

🐛 Bug fixes

  • [expo-cli][xdl] EAS Build: Skip SDK version validation (#2481 by @brentvatne)
  • [expo-cli] expo apply - fix iOS name changing (#2497 by @EvanBacon)
  • [expo-cli] expo apply - fix android schemes being added incorrectly (#2507 by @EvanBacon)
  • [expo-cli] Fix progress bar when uploading iOS (#2502 by @byCedric)
  • [expo-cli] Fix default bare project name to match regex in expo-init (#2509 by @barthap)

📦 Packages updated

🛠 Breaking changes

  • [webpack-config] Disable offline support by default in SDK 39 (#2475 by @EvanBacon)

🎉 New features

  • [expo-cli]: EAS Build: add command eas:credentials:sync (#2460 by @wkozyra95)
  • [xdl] update ios Podfile excluded unimodules for SDK 39 (#2471 by esamelson)

🐛 Bug fixes

  • [expo-cli] Only run expo service checks from the doctor command (#2474 by @byCedric)

📦 Packages updated

🛠 Breaking changes

  • [expo-cli] EAS Build: Upgrade @expo/build-tools to 0.1.14 to add support for glob patterns for artifactPath.

🎉 New features

  • [expo-cli] Force users to confirm deleting android credentials (#2457 by @byCedric)
  • [expo-cli] EAS Build: print credentials source before running build (#2453 by @dsokal)
  • [expo-cli][xdl] expo doctor - add network check (#2424 by @byCedric)
  • [expo-cli] expo eject - support projects with dynamic or missing configs (#2464 by @EvanBacon)
  • [config] Allow scheme arrays (#2462 by @EvanBacon)

🐛 Bug fixes

  • [expo-cli] EAS Build: better error handling when using local credentials.json (#2452 by @wkozyra95)
  • [package-manager] fix pod-install for macOS projects (#2461 by @Simek)
  • [xdl] Expand Android permissions blacklist and add annotations (#2458 by @byCedric)

📦 Packages updated

🛠 Breaking changes

  • [expo-cli][xdl] Stop using api v1 endpoints for credentials (#2422 by @wkozyra95).
  • [expo-cli] Rename eas.json field: buildCommand -> gradleCommand (#2432 by @dsokal).
  • [expo-cli] Upgrade @expo/build-tools to 0.1.13 to change the default Gradle task (:app:assembleRelease -> :app:bundleRelease) for generic Android build.

🎉 New features

  • [expo-cli] Implement auto-configuration for Android projects (#2427 by @satya164).
  • [expo-cli] Make output of the expo eas:build command more readable (#2428 by @wkozyra95).
  • [expo-cli] Add artifactPath for generic iOS build profiles & set app-bundle as the default build type for managed Android builds (#2435 by @dsokal).

🐛 Bug fixes

  • [config] Fix generated orientation in AndroidManifest.xml (#2431 by @barthap).

📦 Packages updated

🛠 Breaking changes

  • Renamed commands for EAS Builds (#2419 by @dsokal):
    • expo build -> expo eas:build
    • expo build-status -> expo eas:build:status

🎉 New features

  • Reimplement bundling with Metro JS APIs (no file watching or HTTP servers), enabled in expo publish and expo export when EXPO_USE_DEV_SERVER is set to true. (#2149 by @fson).
  • Implement autoconfiguring bare iOS projects so they are buildable with EAS Builds. (#2395 by @dsokal).

📦 Packages updated

🛠 Breaking changes

  • Delete the deprecated expo android command (#2215)
  • Delete deprecated expo ios command (#2216)

🎉 New features

  • [xdl] Log output from Gradle Wrapper is a lot cleaner now. It doesn't print dots when the appropriate Gradle version is being downloaded (#2355).
  • [expo-cli] expo upload:android - Add better error messages when downloading archive file failed #2384.
  • [expo-cli] perfomance improvment for operations on credentials (more efficient internal caching) #2380.
  • [expo-cli] Add a command to get build status for turtle v2 builds

🐛 Bug fixes

  • [configure-splash-screen] Bump cli-platform-[ios/android] versions for logkitty security fix
  • [nextjs] Fix next.js adapter bug (#2412)
  • [expo-cli] cleanup apple id credentials logic (#2409)
  • [expo-cli] don't print function string in error message (#2407)
  • [expo-cli] fix lint error
  • [expo-cli]: IosApi handle properly missing credentials
  • [expo-cli] base64 decode when saving p8 file (#2404)
  • [expo-cli] revert PR #2404 and remove encoding from IosPushCredentials (#2406)
  • [expo-cli] check when field when prompting in noninteractive mode (#2393)
  • [xdl] Remove UpdateVersions from xdl (#2387)
  • [xdl] Stop ADB daemon only when it was launched by xdl (#2064)
  • [config] Implement "useNextNotificationsApi" configuration SDK 38 (#2318)
  • [configure-splash-screen] fix a command instructions (#2370)
  • [expo-cli] upload:android - add better error messages for issues with downloading archive file (#2384)
  • [expo-cli] submission service: fix passing archive type from command line (#2383)
  • [expo-cli] expo upload:android - fix help output - --latest is not default
  • [xdl] Fix incorrect check of the packager port in the "setOptionsAsync" function. Fixes #2270
  • [expo-cli] consolidate env variables. (#2358)

📦 Packages updated

🛠 Breaking changes

  • [expo-cli] Prefer --apple-id-password flag to environment variable EXPO_APPLE_PASSWORD when both are set(#2280).
  • [expo-cli] Use EXPO_APPLE_PASSWORD instead of EXPO_APPLE_ID_PASSWORD.

🐛 Bug fixes

  • [xdl] fix analytics for expo start (#2357)
  • [xdl] Update link to third party library docs

📦 Packages updated

🐛 Bug fixes

  • [webpack-config] Interop assets like Metro bundler (#2346)

📦 Packages updated

🎉 New features

  • [expo-cli] print turtle v2 build logs url
  • [cli] add owner support for push:android cmds (#2330)
  • [expo-cli] give another attempt to enter apple id credentials if it fails authentication with Apple (#2338)
  • Add owner field support to expo start (#2329)
  • Updated webpack version (#2336)
  • [expo-cli] implement webhooks v2 (#2212)
  • Add e2e tests for expo export (#2237)
  • [expo-cli] Combined ID prompts for build and eject (#2313)
  • Upgraded copy-webpack-plugin (#2334)

🐛 Bug fixes

  • fix(config): use basename to avoid mixed path separators from glob (#2319)
  • [webpack-config] Remove yup validation (#2335)

📦 Packages updated

🐛 Bug fixes

  • Fix bug in credential manager when the user specifies a push key manually and appleCtx is not intialized.
  • Simplify findProjectRootAsync to not use getConfig and swallow its errors.
  • Workaround for iOS eject entitlements step failing on Windows - try/catch and warn if it doesn't work.

📦 Packages updated

🐛 Bug fixes

  • Fix expo upgrade in projects that use dynamic configuration

📦 Packages updated

🛠 Breaking changes

  • Mark unused XDL functions as deprecated

🎉 New features

  • Prompt for iOS bundle identifier on build
  • Add allowBackup customization feature for android
  • Make the tabs template use TypeScript
  • Use sudo for CocoaPods installation in pod-install, as recommended by CocoaPods docs

🐛 Bug fixes

  • Fix expo credentials:manager listing all credentials on android and respect owner field` (#2311 by @wkozyra95).
  • Fix client_log warning in SDK 38 apps

📦 Packages updated

🎉 New features

  • Configure expo-updates on expo init in bare projects.

🐛 Bug fixes

  • Add ttf and otf to binary extensions to fix font in tabs project.
  • Upgrade fastlane.
  • Replace calls to /bin/cp and /bin/rm with their xplat equivalents in fs-extra in xdl's IosPlist.

📦 Packages updated

🎉 New features

  • expo install now also uses bundledNativeModules.json on bare projects.

📦 Packages updated

🎉 New features

  • expo upload:android --use-submission-service is now ensuring the project is registered on Expo Servers before submitting a build.

📦 Packages updated

🎉 New features

  • Add EXPO_IMAGE_UTILS_NO_SHARP environment variable: it can be used to disable sharp-cli for image processing. (#2269 by @EvanBacon).

🐛 Bug fixes

  • Fix expo build:android throwing _joi(...).default.strict is not a function (#2277 by @byCedric).
  • Replace newestSdkVersionAsync with newestReleasedSdkVersionAsync (#2266 by @cruzach).
  • Use default splash.resizeMode on web (#2268 by @EvanBacon).

📦 Packages updated

🛠 Breaking changes

  • Remove opt-in-google-play-signing command (#2247 by @wkozyra95).
  • Drop support for Node.js 13.x.x and 12.0.0-12.13.0 (#2219 by @fson).

🎉 New features

🐛 Bug fixes

  • Set EXPO_TARGET to correct value when starting dev server (#2250 by esamelson).

📦 Packages updated

🐛 Bug fixes

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

📦 Packages updated

🐛 Bug fixes

🛠 Breaking changes

🎉 New features

  • Suggest closest match to an unknown command . (#2007 by @jamesgeorge007).
  • Add validation for the --platform option in expo apply. (#1981 by @EvanBacon).
  • Print warning when running on untested newer versions of Node.js (#1992 by @LinusU)
  • Clean up Expo.plist artifacts left behind by expo publish in a bare project. (#2028 by @esamelson)
  • Experimental: add @expo/dev-server, a complete rewrite of the development server using Metro and @react-native-community/cli-server-api. The experimental dev server can be enabled in SDK 37 projects by setting EXPO_USE_DEV_SERVER=true in the environment. (#1845 by @fson)

🐛 Bug fixes

  • Add necessary imports for onConfigurationChanged updates to MainActivity when ejecting. (#2001 by @brentvatne).
  • Revert workbox-webpack-plugin update (#2023 by @EvanBacon).

💎 Enhancements

🤷‍♂️ Chores

🛠 Breaking changes

  • Deprecate expo ios in favor of expo start --ios or pressing i in the terminal UI after running expo start. (#1987 by @evanbacon)
  • Deprecate expo android in favor of expo start --android or pressing a in the terminal UI after running expo start. (#1987 by @evanbacon)

🐛 Bug fixes

🤷‍♂️ Chores

  • Add notice about "damage simulator builds" on macOS Catalina (#1944 by @byCedric).
  • Better build errors when credentials aren't available in non-interactive mode (#1928 by @quinlanj).

🐛 Bug fixes

  • Fix pasting service account JSON from finder (#1943)
  • Add back sharp-cli version check back (#1907).
  • Fix the open editor hotkey on Mac with osascript (#1899)
  • Fix semver comparison in Node version compatibility check so an appropriate error is provided when using a Node version that is new and not yet supported.

🤷‍♂️ Chores

  • Ignore mocks and tests in TypeScript builds (#1965)
  • Remove the optimize command from expo-cli (#1930)
  • Assorted improvements to build, testing, and coverage infra.

🐛 Bug fixes

  • Assemble/bundle only the :app project on turtle (expo#1937).

🤷‍♂️ Chores

  • Added default name for projects if no name is given (#1923)
  • Log message in expo bundle-assets if manifest is empty (#1912)
  • Fallback on insecure HTTPS (#1940)

🤷‍♂️ Chores

  • Remove call to check-dynamic-macros (expo#1933).

🐛 Bug fixes

🤷‍♂️ Chores

🐛 Bug fixes

  • Fix typo that was causing android keystore updates to fail (expo#1909).

🐛 Bug fixes

  • Do not override google-services.json contents since SDK 37 (expo#1897).

🎉 New features

🐛 Bug fixes

🤷‍♂️ Chores

📦 Packages updated

🛠 Breaking changes

  • expo publish:rollback now works more like what developers would intuitively expect - users who have already downloaded the bundle that is rolled back will also get rolled back (expo#1707).

🎉 New features

🐛 Bug fixes

  • Fix Android scheme configuration that is applied on eject (expo/expo#7816).
  • Stop adb on Windows when shutting down expo-cli server (expo#1876).
  • Always properly terminate the bundle progress bar when completed (expo#1877).

🤷‍♂️ Chores

  • Replace request with axios due to deprecation of the request package and the mountain of warnings it produces (expo#1809).
  • Remove bootstrap from yarn start in the packages directory so it's quicker for collaborators working on expo-cli to get started (expo#1869).