# Changelog For guidelines on how to update this file, visit http://keepachangelog.com/en/0.3.0/. ## Unreleased ### Added - added support for build modes on Android - `expo-av` and `expo-mail-composer` universal modules configuration. - required `sdkVersion` argument to `Modules.` methods. - added support for `packagesToInstallWhenEjecting` dictionary used to get a list of packages to install when ejecting - instead of overwriting `settings.gradle` with static content, XDL will now modify it according to comment rules - use `react-native-unimodules` autolinking in ejected apps ### Changed ### Removed - Dropped support for SDK 24, `Detach.detachAsync` now requires SDK version 25.0.0 or newer. ## [51.1.0] - 2018-08-28 ### Changed - Allow for passsing workingdir for android shell app builder. - Allow for generating ios shell app with single sdk. ## [51.0.0] - 2018-08-24 ## [50.9.0] - 2018-08-23 ## [50.8.0] - 2018-07-31 ## [50.7.0] - 2018-07-25 ### Changed - Fix shell app builder commands ## [50.6.1] - 2018-07-20 ### Changed - Fix signing iOS entitlements. ## [50.6.0] - 2018-07-16 ### Added - Add function for cleaning up old turtle keychains. ## [50.5.2] - 2018-07-12 ### Added - Allow for passing app manifest to AndroidShellApp and IosShellApp modules as an argument. ## [50.5.1] - 2018-07-10 ### Changed - Fix provisioning profile validation. - Fix signing entitlements. - Retry fetching manifest up to 5 times. ## [50.5.0] - 2018-06-27 ### Changed - If Metro has stopped, we now try to restart it when publishing. - Log bundling errors with log level as error. - Color the message in syntax errors as red. - Expo fork of React Native is only required in ExpoKit projects. ### Removed - Remove `npm ls` validation from `Doctor`. ## [50.4.2] - 2018-06-20 ### Removed - Remove ImageHelpers module. - Remove sharp from peer dependencies. ## [50.4.0] - 2018-06-19 ### Added - Added support for new turtle agent. ## [50.3.0] - 2018-06-14 ### Changed - Hide redundant messages from the logs: - Stop printing "Expo is ready" - Stop printing "Scanning folders for symlinks in..." ## [50.2.1] - 2018-06-12 ### Changed - Fix generating provisioning profile ## [50.2.0] - 2018-06-11 ### Added - Add support for `android.adaptiveIcon` app.json fields in shell app script - Add provisioning profile validation ### Changed - Ensure that all versioned react native pods target iOS 9 - Use released gulp 4.0 - Upgrade `fs-extra` to remove warning on Node v10.1.0. ## [50.1.0] - 2018-05-31 ### Added - Add support for backing up Android credentials. ### Changed - Change JSON payload used for sign up. - Remove deprecated flag `splash` that allowed old standalone apps to skip the splash API. - Fix generating fingerprint from certificate (fixes expo/expo#1771) ## [50.0.0] - 2018-05-14 ### Added - Add iOS app signing - Add creating Android keystores - Add `ProjectUtils.writeConfigJsonAsync` for modifying `app.json` configuration - Add a unique ID to each log entry ### Changed - Fix handing configuration files using a custom file name (fixes expo/expo#1688) - Add more logging to ExpoKit asset bundling - Store user session state in a different file when using the staging API - Warn about builds for invalid SDK version - Fix infinitely waiting for Metro bundler to start if it crashes - Ensure error messages from Metro bundler are logged - Hide the noisy "BugReporting extraData" logs from react-native ### Removed - Remove `clientId` from requests to `userProfileAsync` API. ## [49.2.0] - 2018-04-27 ### Changed - Fix generating entitlements in standalone iOS builds. - `Simulator.openProjectAsync` now returns a result object. - Fix Android package name validation. - Fix resolving a relative path specified in `android.googleServicesFile`. ## [49.1.0] - 2018-04-18 ### Changed - Enabled session authentication. - Make iOS build select credentials based on `bundleIdentifier`. - Always generate a scheme for detached apps, if a custom one is not defined. - Starting from SDK 27, the `detach.scheme` setting is no longer used. ### Removed - Removed legacy Auth0 authentication. ## [49.0.2] - 2018-04-13 ### Changed - Fix handling of unrecognized Metro events. ## [49.0.0] - 2018-04-12 ### Changed - Syntax errors in `app.json` now display more useful error messages. - Improve the error message for trying to create a project in a path that collides with a file. - Automatically add `LSApplicationQueriesSchemes` when detaching an app that uses the Facebook API (expo/expo#1619). - Fix regressions with logging events from Metro Bundler. - Support for canceling a template download. - Get project templates from a CDN for faster downloads. ## [48.3.0] - 2018-03-31 ### Changed - Made reading authentication state more robust. ## [48.2.0] - 2018-03-30 ### Added - Added `push:android` commands and support for `android.googleServicesFile` app.json config. ## [48.0.7] - 2018-03-24 - Fix a regression in `Detach`. ## [48.0.6] - 2018-03-16 - Fix a regression with starting tunnels on Windows. ## [48.0.5] - 2018-03-15 ### Added - `Project.startAsync` now allows `maxWorkers` option to be passed to Metro. - Added `developerTool` to XDL Serve Manifest event. - Detach command now prompts for iOS `bundleIdentifier` and Android `package` unless found in `app.json`. ### Changed - Moved authentication to use the sessions API. - Upgraded authentication libraries. - Upgraded ngrok binaries. - Fixed unnecessary requests being made to `localhost:80` before starting the server. - XDL now trims the hostname read from `EXPO_PACKAGER_HOSTNAME` environment variables to fix issues on Windows. ## [48.0.4] - 2018-02-02 ### Changed - Increase `maxBodyLength` for HTTP requests. ## [48.0.3] - 2018-02-01 ### Changed - Improve logging of publishing errors. ## [48.0.2] - 2018-01-25 ### Changed - Fix project validation crashing when `npm ls` doesn't return a package version. - Fix unnecessary warning "Problem checking node_modules dependencies" being shown when server is stopped using Ctrl+C. - Fix iOS detach attempting to download assets when none are specified. ## [48.0.1] - 2018-01-19 ### Changed - Fix \_inquirer ... is not a function error ## [48.0.0] - 2018-01-18 ### Changed - Detach upgrades for SDK 25. ## [47.2.0] - 2018-01-17 ### Added - Support for HTTP(S) reverse proxies using `EXPO_PACKAGER_PROXY_URL` and `EXPO_MANIFEST_PROXY_URL` environment variables. ### Changed - Fix `DocumentPicker` entitlements in detached iOS apps. - Other iOS detach improvements. ## [47.1.2] - 2017-12-18 ### Changed - Fixed detach bug ## [47.1.1] - 2017-12-13 ### Added - Add support for SDK 24 ### Changed - Fix duplicate assets in manifest "bundledAssets" - Fix adb reverse not running for all ports ## [47.1.0] - 2017-12-07 ### Added - Add support for custom `*UsageDescription` strings in iOS standalone builds ### Changed - Fix failed downloads being stored in template cache - Remove invalid peer dependency warnings ### Removed - Deprecate `urlType` and `strict` project settings ## [47.0.4] - 2017-11-23 ### Changed - Increase template download timeout - Improve error handling ## [47.0.0] - 2017-11-16 ### Added - Support for release channels ### Changed - HTTP requests use Chromium network stack in Electron - Detach and Turtle improvements - Replaced deprecated tar.gz package ## [46.1.0] - 2017-10-27 ### Changed - Only detach iOS on macOS or when a --force flag is added ## [46.0.1] - 2017-10-18 ### Added - Fix weird warnings during detach. ## [46.0.0] - 2017-10-18 ### Added - No npm warnings if yarn exists ### Changed - Error message improvements - Fix schema validation issues ### Removed - Remove dependency on macOS to detach - Remove sentry event logging temporarily ## [45.0.0] - 2017-09-27 ### Added - Powertools updates ### Changed - Improve sending link via SMS, better message, make sure user is logged in ## [44.0.2] - 2017-08-24 ### Changed - @expo/schemer updated to fix issue running in XDE - fixes XDE 20 errors and code being skipped in local testing because of env var ## [44.0.0] - 2017-08-18 ### Added - Add missing push notification permission - New schema validation library - Allow boolean packagerOpts - Sentry integration for error reporting - Test ngrok tunnels and use fallback ### Changed - iOS Pod tools generate Podfile with c++ bridge and 3rd party dependencies - exp install handles errors better - Better authentication errors ## [43.0.1] - 2017-07-25 ### Added - Re-enable intercom ## [43.0.0] - 2017-07-21 ### Changed - Catch errors in state.json parsing - Detach updates for SDK 19 - Don't validate React Native version when not using our fork ## [42.4.0] - 2017-07-10 ### Changed - Make ngrok a dev dependency of xdl, needs to be provided by xdl consumers that expect to create tunnels. (Yay for drastically smaller CRNA installs!) - Remove react peer dependency and associated warnings -- xdl consumers should provide react. - Setting offline mode will no longer automatically log a user out. - Validate npm against a version range, not just any 5.x.x release. - Use a fork of bunyan without DTraceProviderBindings issues. - Remove deprecation warnings about @exponent/\* packages. ### Added - Display standalone build IDs in error messages so users can get help much faster on failed builds. ## [42.3.0] - 2017-07-07 ### Changed - Convert wrong npm version to warning, was error. - Log debug log messages to file, skip terminal. ## [42.2.0] ### Changed - Suppress some spurious @providesModule warnings that come from RN itself. ## [42.1.0] - 2017-06-23 ### Changed - Fixed a couple of issues with checking npm version. - Backed out Axios network requests. ## [42.0.0] - 2017-06-22 ### Changed - Move network requests to Axios. - Warn if using an unsupported npm version. - Provide cached schema for validating SDK 18 projects. ## [41.0.0] - 2017-05-12 ### Added - Post-publish hooks. - Better log reporting - Fix Android HMR bug by adding `:80` to url. ## [39.0.0] - 2017-04-06 ### Added - Better log reporting - Fix Android HMR bug by adding `:80` to url. ## [37.0.2] - 2017-04-02 ### Added - When serving manifest over LAN, if request hostname is localhost then manifest urls also use localhost. This makes it easier to open a project in simulator when on locked-down wifi. ## [37.0.1] - 2017-03-21 ### Changed - Fixed download bug. ## [37.0.0] - 2017-03-20 ### Added - Support `EXPO_PACKAGER_HOSTNAME` and `REACT_NATIVE_PACKAGER_HOSTNAME` env variables. - All `EXPO_*` and `REACT_NATIVE_*` env variables are sent in the manifest. ### Changed - New project download progress bar fixes. ## [36.1.0] - 2017-03-17 ### Changed - Fixed `Android.upgradeExpoAsync`. - Change docs url from docs.getexponent.com to docs.expo.io. ## [36.0.0] - 2017-03-16 ### Added - Converting RN projects to SDK 15 is now supported. - Improved template downloads. ### Changed - Eliminated a large class of Flow errors for xdl consumers. - xdl's ngrok dependency now bundles the binaries with the package. This is a tradeoff -- the download is larger, but there's no need to rely on an external CDN which may or may not respect npm/yarn's network configuration. ### Removed - Removed the `diskusage` and `runas` optional dependencies. They were causing problems for users without native build tools who were also using certain versions of yarn. ## [35.0.0] - 2017-03-15 ### Changed - Detach changes for SDK 15. ## [34.0.0] - 2017-03-07 ### Changed - Fixed detach for SDK 14. ## [33.0.0] - 2017-03-06 ### Changed - References to Exponent have been renamed to Expo. ## [32.0.0] - 2017-02-28 ### Added - New iOS simulator warnings. ### Changed - `Android.openProjectAsync` now returns an object with `success` (boolean) and `error` (nullable object) keys to indicate the result of the action. - Fixed a bug in persisting project settings. ### Removed - Removed export of `Android.openUrlAsync` that is not used by any current consumers. ## [31.1.0] - 2017-02-24 ### Changed - Fix detach on windows. - Add Xcode warning if osascript command fails. - Show full error if publish gets a 500 response from packager. ## [31.0.0] - 2017-02-22 ### Changed - Updates to iOS detach script. ## [30.0.1] - 2017-02-20 ### Changed - Make offline mode only use local IP temporarily. - Minor watchman stability improvements. ## [30.0.0] - 2017-02-14 ### Added - Add redux store for notifications. - Add suggestion to point command line tools to Xcode. ### Changed - Another fix for getting logged out. - Make Project.stopAsync more reliable. ## [29.5.0] - 2017-01-27 ### Changed - Compile bundled watchman without pcre. - Better Xcode error handling. ## [29.4.0] - 2017-01-25 ### Added - Support for running the RN packager with the `Config.offline` flag, bypassing an Expo account. - Workarounds for state corruption problems in watchman. ### Changed - Improved error messages for a variety of issues. ## [29.3.0] - 2017-01-23 ### Changed - Resolved several issues that resulted in premature logout of Expo account sessions. ## [29.2.0] - 2017-1-18 ### Changed - Ensure that the user is logged in on every api call. - Fix detach script to remove all comments from .gradle file. ## [29.0.0] - 2017-1-17 ### Changed - Fix accounts bugs. - First release of detach. ## [28.0.0] - 2017-1-11 ### Changed - Better accounts system! ## [0.26.6] - 2016-12-07 Start of change log.