Skip to content

REFACTOR: set the version to 1.0.0 and prepare the release texts - #96

Merged
CodingDiego merged 7 commits into
masterfrom
REFACTOR/version-1.0.0
Nov 14, 2026
Merged

CodingDiego merged 7 commits into
masterfrom
REFACTOR/version-1.0.0

Conversation

@CodingDiego

Copy link
Copy Markdown
Owner

Sets the version to 1.0.0 and prepares the release texts. Stacked on #95: merge that one first. Merging this does not release anything; the release starts with the v1.0.0 tag.

What changes

Decision this pull request carries

VERSION-1-X.md defines 1.0 by its blockers and by exit criteria. They are not all met:

The file now says that the owner cut 1.0.0 with these open and that they carry over to the 1.x line. Merging this pull request accepts that wording. The alternative is another release candidate (1.0.0-rc.3) from #95 alone.

Before the tag

  • Read .github/release-notes.md and delete its "Draft" line and the empty line under it.
  • If the tag is not made on 2026-11-14, change the date in CHANGELOG.md, README.md, VERSION-1-X.md.
  • After the release: the winget manifests for 1.0.0 from SHA256SUMS.txt (CONTRIBUTING.md, "Releasing").

Verified on this tree

Not rerun on this tree: scripts\smoke.ps1, scripts\ftp-check.ps1 and scripts\budgets.ps1. Only version numbers and texts changed since they passed on #95; CI runs smoke and budgets here.

Refs #71, #18, #26, #27, #29, #51, #60, #68.

Replaces the earlier detailed drawing with a simple orange crab and a white R of its own shape (not the Rust logo). Sizes 16 to 256, hand-placed pixels at 16, 20 and 24. Refs #18, #20.
…rite access

Every action is pinned to a full commit SHA and every checkout drops its credentials. The release build job is read-only; a separate publish job holds the write permissions and attests the files' build provenance.
…he sidebar, take Win+E in the desktop helper

The audit before 1.0.0: five read-throughs of the whole program (archives and content, the profile and
credentials, launch and install, window messages, reliability), a live round on Windows 11 and a last review
of this whole change. SECURITY.md lists every finding under 2026-11-14; CHANGELOG.md lists what a user sees.

Security:
- A dropped file list from another program is parsed with bounds and a count limit.
- A private message is accepted only while this thread is sending that message to that window (own_send).
- Windows Terminal arguments escape `;` and refuse quotes and control characters.
- The elevated restart names its exe explicitly; --desktop-icons never stays elevated.
- --uninstall asks first (not with --quiet) and removes only rexplorer's own empty folders.
- After an Explorer switch such as /select, later `-` options are paths, not options.
- Archive thumbnails: 256 MB of extracted pictures per folder view, none in a solid archive.
- uxtheme.dll is loaded from System32; a context menu's default command id is range-checked.

Reliability:
- A tab that was loading when rexplorer crashed opens Home on recovery.
- Sign-out saves the session and the window placement; helper processes log a panic.
- A thumbnail is refreshed when its file changes; an extraction finishes when the window closes.
- Rename and delete in search results find their row again by name; one context menu at a time.

Sidebar: Favorites lists the folders pinned to Home first, each marked with a pin, then the frequent folders.
Quick Access's recent files are left out (a .zip among them has the shell's folder flag). Right-click gives
Unpin from Home, Pin to Home and Remove from Home.

Live round: with rexplorer registered, Win+E opened Windows Explorer on build 26300, so the desktop helper
takes Win+E itself. A shortcut's arrow is drawn at the right size after a display scale change.

Tests: the conflict-dialog helper answers Windows' older dialog too and pumps messages while it waits. The
tests that drive the shell's own UI run one at a time, and a tree test dispatches its pending messages before
it destroys the control (#94: 200 runs of the core test binary without a crash; the cause was not traced).
smoke.ps1 answers the new uninstall question. soak.ps1 no longer deletes its own keep file (#29).

Docs: ARCHITECTURE.md matches the code again; USER-GUIDE.md, README.md and EXPLORER-PARITY.md cover the
changes.
The shell lists Downloads, Documents, the user's own folder and a linked phone under the desktop's root, and
--desktop-icons showed them next to the desktop's real icons (42 items where the desktop has 34 on the test PC).
A file or folder now shows only when it lies in the user's or the public Desktop folder. Found in the first live
run of the view.
…the desktop icons view

The live round of 2026-11-14 on the release build, scratch profile, real input only to the test window:
- Win+E with the desktop helper: a Home tab opened, Windows Explorer opened nothing (1 of 1).
- Drags from a Home tile and a recent-file row showed their icon; five drags, each cancelled with Esc.
- One drag of a scratch file onto a WhatsApp chat reached its attachment preview; nothing was sent (#75).
- --desktop-icons shows the desktop and follows it; its menu, rename, delete and drops were not run.

Parity totals: WORKS 109, on a scratch base 3, PARTIAL 6, UNVERIFIED 5.
Both crates are 1.0.0. The changelog's Unreleased lines move under 1.0.0 with
the known gaps, and the release notes are the 1.0.0 draft (the release job
refuses to publish while their first line says Draft).

VERSION-1-X.md ticks the blockers this round met, the hosted one-hour soak
among them, and lists the 13 still open at 1.0.0. It says the owner cut 1.0.0
with them open; that wording is the owner's to confirm before the tag.
@CodingDiego CodingDiego added this to the v1.0 milestone Nov 14, 2026
@CodingDiego CodingDiego added documentation Improvements or additions to documentation v1-blocker Must be done for 1.0 labels Nov 14, 2026
@CodingDiego CodingDiego self-assigned this Nov 14, 2026
Base automatically changed from FIX/pre-1.0-audit-security-and-reliability to master November 14, 2026 13:59
@CodingDiego
CodingDiego merged commit ef72e1e into master Nov 14, 2026
5 checks passed
@CodingDiego
CodingDiego deleted the REFACTOR/version-1.0.0 branch November 14, 2026 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation v1-blocker Must be done for 1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant