* fix: prepare the gateway request once instead of a blocking callback per attempt
* chore: libagw 1.0.8, gateway and failover timeouts 6s, health check 1s
Three recipes use f-string syntax that is only valid on Python 3.12+
(PEP 701): reusing the same quote character inside an f-string
expression, and using a backslash inside one.
recipes/amnezia-xray-bindings/conanfile.py:115
recipes/tun2socks/conanfile.py:118
recipes/hev-socks5-tunnel/conanfile.py:63-65
On older interpreters Conan fails to load the recipe with a SyntaxError
before resolving a single dependency, so the build cannot start:
SyntaxError: unexpected character after line continuation character
This is not platform specific. It is invisible in CI only because
ubuntu-latest ships Python 3.12+. Debian 12 (bookworm), current stable
and the base for Raspberry Pi OS, ships Python 3.11.
Hoist the expressions out of the f-strings, and use single quotes for
the nested string literals. Behaviour is unchanged on every version.
Verified with python3 -m py_compile on Python 3.11.2 (aarch64,
Debian 12): all three fail before this change and pass after.
* Add Google Play Billing Library
* Disable Qt debugger sleep
* Add billing module, provide a separate build for Google Play
* Add a method to detect Google Play build
* Add method to get the list of offers
* Add methods to verify and purchase subscriptions
* refactor: modify response json
* feat: add purchase to UI
* feat: add test purchase android
* fix: merge with new structure, fix payment flow
* fix: build flow for new conan structure
* fix: add build android via Win
* fix: fix multi-ABI filter
* fix: split payment to detect payment type
* fix: add artifact apk
* fix: add check purchase on restore
* fix: release keystore
* fix: copy apk to right path
* fix: separate oss/play build
* fix: simply build AAB
* fix: add custom target for Play billing
* fix: add logs billing
* fix: add support market types, add logs
* fix: revert market field, up android GP version, fix subscription plan parser
* fix: add support getSubscriptionInfo and subscriptions/restore
* fix: update api endpoint and pay logic
* fix: add logs and rename restore func
* fix: add ios logs
* fix: rename restore function, fix icon resource error
* fix: double purchase android
* fix: update Google Play Billing Library to 8.0.0
* fix: prefer free trial subscription offer on Android purchase
Bump APP version to 2137.
* fix: up kotlin version compiler
* fix: sync price for PlayMarket from GP
* fix: add logs for Google Play price merge
* fix: show App Store intro offer discount price in catalog
* feat: add trial support for multi platform, redesign PageSetupWizardApiPremiumInfo
* feat: add logs android
* fix: tighten spacing Change plan and test period tag
* fix: UI text changes
* fix: upgrade existing android subscription and add renew logic
* feat: add support upgrade CP plan without call subscription
* fix: add billing logs for plan
* fix: show upgrade success as notification
* fix: call getSubscriptionInfo/importServiceFromMarket on upgrade instead of skipping
* fix: restore ios prod var
* fix: remove noisy debug logs
* chore: up version code
* fix: getSubscriptionInfo used removed GatewayRequestData after rebase
* fix: aab in sep tasks
* fix: warn before subscription upgrade/downgrade purchase
* chore: add acknowledgePlayPurchase
* refactor: add store purchase controller
* feat: use same acknowledge method as appstore
* fix: IOS add upgrade
* fix: change QML warn message
* refactor: dedupe Play purchase validation and startup billing query
* chore: log purchaseToken through the Android purchase flow
* fix: resolve Android active plan by base plan id
* fix: remove comment
* fix: subscribe to Transaction.updates before Transaction.unfinished
* fix: update days values
* fix: genuine restore failure when another transaction was a duplicate
* fix: remove debug lines and comment
* chore: cleanup logs
---------
Co-authored-by: albexk <albexk@proton.me>
Co-authored-by: vkamn <vk@amnezia.org>
* feat: add awg3.1 support
* fix: add warning for big native awg qr codes
* fix: show default subnet address if not exist in server config
* fix: use range keep alive only with awg3 params
* chore: update awg go versions in conan
* chore: update awg-go version
* fix: set proper rpath's for openvpn on linux
* feat: run compilation on linux in max number of threads using deploy script
* feat: replace runpath for prebuilt openvpn
* fix: avoid double-installing of Qt libraries on linux
* fix: set proper rpath's for openvpn on macos
* fix: no DNS routes on Windows in blacklist split-tunnelling with OpenVPN
* fix(ios): link OpenVPNAdapter statically
* chore(conan): simplify openvpnadapter merge process and make everything via XCrun
---------
Co-authored-by: Yaroslav Gurov <ygurov@proton.me>
* feat: initial conan support
* feat: add awg-go and awg-apple recipes
* feat: macos full feature conan build, except ss and cloak
* feat: conan android initial support
* fix: android libssh fixes
* conan: android additional recipes and fixes
* feat: openvpn add support android
* fix: awg android connection establish
* conan: apple full-featured support
* chore: bump min macos version
* chore: get rid of manual deploy recursive copying
* conan: beautify makefile-based recipes
* conan: add geosite.dat and geoip.dat
* conan: use lib linking instead of QT_EXTRA_LIBS for OVPN
* conan: address lack of SONAME of libck-ovpn-plugin.so correctly
* conan: windows initial support
* conan: make awg-windows and wintun be interpret as exes
* conan: fix version for v2ray-rules-dat
* feat: conan and platform bootstrap rework in cmake
* feat: 16kb support for Android
* chore(conan): recipes cleanup
* feat: support of drivers for windows
* feat: support full-featured cmake install
* chore: exclude qtkeychain from the target build
* fix: install for apple systems
* fix: provide flags for cloak plugin for openvpn-pt-android
* chore: bump android deps for 16kb support
* feat(conan): patch cloak to properly provide env for golang
* chore: remove redundant hint from conan find
* feat: linux <-> conan features
* feat: linux initial packaging support
* feat: linux cpack support
* feat: cpack windows full-featured build
* feat: productbuild cpack support
* feat: rework CI/CD for macos
* feat: rework CI/CD for Linux
* fix: libncap automake args
* fix: CI/CD correct QT paths
* fix: windows rework CI/CD
* fix: windows artifact upload
* chore: remove MacOS-old from build targets
* feat: add conan to all mobile and NE builds
* feat: support default amnezia conan remote
* fix: use Release instead of release on Android
* feat: get rid of 3rd-prebuilt
* feat: conan CI/CD upload
* fix: CI/CD change windows toolset versions
* fix: remove MSVC version from CI/CD
* feat: conan CI/CD add Release and Debug build types
* feat: add multiple xcode versions for conan CI/CD
* fix: correct conan CI/CD clang versions
* feat: separate prebuilt baking, and add some for NE
* feat: rework keychain on ios/macos even more
* fix: add desktop Qt for iOS
* feat: add QT_HOST_PATH to build.sh
* fix: add deploy definition to cmake
* fix: android adjustments for toolchains and CI/CD
* fix: add needs for Android CI/CD
* fix: Android CI/CD use android-28
* fix: modernize translations, and CI/CD fixes
* fix: gradle min sdk compilation error
* fix: CI/CD add installers to all jobs
* fix: parse android platform more precisely
* fix: adjust aab path in CI/CD
* feat: CI/CD do not execute artifact build if there is nothing changed
* fix: CI/CD use common jobs even if previous were failed
* fix: Apple CI/CD use set-key-partition-list for keychains
* fix: Apple CI/CD do not specify any keychain (use default)
* fix: build aab as a different step in build script
* chore: beautify build.sh script
* feat: CI/CD build separate APKs per ABI
* fix: Android CI/CD upload artifact in separate steps
* chore: recipes cleanup
* feat: add hints for conan on MacOS
* fix: add main.cpp and tests back to CMakeLists.txt
* chore: xrayProtocol codestyle changes
* fix: openssl set proper X509 request version
* fix: make openvpn protocol rely only on client while configuring
* chore: get rid of old scripts
* chore: readme update describing build process more precisely
* feat: windows build script add multiprocessing capabilities
* chore: bump Qt version in README
* feat: add generator option and use Ninja by default in CI/CD for linux/macos
---------
Co-authored-by: NickVs2015 <nv@amnezia.org>