Changelog 1.0 RC 3 (VC 6) - Release date: 17 August 2018 by ProMIND MainActivity.cs - [ProMIND] UpdateConnectionStatus: Added Dictionary's keys check - [ProMIND] SaveCurrentProfile: Added Dictionary's keys check - [ProMIND] SelectOpenVPNProfile: Added Dictionary's keys check - [ProMIND] OnNavigationViewItemSelected: Added "ViewMode" extras to LogActivity Intent Native Library libeddie - [ProMIND] it now creates a single instance of the client. Removed client map and multiple instance of clients, changed API accordingly. - [ProMIND] Changed API (level 4). All API functions now return a qualified result EddieLibraryResult - [ProMIND] Better memory management and cleanup NativeMethods.cs - [ProMIND] Changed interface of native methods in order to comply to libeddie 1.2 API 4 SettingsManager.cs - [ProMIND] SystemApplicationFilterList: It now correctly returns an empty list in case of empty filter LogActivity.cs - [ProMIND] added ViewMode enum to select LogActivity widget usage between ListView and WebView VPNService.cs - [ProMIND] Duplicate notification prevention (if any) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Changelog 1.0 RC 2 (VC 5) - Release date: 26 July 2018 by ProMIND strings.xml - [] Added French localization files - [ProMIND] Changed string and option for "persistent notification" VPNService.cs - [ProMIND] Complete rewrite of the system notification code in order to make it more compatible and compliant with Android 8.0 (API 26) and above as well as lower APIs - [ProMIND] UpdateNotification(string text): New method. Update the notification's text OpenVPNTunnel.cs - [ProMIND] Methods HandleScreenChanged(bool active) and NetworkStatusChanged(bool active) now update notification's text according to VPN status connection_layout.xml - [ProMIND] Added Network Status TextView MainActivity.cs - [ProMIND] Added Network Status TextView SettingsActivity.cs - [ProMIND] SelectVpnTunPersist(): Popup a warning dialog when Tunnel Persist option is disabled by the user LogActivity.cs - [ProMIND] Added Command Console button SettingsActivity.cs - [ProMIND] Added notification sound setting switch for Android < 8 - [ProMIND] Added notification channel setting for Android >= 8 SettingsManager.cs - [ProMIND] Added notification sound setting for Android < 8 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Changelog 1.0 RC 1 (VC 4) - Release date: 16 July 2018 by ProMIND connection_layout.xml - [ProMIND] Changed vertical scaling for logo images NativeMethods.cs - [ProMIND] enum EventType: added debug and connect values to comply to native libs api - [ProMIND] struct ovpn3_event: type datatype is now NativeMethods.EventType api.h (native library) - [ProMIND] Added new Event macros api.c (native library) - [ProMIND] Activity log is now sent to the host client.c (native library) - [ProMIND] Added Client::Impl::logEvent(): Sends a log event to the host caller (app) - [ProMIND] Added Client::Impl::logFilter(): Checks whether a string can be sent to the log. It simply evaluates the presence of "forbidden" keys in a string. - [ProMIND] Activity log is now sent to the host OpenVPNTunnel.cs - [ProMIND] OnEvent(ref NativeMethods.ovpn3_event oe): complete rewrite in order to comply to new native library's logEvent api SupportTools.cs - [ProMIND] GetOpenVPNProfile(Android.Net.Uri profileUri): improved parser in order to avoid double entries MessageHandler.cs - [ProMIND] HandleMessage(Message msg): check for msg and m_handler to be valid and usable (not null) libovpn.so - [ProMIND] linked against mbedTLS instead of OpenSSL *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Changelog 1.0 beta 3 (VC 3) - Release date: 10 July 2018 by ProMIND LogActivity.cs - [ProMIND] Replaced the WebView with a ListView. This fixes the noticeable app's lag at activity's startup caused by WebView inflation. log_activity_layout.xml - [ProMIND] Replaced WebView with a ListView log_activity_listitem.xml - [ProMIND] New file. Describes the log item used for LogActivity's ListView SupportTools.cs - [ProMIND] Changed constructor. It now requires a Context. VpnManager.cs - [ProMIND] SendMessage(Message msg, Bundle payload): in case m_serviceMessenger is null, it now shows a more understandable and useful message to the user strings.xml - [ProMIND] Added conn_cannot_start_vpnservice *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Changelog 1.0 beta 2 (VC 2) - Release date: 06 July 2018 by ProMIND Miscellaneous: - [Morvotron] Added Spanish localization files - [pj] Added Italian localization files - [ProMIND] Fixed some incompatibilities in NavigatorView layouts in order to better support different devices/Api levels. This should also avoid startup crashes detected in 1.0 beta 1 - [ProMIND] Revised mono package versions and support. This should improve stability in certain devices/Api levels as well as avoiding startup crashes detected in 1.0 beta 1 AndroidManifest.xml - [ProMIND] Removed unneeded MANAGE_DOCUMENTS permission MainActivity.cs - [ProMIND] OnActivityResult(): Added a log warning for unhandled and unexpected requestCode LogActivity.cs - [ProMIND] Log timestamps (date/time) are now shown in local time format. Exported log timestamps are in UTC time. SupportTools.cs - [ProMIND] GetOpenVPNProfile(Android.Net.Uri profileUri): Profile size limit in now set to 200kb. This prevents ANR in case of huge binary files parsing - [ProMIND] ConfirmationDialog(string message): confirmation message now has "yes" and "no" buttons instead of "ok" and "cancel" *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Changelog 1.0 beta 1 (VC 1) - Release date: 30 June 2018 by ProMIND * Native android libraries, common for com.eddie.android and org.airvpn.eddie. Updated project tree to the latest source files of open source projects for which libeddie and libovpn3 depend on, specifically: - asio - boost 1.67.0 - breakpad - lz4 - lzo - openvpn3 * compilation of libeddie and libopvpn3 for the following architectures: - arm64-v8a (missing in com.eddie.android) - armeabi-v7a - x86 * added support for arm64-v8a in com.eddie.com * org.airvpn.eddie. The project is partially based on com.eddie.android sources and classes. Some of them have been adapted and/or fixed, some used "as is", some other discarded in favor of a complete rewrite of the same service or activity in order to fully comply to Android native development (although in regard of Visual Studio, C# and Mono). In particular, org.airvpn.eddie development has been and mainly focused on Xamarin.Forms complete removal from the former project, removal of obsolete Android preferences/setting classes in favor of valid and supported level classes; this also included the complete removal of Xam.Plugins.Settings in favor of standard Android's SharedPrefs schema. - Support for arm64-v8a, armeabi-v7a and x86 architectures - Correction of grammar and orthographic errors in English language strings and texts - Removal of hard coded interactive strings in favor of Android's localization standard - Revamped user interface and appearance complying to Android's ergonomics, look-and-feel and user interaction - Added a file chooser for openvpn profile selection to be imported into the app. Full support to URI and device's available sources - Display of profile's basic information - Improved error and information communication to the user by means of standard dialog boxes - Formal and basic control of selected profile in order to avoid openvpn errors - Complete rewrite of openvpn profile and custom directives management. Custom directives are now correctly inserted before the beginning of profile's markup directives therefore avoiding openvpn's connection errors - Complete rewrite of About activity, including screen orientation and size change in order to make sure the selected link is not reset to the initial page. Added support to "pinch zoom". - Complete rewrite of AirVPN Website activity. Added support to "pinch zoom", screen orientation and size change. - Complete rewrite of Log activity. It now shows event's date and level - Complete rewrite of Settings (preferences) Activity complying to Android's ergonomics, look and feel as well as by using standard Android's SharedPrefs - Support for "input data types" in Settings activity. Control of field validity in regard of formal and allowed values - Added/changed some options in order to comply and support new functions and settings - The option "save battery" has been changed to a more clear and understandable "pause VPN when the screen is off" - Complete rewrite of PackageChooser (in part based on com.eddie.android's PackagesPicker, properly corrected and fixed) for blacklist and whitelist packages selection