diff --git a/attachment/doc/4-3_device-ux-assignments.png b/attachment/doc/4-3_device-ux-assignments.png new file mode 100644 index 00000000..793e2f91 Binary files /dev/null and b/attachment/doc/4-3_device-ux-assignments.png differ diff --git a/attachment/doc/4-3_device-ux-deny-attachment.png b/attachment/doc/4-3_device-ux-deny-attachment.png new file mode 100644 index 00000000..67122a84 Binary files /dev/null and b/attachment/doc/4-3_device-ux-deny-attachment.png differ diff --git a/attachment/doc/4-3_device-ux-edit-assignment.png b/attachment/doc/4-3_device-ux-edit-assignment.png new file mode 100644 index 00000000..c27936f0 Binary files /dev/null and b/attachment/doc/4-3_device-ux-edit-assignment.png differ diff --git a/attachment/doc/4-3_device-ux-required-device.png b/attachment/doc/4-3_device-ux-required-device.png new file mode 100644 index 00000000..fece4cf6 Binary files /dev/null and b/attachment/doc/4-3_device-ux-required-device.png differ diff --git a/attachment/doc/4-3_manager.png b/attachment/doc/4-3_manager.png new file mode 100644 index 00000000..5a17c9f9 Binary files /dev/null and b/attachment/doc/4-3_manager.png differ diff --git a/attachment/doc/4-3_notes.png b/attachment/doc/4-3_notes.png new file mode 100644 index 00000000..caf3b4df Binary files /dev/null and b/attachment/doc/4-3_notes.png differ diff --git a/attachment/doc/4-3_qui-devices.png b/attachment/doc/4-3_qui-devices.png new file mode 100644 index 00000000..222fb03d Binary files /dev/null and b/attachment/doc/4-3_qui-devices.png differ diff --git a/attachment/doc/4-3_qwt-hi.png b/attachment/doc/4-3_qwt-hi.png new file mode 100644 index 00000000..52e2b872 Binary files /dev/null and b/attachment/doc/4-3_qwt-hi.png differ diff --git a/attachment/doc/4-3_qwt-win11.png b/attachment/doc/4-3_qwt-win11.png new file mode 100644 index 00000000..87f801bd Binary files /dev/null and b/attachment/doc/4-3_qwt-win11.png differ diff --git a/attachment/doc/4-3_vmsettings-applications.png b/attachment/doc/4-3_vmsettings-applications.png new file mode 100644 index 00000000..43e0ef40 Binary files /dev/null and b/attachment/doc/4-3_vmsettings-applications.png differ diff --git a/attachment/doc/r4.1-converting-pdf.png b/attachment/doc/r4.1-converting-pdf.png old mode 100755 new mode 100644 diff --git a/attachment/doc/r4.1-dom0-appmenu-select.png b/attachment/doc/r4.1-dom0-appmenu-select.png old mode 100755 new mode 100644 diff --git a/attachment/doc/r4.1-snapshot_40.png b/attachment/doc/r4.1-snapshot_40.png old mode 100755 new mode 100644 diff --git a/attachment/icons/128x128/apps/qubes-logo-icon.png b/attachment/icons/128x128/apps/qubes-logo-icon.png new file mode 100644 index 00000000..98f6036e Binary files /dev/null and b/attachment/icons/128x128/apps/qubes-logo-icon.png differ diff --git a/attachment/icons/favicon-16x16.png b/attachment/icons/favicon-16x16.png new file mode 100644 index 00000000..c26853d5 Binary files /dev/null and b/attachment/icons/favicon-16x16.png differ diff --git a/conf.py b/conf.py index 0c6a5f90..02806ffa 100644 --- a/conf.py +++ b/conf.py @@ -85,6 +85,9 @@ html_static_path = ['attachment/doc'] html_use_opensearch = "https://doc.qubes-os.org" +html_logo = "attachment/icons/128x128/apps/qubes-logo-icon.png" +html_favicon = "attachment/icons/favicon-16x16.png" + # -- -- Options for the linkcheck builder ------------------------------------ linkcheck_anchors = False diff --git a/developer/building/qubes-builder.rst b/developer/building/qubes-builder.rst index e193e46b..e7b85e22 100644 --- a/developer/building/qubes-builder.rst +++ b/developer/building/qubes-builder.rst @@ -177,7 +177,7 @@ You can also modify sources somehow if you wish. Here are some basic steps: -- You can also set GIT_PREFIX=“marmarek/qubes-” to use marmarek’s repo instead of “mainstream” - it contains newer (but less tested) versions + - You can also set GIT_PREFIX=“marmarek/qubes-” to use marmarek’s repo instead of “mainstream” - it contains newer (but less tested) versions diff --git a/developer/code/coding-style.rst b/developer/code/coding-style.rst index d8f5f3cb..759dacea 100644 --- a/developer/code/coding-style.rst +++ b/developer/code/coding-style.rst @@ -49,7 +49,7 @@ General typographic conventions - **Maintain a decent amount of horizontal spacing**, e.g. add a space after ``if`` or before ``{`` in C, and similar in other languages. Whether and where to also use spaces within expressions, such as (x*2+5) vs. (x * 2 + 5) is left to the developer’s judgment. Do not put spaces immediately after or before the brackets in expressions, so avoid constructs like this: ``if ( condition )`` and use ones like this: ``if (condition)`` instead. -- **Use single new lines** (‘\n’ aka LF) in any non-Windows source code. On Windows, exceptionally, use the CRLF line endings (–). This will allow the source code to be easily viewable in various Windows-based programs. +- **Use single new lines** (‘\\n’ aka LF) in any non-Windows source code. On Windows, exceptionally, use the CRLF line endings (–). This will allow the source code to be easily viewable in various Windows-based programs. - **Use descriptive names for variables and functions**! Really, at a time when most editors have auto-completion features, there is no excuse for using short variable names. diff --git a/developer/debugging/vm-interface.rst b/developer/debugging/vm-interface.rst index 7864d6c8..87523cc8 100644 --- a/developer/debugging/vm-interface.rst +++ b/developer/debugging/vm-interface.rst @@ -199,11 +199,11 @@ Services called by dom0 to provide some VM configuration: - - ``xdgicon:NAME`` - search for NAME in standard icons theme + - ``xdgicon:NAME`` - search for NAME in standard icons theme - - ``-`` - get icon data from stdin (the caller), can be prefixed with format name, for example ``png:-`` + - ``-`` - get icon data from stdin (the caller), can be prefixed with format name, for example ``png:-`` - - file name + - file name diff --git a/developer/releases/4_0/release-notes.rst b/developer/releases/4_0/release-notes.rst index c98cc822..601e192a 100644 --- a/developer/releases/4_0/release-notes.rst +++ b/developer/releases/4_0/release-notes.rst @@ -56,6 +56,7 @@ Security Notes - PV VMs migrated from 3.2 to 4.0-rc4 or later are automatically set to PVH mode in order to protect against Meltdown (see `QSB #37 `__). However, PV VMs migrated from any earlier 4.0 release candidate (RC1, RC2, or RC3) are not automatically set to PVH mode. These must be set manually. - The following steps may need to be applied in dom0 and Fedora 26 TemplateVMs in order to receive updates (see `#3737 `__). + Steps for dom0 updates: 1. Open the Qubes Menu by clicking on the “Q” icon in the top-left corner of the screen. diff --git a/developer/releases/4_3/release-notes.rst b/developer/releases/4_3/release-notes.rst new file mode 100644 index 00000000..ba188a3f --- /dev/null +++ b/developer/releases/4_3/release-notes.rst @@ -0,0 +1,347 @@ +========================== +Qubes OS 4.3 release notes +========================== + + +Major features and improvements since Qubes 4.2 +=============================================== + +- Dom0 upgraded to Fedora 41 + (`#9402 `__). + +- Xen upgraded to version 4.19 + (`#9420 `__). + +- Default Fedora template upgraded to Fedora 42 (Fedora TemplateVMs and + StandaloneVMs with version lower than 41 are not supported). + +- Default Debian template upgraded to Debian 13 (Debian TemplateVMs and + StandaloneVMs with version lower than 12 are not supported). + +- Default Whonix templates upgraded to Whonix 17.4.3 (Whonix TemplateVMs + and StandaloneVMs with version lower than 17 are not supported). + +- Preloaded disposables + (`#1512 `__, + `#9907 `__, + `#9917 `__, + `#9918 `__ & + `#10026 `__). + +- Device “self-identity oriented” assignment (a.k.a New Devices API) + (`#9325 `__). + +- QWT (Qubes Windows Tools) reintroduction with improved features + (`#1861 `__). + +|Screenshot of QWT, Welcome page| + +|Screenshot of QWT, Windows 11| + +UI/UX +----- + +- New Device UX workflow to allow users easy utilization of new Devices API. + A dedicated ``Device Assignments`` page is added to Global Config. + Qubes Devices widget is completely redesigned. + (`#8537 `__). + +|Screenshot of Device UX assignments| + +|Screenshot of Device UX deny attachment| + +|Screenshot of Device UX edit assignment| + +|Screenshot of Device UX required devices| + +|Screenshot of Device UX Qubes Devices widget| + +- New and improved flat icons for GUI tools + (`#5657 `__). + +|Screenshot of Qube Manager| + +- The far left icons from the Qube Manager are removed + (`#9776 `__). + +- Application icons are available in VM Settings + (`#9829 `__). + +|Screenshot of Qube Settings Applications| + +- Option to add Qubes video Companion to AppMenu + (`#9761 `__). + +- Improved AppMenu navigation with keyboard + (`#9006 `__). + +- Better wording to clarify updater settings and actions + (`#8096 `__). + +- Centralized Tray Notifications + (`#889 `__). + +- Option to launch root terminal or console terminal from Qubes Domains widget + (`#9788 `__) + +- Option to open Global Config at a selected section for user + convenience + (`#9530 `__). + +- A ``Saving changes...`` dialog is added to Global Config + (`#9926 `__). + +GUI Daemon/Agent improvements +----------------------------- + +- Allowing the GUI Daemon background color to be configurable, mostly + useful for people with dark themes + (`#9304 `__). + +- Audio daemon does not connect to recording stream unless recording is + explicitly enabled + (`#9999 `__). + +- Legacy X11 App icons (e.g. Xterm) are properly displayed + (`#9973 `__). + +- Labeling virtual pointing device as absolute and not relative + (`#228 `__). + +- Improved global clipboard notifications & configurable global clipboard size + (`#9296 `__ & + `#9978 `__). + +- Supporting Windows qubes in systems with ``sys-gui*`` + (`#7565 `__). + +Hardware support improvements +----------------------------- + +- Support for `Advanced Format + (AF) `__ drives better known + as 4K sector + (`#4974 `__). + +- Replacing bus/slot/function with full PCI paths for device assignments + (`#8681 `__ + & `#8127 `__). + +- Ability to filter input devices with udev rules. + (`#3604 `__). + +- Fix for graceful rebooting on some (U)EFI systems with buggy firmware + (`#6258 `__). + +- Better support for Bluetooth and external hot-pluggable audio devices + with dynamic AudioVM switching + (`#7750 `__). + +Security features +----------------- + +- Templates could request custom kernel command line parameters; + currently used for Kicksecure and Whonix templates ``user-sysmaint-split`` + (`#9750 `__). + + - Allow VMs to specify boot modes as being only intended for AppVMs or + templates + (`#9920 `__). + +- Shipping GRUB2 from Fedora with all security patches and Bootloader + Specification support + (`#9471 `__). + +- SSL client certificate and GPG key support for private template repositories + (`#9850 `__). + +- Preventing unsafe practice of 3rd party template installation with rpm/dnf + (`#9943 `__). + +- Ability to prohibit start of specific qubes + (`#9622 `__). + +- UUID support for qubes and support for addressing them by UUID in policies + (`#8862 `__ & + `#8510 `__). + +- Custom persist feature to avoid unwanted data to persist as much as possible + (`#1006 `__). + +Anonymity improvements +---------------------- + +- Disallowing files, URLs, or any application from Whonix-Workstation + qubes to be opened in non-Whonix disposable + (`#10051 `__). + +- Preventing users from changing their Whonix Workstation qubes’ netvm + to ``sys-firewall`` (or other clearnet netvms) to avoid IP leaks + (`#8551 `__). + +- kloak: Keystroke-level online anonymization kernel + (`#1850 `__). + +Performance optimizations +------------------------- + +- Option to use volumes directly without snapshots + (`#8767 `__). + +- Retiring ``qubes-rpc-multiplexer`` and directly executing the command from c + (`#9062 `__). + +- Caching "system info" structure for qrexec policy evaluation + (`#9362 `__). + +- Minimal state qubes to make NetVM and USBVM to consume as little RAM as + possible. + +Updating & upgrading +-------------------- + +- Ability to always hide specific TemplateVMs and StandaloneVMs from + update tools + (`#9029 `__). + +- pacman hook to notify dom0 about successful manual Archlinux upgrades + (`#9233 `__), + +- Improved R4.2 -> R4.3 upgrade tool + (`#9317 `__), + + - Using `lvmdevices` feature instead of device filter + (`#9421 `__). + +New/Improved experimental features +---------------------------------- + +- Support for Ansible + (`#10004 `__). + +- Support for `Qubes + Air `__ + (`#9015 `__). + + - qrexec protocol extension to support sending source information to + destination + (`#9475 `__). + +- Better support for GUIVM. + + - GUI/Admin domain splitting + (`#833 `__). + + - Automatically removing ‘nomodeset’ boot option when GPU is attached + (`#9792 `__). + +- Initial basic steps to support Wayland session only in GUIVM (but not GUI + daemon/agent intra-communication) + (`#8515 `__ & + `#8410 `__). + +Other +----- + +- Allowing user to add free-form text to qubes (for descriptions, notes, + comments, remarks, reminders, etc.) + (`#899 `__). + +|Screenshot of Qube Settings Notes| + +- Automatically clean up `QubesIncoming` directory if empty + (`#8307 `__). + +- ``vm-config.*`` features to pass external configuration to inside the qube + (`#9837 `__). + +- Admin API for reading/writing denied device-interface list + (`#9674 `__). + +- New Devices API for salt + (`#9753 `__). + +- IPv6 DNS support for full IPv4-less environments + (`#10038 `__). + +Dropped or replaced features +---------------------------- + +- Default screen locker is changed from ``XScreenSaver`` to + ``xfce4-screensaver`` + +- ``Create Qubes VM`` is retired in favor of the improved ``Create New Qube`` + (`#6561 `__). + +- Windows 7 support is dropped from QWT. + +For a full list, including more detailed descriptions, please see +`here `__. + +Known issues +============ + +- Templates restored in 4.3 from a pre-4.3 backup continue to target + their original Qubes OS release repos. If you are using fresh + templates on a clean 4.3 installation, or if you performed an + :ref:`in-place upgrade from 4.2 to 4.3 `, + then this does not affect you. (For more information, see issue + `#8701 `__.) + +Also see the `full list of open bug reports affecting Qubes +4.3 `__. + +We strongly recommend :doc:`updating Qubes OS ` +immediately after installation in order to apply all available bug fixes. + +Notes +===== + +- Additional notes for future release candidates will be added here + +Download +======== + +All Qubes ISOs and associated :doc:`verification files ` +are available on the `downloads `__ page. + +Installation instructions +========================= + +See the :doc:`installation guide `. + +Upgrading +========= + +Please see :doc:`how to upgrade to Qubes 4.3 `. + +.. |Screenshot of QWT, Welcome page| image:: /attachment/doc/4-3_qwt-hi.png + :alt: Windows 11 welcome page after installation in an HVM + +.. |Screenshot of QWT, Windows 11| image:: /attachment/doc/4-3_qwt-win11.png + :alt: Windows 11 within an HVM qube showing file explorer + +.. |Screenshot of Device UX assignments| image:: /attachment/doc/4-3_device-ux-assignments.png + :alt: Device Assignments page in Global Config + +.. |Screenshot of Device UX deny attachment| image:: /attachment/doc/4-3_device-ux-deny-attachment.png + :alt: Deny device attachment config in Global Config + +.. |Screenshot of Device UX edit assignment| image:: /attachment/doc/4-3_device-ux-edit-assignment.png + :alt: Editing device assignment for a network interface in Global Config + +.. |Screenshot of Device UX required devices| image:: /attachment/doc/4-3_device-ux-required-device.png + :alt: Editing a required device in Global Config + +.. |Screenshot of Device UX Qubes Devices widget| image:: /attachment/doc/4-3_qui-devices.png + :alt: Redesigned Qubes Devices widget + +.. |Screenshot of Qube Manager| image:: /attachment/doc/4-3_manager.png + :alt: Qube Manager with improved flat icons + +.. |Screenshot of Qube Settings Applications| image:: /attachment/doc/4-3_vmsettings-applications.png + :alt: Qube settings showing icons of Apps + +.. |Screenshot of Qube Settings Notes| image:: /attachment/doc/4-3_notes.png + :alt: Qube settings showing qube notes + diff --git a/developer/releases/4_3/schedule.rst b/developer/releases/4_3/schedule.rst new file mode 100644 index 00000000..7e9d1710 --- /dev/null +++ b/developer/releases/4_3/schedule.rst @@ -0,0 +1,20 @@ +=========================== +Qubes R4.3 release schedule +=========================== + + +**Please note:** *This page is still an unfinished draft in progress. It is being updated as Qubes 4.3 development and testing continues.* + +The table below is based on our :ref:`release schedule policy `. + +.. list-table:: + :widths: 10 10 + :align: center + :header-rows: 1 + + * - Date + - Stage + * - TBD + - 4.3.0-rc1 release + + diff --git a/developer/releases/notes.rst b/developer/releases/notes.rst index bbea04f7..9657223d 100644 --- a/developer/releases/notes.rst +++ b/developer/releases/notes.rst @@ -22,4 +22,6 @@ Release notes Qubes R4.2 release notes + Qubes R4.3 release notes + diff --git a/developer/releases/schedules.rst b/developer/releases/schedules.rst index 8c3fe7c1..6eb15237 100644 --- a/developer/releases/schedules.rst +++ b/developer/releases/schedules.rst @@ -18,4 +18,6 @@ Release schedules Qubes R4.2 release schedule + Qubes R4.3 release schedule + diff --git a/developer/services/admin-api.rst b/developer/services/admin-api.rst index 7ebbadb0..932f4c8c 100644 --- a/developer/services/admin-api.rst +++ b/developer/services/admin-api.rst @@ -91,9 +91,11 @@ it easy to set the policy using current mechanism. * - ``admin.vm.CreateInPool.`` - ``dom0`` - template - - ``name= label=