{{Header}}
{{#seo:
|description={{project_name}} Release Notes, {{project_name}} 13, {{project_name}} 14
|image=https://www.{{project_clearnet}}/w/images/b/b5/Releasenots.png
}}

= {{project_name}} 13 Changelog =

{{project_name}} 13 was released on May 31, 2016. <ref>https://www.whonix.org/blog/whonix-13-released</ref> {{project_name}} 13 contains many small security and usability improvements, features and bug fixes. <ref>https://phabricator.whonix.org/maniphest/query/TfpGK0Sq8w1j/#R</ref> <ref>Descriptions of changes in [https://sourceforge.net/p/whonix/featureblog/2015/12/whonix-12-released/ {{project_name}} 12] and [https://sourceforge.net/p/whonix/featureblog/2015/06/testers-wanted-whonix-11--110030---release-candidate/ earlier versions] can be found on sourceforge.net</ref> <ref>A handful of issues have been fixed in both {{project_name}} 13 and {{project_name}} 14 and backported to both versions.</ref>

== All Platforms ==

=== AppArmor ===

* Fixed the Tor Browser AppArmor profile to allow correct functionality. <ref>https://phabricator.whonix.org/T672</ref>
* Resolved AppArmor conflicts affecting Pidgin, Chromium and Evince. <ref>https://phabricator.whonix.org/T314</ref>
* Merged AppArmor profiles for sdwdate, timesync and whonix-check into their corresponding packages and now install them by default. <ref>https://phabricator.whonix.org/T201</ref>

=== Bug Fixes ===

* Fixed broken whonix-setup-wizard functionality. <ref>https://phabricator.whonix.org/T499</ref>

=== Code ===

* Updated {{project_name}} code for Tor Browser tb-updater. <ref>https://phabricator.whonix.org/T666</ref>
* Refactored the {{project_name}} socks redirection firewall rules to reduce their size and use less script code. <ref>https://phabricator.whonix.org/T465</ref> <ref>The same firewall rules are still applied.</ref>
* Refactored {{project_name}} code so that scripts only use configuration files that end with the .conf extension. <ref>https://phabricator.whonix.org/T286</ref>

=== Improved Functionality and Usability ===

* Modified whonixcheck to test for slow or fast system clocks which prevent Tor from properly connecting. <ref>https://phabricator.whonix.org/T482</ref>
* Implemented an explicit check for timekeeping watchdog kernel messages in whonixcheck, so users are warned about clock jumps which prevent / time-out Tor connections. <ref>https://phabricator.whonix.org/T480</ref>
* Enforced maximized terminal windows for xdg desktop users. <ref>https://phabricator.whonix.org/T451</ref> <ref>For instance, tor-arm, restart Tor and other terminal programs.</ref>
* Enabled Transparent Proxy Ports for {{gateway_product_name}} by default (except for {{project_name}}-Firewall). <ref>https://phabricator.whonix.org/T435</ref> <ref>This does not enable transparent proxying by default, but is required in Qubes so [https://phabricator.whonix.org/T434 tinyproxy traffic can be redirected] to 127.0.01 instead of to qubes-netvm-gateway.</ref>
* Configured {{project_name}} to use ''/etc/skel'' instead of writing to the home folder directly to maintain forward compatibility with Qubes. Further, this allows for proper error-handling where "user" is hardcoded in {{project_name}}, and a newly created account with a different name has been used. <ref>https://phabricator.whonix.org/T419</ref>
* Deprecated the timesync progress bar and replaced it with a tray icon using sdwdate-gui to improve usability and reduce confusion. <ref>https://phabricator.whonix.org/T300</ref>
* Created a stable-proposed-updates repository for users who want to help in testing {{project_name}} fixes, without resorting to the testers repository which comes with many more changes. <ref>https://phabricator.whonix.org/T200</ref>
* Moved the WhonixBackupScript to the usability-misc package to make it more accessible. <ref>https://phabricator.whonix.org/T159</ref>
* Replaced XChat with HexChat, since the former is no longer actively maintained, and created a new AppArmor profile to contain it. <ref>https://phabricator.whonix.org/T40</ref>
* Implemented a VPN_FIREWALL feature as part of whonix-ws-firewall. <ref>https://phabricator.whonix.org/T158</ref>

=== Security Enhancements ===

* Created a security-misc package that turns off Nautilus and Dolphin file previews by default, since this poses security risks. <ref>https://phabricator.whonix.org/T418</ref>
* A known, good version of Tor is now maintained and uploaded to the {{project_name}} repository from deb.torproject.org <ref>https://phabricator.whonix.org/T472</ref>
* Uploaded the Tor 0.3.2.9 major (stable) release to the {{project_name}} repository to enable full v3 onion functionality for both hosting of onion services and access to v3 onion addresses in Tor Browser. <ref>https://phabricator.whonix.org/T764</ref>
* Extended the lifetime of the {{project_name}} signing key. <ref>https://phabricator.whonix.org/T497</ref>
* Sourced new onion services webservers for the sdwdate feature, which ensures the system's clock is correctly set for security, privacy and anonymity purposes. <ref>https://phabricator.whonix.org/T266</ref>

== {{q_project_name}} ==

=== Bug Fixes ===

* Fixed qubes-whonix-firewall systemd service start. <ref>https://phabricator.whonix.org/T528</ref> <ref>This fixes various bugs relating to Tor starting / failing multiple times and qubes-whonix-torified-updates-proxy sometimes failing.</ref>
* Resolved whonixcheck fixes for Qubes R4. <ref>https://phabricator.whonix.org/T724</ref>
* Corrected false positive failure messages for the updates proxy test in Qubes R4. <ref>https://phabricator.whonix.org/T723</ref> <ref>Qubes R4 RC1.</ref>
* Disabled qubes-SetDateTime / qubes.SyncNtpClock in {{q_project_name}} VMs since it interfered with timesync. <ref>https://phabricator.whonix.org/T384</ref>
* Resolved accumulation of old Tor Browser instances in ''/var/cache/tb-binary/.tb/'' which caused users to run into full disk error messages. <ref>https://phabricator.whonix.org/T671</ref>
* Resolved an occasional error message whereby {{project_name}} templates incorrectly reported they were not connected to the {{gateway_product_name}} ProxyVM. <ref>https://phabricator.whonix.org/T496</ref>
* Resolved the broken anon-ws-disable-stackedtor function in [[Qubes|{{q_project_name}}]]. <ref>https://phabricator.whonix.org/T454</ref>
* Enforced the opening of all links from <code>{{gateway_product_name_vm}}</code>, <code>whonix-gw</code> and <code>whonix-ws</code> in the <code>{{workstation_product_name_vm}}</code> AppVM to prevent error messages. <ref>https://phabricator.whonix.org/T452</ref>

