development
===========
- ...

0.24.10
=======
- ui: use NumberAnimation for state change animation
- update obfsvpn go module to v1.3.1-0.20241121155258-e6b06efc4456
- [README] Print how to start bitmask-vpn after building it
- [management] Add tests for parsing port of a management message
- Log port of connected OpenVPN gateway
- [management] Improve error handling in *StateEvent.parts()
- show error message when app already running
- remove use of deprecated ioutil module
- fix crash during start when helper not installed
- ovpn: don't redeclare status variable
- ovpn: stop openvpn from management interface
- Add introducer to storage before using it when supplied via env
- Initialize and close bitmask-core storage
- Improve error handling when checking downloaded pem cert
- Update calls to DoGeolocationLookup after API change
- Update to latest bitmask-core (commit 0812b9aadf98)
- enable setting introducer url using env variable
- chore: replace ioutil with io module
- Strip port of menshen host before resolving with logDnsLookup
- update l10n
- create 0.24.10-rc.2 release
- installer: get uid and gid only for macos
- Update urls in provider config for bitmask provider
- installer: get uid and gid only for macos
- Update urls in provider config for bitmask provider
- helper: use unix socket for local api
- change obfsvpn version to v1.1.0
- Do geolocation lookup
- Add STUNServers countryCodeLookupURL fields to provider config (geolocation lookup)
- [config] Clean code (move CaCert to global var list)
- [menshen] Use NewConfigFromURL instead of NewConfig
- Update bitmask-core dependency
- Replace which with command -v
- Update obfsvpn to v1.3.0
- [bitmask-root] Don't redirect port 53 traffic of vpn gateways
- [bitmask-root] Don't return generator in get_gateways
- Fix log message that logs whitelisted gateway ip in firewall
- config: enable UDP for openvpn by default
- docs: add instructions for deb source package and uploading to ppa
- deb: add intermediate makefile target to prepare deb package
- Add python3 build dependency in control template
- Update debian changelog template
- deb: update patch for deb package to build with qt6.4
- build: donot rename built app binary
- build: pass in PROVIDER env variable to getparam script
- installer: name helper launchd service based on app name
- qmake: pass RELEASE variable to qmake invocation
- build: use RELEASE_DIR for path to release build dir
- qmake: configure for release builds when env RELEASE is yes
- ci: donot manually apply patch in debian package jobs
- ci: add gitlab ci job for building on macos
- build: update openvpn build script to work on arm64 host
- [Makefile] Don't overwrite QMAKE env when calling build.sh
- [Makefile] Fix racecondition in Makefile
- [Makefile] Remove install_go target
- [Makefile] Add default target allinone (clean/vendor/build)
- [Makefile] Use unlink only on Windows for make clean
- Remove gui/providers/providers.json from git repo
- ci: Remove debian job. Not needed anymore
- ci: rename arch CI job to build_Arch_Linux_package
- ci: build deb packages for Debian 12, Ubuntu 22.04 and Ubuntu 24.04
- ci: Fix CI fail "toolchain not available"
- ci: remove ineffective chmod from build step of macOS job

0.24.8
======
- Reduces the size of splash screen image
- Disable obfs4 and kcp checkbox in preferences for riseup
- Removes duplicate languages in the language picker in preferences
- Language picker in preferences shows languages sorted alphabetically
- Updates translation files
- Adds region to language selections menu when available
- Improves UI responsiveness when connect or disconnect fails
- Disable automatic openvpn connection during app start
- Fixes a local privilege escalation security bug when using "--install-helpers"
- Change bitmask branded app name to Bitmask from BitmaskVPN
- Fixes bug where MOTD message box was not shown for RiseupVPN
- Show bridge icon when KCP transport is selected
- Show license page during installation
- Uninstalls previous version before installing current version
- Adds accessibility hints to connection button
- Exposes KCP support in the UI
- Adds new bitmask-vpn package for Arch Linux
- Fixes a bug preventing use of the app by non-admin users on windows
- Fixes a bug on macOS preventing users from manual location selection
- Fixes a bug where the app's close routine was called twice
- Fixes a bug where log file was not closed while quitting the app
- Fixes a bug where the correct app name was not shown in installer error messages
- Updates to latest obfsvpn
- Updates to latest bitmask-core
- Updates translation files
- Adds missing iptables dependency to ubuntu package

0.24.6-rc.1
======
- Adds better debug and informational logs
- Partially implement menshen V5 API
- Partially implements the new Bitmask and Riseup designs
- Addition of PPA for ubuntu numbat
- Adds timeout for http connections
- Adds error checking to various places in the code

0.24.5
======
- fix missing dependencies on .deb package
- Shorten too long strings in translations
- Fix bitmask branded windows UI and remove riseup crow from about
- Connection status text width trimmed to be inside parent container
- Bitmask branded desktop build pointing to demo instance of lillypad
- Add Supported OS's to the readme
- Update the debian package to build using Qt6
- Update GUI to Qt6
- Fix bitmask-helper install script for macOS and windows


0.21.11
=======
- Complete UI revamp
- Do not fail if ipv6 is disabled (GNU/Linux)
- UDP support
- Obfs4 support
- Experimental snowflake support for bootstrap (not exposed in UI yet)
- Disable autostart on first run
- Provider "message of the day"
- primitive version check for windows, osx.
- #569 avoid installing in custom paths to mitigate security issue in windows


0.21.6
======

- First iteration of the gateway selector.
- Allow to select obfs4 gateways (bridges) to bypass censorship.
- Ability to define explicitely allowed addresses for local networks.
- Make the donate dialog less intrusive (#470)
- Updated translations. New locales: greek, farsi, hungarian, dutch, polish and uyghur.