Skip to content

Releases: strobejb/q22

q22 3.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 21:55

3.3.0 - 2026-09-12

Added

  • Added Unicode-aware string scanning, with modes for Latin/Roman text and all-script multilingual text.
  • Added CPIO Structure View support.
  • Added lazy loading for dynamic Strata arrays so large archive and filesystem structures expand on demand.
  • Added QIODevice-backed sequence access for faster and more consistent file, search, export, checksum, entropy, and disassembly workflows.
  • Added copy-path support to the File Information panel.

Changed

  • Improved Structure View usability with a separate type column, clearer entry-point naming, and better nested/semantic row handling.
  • Improved file opening and search/export performance through shared device-backed data access.
  • Improved ISO, WOFF, ZIP, and dynamic-array Strata definitions.

Fixed

  • Fixed Joliet supplementary ISO directory entries so semantic filesystem rows show readable UTF-16BE names.
  • Fixed PE/entry-point detection and disassembly integration issues.
  • Fixed string scanning false positives from broad Unicode detection by defaulting to Latin/Roman Unicode scanning.
  • Fixed File Information path/location behavior so the full file path can be shown and copied.
  • Fixed several Structure View robustness issues around lazy arrays, large containers, and malformed referenced data.

q22 3.2.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 20:41

3.2.0 - 2026-07-20

Added

  • Added broad Structure View support for archives, nested files, compressed streams, fonts, media containers, images, disk images, and WebAssembly modules.
  • Added nested-source navigation so embedded files and file slices can be opened directly from Structure View.
  • Added transformed nested-source support for gzip, zlib, and deflate-backed data.
  • Added declarative Strata semantic views for richer high-level summaries without native renderer code.
  • Added Strata language support for reusable bitfields, row diagnostics, richer formatting, compound sizeof(...), explicit array-element behavior, table-relative offsets, and keyed scalar lookups.

Changed

  • Improved Structure View navigation with nested-source breadcrumbs and clearer context-menu actions.
  • Improved Strata authoring documentation, keyword coverage, and guidance for large or archive-like formats.
  • Improved archive and container handling for ZIP/JAR/APK-style files, TAR/GZip files, ISO images, ICO/CUR images, and WOFF fonts.
  • Improved executable-code integration for PE, ELF, and WebAssembly Structure View rows.

Fixed

  • Fixed several Structure View robustness issues with malformed files, unsupported nested data, transformed streams, and invalid format selections.
  • Fixed major Structure View performance problems in large ZIP/archive views.
  • Fixed project/build portability issues around generated CMake configurations and Windows builds.
  • Fixed UI consistency issues in nested-source prompts, Structure View context menus, and breadcrumb styling.

q22 3.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 09:33

3.1.0 - 2026-07-13

Added

  • Added Android DEX Structure View support with raw DEX tables and a semantic summary for strings, types, fields, methods, and classes.
  • Added Strata uleb128 and sleb128 primitive integer types for variable-width encodings used by DEX, WebAssembly-style formats, and related binary formats.
  • Added Strata export version(...) metadata so user definitions can intentionally override built-in definitions.
  • Added Qt Creator highlighting for canonical .strata files while keeping legacy .struct highlighting.

Changed

  • Renamed shipped Strata definitions from .struct to .strata; legacy .struct user definitions remain supported.
  • Moved user Strata definitions to ~/.config/catch22/q22/strata, with migration from the older structs directory.
  • Moved q22 settings, palettes, bookmarks, and Strata files under the catch22/q22 config directory.
  • Changed Strata magic(...) metadata to use byte-sequence-first syntax, with the optional offset second.
  • Improved duplicate built-in/user Strata definition logging, including clear picked/ignored entries.
  • Updated Strata documentation, keyword reference, examples, and Qt Creator highlighter metadata.

Fixed

  • Improved rendering of tagged byte arrays as strings in Structure View.
  • Improved decoded DEX string display, including modified UTF-8 handling and cleaner summary labels.
  • Removed noisy early DEX dynamic rows that duplicated raw table data without adding useful names.
  • Fixed stale copied built-in .struct files from being loaded beside renamed .strata definitions.

q22 3.0.2

Choose a tag to compare

@github-actions github-actions released this 07 Jul 16:31

3.0.2 - 2026-07-07

Added

  • First public Q22 release package for Linux and Windows.
  • Qt 6 desktop application based on the original Catch22 HexEdit editing model.
  • Hex editor with overwrite and insert editing, undo/redo, selection, search, goto, and bookmark workflows.
  • File properties, checksums, string extraction, and entropy/statistics panels.
  • Structure View for inspecting PE, ELF, and custom Strata structure definitions.
  • Disassembly panel using Capstone, with x86, x86-64, ARM, ARM Thumb, and AArch64 support.
  • Function discovery, function bookmarks, and HexView "Disassemble This" integration.
  • Light, dark, and system theme modes with custom palettes.
  • Linux AppImage and Windows zip release artifacts.

Changed

  • Modernized the UI around Qt docked panels, custom status bar controls, preferences, and platform-aware window chrome.
  • Added GNOME/Mutter and KDE/KWin-specific frameless-window handling.
  • Added AppStream metadata for Linux packaging.
  • Added third-party notices for Qt, Capstone, and GNOME/Adwaita icons.

Notes

  • Linux packaging currently targets AppImage.
  • Windows packages are unsigned zip archives.
  • This release should be smoke-tested on Fedora GNOME, KDE Plasma, Windows 11, and an Ubuntu LTS AppImage run before publication.