=== Builds ===

* Corrected the build failure of {{workstation_product_name}} template in {{q_project_name}} R3.2 and added the qubes-template-whonix to continuous integration service TravisCI. <ref>https://phabricator.whonix.org/T527</ref>
* Resolved {{project_name}} template build failures in Qubes R4 related to Tor Browser downloads. <ref>https://phabricator.whonix.org/T710</ref>
* Changed the {{q_project_name}} build process to install {{project_name}} from the {{project_name}} binary APT repository. This simplifies code, results in faster builds, removes build dependencies inside the template, and reduces the overall template size. <ref>https://phabricator.whonix.org/T498</ref>
* Allowed the {{project_name}} build script to run as root and reworked user_name. <ref>https://phabricator.whonix.org/T416</ref>

=== Code ===

* Removed fetching of {{project_name}} source code in qubes-template-whonix. <ref>https://phabricator.whonix.org/T507</ref>
* Removed the qubes-update-check system service from {{q_project_name}} TemplateVMs, since it was unnecessary. <ref>https://phabricator.whonix.org/T433</ref> <ref>The qubes-update-check.service already has improved upgrade notifications.</ref>
* Reworked / removed a number of installed packages in {{q_project_name}} which are only required for the [[Non-Qubes-Whonix|{{non_q_project_name}}]] desktop. <ref>https://phabricator.whonix.org/T429</ref> <ref>For instance, plasma-widget-folderview, kde-kdm-autologin, split the anon-shared-desktop-kde package and so on.</ref>
* Removed the default username and password in the {{q_project_name}} terminal, because it is not required. <ref>https://phabricator.whonix.org/T428</ref>

=== Improved Functionality and Usability ===

* Ported whonixcheck and tb-updater to Qubes' qrexec-based updates proxy, since TemplateVMs are non-networked by default in Qubes R4. <ref>https://phabricator.whonix.org/T491</ref>
* Changed the tb-updater configuration to use Qubes updates proxy, since Qubes R4 sets the NetVM of TemplateVMs to none by default. <ref>https://phabricator.whonix.org/T477</ref>
* Implemented the ability to install {{workstation_product_name}} and {{gateway_product_name}} from dom0 with a <code>sudo apt install whonix-(workstation|gateway)</code> feature. <ref>https://phabricator.whonix.org/T461</ref>
* Ported the bind-directories functionality upstream to Qubes. <ref>https://phabricator.whonix.org/T414</ref>
* Implemented the new bind-directories functionality in [[Qubes|{{q_project_name}}]]. <ref>https://phabricator.whonix.org/T501</ref>
* Implemented a check for whether the <code>whonix-gw</code> ProxyVM (<code>{{gateway_product_name_vm}}</code>) has a NetVM which is set to "none", with a warning shown if this is the case. <ref>https://phabricator.whonix.org/T421</ref>
* Implemented a new feature so that following an update of the {{workstation_product_name}} TemplateVM, newly created AppVMs based on the updated TemplateVM come with an up-to-date version of Tor Browser. <ref>https://phabricator.whonix.org/T417</ref>
* Modified whonixcheck to check if: {{gateway_product_name}} is running in a NetVM or ProxyVM; {{workstation_product_name}} is running in an AppVM; and to skip the test if a TemplateVM is detected. <ref>https://phabricator.whonix.org/T406</ref>

=== Security Enhancements ===

* Prevented ''/usr/lib/qubes/qubes-setup-dnat-to-ns'' from running in {{q_project_name}} to stop it from modifying firewall rules. <ref>https://phabricator.whonix.org/T502</ref>

= {{project_name}} 14 Changelog = 

{{project_name}} 14 was released on August 6, 2018. Significantly, {{project_name}} 14 is based on the Debian stretch (Debian 9) distribution which was released in mid-2017, instead of Debian jessie (Debian 8). <ref>https://www.debian.org/releases/stretch/</ref> Users now have access to numerous updated and new software packages, a more modern branch of GnuPG, and more. <ref>https://www.debian.org/News/2017/20170617</ref> <ref>https://www.debian.org/releases/stable/amd64/release-notes/</ref> <ref>https://www.debian.org/releases/stable/i386/release-notes/</ref>

== All Platforms ==

=== AppArmor ===

* Fixed the whonixcheck AppArmor profile to remove continuous denied messages relating to signal. <ref>https://forums.whonix.org/t/apparmor-and-kernel-4-14-18-1-creates-tons-of-kern-log-pop-ups/4811?</ref>
* Fixed the AppArmor profile for obfs4proxy to enable correct functioning of Tor Bridges in {{gateway_product_name}}. <ref>https://phabricator.whonix.org/T676</ref>
* Fixed the Tor Browser AppArmor profile to allow correct functionality. <ref>https://phabricator.whonix.org/T672</ref>
* Corrected the tor-controlport-filter AppArmor profile to ensure correct functioning. <ref>https://phabricator.whonix.org/T587</ref>
* Removed the Pidgin AppArmor profile, since Pidgin is recommended against for security reasons. <ref>https://phabricator.whonix.org/T568</ref>
* Hardened the Control Port Filter AppArmor profile. <ref>https://phabricator.whonix.org/T532</ref>
* Disabled installation of apparmor-notify (AppArmor notifications) by default, thereby removing the reporting of mostly harmless denied messages. <ref>https://phabricator.whonix.org/T557</ref> <ref>The {{project_name}} documentation recommends that advanced users install apparmor-notify to investigate relevant warnings.</ref>

=== Bug Fixes ===

