Skip to content

Latest commit

 

History

History
353 lines (253 loc) · 23 KB

CHANGELOG.md

File metadata and controls

353 lines (253 loc) · 23 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog since 0.4.1, and this project adheres to Semantic Versioning.

Added

  • Point to the installation instructions that the Tails team maintains for Dangerzone (announcement)
  • Platform support: Ubuntu 24.10 and Fedora 41 (issue #947)

### Fixed

  • Fix an image-id.txt mismatch happening on Docker Desktop >= 4.30.0 (#933)

Added

  • Integrate Dangerzone with gVisor, a memory-safe application kernel, thanks to @EtiennePerot (#126). As a result of this integration, we have also improved Dangerzone's security in the following ways:
    • Prevent attacker from becoming root within the container (#224)
    • Use a restricted seccomp profile (#225)
    • Make use of user namespaces (#228)
  • Files can now be drag-n-dropped to Dangerzone (issue #409)

Fixed

  • Fix a deprecation warning in PySide6, thanks to @naglis (issue #595)
  • Make update notifications work in systems with PySide2, thanks to @naglis (issue #788)
  • Updated the Dangerzone container image to use Alpine Linux 3.20 (#812)
  • Fix wrong file permissions in Fedora packages (issue #727)
  • Quote commands in installation instructions, making it compatible with zsh based shells. (issue #805)
  • Order the list of PDF viewers and return the default application first on Linux, thanks to @rocodes (issue #814)

Removed

  • Platform support: Drop Fedora 38, since it's end-of-life (issue #840)

Development changes

  • Bumped the minimum python version to 3.9, due to Pyside6 dropping support for python 3.8 (#780)
  • Minor amendments to the codebase (in #811)
  • Use the original line ending (usually LF) for all content except images (#838)
  • Explained how to create, sign, and verify source tarballs (#823)
  • Added a design doc for the update notifications
  • Added a design doc for the gVisor integration (#815)
  • Removed the python shebang from some files

Dangerzone 0.6.1

Added

  • Platform support: Ubuntu 24.04 and Fedora 40 (issue #762)

Fixed

  • Handle timeout errors ("Timeout after 3 seconds") more gracefully (issue #749)
  • Make Dangerzone work in macOS versions prior to Ventura (13), thanks to @maltfield (issue #471)
  • Make OCR work again in Qubes Fedora 38 templates (issue #737)
  • Make .svg / .bmp files selectable when browsing files via the Dangerzone GUI (#722)
  • Linux: Show the proper application name and icon for Dangerzone, in the user's window manager, thanks to @naglis (issue #402)
  • Linux: Allow opening multiple files at once, when selecting them from the user's file manager, thanks to @naglis (issue #797)
  • Linux: Do not include Dangerzone in the list of available PDF viewers, thanks to @naglis (issue #790)
  • Linux: Handle filenames with invalid Unicode characters in the Dangerzone CLI, thanks to @naglis (issue #768)

Changed

  • Sign our release assets with the Dangerzone signing key, and provide instructions to end-users (issue #761
  • Use the newest reimplementation of the PyMuPDF rendering engine (fitz) (issue #700)
  • Development: Build Dangerzone using the latest Wix 3.14 release (#746

Dangerzone 0.6.0

Added

  • Platform support: Fedora 39 (issue #606)
  • Add new file formats: epub svg and several image formats (BMP, PNM, BPM, PPM) (issue #697)

Fixed

  • Fix mismatched between between original document and converted one (issue #626). This does not affect the quality of the final document.
  • Capitalize "dangerzone" on the application as well as on the Linux desktop shortcut, thanks to @sudwhiwdh #676
  • Fedora (Linux): Add missing Dangerzone logo on application launcher (issue #645)
  • Prevent document conversion from failing due to lack of space in the converter. This affected mainly systems with low computing resources such as Qubes OS (issue #574)
  • Add a missing dependency to our Apple Silicon container image, which affected dev environments only, thanks to @prateekj117 (#671)
  • Development: Add missing check when building container image, thanks to @EtiennePerot (#721)

Changed

  • Feature: Add support for HWP/HWPX files (Hancom Office) for macOS Apple Silicon devices (issue #498, thanks to @OctopusET)
  • Replace Dangerzone document rendering engine from pdftoppm PyMuPDF, essentially replacing a variety of tools (gm / tesseract / pdfunite / ps2pdf) (issue #658)
  • Changed project license from MIT to AGPLv3 (related to issue #658)
  • Containers: stream pages instead of mounting directories. For users in practice this doesn't change much, but it opens up technical possibilities that go from security to usability. (issue #443)
  • Ubuntu Jammy (Linux): add external depedency (provided by the Dangerzone repository) which fixes podman crashing during standar stream I/O (issue #685)

Removed

  • Removed timeouts (issue #687)
  • Platform support: Drop Ubuntu 23.04 (Lunar Lobster), since it's end-of-life (issue #705)

Dangerzone 0.5.1

Fixed

  • Our Qubes RPM package was missing critical dependencies for the conversion of a document from pixels to PDF (issue #647)

Changed

Removed

  • Platform support: Drop Fedora 37, since it reached end-of-life (issue #637)

Security

  • Security advisory 2023-12-07: Protect our container image against CVE-2023-43115, by updating GhostScript to version 10.02.0.
  • Security advisory 2023-10-25: prevent dz-dvm network via dispVMs. This was officially communicated on the advisory date and is only included here since this is the first release since it was announced.

Dangerzone 0.5.0

Added

  • Platform support: Beta integration with Qubes OS (issue #412)
  • Platform support: Ubuntu 23.10 (Mantic Minotaur) (issue #601)
  • Add client-side timeouts in Qubes (issue #446)
  • Add installation instructions for Qubes (issue #431)
  • Development: Add tests that run Dangerzone against a pool of roughly 11K documents (PR #386)
  • Development: Grab the output of commands when in development mode (issue #319)

Fixed

  • Fix a bug that was introduced in version 0.4.1 and could potentially lead to excluding the last page of the sanitized document (issue #560)
  • Fix the parsing of a document's page count (issue #565)
  • Platform support: Fix broken Dangerzone upgrades in Fedora (issue #514)
  • Make progress reports in Qubes real-time (issue #557)
  • Improve the handling of various runtime errors in Qubes (issue #430)
  • Pass OCR parameters properly in Qubes (issue #455)
  • Fix dark mode support (issue #550, thanks to @garrettr)
  • MacOS/Windows: Sync "Check for updates" checkbox with the user's choice (issue #513)
  • Fix issue where changing document selection to a file from a different directory would lead to an error (issue #581)
  • Qubes: in the cli version "Safe PDF created" would be shown twice (issue #555)
  • Qubes: in the cli version the percentage is now rounded to the unit (issue #553)
  • Qubes: clean up temporary files (issue #575)
  • Qubes: do not open document if the conversion failed (issue #581)
  • Development: Switch from the deprecated bdist_rpm toolchain to the more modern RPM SPEC files, when building Fedora packages (issue #298)
  • Development: Make our dev scripts properly invoke Docker in MacOS / windows (issue #519)

Changed

  • Shave off ~300MiB from our container image, using the fast variant of the Tesseract OCR language models (issue #545)
  • When a user is asked to enable updates, make "Yes" the default option (issue #507)
  • Use Fedora 38 as a template in our Qubes build instructions (PR #533)
  • Improve the installation docs for newcomers (issue #475)
  • Development: Explain how to get the application password from the MacOS keychain (issue #522)

Removed

  • Remove the dangerzone-container executable, since it was not used in practice by any user (PR #538)

Security

  • Do not allow attackers to show error or log messages to Qubes users (issue #456)

Dangerzone 0.4.2

Added

  • Inform about new updates on MacOS/Windows platforms, by periodically checking our GitHub releases page (issue #189)
  • Feature: Add support for HWP/HWPX files (Hancom Office) (issue #243, thanks to @OctopusET)
    • NOTE: This feature is not yet supported on MacOS with Apple Silicon CPU or Qubes OS (issue #494, issue #498)
  • Allow users to change their document selection from the UI (issue #428)
  • Add a note in our README for MacOS 11+ users blocked by SIP (PR #401, thanks to @keywordnew)
  • Platform support: Alpha integration with Qubes OS (issue #411)
  • Platform support: Debian Trixie (13) (issue #452)
  • Platform support: Ubuntu 23.04 (Lunar Lobster) (issue #453)
  • Development: Use Qt6 in our CI runners and dev environments (issue #482)

Removed

  • Platform support: Drop Fedora 36, since it's end-of-life (issue #420)
  • Platform support: Drop Ubuntu 22.10 (Kinetic Kudu), since it's end-of-life (issue #485)

Fixed

Security

  • Continuously scan our Python dependencies and container image for vulnerabilities (issue #222)
  • Sanitize potentially unsafe characters from strings that are shown in the GUI/terminal (PR #491)

Dangerzone 0.4.1

Added

  • Feature: Add version info in the CLI and GUI (issue #219)
  • Development: Improve CI stability and coverage (issue #292, issue #217, issue #229)
  • Development: Provide dev scripts for testing Dangerzone in a container and running our QA pipeline (issue #286, issue #287)
  • Development: Support Dangerzone development on Fedora 37 (issue #294)
  • Development: Allow running Mypy on MacOS M1 machines (issue #177)
  • Development: Add dummy isolation provider for testing non-conversion-related issues in virtualized Windows and MacOS, where Docker can't run, due to the lack of nested virtualization (issue #229)
  • Add support for more MIME types that were previously disregarded (issue #369)
  • Platform support: Add support for Fedora 38

Changed

  • Full release under Freedom of the Press Foundation: signing keys have changed from the original developer Micah Lee / First Look Media to FPF's signing keys. Linux packages moved from Packagecloud to FPF's servers
  • Installation instructions updated to reflect change in key owership to FPF
  • Platform support: MacOS (Apple Silicon) native application with significant performance boost (issue #50)
  • Feature: Introduce PySide6 / Qt6 support on Windows, MacOS, and Linux (dev-only) (issue #219)
  • Feature: Adjust conversion timeouts based on the document's pages/size, and allow users to disable them with --disable-timeouts (available when you run the Dangerzone from the terminal) (issue #327)
  • Development: Update Linux instructions for development on Qubes

Removed

  • Platform support: Drop Fedora 35, since it's end-of-life (issue #308)
  • Bug fix: Remove unused PDFtk and sudo libraries from the container image, to lower its attack surface and reduce its size (issue #232)

Fixed

  • Feature: Convert documents with non-standard permissions or SELinux labels (issue #335)
  • Bug fix: Report exceptions during conversions (issue #309)
  • Bug fix: (Windows) Fix Dangerzone description on "Open With" (issue #283)
  • Bug fix: Remove document conversion artifacts when conversion fails and store them on volatile memory instead of on a disk directory (issue #317)

Security

  • Bug fix: Do not print debug logs in end-user executables (issue #316)

Dangerzone 0.4.0

  • Platform support: Re-add Fedora 37 support
  • Platform support: Add Debian Bookworm (12) support (issue #172)
  • Platform support: Reinstate Ubuntu Focal support (issue #206)
  • Platform support: Add Ubuntu 22.10 "Kinetic Kudu" support (issue #265)
  • Feature: Support bulk conversion to safe PDFs (issue #77)
  • Feature: Option to archive unsafe directories (issue #255)
  • Feature: Support python 3.10
  • Feature: When quitting while still converting, confirm if user is sure
  • Bug fix: Fix unit tests on Windows
  • Bug fix: Do not hardcode "docker" in help messages, now that Podman is also used (issue #122)
  • Bug fix: Failed execution no longer produces an empty "safe" documents (issue #214)
  • Bug fix: Malfunctioning "New window" logic was replaced with multi-doc support (issue #204)
  • Bug fix: re-adds support for 'open with Dangerzone' from finder on macOS (issue #268)
  • Bug fix: (macOS) quit Dangerzone when main window is closed (issue #271)

Dangerzone 0.3.2

  • Bug fix: some non-ascii characters like “ would prevent Dangerzone from working (issue #144)
  • Bug fix: error where Dangerzone would show "permission denied: '/tmp/input_file'" (issue #157)
  • Bug fix: remove containers after use, enabling Dangerzone to run after 1000+ converted docs (issue #197)
  • Security: limit container capabilities, run in container as non-root and limit privilege escalation (issue #169)

Dangerzone 0.3.1

  • Bug fix: Allow converting documents on different mounted filesystems than the container volume
  • Bug fix: In GUI mode, don't always OCR document
  • Bug fix: In macOS, fix "open with" Dangerzone so documents are automatically selected
  • Windows: Change packaging to avoid anti-virus false positives

Dangerzone 0.3

  • Removes the need for internet access by shipping the Dangerzone container image directly with the software
  • Friendly user experience with a progress bar
  • Support for Macs with M1 chips

Dangerzone 0.2.1

  • Switch from Docker to Podman for Linux
  • Improve CLI colors

Dangerzone 0.2

  • Command line support and improved terminal output
  • Additional container hardening
  • Fix macOS crash on quit
  • Fix --custom-container CLI argument

Dangerzone 0.1.5

  • Add support for macOS Big Sur
  • Drop support for Ubuntu 19.10

Dangerzone 0.1.4

  • Suppress confusing stderr output, and fix bug when converting specific documents
  • Switch from PyQt5 to PySide2
  • Improve Windows and Mac packaging
  • Add support for Fedora 32

Dangerzone 0.1.3

  • Add support for Ubuntu 20.04 LTS (#79)
  • Prevent crash in macOS if specific PDF viewers are installed (#75)

Dangerzone 0.1.2 (Linux only)

  • Add support for Ubuntu 18.04 LTS

Dangerzone 0.1.1

  • Fix macOS bug that caused a crash on versions earlier than Catalina
  • Fix macOS app bundle ODF extensions (.ods .odt)
  • Allow Linux users to type their password instead of adding their user to the docker group
  • Use Docker instead of Podman in Fedora
  • Allow the use of either OS-packaged Docker or Docker CE in Linux
  • Allow opening .docm files
  • Allow using a custom container for testing

Dangerzone 0.1

  • First release