summaryrefslogtreecommitdiffstats
path: root/mobile/android/android-components/docs/_archive
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-15 03:35:49 +0000
commitd8bbc7858622b6d9c278469aab701ca0b609cddf (patch)
treeeff41dc61d9f714852212739e6b3738b82a2af87 /mobile/android/android-components/docs/_archive
parentReleasing progress-linux version 125.0.3-1~progress7.99u1. (diff)
downloadfirefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz
firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mobile/android/android-components/docs/_archive')
-rw-r--r--mobile/android/android-components/docs/_archive/2018-07-26-release-0.16.1.markdown41
-rw-r--r--mobile/android/android-components/docs/_archive/2018-08-03-release-0.17.markdown26
-rw-r--r--mobile/android/android-components/docs/_archive/2018-08-10-release-0.18.markdown27
-rw-r--r--mobile/android/android-components/docs/_archive/2018-08-17-release-0.19.markdown44
-rw-r--r--mobile/android/android-components/docs/_archive/2018-08-24-release-0.20.markdown25
-rw-r--r--mobile/android/android-components/docs/_archive/2018-08-31-release-0.21.markdown85
-rw-r--r--mobile/android/android-components/docs/_archive/2018-09-07-release-0.22.markdown56
-rw-r--r--mobile/android/android-components/docs/_archive/2018-09-13-release-0.23.markdown81
-rw-r--r--mobile/android/android-components/docs/_archive/2018-09-21-release-0.24.markdown84
-rw-r--r--mobile/android/android-components/docs/_archive/2018-09-26-release-0.25.markdown42
10 files changed, 511 insertions, 0 deletions
diff --git a/mobile/android/android-components/docs/_archive/2018-07-26-release-0.16.1.markdown b/mobile/android/android-components/docs/_archive/2018-07-26-release-0.16.1.markdown
new file mode 100644
index 0000000000..8a2850d24e
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-07-26-release-0.16.1.markdown
@@ -0,0 +1,41 @@
+---
+layout: post
+title: "🎉 Release: Android Components 0.16"
+date: 2018-07-26 18:00:00 +0200
+categories: releases
+author: sebastian
+---
+
+# 0.16.1 (2018-07-26)
+
+* Compiled against:
+ * Android support libraries 27.1.1
+ * Kotlin Standard library 1.2.51
+ * Kotlin coroutines 0.23.4
+ * GeckoView
+ * Nightly: 63.0.20180724100046 (2018.07.24, 1e5fa52a612e8985e12212d1950a732954e00e45)
+ * Beta: 62.0b9 (d7ab2f3df0840cdb8557659afd46f61afa310379)
+ * Release: 61.0 (785d242a5b01d5f1094882aa2144d8e5e2791e06)
+
+* **service-telemetry**: Allow up to 200 extras in event pings.
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.16...v0.16.1), [Milestone](https://github.com/mozilla-mobile/android-components/milestone/17?closed=1)
+
+# 0.16 (2018-07-25)
+
+* Compiled against:
+ * Android support libraries 27.1.1
+ * Kotlin Standard library 1.2.51
+ * Kotlin coroutines 0.23.4
+ * GeckoView
+ * Nightly: 63.0.20180724100046 (2018.07.24, 1e5fa52a612e8985e12212d1950a732954e00e45)
+ * Beta: 62.0b9 (d7ab2f3df0840cdb8557659afd46f61afa310379)
+ * Release: 61.0 (785d242a5b01d5f1094882aa2144d8e5e2791e06)
+
+* **service-fretboard**: Experiments can now be filtered by release channel. Added helper method to get list of active experiments.
+* **service-telemetry**: Added option to report active experiments in the core ping.
+* **service-firefox-accounts**, **sample-firefox-accounts**: libjnidispatch.so is no longer in the tree but automatically fetched from tagged GitHub releases at build-time. Upgraded to fxa-rust-client library 0.2.1. Renmaed armeabi directory to armeabi-v7a.
+* **browser-session**, **concept-engine**: Exposed website title and tracking protection in session and made observable.
+* **browser-toolbar**: Fixed bug that prevented the toolbar from being displayed at the bottom of the screen. Fixed animation problem when multiple buttons animated at the same time.
+* Various bugfixes and refactorings (see commits below for details)
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.15...v0.16), [Milestone](https://github.com/mozilla-mobile/android-components/milestone/14?closed=1) \ No newline at end of file
diff --git a/mobile/android/android-components/docs/_archive/2018-08-03-release-0.17.markdown b/mobile/android/android-components/docs/_archive/2018-08-03-release-0.17.markdown
new file mode 100644
index 0000000000..a20ec77353
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-08-03-release-0.17.markdown
@@ -0,0 +1,26 @@
+---
+layout: post
+title: "🎉 Release: Android Components 0.17"
+date: 2018-08-03 18:00:00 +0200
+categories: releases
+author: sebastian
+---
+
+* Compiled against:
+ * Android support libraries 27.1.1
+ * Kotlin Standard library **1.2.60** 🔺
+ * Kotlin coroutines 0.23.4
+ * GeckoView
+ * Nightly: **63.0.20180801100114** (2018.08.01, af6a7edf0069549543f2fba6a8ee3ea251b20829) 🔺
+ * Beta: **62.0b13** (dd92dec96711e60a8c6a49ebe584fa23a453a292) 🔺
+ * Release: 61.0 (785d242a5b01d5f1094882aa2144d8e5e2791e06)
+
+* **support-base**: New base component containing small building blocks for other components. Added a [simple logging API](https://github.com/mozilla-mobile/android-components/blob/main/components/support/base/README.md) that allows components to log messages/exceptions but lets the consuming app decide what gets logged and how.
+* **support-utils**: Some classes have been moved to the new _support-base_ component.
+* **service-fretboard**: ⚠️ Breaking change: `ExperimentDescriptor` instances now operate on the experiment name instead of the ID.
+* **ui-icons**: Added new icons (used in _Firefox Focus_ UI refresh): `mozac_ic_arrowhead_down`, `mozac_ic_arrowhead_up`, `mozac_ic_check`, `mozac_ic_device_desktop`, `mozac_ic_mozilla`, `mozac_ic_open_in`, `mozac_ic_reorder`.
+* **service-firefox-accounts**: Added [documentation](https://github.com/mozilla-mobile/android-components/blob/main/components/service/firefox-accounts/README.md).
+* **service-fretboard**: Updated [documentation](https://github.com/mozilla-mobile/android-components/blob/main/components/service/fretboard/README.md).
+* **browser-toolbar**: Fixed an issue where the toolbar content disappeared if a padding value was set on the toolbar.
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.16.1...v0.17), [Milestone](https://github.com/mozilla-mobile/android-components/milestone/15?closed=1)
diff --git a/mobile/android/android-components/docs/_archive/2018-08-10-release-0.18.markdown b/mobile/android/android-components/docs/_archive/2018-08-10-release-0.18.markdown
new file mode 100644
index 0000000000..31b469133f
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-08-10-release-0.18.markdown
@@ -0,0 +1,27 @@
+---
+layout: post
+title: "🎉 Release: Android Components 0.18"
+date: 2018-08-10 17:30:00 +0200
+categories: releases
+author: sebastian
+---
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.17...v0.18),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/16?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.18/index)
+
+* Compiled against:
+ * Android support libraries 27.1.1
+ * Kotlin Standard library 1.2.60
+ * Kotlin coroutines 0.23.4
+ * GeckoView
+ * Nightly: **63.0.20180810100129** (2018.08.10, d999fb858fb2c007c5be4af72bce419c63c69b8e) 🔺
+ * Beta: **62.0b15** (7ce198bb7ce027d450af3f69a609896671adfab8) 🔺
+ * Release: 61.0 (785d242a5b01d5f1094882aa2144d8e5e2791e06)
+
+* **engine-gecko-beta**: Since the [Load Progress Tracking API](https://bugzilla.mozilla.org/show_bug.cgi?id=1437988) was uplifted to GeckoView Beta _engine-gecko-beta_ now reports progress via `EngineSession.Observer.onProgress()`.
+* **service-fretboard**: KintoExperimentSource can now validate the signature of the downloaded experiments configuration (`validateSignature` flag). This ensures that the configuration was signed by Mozilla and was not modified by a bad actor. For now the `validateSignature` flag is off by default until this has been tested in production. Various bugfixes and refactorings.
+* **service-firefox-accounts**: JNA native libraries are no longer part of the AAR and instead referenced as a dependency. This avoids duplication when multiple libraries depend on JNA.
+* API references for every release are now generated and hosted online: [https://mozilla-mobile.github.io/android-components/reference/](https://mozilla-mobile.github.io/android-components/reference/)
+* Documentation and more is now hosted at: [https://mozilla-mobile.github.io/android-components/](https://mozilla-mobile.github.io/android-components/). More content coming soon.
+* **tooling-lint**: New (internal-only) component containing custom lint rules. \ No newline at end of file
diff --git a/mobile/android/android-components/docs/_archive/2018-08-17-release-0.19.markdown b/mobile/android/android-components/docs/_archive/2018-08-17-release-0.19.markdown
new file mode 100644
index 0000000000..4f4be1a6a9
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-08-17-release-0.19.markdown
@@ -0,0 +1,44 @@
+---
+layout: post
+title: "🎉 Release: Android Components 0.19"
+date: 2018-08-17 22:00:00 +0200
+categories: releases
+author: csadilek
+---
+
+# 0.19.1 (2018-08-20)
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.19...v0.19.1),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/20?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.19.1/index)
+
+* Compiled against:
+ * Android support libraries 27.1.1
+ * Kotlin Standard library 1.2.60
+ * Kotlin coroutines 0.23.4
+ * GeckoView
+ * Nightly: 63.0.20180810100129 (2018.08.10, d999fb858fb2c007c5be4af72bce419c63c69b8e)
+ * Beta: 62.0b15 (7ce198bb7ce027d450af3f69a609896671adfab8)
+ * Release: 61.0 (785d242a5b01d5f1094882aa2144d8e5e2791e06)
+
+* **browser-toolbar**: Replaced `ui-progress` component with default [Android Progress Bar](https://developer.android.com/reference/android/widget/ProgressBar) to fix CPU usage problems.
+* **ui-progress**: Reduced high CPU usage when idling and not animating.
+
+# 0.19 (2018-08-17)
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.18...v0.19),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/18?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.19/index)
+
+* Compiled against:
+ * Android support libraries 27.1.1
+ * Kotlin Standard library 1.2.60
+ * Kotlin coroutines 0.23.4
+ * GeckoView
+ * Nightly: 63.0.20180810100129 (2018.08.10, d999fb858fb2c007c5be4af72bce419c63c69b8e)
+ * Beta: 62.0b15 (7ce198bb7ce027d450af3f69a609896671adfab8)
+ * Release: 61.0 (785d242a5b01d5f1094882aa2144d8e5e2791e06)
+
+* **concept-engine**, **engine-system**, **engine-gecko**: Added new API to load data and HTML directly (without loading a URL). Added the ability to stop loading a page.
+* **ui-autocomplete**: Fixed a bug that caused soft keyboards and the InlineAutocompleteEditText component to desync.
+* **service-firefox-accounts**: Added JNA-specific proguard rules so consumers of this library don't have to add them to their app (see https://github.com/java-native-access/jna/blob/master/www/FrequentlyAskedQuestions.md#jna-on-android for details). Underlying libfxa_client.so no longer depends on versioned .so names. All required dependencies are now statically linked which simplified our dependency setup as well.
diff --git a/mobile/android/android-components/docs/_archive/2018-08-24-release-0.20.markdown b/mobile/android/android-components/docs/_archive/2018-08-24-release-0.20.markdown
new file mode 100644
index 0000000000..10fe5a81de
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-08-24-release-0.20.markdown
@@ -0,0 +1,25 @@
+---
+layout: post
+title: "🎉 Release: Android Components 0.20"
+date: 2018-08-24 19:00:00 +0200
+categories: releases
+author: csadilek
+---
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.19.1...v0.20),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/19?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.20/index)
+
+* Compiled against:
+ * Android support libraries 27.1.1
+ * Kotlin Standard library 1.2.60
+ * Kotlin coroutines 0.23.4
+ * GeckoView
+ * Nightly: **63.0.20180820100132** 🔺
+ * Beta: 62.0b15 (7ce198bb7ce027d450af3f69a609896671adfab8)
+ * Release: 61.0 (785d242a5b01d5f1094882aa2144d8e5e2791e06)
+
+* GeckoView Nightly dependencies are now pulled in from *maven.mozilla.org*.
+* **engine-system**: Added tracking protection functionality.
+* **concept-engine**, **browser-session**, **feature-session**: Added support for private browsing mode.
+* **concept-engine**, **engine-gecko**, **engine-system**: Added support for modifying engine and engine session settings. \ No newline at end of file
diff --git a/mobile/android/android-components/docs/_archive/2018-08-31-release-0.21.markdown b/mobile/android/android-components/docs/_archive/2018-08-31-release-0.21.markdown
new file mode 100644
index 0000000000..21a240fcbe
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-08-31-release-0.21.markdown
@@ -0,0 +1,85 @@
+---
+layout: post
+title: "🎉 Release: Android Components 0.21"
+date: 2018-08-31 14:40:00 +0200
+categories: releases
+author: sebastian
+---
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.20...v0.21),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/21?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.21/index)
+
+* Compiled against:
+ * Android support libraries 27.1.1
+ * Kotlin Standard library **1.2.61** 🔺
+ * Kotlin coroutines 0.23.4
+ * GeckoView
+ * Nightly: **63.0.20180830111743** 🔺
+ * Beta: **62.0b21** (7ce198bb7ce027d450af3f69a609896671adfab8) 🔺
+ * Release: 61.0 (785d242a5b01d5f1094882aa2144d8e5e2791e06)
+
+* **concept-engine**, **engine-system**, **engine-gecko**: Added API to set default session configuration e.g. to enable tracking protection for all sessions by default.
+ ```Kotlin
+ // DefaultSettings can be set on GeckoEngine and SystemEngine.
+ GeckoEngine(runtime, DefaultSettings(
+ trackingProtectionPolicy = TrackingProtectionPolicy.all(),
+ javascriptEnabled = false))
+ ```
+* **concept-engine**, **engine-system**, **engine-gecko-beta/nightly**:
+ * Added support for intercepting request and injecting custom content. This can be used for internal pages (e.g. *focus:about*, *firefox:home*) and error pages.
+ ```Kotlin
+ // GeckoEngine (beta/nightly) and SystemEngine support request interceptors.
+ GeckoEngine(runtime, DefaultSettings(
+ requestInterceptor = object : RequestInterceptor {
+ override fun onLoadRequest(session: EngineSession, uri: String): RequestInterceptor.InterceptionResponse? {
+ return when (uri) {
+ "sample:about" -> RequestInterceptor.InterceptionResponse("<h1>I am the sample browser</h1>")
+ else -> null
+ }
+ }
+ }
+ )
+ ```
+ * Added APIs to support "find in page".
+ ```Kotlin
+ // Finds and highlights all occurrences of "hello"
+ engineSession.findAll("hello")
+
+ // Finds and highlights the next or previous match
+ engineSession.findNext(forward = true)
+
+ // Clears the highlighted results
+ engineSession.clearFindMatches()
+
+ // The current state of "Find in page" can be observed on a Session object:
+ session.register(object : Session.Observer {
+ fun onFindResult(session: Session, result: FindResult) {
+ // ...
+ }
+ })
+ ```
+* **browser-engine-gecko-nightly**: Added option to enable/disable desktop mode ("Request desktop site").
+ ```Kotlin
+ engineSession.setDesktopMode(true, reload = true)
+ ```
+* **browser-engine-gecko(-nightly/beta)**: Added API for observing long presses on web content (links, audio, videos, images, phone numbers, geo locations, email addresses).
+ ```Kotlin
+ session.register(object : Session.Observer {
+ fun onLongPress(session: Session, hitResult: HitResult): Boolean {
+ // HitResult is a sealed class representing the different types of content that can be long pressed.
+ // ...
+
+ // Returning true will "consume" the event. If no observer consumes the event then it will be
+ // set on the Session object to be consumed at a later time.
+ return true
+ }
+ })
+ ```
+* **lib-dataprotect**: New component to protect local user data using the [Android keystore system](https://developer.android.com/training/articles/keystore). This component doesn't contain any code in this release. In the next sprints the Lockbox team will move code from the [prototype implementation](https://github.com/linuxwolf/android-dataprotect) to the component.
+* **support-testing**: New helper test function to assert that a code block throws an exception:
+ ```Kotlin
+ expectException(IllegalStateException::class) {
+ // Do something that should throw IllegalStateException..
+ }
+ ``` \ No newline at end of file
diff --git a/mobile/android/android-components/docs/_archive/2018-09-07-release-0.22.markdown b/mobile/android/android-components/docs/_archive/2018-09-07-release-0.22.markdown
new file mode 100644
index 0000000000..d2ac508cad
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-09-07-release-0.22.markdown
@@ -0,0 +1,56 @@
+---
+layout: post
+title: "🎉 Release: Android Components 0.22"
+date: 2018-09-07 20:40:00 +0200
+categories: releases
+author: csadilek
+---
+
+## News
+
+* Firefox for Amazon's Fire TV is now using the browser-session, feature-session and browser-engine-system components. This simplified the code base by removing ~4000 lines of code (see [PR #1044](https://github.com/mozilla-mobile/firefox-tv/pull/1044) and [PR #982](https://github.com/mozilla-mobile/firefox-tv/pull/982) for details).
+
+* Kudos to the application-services team for various bug fixes in our service-firefox-accounts component (see [commits](https://github.com/mozilla-mobile/android-components/compare/v0.21...v0.22) for details).
+
+## Changelog
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.21...v0.22),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/22?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.22/index)
+
+* Compiled against:
+ * Android
+ * SDK: 27
+ * Support Libraries: 27.1.1
+ * Kotlin
+ * Standard library: 1.2.61
+ * Coroutines: 0.23.4
+ * GeckoView
+ * Nightly: **64.0.20180905100117** 🔺
+ * Beta: **63.0b3** (0269319281578bff4e01d77a21350bf91ba08620) 🔺
+ * Release: **62.0** (9cbae12a3fff404ed2c12070ad475424d0ae869f) 🔺
+
+* We now provide aggregated API docs. The docs for this release are hosted at: https://mozilla-mobile.github.io/android-components/api/0.22
+* **browser-engine-***:
+ * EngineView now exposes lifecycle methods with default implementations. A `LifecycleObserver` implementation is provided which forwards events to EngineView instances.
+ ```Kotlin
+ lifecycle.addObserver(EngineView.LifecycleObserver(view))
+ ```
+ * Added engine setting for blocking web fonts:
+ ```Kotlin
+ GeckoEngine(runtime, DefaultSettings(webFontsEnabled = false))
+ ```
+ * `setDesktopMode()` was renamed to `toggleDesktopMode()`.
+* **browser-engine-system**: The `X-Requested-With` header is now cleared (set to an empty String).
+* **browser-session**: Desktop mode can be observed now:
+ ```Kotlin
+ session.register(object : Session.Observer {
+ fun onDesktopModeChange(enabled: Boolean) {
+ // ..
+ }
+ })
+ ```
+* **service-fretboard**:
+ * `Fretboard` now has synchronous methods for adding and clearing overrides: `setOverrideNow()`, `clearOverrideNow`, `clearAllOverridesNow`.
+ * Access to `Experiment.id` is now deprecated and is scheduled to be removed in a future release (target: 0.24). The `id` is an implementation detail of the underlying storage service and was not meant to be exposed to apps.
+* **ui-tabcounter**: Due to a packaging error previous releases of this component didn't contain any compiled code. This is the first usable release of the component.
diff --git a/mobile/android/android-components/docs/_archive/2018-09-13-release-0.23.markdown b/mobile/android/android-components/docs/_archive/2018-09-13-release-0.23.markdown
new file mode 100644
index 0000000000..87211490c6
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-09-13-release-0.23.markdown
@@ -0,0 +1,81 @@
+---
+layout: post
+title: "🎉 Release: Android Components 0.23"
+date: 2018-09-13 17:00:00 +0200
+categories: releases
+author: csadilek
+---
+
+## News
+
+* More kudos to the application-services team for introducing the new sync-logins [component](https://github.com/mozilla-mobile/android-components/tree/main/components/service/sync-logins) and [sample app](https://github.com/mozilla-mobile/android-components/tree/main/samples/sync-logins).
+
+## Changelog
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.22...v0.23),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/23?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.23/index)
+
+* Compiled against:
+ * Android
+ * SDK: 27
+ * Support Libraries: 27.1.1
+ * Kotlin
+ * Standard library: 1.2.61
+ * Coroutines: 0.23.4
+ * GeckoView
+ * Nightly: **64.0.20180905100117** 🔺
+ * Beta: **63.0b3** (0269319281578bff4e01d77a21350bf91ba08620) 🔺
+ * Release: **62.0** (9cbae12a3fff404ed2c12070ad475424d0ae869f) 🔺
+
+* Added initial documentation for the browser-session component: https://github.com/mozilla-mobile/android-components/blob/main/components/browser/session/README.md
+* **sync-logins**: New component for integrating with Firefox Sync (for Logins). A sample app showcasing this new functionality can be found at: https://github.com/mozilla-mobile/android-components/tree/main/samples/sync-logins
+* **browser-engine-***:
+ * Added support for fullscreen mode and the ability to exit it programmatically if needed.
+ ```Kotlin
+ session.register(object : Session.Observer {
+ fun onFullScreenChange(enabled: Boolean) {
+ if (enabled) {
+ // ..
+ sessionManager.getEngineSession().exitFullScreenMode()
+ }
+ }
+ })
+ ```
+* **concept-engine**, **browser-engine-system**, **browser-engine-gecko(-beta/nightly)**:
+ * We've extended support for intercepting requests to also include intercepting of errors
+ ```Kotlin
+ val interceptor = object : RequestInterceptor {
+ override fun onErrorRequest(
+ session: EngineSession,
+ errorCode: Int,
+ uri: String?
+ ) {
+ engineSession.loadData("<html><body>Couldn't load $uri!</body></html>")
+ }
+ }
+ // GeckoEngine (beta/nightly) and SystemEngine support request interceptors.
+ GeckoEngine(runtime, DefaultSettings(requestInterceptor = interceptor))
+ ```
+* **browser-engine-system**:
+ * Added functionality to clear all browsing data
+ ```Kotlin
+ sessionManager.getEngineSession().clearData()
+ ```
+ * `onNavigationStateChange` is now called earlier (when the title of a web page is available) to allow for faster toolbar updates.
+* **feature-session**: Added support for processing `ACTION_SEND` intents (`ACTION_VIEW` was already supported)
+
+ ```Kotlin
+ // Triggering a search if the provided EXTRA_TEXT is not a URL
+ val searchHandler: TextSearchHandler = { searchTerm, session ->
+ searchUseCases.defaultSearch.invoke(searchTerm, session)
+ }
+
+ // Handles both ACTION_VIEW and ACTION_SEND intents
+ val intentProcessor = SessionIntentProcessor(
+ sessionUseCases, sessionManager, textSearchHandler = searchHandler
+ )
+ intentProcessor.process(intent)
+ ```
+* Replaced some miscellaneous uses of Java 8 `forEach` with Kotlin's for consistency and backward-compatibility.
+* Various bug fixes (see [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.22...v0.23) for details).
diff --git a/mobile/android/android-components/docs/_archive/2018-09-21-release-0.24.markdown b/mobile/android/android-components/docs/_archive/2018-09-21-release-0.24.markdown
new file mode 100644
index 0000000000..307b9d2769
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-09-21-release-0.24.markdown
@@ -0,0 +1,84 @@
+---
+layout: post
+title: "🚀 Release: Android Components 0.24"
+date: 2018-09-21 20:15:00 +0200
+categories: releases
+author: jonathan
+---
+
+# 0.24 (2018-09-21)
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.23...v0.24),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/24?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.24/index)
+
+* Compiled against:
+ * Android
+ * SDK: 27
+ * Support Libraries: 27.1.1
+ * Kotlin
+ * Standard library: 1.2.61
+ * Coroutines: 0.23.4
+ * GeckoView
+ * Nightly: 64.0.20180905100117
+ * Beta: 63.0b3 (0269319281578bff4e01d77a21350bf91ba08620)
+ * Release: 62.0 (9cbae12a3fff404ed2c12070ad475424d0ae869f)
+
+* **dataprotect**:
+ * Added a component using AndroidKeyStore to protect user data.
+ ```kotlin
+ // Create a Keystore and generate a key
+ val keystore: Keystore = Keystore("samples-dataprotect")
+ keystore.generateKey()
+
+ // Encrypt data
+ val plainText = "plain text data".toByteArray(StandardCharsets.UTF_8)
+ val encrypted = keystore.encryptBytes(plain)
+
+ // Decrypt data
+ val samePlainText = keystore.decryptBytes(encrypted)
+ ```
+* **concept-engine**: Enhanced settings to cover most common WebView settings.
+* **browser-engine-system**:
+ * `SystemEngineSession` now provides a way to capture a screenshot of the actual content of the web page just by calling `captureThumbnail`
+* **browser-session**:
+ * `Session` exposes a new property called `thumbnail` and its internal observer also exposes a new listener `onThumbnailChanged`.
+
+ ```Kotlin
+ session.register(object : Session.Observer {
+ fun onThumbnailChanged(session: Session, bitmap: Bitmap?) {
+ // Do Something
+ }
+ })
+ ```
+
+ * `SessionManager` lets you notify it when the OS is under low memory condition by calling to its new function `onLowMemory`.
+
+* **browser-tabstray**:
+
+ * Now on `BrowserTabsTray` every tab gets is own thumbnail :)
+
+* **support-ktx**:
+
+ * Now you can easily query if the OS is under low memory conditions, just by using `isOSOnLowMemory()` extension function on `Context`.
+
+ ```Kotlin
+ val shouldReduceMemoryUsage = context.isOSOnLowMemory()
+
+ if (shouldReduceMemoryUsage) {
+ //Deallocate some heavy objects
+ }
+ ```
+
+ * `View.dp` is now`Resource.pxtoDp`.
+
+ ```Kotlin
+ // Before
+ toolbar.dp(104)
+
+ // Now
+ toolbar.resources.pxToDp(104)
+ ```
+* **samples-browser**:
+ * Updated to show the new features related to tab thumbnails. Be aware that this feature is only available for `systemEngine` and you have to switch to the build variant `systemEngine*`.
+
diff --git a/mobile/android/android-components/docs/_archive/2018-09-26-release-0.25.markdown b/mobile/android/android-components/docs/_archive/2018-09-26-release-0.25.markdown
new file mode 100644
index 0000000000..110a3f4e63
--- /dev/null
+++ b/mobile/android/android-components/docs/_archive/2018-09-26-release-0.25.markdown
@@ -0,0 +1,42 @@
+---
+layout: post
+title: "🐼 Release: Android Components 0.25"
+date: 2018-09-26 20:33:00 +0200
+categories: releases
+author: arturo
+---
+
+# 0.25.1 (2018-09-27)
+
+* **browser-engine-system**: Fixed a `NullPointerException` in `SystemEngineSession.captureThumbnail()`.
+
+# 0.25 (2018-09-26)
+
+* [Commits](https://github.com/mozilla-mobile/android-components/compare/v0.24...v0.25),
+[Milestone](https://github.com/mozilla-mobile/android-components/milestone/25?closed=1),
+[API reference](https://mozilla-mobile.github.io/android-components/api/0.25/index)
+
+* Compiled against:
+ * Android
+ * SDK: 27
+ * Support Libraries: 27.1.1
+ * Kotlin
+ * Standard library: 1.2.61
+ * Coroutines: 0.23.4
+ * GeckoView
+ * Nightly: 64.0.20180905100117
+ * Beta: 63.0b3 (0269319281578bff4e01d77a21350bf91ba08620)
+ * Release: 62.0 (9cbae12a3fff404ed2c12070ad475424d0ae869f)
+
+* ⚠️ **This is the last release compiled against Android SDK 27. Upcoming releases of the components will require Android SDK 28**.
+* **service-fretboard**:
+ * Fixed a bug in `FlatFileExperimentStorage` that caused updated experiment configurations not being saved to disk.
+ * Added [WorkManager](https://developer.android.com/reference/kotlin/androidx/work/WorkManager) implementation for updating experiment configurations in the background (See ``WorkManagerSyncScheduler``).
+ * `Experiment.id` is not accessible by component consumers anymore.
+* **browser-engine-system**:
+ * URL changes are now reported earlier; when the URL of the main frame changes.
+ * Fixed an issue where fullscreen mode would only take up part of the screen.
+ * Fixed a crash that could happen when loading invalid URLs.
+ * `RequestInterceptor.onErrorRequest()` can return custom error page content to be displayed now (the original URL that caused the error will be preserved).
+* **feature-intent**: New component providing intent processing functionality (Code moved from *feature-session*).
+* **support-utils**: `DownloadUtils.guessFileName()` will replace extension in the URL with the MIME type file extension if needed (`http://example.com/file.aspx` + `image/jpeg` -> `file.jpg`). \ No newline at end of file