* Corrected the broken whonix-setup-wizard autostart on {{gateway_product_name}}. <ref>https://phabricator.whonix.org/T640</ref>
* Fixed sdwdate-gui freezing when using right-click in the menu. <ref>https://phabricator.whonix.org/T626</ref>
* Fixed dependency issues which prevented the whonix-setup-wizard gui from starting. <ref>https://phabricator.whonix.org/T592</ref>
* Implemented the correct <code>Tor --verify</code> command for {{gateway_product_name}} torrc configuration checks to prevent the reporting of false positives. <ref>https://phabricator.whonix.org/T787</ref>
* Modified the uwt wrapper script to correctly handle symbolic links. <ref>https://phabricator.whonix.org/T797</ref>
* Changed the {{gateway_product_name}} firewall prerouting rules for socks ports so they do not interfere with trans port traffic. <ref>https://phabricator.whonix.org/T462</ref>
* Modified whonixcheck to first test if network interfaces are up to prevent the test from failing unnecessarily. <ref>https://phabricator.whonix.org/T490</ref>
* Fixed a whonixcheck whonix-firewall check race condition. <ref>https://phabricator.whonix.org/T675</ref>

=== Builds ===

* Resolved genmkfile build dependencies for building {{workstation_product_name}} and {{gateway_product_name}}. <ref>https://phabricator.whonix.org/T700</ref>
* Confirmed the new and upgraded {{project_name}} 14 builds are identical. <ref>https://phabricator.whonix.org/T760</ref> <ref>https://phabricator.whonix.org/T761</ref>
* Fixed debian/control parsing with respect to make_deb_build_dependencies / make_deb_runtime_dependencies. <ref>https://phabricator.whonix.org/T643</ref>

=== Code ===

* Updated {{project_name}} code for Tor Browser tb-updater. <ref> https://phabricator.whonix.org/T666</ref>
* Changed the bindp compile to postinstall to make it cross-platform (Qubes, 64-bit, 32-bit). <ref>https://phabricator.whonix.org/T688</ref>
* Rewrote sclockadj in C and updated the sdwdate package to compile sclockadj. <ref>https://phabricator.whonix.org/T686</ref> <ref>https://phabricator.whonix.org/T650</ref>
* Implemented symlinks for onion-grater profiles to maintain functionality following profile upgrades. <ref>https://phabricator.whonix.org/T768</ref>
* Enhanced onion checking in sdwdate to improve the unit test. <ref>https://phabricator.whonix.org/T648</ref>
* Ported msgcollector to python3 and python3-pyqt5. <ref>https://phabricator.whonix.org/T632</ref>
* Ported whonix-setup-wizard to python3. <ref>https://phabricator.whonix.org/T628</ref>
* Ported python-guimessages to python3. <ref>https://phabricator.whonix.org/T627</ref>
* Rewrote sdwdate to ensure python exceptions are written to the journal. <ref>https://phabricator.whonix.org/T608</ref>
* Rewrote control-port-filter-python to ensure exceptions are written to the journal. <ref>https://phabricator.whonix.org/T603</ref>
* Re-added some non-essential packages to {{project_name}} that were removed from Debian stretch. <ref>https://phabricator.whonix.org/T601</ref> <ref>gtk3-engines-oxygen.</ref>
* Ported anon-shared-helper-scripts so they instead use Tor authentication cookies. <ref>https://phabricator.whonix.org/T578</ref>
* Ported whonixcheck check_tor_socks_port_reachability.bsh to use the Tor unix domain socket socks file. <ref>https://phabricator.whonix.org/T548</ref>
* Ported anon-ws-disable-stacked-tor to systemd socket activation to remove unnecessary, idle socat listeners. <ref>https://phabricator.whonix.org/T623</ref> <ref>This also reduces the RAM load caused by too many socat instances.</ref>
* Removed auditd configuration folder parsing ''/etc/audit/rules.d/'' by default, since the feature has been implemented upstream.
* Implemented anonymous counting of {{project_name}} users via the whonixcheck {{project_name}} News function. <ref>https://phabricator.whonix.org/T689</ref> <ref>This measure takes place over Tor using a v3 onion. It does not include collection of IP addresses or unique identifiers of any kind, and can be [[{{project name short}}check_Hardening#Prevent_Downloading_{{project_name_short}}_News_and_{{project_name_short}}_User_Census_Counting|easily disabled]].</ref>
* Implemented, but did not activate changes to the {{project_name}} firewall so: sdwdate is stopped before suspend; timesync-fail-closed mode is set before suspend; sdwdate is restarted after resume; and {{project_name}} firewall enters full mode after resume following successful sdwdate activation. <ref>https://phabricator.whonix.org/T551</ref>
* Configured auditd to process the configuration folder ''/etc/audit/rules.d/'' by default to aid debugging. <ref>https://phabricator.whonix.org/T535</ref> <ref>https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833474</ref>
* Implemented monitoring of changes to ''/var/lib/tor/lock'' access rights via auditd to aid debugging. <ref>https://phabricator.whonix.org/T537</ref>
* Modified anon-ws-disable-stacked-tor to maintain Tor Browser functionality with Unix domain socket files redirection and prevent Tor over Tor scenarios. <ref>https://phabricator.whonix.org/T192</ref>
* Configured whonixcheck to test for failed daemons. <ref>https://phabricator.whonix.org/T488</ref>
* Implemented a sdwdate sd_notify systemd watchdog. <ref>https://phabricator.whonix.org/T639</ref>
* Disabled systemd-resolved and instead implemented a ''/lib/systemd/system/systemd-resolved.service.d/'' drop-in. <ref>https://phabricator.whonix.org/T762</ref>
* Ported ''/usr/sbin/service'' to systemctl as the latter runs non-interactively. <ref>https://phabricator.whonix.org/T637</ref>
* Disabled timedatectl network time synchronization in Debian stretch to prevent conflicts with sdwdate. <ref>https://phabricator.whonix.org/T589</ref>
* Removed brltty, brltty-speechd and brltty-x11 since they create a local listener port which may conflict with onion-grater. <ref>https://phabricator.whonix.org/T563</ref>
* Modified anon-ws-disable-stacked-tor systemd-unit-files-generator so it is configurable. <ref>https://phabricator.whonix.org/T796</ref>
* Rewrote slockadj3 in C and determined how to prevent spamming of sclockadj3 time changes to logs. <ref>https://phabricator.whonix.org/T691</ref> <ref>https://github.com/systemd/systemd/issues/5207</ref> <ref>https://phabricator.whonix.org/T686</ref> <ref>https://phabricator.whonix.org/T50</ref>

