Skip to content

Releases: Mr5niper/Code-2-TXT

Code-2-TXT_v1.3.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 04 Jun 00:49
42067e8

Code-2-TXT v1.3.0.0 - Release Notes

This release reworks the options dialog around the most common workflow, replaces the Windows folder picker with the classic tree dialog, fixes a picker bug, and overhauls the README.

New

  • Classic folder-tree picker on Windows. Folder mode now opens the classic
    tree dialog (a plain expandable folder tree where clicking a folder selects it)
    instead of the modern Explorer-style window, where opening and selecting a
    folder were the same confusing action. On non-Windows systems, or if the native
    dialog is unavailable, it falls back to the standard directory dialog. No new
    dependencies.

Changed

  • Folder mode is now the default and is listed first in the options window;
    main-file mode is second.
  • Output splitting is on by default. The "Respect .gitignore" option is
    therefore enabled when the window opens, since folder mode is the default.
  • OK and Cancel buttons swapped so OK sits to the left of Cancel. Enter still
    confirms and Escape still cancels.

Fixed

  • Folder picker no longer opens twice. Previously the picker could reappear
    after you had already chosen a folder. It now reliably opens once and honors
    your selection.

Documentation

  • README rewritten with a clear top-to-bottom flow: what the program is, quick
    start, what it does, the options window, output format, building, technical
    reference, and troubleshooting.
  • Added a troubleshooting section and a placeholder for the options-dialog
    screenshot.
  • Corrected the Python requirement to 3.13.12 exactly (was incorrectly listed
    as "3.9+"), matching the release build policy, and removed an unnecessary note
    about installing tkinter (the build bundles it).

Requirements

  • Building the .exe requires Python 3.13.12 specifically; BUILD_EXE.bat
    verifies this and stops on any other version. Build dependencies are pinned in
    requirements.txt. The app has no runtime dependencies beyond the Python
    standard library.

Code-2-TXT_v1.1.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 03 Jun 11:39

Code-2-TXT v1.1.0.0 - Release Notes

New features

Options dialog. Replaces the old yes/no mode prompt with a single window containing radio buttons for Main-file vs Folder mode (each with an inline explanation), a checkbox to enable output splitting, and a spinbox for lines-per-part (default 5000, min 100, max 100000). OK/Cancel with keyboard shortcuts (Enter/Esc).

Output splitting. When enabled, the combined output is split across numbered part files (name.part01of03.txt, etc.) near the chosen line target. Splits land on file boundaries where possible. If a single file is larger than the threshold, it's split across parts on line boundaries with explicit continuation markers (FILE START (CONTINUED), SEGMENT n of m, FILE SEGMENT END (MORE IN NEXT PART)) so the pieces can't be mistaken for separate files. Reassembling segments in order reproduces the original file byte-for-byte. Each part ends with a summary footer listing its own entries and the full layout across all parts.

Single-file mode preserved. Splitting off keeps the original behavior: one combined file with an === MANIFEST === listing all entries.

App icon. The window and the built .exe carry an embedded icon.ico (appears in the taskbar, file explorer, and Properties > Details).

Hidden console. The frozen .exe builds as a console app for diagnosability but hides its console window at launch via SW_HIDE, so no black background window or taskbar entry appears for users.

Build system

Reproducible Windows build (BUILD_EXE.bat). Pins Python to 3.13.12 exactly; if absent, prints the python.org download link and stops. Creates and activates a venv, installs pinned build dependencies from requirements.txt, then runs PyInstaller with -F --noupx --clean --console --version-file version.txt. Detects icon.ico and adds --icon / --add-data when present, so the build works with or without the icon.

version.txt is the hand-edited VSVersionInfo(...) block passed directly to --version-file. Edit the four numeric tuples and the FileVersion/ProductVersion strings to bump the version, then rebuild — Windows shows it under Properties > Details.

requirements.txt pins pyinstaller==6.16.0 and pyinstaller-hooks-contrib==2025.9. The app itself has no runtime dependencies beyond the Python standard library.

.gitignore added for build output (build/, dist/, *.exe), the venv, regenerated specs, Python caches, editor/OS noise, and the tool's own combined/split output files.

Documentation

README updated to cover the options dialog, the split-output format, the segment markers used when a single file is too large, and the build steps.

Code-2-TXT_v1.0.0.0

Choose a tag to compare

@Mr5niper Mr5niper released this 03 Jan 09:53
80d616f

Release Notes – Combine Text GUI (Specialized) EXE

Build Type: Windows standalone executable (PyInstaller)
Interface: GUI-only (tkinter)
CLI: None


Overview

This release packages the Combine Text GUI tool as a single Windows executable, eliminating the need for a local Python installation. The application provides a safe, dependency-aware way to combine text and script files while explicitly avoiding firmware and binary content.


Key Features

Dual Operating Modes

  • Main-File Mode

    • Select a primary script file
    • Automatically discovers and appends referenced files
    • Breadth-first traversal with strict safety limits
    • Main file is always included first
  • Folder Mode

    • Recursively combines all text-like files under a selected folder
    • Skips common build, VCS, and virtual environment directories

Safety & Filtering (Intentional Behavior)

Always-Excluded File Types

The following extensions are never included, regardless of content:

.hex, .bin,
.s19, .s28, .s37,
.srec, .mot,
.xbin,
.ihx, .ihex

Firmware Detection

Files are excluded if their contents match:

  • Intel HEX records (:10...)
  • Motorola S-Record formats (S19...)

This detection is content-based, not extension-based.

Binary Protection

Files are skipped if they:

  • Contain null bytes
  • Fail text heuristics
  • Exceed binary character thresholds

This prevents accidental inclusion of compiled objects or encoded data.


Output Format

Each included file is wrapped with clear metadata and boundaries:

===== FILE START =====
Path: relative/path/to/file
Absolute: full\absolute\path
Size: #### bytes
Encoding: detected encoding
----- BEGIN CONTENT -----
(file contents)
----- END CONTENT -----
===== FILE END =====

A manifest listing all included files (in order) is appended at the end.


Internal Limits (Hard Caps)

These limits are enforced to prevent runaway traversal:

  • Maximum referenced files: 2000
  • Maximum dependency depth: 10
  • Wildcard expansion: scoped and limited
  • Bare filename searches: capped

Packaging Notes

  • Built with PyInstaller
  • Includes embedded Python runtime
  • No external dependencies required
  • No command-line arguments supported
  • GUI-only by design to avoid path and shell issues

Known Limitations

  • No CLI mode
  • Not intended for firmware, binaries, or hex dumps
  • Dependency resolution is heuristic-based, not language-aware

Intended Use Cases

  • Codebase snapshots
  • Script dependency audits
  • AI / LLM context preparation
  • Documentation and archival
  • Reviewing automation workflows

Compatibility

  • Windows 10 / 11
  • 64-bit systems
  • No Python installation required

Disclaimer

This tool prioritizes safety, determinism, and clarity over aggressive inclusion.
If a file is excluded, it is intentional.

Use at your own risk. No warranty is implied.