- Move Localizable.strings above to share *.lproj folders
- Reorg menus into contextual/system
- Shorten titles of contextual menus
- Update sharing message with WireGuard
- Drop AlternativeTo
7 phrases left to translate into 9 languages.
Infinite loop on init(), but horrible practice in general.
- DonateView
- PaywallView+Purchase
Also show a ProgressView while rows are loading.
DO NOT animate on .products value because animation won't work
if products are empty and stay empty after refresh. Instead,
observe .isRefreshingProducts.
Lastly, to avoid annoying animation when products are actually
available, do not refresh products if non-empty. They certainly
do not change during the application lifecycle.
- Fix missing PlugIns in Catalyst build
Hence the VPN failure, there was a "iOS" filter on embed.
- Fix complaint about file access permission
Seems to need R/W when importing VPN configuration files.
- Drop status / navigation bars colors
- Restore large title on iPad
- Overlay organizer with "No profiles" when empty
- Uninstall VPN from ProfileView
- Skip tests until fixed wg-go issue
- Add golang step
- Set "Apple Development" at project level
- Set Catalyst platform for gym
- Drop TARGET env variable clashing with WireGuardKit
- Disable SwiftGen script phase
- Fix TunnelKit segfault on archive
- Xcode 13.2.1 compatibility
Fix some issues with @MainActor
Use #available instead of #unavailable
- Raise timeout from 10 to 15 minutes
- Update beta description
- Tunnel bundle ids cannot have periods
- CFBundleDisplayName required in tunnels
- Optimize package granularity and imports
- Adjust targets to smaller TunnelKit components
- Raise iOS target to 13
- Drop support for TLS security level
- Drop CocoaPods completely
- Make PassepartoutCore a Swift package
- Enable Bitcode to fix OpenSSL linkage (iOS)
- Update CI scripts without CocoaPods