=== Improved Functionality and Usability ===

* Implemented the major new [[Anon_Connection_Wizard|Anon Connection Wizard]] feature to simplify connections to the Tor network via a Tor bridge and/or a proxy. <ref>https://phabricator.whonix.org/T699</ref>
* Integrated the Tor Pluggable Transport <code>meek_lite</code>. <ref>https://forums.whonix.org/t/censorship-circumvention-tor-pluggable-transports/2601</ref>
* Integrated anon-connection-wizard into whonix-setup-wizard, so that the latter can now start the former. <ref>https://phabricator.whonix.org/T716</ref>
* Removed the Control Port Filter Proxy script from anon-ws-disable-stacked-tor since it is no longer required for proper Tor connections or Tor Browser functions (its functionality is now replaced by [https://github.com/{{project_name_short}}/onion-grater onion-grater]). This means [[Next|Ricochet, Zeronet]] and [[OnionShare|OnionShare]] are now compatible with {{project_name}}. <ref>OnionShare is not installed by default in {{project_name}} 14 because it is not in the stretch repository, however it may be manually installed using the [[OnionShare#Install_OnionShare|available wiki instructions]].</ref> <ref>https://phabricator.whonix.org/T657</ref> <ref>[https://github.com/{{project_name_short}}/onion-grater onion-grater]: <blockquote>Filters out Tor control protocol commands that are dangerous for anonymity such as GETINFO ADDRESS using a whitelist. Acts as a proxy between the client application and Tor. <br /><br />
For example it allows using Tor Browser's New Identity feature on Anonymity Distribution Workstations, fixes Tor Browser's about:tor default homepage and Tor Button status indicator without exposing commands that are dangerous for anonymity.</blockquote></ref>
* Installed necessary dependencies for proper ZeroNet functionality. <ref>https://phabricator.whonix.org/T701</ref>
* Installed onioncircuits by default in {{gateway_product_name}}. <ref>https://forums.whonix.org/t/onioncircuits-viewing-the-status-and-circuits-of-tor/2539</ref>
* Added <code>--list-interface</code> to tor-controlport-filter, as it works better with dynamic IP addresses. <ref>https://phabricator.whonix.org/T579</ref>
* Added a ''/etc/tor-controlport-filter.d'' configuration extension feature. <ref>https://phabricator.whonix.org/T576</ref>
* Fixed the control-port-filer-python configuration to rewrite HS_DESC replies by Tor, so OnionShare is supported. <ref>https://phabricator.whonix.org/T574</ref>
* Merged the tor-controlport-filter by Tails for various enhancements. <ref>https://phabricator.whonix.org/T573</ref>
* Implemented more user-friendly error messages (instead of tb-starter error handlers) when non-{{project_name}} related Tor Browser issues cause start-tor-browser to fail and exit zero. <ref>https://phabricator.whonix.org/T510</ref>
* Implemented sane built-in defaults for whonix-gw-firewall, whonix-ws-firewall, whonixcheck, sdwdate, uwt, onion-grater, rads, open-link-confirmation, tb-starter and tb-updater, even if configuration files do not exist. <ref>https://phabricator.whonix.org/T503</ref>
* Changed uwt to set AllowOutboundLocalhost / AllowInbound which can help make servers utilizing Tor onion services work. <ref>https://phabricator.whonix.org/T357</ref>
* Implemented a sd_notify watchdog feature for onion-grater so the service is restarted if it appears to be running, but has became unresponsive. <ref>https://phabricator.whonix.org/T274</ref>
* Created a bindp {{project_name}} package to enable {{workstation_product_name}} applications that use Tor ephemeral onion services to bind on all interfaces as necessary. <ref>https://phabricator.whonix.org/T561</ref>
* Modified sdwdate to check if the clock is changed "behind the back" of the program and suggest a manual user fix. <ref>https://phabricator.whonix.org/T481</ref>
* Improved default torsocks information / warning messages when wrapped commands are invoked to reduce user confusion. <ref>https://phabricator.whonix.org/T73</ref>
* Both [[Non-Qubes-Whonix|{{non_q_project_name}}]] and {{q_project_name}} are now compatible with the Tor Project's sandboxed Tor Browser. <ref>This is no longer recommended, since the The Tor Project has ceased development and [https://gitlab.torproject.org/legacy/trac/-/issues/25540 stopped building and distributing sandboxed-tor-browser binaries].</ref>

=== Security Enhancements ===

* Confirmed functionality of the kloak anti-keystroke deanonymization tool in {{project_name}}. <ref>https://phabricator.whonix.org/T583</ref> <ref>By default, kloak is packaged in {{project_name}} 15 for the {{non q project name short}} platform. Unfortunately {{q project name short}} is unsupported (dysfunctional) due to the following Qubes issues: <br /> 
* https://github.com/QubesOS/qubes-issues/issues/2558
* https://github.com/QubesOS/qubes-issues/issues/1850</ref>
* Identified more reliable onion servers as appropriate time sources for sdwdate, which enables correct network time synchronization for anonymity-focused distributions.  <ref>https://phabricator.whonix.org/T647</ref>
* Implemented Tails' Control Port Filter Proxy in {{project_name}} and merged recent changes since it was forked. <ref>https://phabricator.whonix.org/T617</ref> <ref>https://phabricator.whonix.org/T612</ref>
* Fixed security and hardening (stack canary) issues with the bindp libindp.so package (which were merged upstream). <ref>https://phabricator.whonix.org/T599</ref>
* Uploaded Tor version 0.3.3.9 (stable) release to the {{project_name}} repository to enable full v3 onion functionality for both hosting of onion services and access to v3 onion addresses in Tor Browser. <ref>https://phabricator.whonix.org/T764</ref>
* Onion sources are now preferred for {{project_name}} updates/upgrades for greater security. Note: this change has been reverted due to the unreliable nature of onion connections at present - see footnote. <ref>Previously both clearnet and onion sources were in use and priority was given to the latter, with v3 onion connections being preferred (clearnet provided a fallback). Onions will not be set by default until [https://github.com/DonnchaC/onionbalance OnionBalance] is available for v3 onions, and the repositories can be reached reliably.</ref>
* Disabled the apt-timer in Debian stretch to prevent auto updates, thereby preventing the attendant security risks associated with background updates without user input. <ref>https://phabricator.whonix.org/T590</ref>
* Disabled nautilus previews by default due to the security risks. <ref>https://phabricator.whonix.org/T500</ref>
* Implemented uwt to set TORSOCKS_ISOLATE_PID in Debian Stretch so all uwt wrapped applications are stream isolated. <ref>https://phabricator.whonix.org/T356</ref>
* Implemented tor+http / apt-transport-tor rather than Acquire::BlockDotOnion "false" for better security and stream isolation. <ref>https://phabricator.whonix.org/T610</ref>
* Disabled the systemd DNS resolver feature in order to reduce the attack surface and to remove the potential for adverse anonymity impacts. <ref>https://phabricator.whonix.org/T471</ref>
* Established a dedicated {{project_name}}.org repository, with appropriate redirects from {{project_name}} mirrors. <ref>https://phabricator.whonix.org/T475</ref>
* Removed the DHCP client from {{gateway_product_name}} and switched to a static network configuration so the dhclient is no longer present on all interfaces, including the internal network. <ref>https://phabricator.whonix.org/T559</ref>
* Disabled VLC metadata collection by default. <ref>https://phabricator.whonix.org/T736</ref>
* Disabled "Obey DRM limitations" in Okular, <ref>The default {{project_name}} PDF reader.</ref> since Digital Rights Management (DRM) can be used as a tracking vector. <ref>https://www.locklizard.com/track-pdf-monitoring/</ref> <ref>https://phabricator.whonix.org/T776</ref>

== {{non_q_project_name_short}} ==

{{mbox
| type      = notice
| image   = [[File:Ambox_notice.png|40px|alt=Info]]
| text    = Desktop shortcuts are no longer available in [[Non-Qubes-Whonix|{{non_q_project_name}}]]. <ref>Until it is determined how to enable kde-folderview in Debian stretch.</ref>
}}

=== Bug Fixes ===

* Increased the {{gateway_product_name}} VRAM in VirtualBox from 8 to 16 MB to avoid error messages and possible video problems when using full screen mode. <ref>https://phabricator.whonix.org/T680</ref>
* Corrected sdwdate-gui systray so it properly registers in kde systray and does not appear as a gap in the Entry column. <ref>https://phabricator.whonix.org/T638</ref>
* Corrected the sdwdate-gui tray icon so it is visible in Debian stretch. <ref>https://phabricator.whonix.org/T598</ref>
* Corrected the virtualization detection method to properly recognize KVM. <ref>https://github.com/{{project_name_short}}/shared-folder-help/commit/2130d872d4e346bc490e70fca79e572d1d1f86df</ref>

=== Builds ===

* Reduced the size of the default, binary {{project_name}} images by approximately 50 per cent using zerofree. <ref>https://phabricator.whonix.org/T790</ref> <ref>http://forums.whonix.org/t/reducing-size-of-ova-images</ref> <ref>VirtualBox .ova and libvirt qcow2 raw images.</ref> <ref>The {{gateway_product_name}} is reduced from 1.7 GB to 850 MB, while the {{workstation_product_name}} is reduced from 2 GB to 1.1 GB.</ref>

=== Code ===

* Removed kmix-disable-autostart since it is no longer required to make sure the clipboard history icon is loaded into the system tray. <ref>https://phabricator.whonix.org/T722</ref>

=== Improved Functionality and Usability ===

* Created the <code>grub-live</code> package which can [[VM_Live_Mode|run {{project_name}} as a live system]]. <ref>https://phabricator.whonix.org/T714</ref> <ref><code>grub-live</code> is not installed by default in {{project_name}} 14 and is an optional package only.</ref>
* Added Kscreen to {{project_name}} by default in order to allow DPI scaling and other basic desktop features of Plasma 5. <ref>https://phabricator.whonix.org/T703</ref>
* Removed the VirtualBox shared folder and confirmed automounting of shares is enabled in Debian stretch. <ref>https://phabricator.whonix.org/T702</ref>

=== Security Enhancements ===

* Removed okular from anon-shared-applications-kde to anon-workstation-default-applications so it is not installed on {{gateway_product_name}}. <ref>https://github.com/{{project_name_short}}/anon-meta-packages/commit/a22b1807c79cb1d21447c83ed251c331cf6222f1</ref>
* Hide the CPUID in VirtualBox 5 by setting generic values via <code>HostCPUID</code>. <ref>https://phabricator.whonix.org/T408</ref>

== {{q_project_name}} ==

=== Bug Fixes ===

* Implemented whonixcheck fixes for Qubes R4. <ref>https://phabricator.whonix.org/T724</ref>
* Corrected false positive failure messages for the updates proxy test in Qubes R4. <ref>https://phabricator.whonix.org/T723</ref> <ref>Qubes R4 RC1.</ref>
* Resolved non-functionality of Tor Browser due to jemalloc corruption. <ref>https://phabricator.whonix.org/T651</ref>
* Resolved segfaults in Tor Browser caused by excessive string length in the XDG_CONFIG_DIRS environment variable. <ref>https://phabricator.whonix.org/T767</ref>
* Resolved accumulation of old Tor Browser instances in ''/var/cache/tb-binary/.tb/'' which caused users to run into full disk error messages. <ref>https://phabricator.whonix.org/T671</ref>
* Corrected dependencies in the qubes-whonix package to resolve issues when upgrading to Debian stretch. <ref>https://phabricator.whonix.org/T620</ref>
* Fixed a corridor lintian warning on Debian related to systemd documentation. <ref>https://phabricator.whonix.org/T607</ref>
* Resolved error messages associated with tput using an empty TERM environment variable. <ref>https://phabricator.whonix.org/T505</ref>
* Resolved the failure of tb-updater to copy Tor Browser into the user's home directory on first VM startup in Qubes R4. <ref>https://phabricator.whonix.org/T781</ref> <ref>https://github.com/{{project_name_short}}/tb-updater/issues/2</ref> <ref>https://phabricator.whonix.org/T789</ref>
* Implemented the correct appmenus for {{q_project_name}} 14 TemplateVMs and fixed missing appmenu entries. <ref>https://github.com/QubesOS/qubes-issues/issues/4033</ref> <ref>https://github.com/QubesOS/qubes-issues/issues/4093</ref>
* Resolved the false positive timedatectl error message when using whonixcheck. <ref>https://github.com/QubesOS/qubes-issues/issues/3469</ref>
* Corrected the absent 'Connected to Tor.' message, which arose due to a missing notification daemon. <ref>https://github.com/QubesOS/qubes-issues/issues/4098</ref>
* Resolved non-persistence of files in ''/usr/local'', such as the Tor configuration file. <ref>A persistent configuration now applies upon reboot.</ref> <ref>https://github.com/QubesOS/qubes-issues/issues/4095</ref>
* Implemented a qvm-features-request <code>whonix-ws=1</code>, so that newly created {{workstation_product_name}} AppVMs inherit the anon-vm tag. <ref>https://github.com/QubesOS/qubes-issues/issues/3595</ref> <ref>https://phabricator.whonix.org/T791</ref> <ref>The [https://whonix.org/wiki/Dev/Qubes#anon-vm_tag anon-vm tag] enforces selected settings from TemplateVMs to TemplateBasedVMs which are necessary for anonymity.</ref>
* Created qubes-core-admin-addon-whonix to enforce the anon-vm tag for newly created {{workstation_product_name}} AppVMs. <ref>https://phabricator.whonix.org/T792</ref>
* Removed redundant warning messages affecting {{workstation_product_name}} DisposableVMs that related to the first invocation of an open-link-confirmation. <ref>https://github.com/QubesOS/qubes-issues/issues/4113</ref>
* Fixed an APT package issue whereby some users were downgraded to a known vulnerable version. <ref>https://github.com/QubesOS/qubes-issues/issues/4055</ref> <ref>The bug caused a version downgrade to APT 1.0.9.8.4</ref>
* Corrected an aptitude update failure which affected all {{q_project_name}} VMs. <ref>https://github.com/QubesOS/qubes-issues/issues/3882</ref>
* Installed Tor Browser by default in {{workstation_product_name}}-DisposableVMs, as it was previously missing upon VM launch. <ref>https://github.com/QubesOS/qubes-issues/issues/3740</ref>
* Fixed the periodic failure of {{workstation_product_name}} AppVMs to start correctly, which prevented the launch of any user applications. <ref>https://github.com/QubesOS/qubes-issues/issues/2334</ref>
* Fixed an error which caused ''/etc'' in {{q_project_name}} templates to be owned by user:user <ref>https://github.com/QubesOS/qubes-issues/issues/1156</ref>

=== Builds ===

* Corrected the build failure of the {{workstation_product_name}} template in {{q_project_name}} R3.2 and added qubes-template-whonix to the continuous integration service TravisCI. <ref> https://phabricator.whonix.org/T527</ref>
* Removed older unstable {{project_name}} 14 builds from Qubes' unstable repository. <ref>https://github.com/QubesOS/qubes-issues/issues/3766</ref>
* Resolved unexpected build failures. <ref>https://github.com/QubesOS/qubes-issues/issues/4063</ref>
* Removed {{project_name}} 14 templates from Qubes' unstable repository, since testing versions now reside in qubes-templates-community-testing. <ref>https://github.com/QubesOS/qubes-issues/issues/4086</ref>
* Backported versioning of {{project_name}} template names from Qubes R4 to Qubes R3.2 to simplify the installation procedure for users on the earlier platform. <ref>https://github.com/QubesOS/qubes-issues/issues/4130</ref>

=== Code ===

* Removed cups and system-config-printer from {{workstation_product_name}}, since printing capabilities are better suited to alternate VMs and this also removes a local TCP listener that is otherwise created. <ref>https://phabricator.whonix.org/T619</ref>
* Corrected anon-meta-packages compatibility for Qubes R3.2 and R4. <ref>https://phabricator.whonix.org/T697</ref>
* Installed pulseaudio-qubes for audio support and removed pulseaudio and VLC from <code>{{gateway_product_name_vm}}</code>. <ref>https://phabricator.whonix.org/T641</ref>
* Created a qvm-features-request <code>whonix-gw=1</code> as a prerequisite for sdwdate-gui-qubes. <ref>https://github.com/QubesOS/qubes-issues/issues/4080</ref>

=== Improved Functionality and Usability ===

* Confirmed full {{q_project_name}} compatibility with Qubes R4. <ref>https://phabricator.whonix.org/T698</ref>
*  Created a tb-updater storage path for Qubes R4 so new AppVMs and DisposableVMs have a copy of the latest Tor Browser version. <ref>https://phabricator.whonix.org/T726</ref> <ref>https://forums.whonix.org/t/qubes-dispvm-technical-discussion/3232/58</ref>
*  Created {{q_project_name}} 14 SaltStack state files with flexible versioning for future releases.  <ref>https://github.com/QubesOS/qubes-issues/issues/3765</ref> <ref>https://phabricator.whonix.org/T788</ref>
* Modified {{q_project_name}} Salt code so the repository is not hard-coded, allowing users to choose either the qubes-templates-community or qubes-templates-community-testing repository. <ref>https://github.com/QubesOS/qubes-issues/issues/4087</ref>

=== Licensing ===

* Added a COPYING file to the {{q_project_name}} template repository to assure users they are covered by a free software license. <ref>https://phabricator.whonix.org/T810</ref> <ref>{{project_name}} is licensed under GPLv3. The repository in question can be found [https://github.com/whonix/qubes-template-whonix here].</ref>

=== Security Enhancements ===

* Added {{q_project_name}} tags on domain-load rather than upon VM creation to avoid missing tags for users that upgrade. <ref>https://github.com/QubesOS/qubes-issues/issues/4094</ref>

= {{project_name}} 14 Updates = 

As {{project_name}} is now a rolling distribution, users will benefit from regular small security and usability improvements, features and bug fixes as they enter the {{project_name}} stable repository. 

Due to the lengthy list of updates released in {{project_name}} 14 to address outstanding issues, please refer to [[Old Stable and Earlier Releases#Whonix_.E2.84.A2_14_Updates|this entry]].

= {{project_name}} 15 Changelog =

{{project_name}} 15 was released on July 1, 2019. Significantly, {{project_name}} 15 is based on the Debian buster (Debian 10) distribution which is due for release on July 7, instead of Debian stretch (Debian 9). Users now have access to numerous updated and new software packages, and more. Some fixes/changes were implemented in both {{project_name}} 14 and 15.

== All Platforms ==

=== Bug Fixes ===

* Fixed file saving issues in scurl wrappers. <ref>https://phabricator.whonix.org/T899</ref> <ref>https://github.com/Whonix/scurl/pull/1</ref> <ref>A few fixes were needed, such as:
* Remove <code>--remote-name</code> and replace it with <code>--remote-name-all</code>.
* Improve download wrappers and add <code>--remote-header-name</code>.</ref>
* Fixed the partial truncation of text in {{project_name}} Connection Wizard. <ref>https://phabricator.whonix.org/T923</ref>
* Installed cryptsetup by default so errors do not appear when using a GUI and interacting with encrypted containers. <ref>https://phabricator.whonix.org/T890</ref> <ref>For instance, an error would otherwise appear when using XFCE file manager with encrypted USBs.</ref> <ref>https://forums.whonix.org/t/have-cryptsetup-installed-by-default-in-whonix/6684/5</ref>

=== Builds ===

* Ported the build script to cowbuilder; build packages in chroot and use mmdebstrap for better security. <ref>https://forums.whonix.org/t/fixed-apt-rce-announced-new-whonix-images-needed-whonix-build-not-safe-at-the-moment/6715</ref>

=== Code ===

* Modified whonixcheck so it suggests to start networking / onion-grater if it is not running. <ref>https://phabricator.whonix.org/T853</ref>
* Improved the /usr/share/sdwdate/unit_test <ref>https://phabricator.whonix.org/T712</ref> <ref>Specifically:
* Make it simpler (to split urls into chunks of 3).
* Generate average, total etc. for each pool.
* Add curl command for the failures (timeouts).</ref>
* Improved the sdwdate message Tor consensus message. <ref>https://phabricator.whonix.org/T850</ref>
* Confirmed the sanity of systemd DNS after porting to Debian Buster. <ref>https://phabricator.whonix.org/T866</ref>
* Established sane built-in defaults even if configuration files are non-existing. <ref>https://phabricator.whonix.org/T503</ref> <ref>This was completed for whonix-gw-firewall, whonix-ws-firewall,  whonixcheck, sdwdate, uwt, onion-grater (Control Port Filter Proxy),  rads, open-link-confirmation, tb-starter, tb-updater and anon-ws-disable-stacked-tor.</ref>
* Updated the onion list time sources for sdwdate so that offline and unwanted onions were removed. <ref>https://github.com/TNTBOMBOM/sdwdate/commit/2985fc70625ae13aed45225b8c83592575c21a78</ref>

=== Improved Functionality and Usability ===

* Ported {{project_name}} from Debian stretch to Debian buster. <ref>https://forums.whonix.org/t/port-whonix-from-debian-stretch-to-debian-buster/7101</ref>
* Added the [https://packages.debian.org/buster/qtox qTox instant messaging application] by default. <ref>https://phabricator.whonix.org/T889</ref>
* Install [https://packages.debian.org/buster/firejail Firejail] and [https://packages.debian.org/buster/firetools Firetools] by default inside {{project_name}}. <ref>https://phabricator.whonix.org/T869</ref> <ref>https://forums.whonix.org/t/install-firejail-firetools-by-default/5363/3</ref>
* Added the [https://packages.debian.org/buster/mat2 Metadata anonymisation toolkit v2 (MAT2)] by default. <ref><blockquote>MAT2 only removes metadata from your files, it does not anonymise their content, nor can it handle watermarking, steganography, or any too custom metadata field/system.</blockquote></ref> <ref>https://phabricator.whonix.org/T885</ref> <ref>https://forums.whonix.org/t/add-mat2-to-whonix-15/6489</ref>
* Added a LUKS container GUI ([https://packages.debian.org/buster/zulucrypt-gui zulucrypt-gui]) <ref>[https://packages.debian.org/buster/zulumount-gui zulumount-gui] is also installed.</ref> by default to make management and creation of containers easy. <ref>https://phabricator.whonix.org/T769</ref> <ref>https://forums.whonix.org/t/zulucrypt-in-whonix-14/4876</ref>
* [[OnionShare]] is now installed by default for easier, anonymous sharing of files. <ref>https://phabricator.whonix.org/T595</ref> <ref>https://forums.whonix.org/t/feature-request-onionshare-support/300/7</ref>
* Added [https://packages.debian.org/buster/keepassxc KeePassXC] as the default Password Manager in Whonix-Workstation. <ref>https://github.com/Whonix/anon-meta-packages/commit/8d5e892d3b603bb1390d3c152f70f8b8e8bfefef</ref>
* Removed the [https://packages.debian.org/buster/ricochet-im Richochet instant messaging application] since it is no longer working in {{project_name}} 15. <ref>Primarily due to incompatibility with v3 onions.</ref> <ref>https://forums.whonix.org/t/remove-ricochet-from-whonix/5009</ref>
* [https://packages.debian.org/buster/nyx Nyx] has replaced tor-arm as the Tor controller, providing (slightly) better functionality and usability. <ref>https://forums.whonix.org/t/what-about-nyx/6380</ref> <ref>nyx is actually the same project; just the name has changed and the presentation is very similar.</ref>
* Set VLC X11 video decoding by default so it works more reliably and avoids known problems. <ref>http://phabricator.whonix.org/T798</ref>

=== Security Enhancements ===

* The [https://packages.debian.org/buster/jitterentropy-rngd Jitter RNG Daemon (jitterentropy)] is now installed by default to improve randomness if entropy on the system runs low. <ref>https://phabricator.whonix.org/T817</ref> <ref><blockquote> Using the Jitter RNG core, the rngd provides an entropy source that feeds into the Linux /dev/random device if its entropy runs low. ... Especially during boot time, when the entropy of Linux is low, the Jitter RNGd provides a source of sufficient entropy.</blockquote></ref>

== {{non_q_project_name_short}} ==

=== Bug Fixes ===

* Corrected a VirtualBox error related to guest utils not starting. <ref>https://phabricator.whonix.org/T848</ref> <ref>https://forums.whonix.org/t/failed-failed-to-start-virtualbox-guest-utils/5975/4</ref>

=== Builds ===

* Significantly reduced the size of {{non_q_project_name_short}} images using zerofree. <ref>https://forums.whonix.org/t/reducing-size-of-ova-images/5095</ref>

=== Improved Functionality and Usability ===

* Added grub-live [[VM_Live_Mode|VM Live Mode-mode]] as a default package. <ref>https://phabricator.whonix.org/T886</ref> <ref>https://github.com/Whonix/grub-default-live</ref> <ref>https://github.com/Whonix/anon-meta-packages/pull/18</ref> <ref>https://forums.whonix.org/t/installing-whonix-live-mode-in-all-distributed-images/6467</ref> <ref>This means {{non_q_project_name_short}} users can boot into live-mode out of the box, without needing to install it.</ref>
* Added a description to whonix-vbox images. <ref>https://phabricator.whonix.org/T825</ref> <ref>Such as the root password, {{project_name}} home page and so on.</ref> <ref>https://forums.whonix.org/t/add-description-to-whonix-vbox-images/5828/1</ref>
* Implemented {{project_name}} KVM serial console support. <ref>https://forums.whonix.org/t/how-do-i-enter-the-whonix-shell-from-cli/7271</ref>

=== Security Enhancements ===

* Disabled boot devices and modified audio settings in VirtualBox Workstation and Gateway to improve security. <ref>https://phabricator.whonix.org/T782</ref> <ref>The floppy and optical settings were disabled in both the Gateway and Workstation, while the Gateway audio was also disabled.</ref>
* [https://github.com/Whonix/kloak Forked] the [https://github.com/vmonaco/kloak kloak - Keystroke Anonymization Tool] and installed it by default in {{non_q_project_name_short}}. <ref><blockquote>kloak is a privacy tool that makes keystroke biometrics less effective. This is accomplished by obfuscating the time intervals between key press and release events, which are typically used for identification. This project is experimental.</blockquote></ref> <ref>https://forums.whonix.org/t/kloak-keystroke-anonymization-tool/7089</ref>
* Improved the default kernel hardening options for better security. <ref>See recent pull requests [https://github.com/Whonix/security-misc here].</ref> <ref>https://forums.whonix.org/t/kernel-hardening/7296/9</ref> <ref>The specific changes include: <blockquote>
Kernel symbols in /proc/kallsyms are hidden to prevent malware from reading them and using them to learn more about what to attack on your system.

Kexec is disabled as it can be used for live patching of the running kernel.

The BPF JIT compiler is restricted to the root user and is hardened.

ASLR effectiveness for mmap is increased.

The ptrace system call is restricted to the root user only.

The TCP/IP stack is hardened.

This package makes some data spoofing attacks harder.

SACK is disabled as it is commonly exploited and is rarely used.

This package disables the merging of slabs of similar sizes to prevent an attacker from exploiting them.

Sanity checks, redzoning, and memory poisoning are enabled.

The kernel now panics on uncorrectable errors in ECC memory which could be exploited.

Kernel Page Table Isolation is enabled to mitigate Meltdown and increase KASLR effectiveness.

SMT is disabled as it can be used to exploit the MDS vulnerability.

All mitigations for the MDS vulnerability are enabled.

DCCP, SCTP, TIPC and RDS are blacklisted as they are rarely used and may have unknown vulnerabilities.</blockquote></ref>

== {{q_project_name}} ==

=== Bug Fixes ===

* Correctly configured {{q_project_name}} XFCE default start menu entries (whitelisted appmenus). <ref>https://phabricator.whonix.org/T883</ref>

=== Builds ===

* Created Qubes-Whonix 15 template configuration files. <ref>https://github.com/QubesOS/qubes-template-configs/pull/6/commits/d4f429669b849fc73973e2e557a24cceab47c45e</ref> <ref>https://github.com/QubesOS/qubes-builder/pull/82/commits/64a661241430c6a22ca98bb11370b2a3e3cf0e12</ref>
* Confirmed the Whonix-15-gateway template builds. <ref>https://github.com/QubesOS/qubes-issues/issues/4957</ref>

=== Improved Functionality and Usability ===

* Simplified instructions for [https://www.qubes-os.org/doc/managing-vm-kernel/#using-kernel-installed-in-the-vm VM kernel] in {{q_project_name}} by installing the same recommended Qubes packages as Qubes Debian packages. <ref>https://github.com/Whonix/qubes-whonix/commit/8d8ab41bbf9c7fa63f3e79b8511d439efe33caeb</ref> <ref>https://github.com/Whonix/qubes-whonix/commit/c08dfed97cfba369ff753b4d96755b47240fffb2</ref>
* In DisposableVMs, tb-updater / tb-starter was modified to no longer copy Tor Browser to the user home directory at first boot -- /var/cache/tb-binary is now directly used to improve startup performance. <ref>https://github.com/QubesOS/qubes-issues/issues/4918</ref> <ref>Neither are backups of Tor Browser maintained anymore; previously three backups were stored.</ref>

=== Security Enhancements ===

* Confirmed {{q_project_name}} TemplateMVs cannot upgrade in timesync-fail-closed mode. <ref>https://phabricator.whonix.org/T858</ref> <ref>timesync-fail-closed means sdwdate did not succeed yet. Networking for all but Tor and sdwdate should still be locked in this scenario.</ref>

= Footnotes =
{{reflist|close=1}}

{{Footer}}

[[Category:Documentation]]
