### Replicant 6.0 0004 RC5 transition Images This new release fixes some very serious freedom and privacy issues: * We found an issue within the phone application: it was leaking the phone numbers of both inbound and outbound calls to third parties as part of a feature called phone lookup providers. More details are available in the [bug report][1]. Even if it was not trivial to reproduce and find the bug it’s now fixed as the feature has been completely disabled with 3 patches ([2], [3], [4]). * F-Droid has been removed as many applications shipped in it are not compliant with the [guidelines][5] for distributions recommended by the FSF. It was kept so long because we expected to get it fixed upstream fast enough, but that didn’t happen for various reasons. We have setup a [wiki page][6] and a [forum section][7] for more information about the issue and how to deal with it. * Several binary firmwares (without source code) related to the back and home “touch” buttons were found and removed with 4 patches ([8], [9], [10],[11]). The firmwares seem to have only been used for factory testing, so the buttons should still work on the devices that have them. * The touchscreen firmware for the Galaxy Note 8.0 was also lacking any corresponding source code (bug [#2194][12]). That was fixed by removing it ([13]). * On all the currently supported devices with a modem, when users set the device in flight mode, the modem is only asked to go in low power mode. Because of that the modem is probably still on and its OS is probably still running. Because of that we fixed the wiki and added [the scripts to disable (and enable back) the modem][14] to the new Replicant images. They work by preventing Replicant to load the modem OS. * We also got [a report on the mailing list][15] that a nonfree ambient SDK was added in CyanogenMod and was not removed either by LineageOS 13 or Replicant 6. So [we removed it as well][16]. This release may also fix [several bug(s) which made some SIM cards not recognizable by Replicant 6.0][17]: we have now merged a fix for one of the bug ([#1909][18]) but as we don’t know if all the “SIM card not recognized” bugs are related. We would highly appreciate if those that opened the original bug report could confirm if it also fixes their issues as well. Several issues still need to be fixed, but we didn’t want to delay even more this release, as that would prevent users from getting the fixes mentioned above: * It’s still not possible to build Replicant 6.0 from a [distribution that is recommended by the FSF][19] (bug [#1861][20]). * While removing the firmware of the Galaxy Note 8.0 touscreen driver, many more firmwares without corresponding source code were found in the [driver/touchscreen directory][21] in the kernel used by most of the devices supported by Replicant 6.0. However they weren’t removed yet. Help is more than welcome to help with that. * While investigating if it was possible to upgrade WebView, the Android builtin web browser component (bug [#1786][22]) we also discovered that, because Android build system doesn’t use a package manager, finding the license of each repository wasn’t trivial (bug [#1973][23]). * More investigations are needed as well to replace WebView with a free software and up to date implementation (bug [#1786][22]). * The bug related to a bad sound quality during calls in some circumstances (bug [#1773][24]) is not fixed yet, but there is a workaround that works for some use cases. * The [Let’s Encrypt][25] certificates may stop working in Replicant 6.0 the first September 2021\. So we might need to make a new release before that to include their root certificate in Replicant before that. If a new release doesn’t happen by then many applications that are using the Android certificates will be affected, but web browsers like IceCat will continue to work. See the [Standing on Our Own Two Feet][26] blog post by letsencrypt for more details. As the internal WiFi doesn’t work with free software, some new network related features improving usability were merged : * RepWiFi has been removed as it’s now possible to use the stock Android menus to handle the WiFi. This was done by patching Android to also accept external dongles. It is less reliable than with RepWiFi because in some cases reboots are needed for the WiFi to be recognized, and enabling the WiFi most probably also powers on the Internal WiFi chip as well, increasing the power consumption. However it should reduce the probability of applications like F-Droid being broken in the future, as it’s better integrated in Android. In the event that Replicant 6.0 stops being maintained and that Replicant 11 doesn’t get support for all the Replicant 6.0 devices, this patch should increase the lifetime of the affected devices. * Ethernet support has been added but it doesn’t work on all the devices. * The USB networking scripts has also been added to the devices. * Support for some rt2500-usb dongles that don’t need the OS to load a firmware [has been added to the Galaxy SIII 4G (i9305)][27], which is an uncompleted device. It wasn’t added to the other devices to make the release happen a bit faster. Other improvements were also made: * llvmpipe is now the default OpenGL renderer. On devices with an Exynos CPU / [System on a chip][28], this allows running many applications that weren’t working before. Unfortunately llvmpipe significantly slows down some system components used in the graphical interface. This has been catered for by patching Android to use the old libagl renderer for those system components. * [Scripts to switch between OpenGL implementations globally][29] have been added to the image as well. Thus, if you want to revert back to the old behaviour, just run “graphics.sh faster” in a root terminal. To switch back to the new behavior you can instead use “graphics.sh compatible”. Note that “graphics.sh compatible” will still keep the old OpenGL implementation for the system components mentioned above, so there is little risk in trying the scripts. * It’s now easier to build Replicant as there is a new script that wraps part of the building process. It’s also more convenient as it stores build logs. The script has been used to build the release, and the build instructions also use it now. * It has became easier to modify the installation instructions as they now apply to all devices, and were split into parts that are reusable. This way a modification needs to be done only once and not 10 or 30 times like before. * [Instructions to backup the modem data partition][30] have been added. The modem partition can [become corrupted][31] in some conditions. As it can be very difficult or impossible to recreate that partition, and that it’s required for the modem to work, we strongly advise users to do a backup. * A new wipe command has been added to wipe partitions, however [it is not very well suited for wiping files.][32] To efficiently wipe files [another application or utility][33] would need to be integrated. Many of the improvements and fixes were also made possible thanks to the work of new contributors. [1]https://redmine.replicant.us/issues/1827 [2]https://git.replicant.us/replicant/vendor_cmsdk/commit/?id=de9e5b00e2a4072d2fd7e89e9abfc512a50d77e3 [3]https://git.replicant.us/replicant/vendor_cmsdk/commit/?id=2d8ae47d9919f83cdf7244c3eeb34f919d83a33d [4]https://git.replicant.us/replicant/packages_apps_Dialer/commit/?id=c730399d4854875a76baa24ab653fbc049b8deef [5]https://www.gnu.org/distros/free-system-distribution-guidelines.html [6]https://redmine.replicant.us/projects/replicant/wiki/F-DroidAndApplications [7]https://redmine.replicant.us/projects/replicant/boards/40 [8]https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=160424ba716cde87e4ff213972a03388e90bf75e [9]https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=1fe39350b36767cc60ae58c2b2ea5fa29d484be0 [10]https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=0ee78af736ce947d286d21b5fdc2c0212b2f8d38 [11]https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=e40b2fa239e15c3ea8ea9407be704882916bcacc [12]https://redmine.replicant.us/issues/2194 [13]https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=43720e41c7f36873718fc24746277bbf7d24e6f1 [14]https://redmine.replicant.us/projects/replicant/wiki/ModemDisable [15]https://lists.osuosl.org/pipermail/replicant/2020-November/003138.html [16]https://lists.osuosl.org/pipermail/replicant/2020-November/003178.html [17]https://redmine.replicant.us/projects/replicant/wiki/SIMnotRecognized [18]https://redmine.replicant.us/issues/1909 [19]https://www.gnu.org/distros/free-distros.html [20]https://redmine.replicant.us/issues/1861 [21]https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/drivers/input/touchscreen?h=replicant-6.0 [22]https://redmine.replicant.us/issues/1786 [23]https://redmine.replicant.us/issues/1973 [24]https://redmine.replicant.us/issues/1773 [25]https://en.wikipedia.org/wiki/Let%27s_Encrypt [26]https://letsencrypt.org/2020/11/06/own-two-feet.html [27]https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=a2ad1c05d8e609e3daf820deebf477c5f93d6f3e [28]https://en.wikipedia.org/wiki/System_on_a_chip [29]https://git.replicant.us/replicant/vendor_replicant-scripts/tree/display/renderer/device-files [30]https://redmine.replicant.us/projects/replicant/wiki/BackupTheEFS [31]https://redmine.replicant.us/issues/1869 [32]https://lists.osuosl.org/pipermail/replicant/2021-March/003421.html [33]https://lists.osuosl.org/pipermail/replicant/2021-March/003417.html