84 Commits
Author SHA1 Message Date
Simone 2edefbda0a STATO: la versione e' 2.3.1 e dopo il 03/05 ci sono 21 commit, non uno
Il file VERSION dice 2.3.1, rilasciata da e0dc59b il 2026-05-05: il
consolidamento in 2.3.0 (bc02b8b) e' storia, due giorni dopo la 2.3.1 e'
stata rilasciata davvero.

«Ultimo commit funzionale f4cd9b9 (03/05), da allora un solo commit di
manutenzione» era falso: il 17/05 ci sono sette commit sul sistema di build
(--dist, build parallele, vswhere per VS2026), l'ultimo applicativo e'
b12a8b4. Dopo, solo documentazione e manutenzione fino al 22/08.

Trovato il 2026-09-12 scrivendo le Fondamenta della nota wiki.
2026-09-12 18:18:26 +02:00
Simone ec363b8740 Segnali: passata del vocabolario (⚠️→🚨, 🧊→⏸️, ⛔/📌 ritirati)
Sostituzione meccanica dei segnali, nessun cambio di contenuto:
- ⚠️ → 🚨 e 🧊 → ⏸️, scelte di Simone il 2026-08-24
- ⛔/🛑 → ❌ e 📌 → ℹ️, ritirati dalla spec del 2026-08-22
- ❌ seguito da U+FE0F, se no il font di testo lo rende come una × sottile

Fatta con wiki/bin/cambia-segnale.py e wiki/bin/fix-emoji-fe0f.py, che saltano
blocchi di codice, span fra backtick e symlink, e non muovono il mtime.
Vocabolario: wiki/docs/specs/2026-08-22-segnali-e-colori.md
2026-08-22 11:08:40 +02:00
Simone fa648a78db docs: la tabella delle versioni puntava a cartelle inesistenti
I link andavano a 7zip-19.00/, 7zip-25.01/, 7zip-26.00/: nomi ereditati
dal monorepo di partenza e mai esistiti qui. Le versioni stanno in
versions/, submodule popolati (git submodule status) con il loro
README.md. Corretti README.md e README_IT.md.
2026-08-22 11:08:40 +02:00
Simone cff07f05c6 docs: sezione STATO nel README
Chiude la voce di W8 in _wiki/TODO.md: il README non aveva una sezione STATO, che
e' anche quella da cui wiki-sync ricava la sintesi nella nota di progetto.
2026-08-16 23:20:07 +02:00
Simone 6b9e865820 chore: ignore locally built release archives
dist/ already tracks the pre-built DLLs, so a packaged
nsis-plugin-ns7zip-<version>-<arch>-<charset>.zip in the root is a build
product: it only made `git status` dirty.
2026-08-16 23:20:07 +02:00
Simone b12a8b4785 feat(linux): per-config + total wall-clock build timing
Print a timing summary (each config status+seconds and total wall
clock) for both parallel and sequential paths, mirroring the Windows
build output. Helps compare Linux vs Windows and track perf changes.
2026-05-17 22:05:14 +02:00
Simone af73125f36 fix(build): require VC C++ tools in vswhere query
Two 18.x installs coexisted: VS2026 Community (full IDE, has VC v180)
and a BuildTools at (x86)\Microsoft Visual Studio\18\BuildTools that
has MSBuild but NO VC v180 targets. The vswhere query only required
Microsoft.Component.MSBuild, so -latest could (and did) return the
C++-less BuildTools -> MSB4019. Also require
Microsoft.VisualStudio.Component.VC.Tools.x86.x64 so only installs
with the C++ toolset match; the broken BuildTools is excluded and
2026\Community is selected. CI VM BuildTools has the C++ workload so
it still matches.
2026-05-17 22:00:10 +02:00
Simone 0ffc9fd9cf fix(build): pass -prerelease to vswhere (find VS2026)
VS2026 ships on the prerelease channel; vswhere omits it unless
-prerelease is given. Without it _find_msbuild_via_vswhere returned
nothing, so the path fallback picked an incomplete
(x86)\Microsoft Visual Studio\18\BuildTools install (MSBuild present
but no VC v180 targets) -> MSB4019 on hosts that have VS2026 IDE but
not BuildTools. -prerelease is harmless on the CI VM (BuildTools is
found regardless).
2026-05-17 21:57:13 +02:00
Simone 4b4c7b5975 perf(linux): full make -j per parallel config (no //nconfigs split)
Splitting make -j across configs (jobs // nconfigs) made each parallel
config single-threaded on a 4-vCPU VM, so 3 concurrent serial builds
were as slow as the old sequential path (~7min). Windows (MSBuild)
runs the 3 configs in parallel each using all cores and finishes in
~2min on the same vCPU/RAM. Mirror that: give every parallel config
the full make -j; the scheduler absorbs the mild oversubscription.
2026-05-17 21:26:23 +02:00
Simone 54f63e111d perf(linux): build configs in parallel (default)
Linux built the 3 configs sequentially (~3x a single config); Windows
already parallelizes. Run them concurrently via ThreadPoolExecutor,
splitting make -j across configs to avoid CPU oversubscription.
Symlink setup serialized with a lock. --no-parallel restores
sequential. Brings Linux wall time close to Windows.
2026-05-17 21:07:02 +02:00
Simone 49548c2ec5 feat(build): add --dist to all remaining legacy Windows build scripts
Same --dist redirect (output to <repo>/dist/<config> instead of
plugins/<config>) applied to every per-version Windows script so the
flag works regardless of --7zip-version/--toolset the dispatcher
selects. Mirrors build_plugin_2601_vs2026.py + the Linux path.
2026-05-17 20:35:47 +02:00
Simone fdc893cb7b feat(build): add --dist to redirect output to dist/ instead of plugins/
When --dist is passed (forwarded by build_plugin.py to the per-version
script), built nsis7z.dll files are copied to <repo>/dist/<config>
instead of <repo>/plugins/<config>. Lets CI collect a clean dist/
tree without touching the committed plugins/ dir. Windows
(2601_vs2026) and Linux build paths both supported.
2026-05-17 20:33:37 +02:00
Simone 00ddcbd9ff ci: remove [skip ci] from dist pushback commit message 2026-05-05 00:39:40 +02:00
Simone a731bedad0 fix: handle empty 204 response body in Gitea API calls 2026-05-05 00:34:33 +02:00
Simone 1aa358a78f fix: correct Gitea release asset DELETE endpoint path 2026-05-05 00:28:27 +02:00
Simone 505c9a609f ci: push back dist/ DLLs to Gitea after release build 2026-05-05 00:21:40 +02:00
Simone bfd4cff9ff ci: append empty line and -- to GitHub release body 2026-05-05 00:17:32 +02:00
Simone 002b7b4d54 ci: remove Gitea notice footer from GitHub release body 2026-05-05 00:16:37 +02:00
Simone e0dc59bb7d chore: release v2.3.1 2026-05-05 00:12:28 +02:00
SimoneandCopilot d3ab0cf488 chore: update release notes for version 2.3.0 and add GitHub release synchronization script
Co-authored-by: Copilot <[email protected]>
2026-05-05 00:08:59 +02:00
Simone 919395a423 fix: remove obsolete nsis7z.dll binaries for amd64-unicode, x86-ansi, and x86-unicode plugins 2026-05-04 19:33:42 +02:00
Simone c2c91b9e48 fix: use #include_next in Linux overlay shims to prevent infinite recursion
All 6 case-sensitivity shim headers in tools/linux/overlay/include/
now use #include_next instead of #include to forward to the real
MinGW system header, avoiding infinite preprocessor recursion on
Linux (Debian/WSL) where overlay/include is first in the search path.

Fixes build failures on Debian WSL (GCC 12) for all configurations.
Also update nsis7z.dll binaries built with the fixed overlay.
2026-05-03 04:04:20 +02:00
Simone f4cd9b9bf2 fix: update nsis7z.dll binaries for amd64, x86-ansi, and x86-unicode plugins 2026-05-03 03:20:13 +02:00
Simone bc02b8b9cc chore: consolidate release as v2.3.0 2026-05-03 03:13:56 +02:00
Simone 10c2268071 chore: release v2.3.4 2026-05-03 03:06:22 +02:00
Simone 062c077a42 fix(vcxproj): add vendor CPP/7zip/UI/Common to AdditionalIncludeDirectories
Bundle source files (Main.cpp, ExtractCallbackConsole.cpp, MainAr.cpp,
StdAfx.h) use relative #includes like ../../../Common/ and ../../IPassword.h
that work on Linux via POSIX symlinks but fail on Windows where no symlinks
exist in the bundle tree.

Adding versions/VER/CPP/7zip/UI/Common/ as an AdditionalIncludeDirectory
makes MSVC resolve the ../ segments correctly against that anchor directory,
reaching the vendor files without requiring symlinks.

Fixes all three bundles: 25.01, 26.00, 26.01.
2026-05-03 03:06:08 +02:00
Simone f140165f75 chore: release v2.3.3 2026-05-03 02:50:17 +02:00
Simone 89beca4409 fix: avoid nested quotes in f-strings for Python <3.12 compat (Rebuild/Build target) 2026-05-03 02:49:56 +02:00
Simone 6cf744d3a4 chore: release v2.3.2 2026-05-03 02:47:54 +02:00
Simone 7295140210 fix: replace remaining nested double-quote f-strings for Python <3.12 compatibility 2026-05-03 02:47:43 +02:00
Simone ff0f99f8b6 chore: release v2.3.1 2026-05-03 02:45:55 +02:00
Simone bc96b491d6 fix: replace nested double-quote f-strings for Python <3.12 compatibility 2026-05-03 02:45:45 +02:00
Simone 24893784d9 chore: release v2.3.0 2026-05-03 02:40:46 +02:00
Simone d620989a6c chore: change default 7-zip version from 26.00 to 26.01 2026-05-03 02:34:26 +02:00
Simone 3e5bd02fe0 chore: remove one-shot fix_bundle_vcxproj_paths.py
The script was used once (commit 2207fbf) to rewrite vcxproj paths from
symlink-dependent relative paths to direct vendor submodule paths.
All bundle vcxproj files are already updated; the script has no further use.
2026-05-03 02:33:36 +02:00
Simone 870e5ba5b2 chore: ignore auto-generated bundle symlinks in .gitignore
setup_bundle_symlinks.py creates POSIX symlinks inside versions/*-bundle/
at build time on Linux. These must not be committed to git (they break
Windows clones) but were appearing as untracked (??) entries in git status.

Add precise gitignore patterns that cover all generated symlink paths
(C, Asm, CPP/*.mak, CPP/7zip/*.mak|.h|.rc, CPP/7zip/Archive|Common|...,
CPP/7zip/UI/Agent|Console|...) without hiding the tracked project-owned
sources in Bundles/Nsis7z/ and UI/NSIS/.
2026-05-03 02:32:33 +02:00
Simone 6f37d34920 refactor: rename versions/zstd to versions/zstd-bundle for consistency
Aligns the zstd NSIS wrapper directory with the naming convention used by
all other bundle directories (versions/25.01-bundle, 26.00-bundle, etc.).

Changes:
- git mv versions/zstd -> versions/zstd-bundle (20 project-owned files)
- Fix UI/NSIS/StdAfx.h: use relative include ../../Bundles/Nsis7z/pluginapi.h
  instead of absolute-style 7zip/Bundles/Nsis7z/pluginapi.h (portable across
  both Linux and Windows builds without extra include path)

Build tool updates:
- tools/legacy/build_plugin_zstd_vs2026.py: updated project_dir path
- tools/linux/build_plugin_linux.py:
  * VERSION_LAYOUT zstd: zstd -> zstd-bundle
  * VERSION_EXTRA_FLAGS zstd: -Wno-sign-compare -Wno-cast-function-type
    (fast-lzma2 C vendor code)
  * VERSION_EXTRA_CXXFLAGS zstd: -Wno-unused-parameter (NSIS wrapper)
  * EXTRA_SYS_OBJS: inject MyWindows.o for zstd (LocalFileTimeToFileTime2)
  * Remove 'zip_version != zstd' exception; auto-recreate symlinks for all
    bundle versions including zstd
- tools/linux/setup_bundle_symlinks.py: add VENDOR_DIR mapping so 'zstd'
  points to versions/7-zip-zstd (not versions/zstd which no longer exists)
- tools/linux/overlay/makefile.gcc: add EXTRA_SYS_OBJS ?= variable so
  callers can inject additional objects without modifying the file

Linux build status after this commit:
  python3 build_plugin.py --7zip-version zstd  -> Build completed (all 3 configs)
2026-05-03 02:25:50 +02:00
Simone 8a76f8cc70 fix: auto-recreate bundle symlinks on Linux if missing after clone
After the previous commit removed symlinks from git (they break Windows
clones), a fresh Linux clone or git checkout would leave the bundle
directories without the POSIX symlinks that the GNU make build needs.

Add _ensure_bundle_symlinks() to build_plugin_linux.py: before the first
make invocation for a bundle-based version it checks whether the bundle
root symlink (bundle/C -> ../VER/C) exists and, if not, runs
setup_bundle_symlinks.py automatically so the developer never has to
run the setup script manually.
2026-05-03 02:07:25 +02:00
Simone 2207fbf217 refactor: replace bundle symlinks with direct vendor paths in vcxproj
Windows builds now use direct relative paths to the vendor submodules
(same pattern as versions/zstd bundle) instead of relying on POSIX
symlinks that git cannot materialise correctly on Windows without
Developer Mode / core.symlinks=true.

Changes:
- Remove all 66 symlinks from each of 25.01-bundle, 26.00-bundle,
  26.01-bundle (198 total).  POSIX symlinks are still created on Linux
  by setup_bundle_symlinks.py for the GNU make builds.
- Update Nsis7z.vcxproj / Nsis7z_vs2026.vcxproj in all three bundles:
    depth-4  ..\..\..\..\C\  ->  ..\..\..\..\..\VER\C    depth-3  ..\..\..\{Common,Windows}\  ->  ..\..\..\..\..\VER\CPP\{...}    depth-2  (non-NSIS)  ->  ..\..\..\..\..\VER\CPP\7zip\...
    UI\NSIS paths unchanged (real bundle files)
    AdditionalIncludeDirectories patched to point at vendor CPP/
- Add tools/fix_bundle_vcxproj_paths.py (idempotent helper used to
  perform the rewrite; kept for future reference / re-runs)
2026-05-03 02:02:01 +02:00
Simone 8e8f26ae95 refactor: unify bundle-symlink scripts into setup_bundle_symlinks.py
The three per-version setup_*_bundle_symlinks.py scripts were logically
identical, differing only in the version string.  Replace the duplicated
logic with a single parameterised script:

  tools/linux/setup_bundle_symlinks.py <version>

The three named scripts are kept as one-liner thin wrappers that forward
to the unified script, preserving backwards compatibility.
2026-05-03 01:43:48 +02:00
Simone 56f831017e build: redirect 25.01 builds to bundle directory
- tools/linux/build_plugin_linux.py: point VERSION_LAYOUT['25.01'].bundle_dir
  to versions/25.01-bundle/; update comment (all versions now use bundle dirs).
- tools/legacy/build_plugin_2501_vs2026.py: point project_dir to 25.01-bundle/.
- tools/legacy/build_plugin_2501_vs2022.py: point project_dir to 25.01-bundle/.
2026-05-03 01:38:45 +02:00
Simone 8968d0fd0c feat(25.01): add bundle wrapper directory with NSIS sources and vendor symlinks
Mirror the 26.00-bundle / 26.01-bundle approach for 25.01:

- versions/25.01-bundle/CPP/7zip/Bundles/Nsis7z/: project-owned NSIS plugin
  wrapper sources (api.h, nsis7z.cpp, pluginapi.*, resource.*, StdAfx*,
  Nsis7z.sln, Nsis7z.vcxproj, Nsis7z.vcxproj.filters, Nsis7z_vs2026.vcxproj).
- versions/25.01-bundle/CPP/7zip/UI/NSIS/: NSIS UI sources; StdAfx.h patched
  to use relative include path and MinGW-compatible Windows.h guard (the
  upstream 25.01 file used an absolute path incompatible with the bundle layout).
- versions/25.01-bundle/CPP/7zip/LzmaDec_gcc.mak: forwarding stub.
- versions/25.01-bundle/{C,Asm} and CPP sub-trees: symlinks into versions/25.01/.
- tools/linux/setup_25_01_bundle_symlinks.py: idempotent symlink-recreation script.
2026-05-03 01:38:45 +02:00
Simone bcbae1b0be submodule: convert versions/25.01 from committed vendor to git submodule
Remove the ~1316 vendor source files committed under versions/25.01/ and
replace them with a git submodule pointing to ip7z/7zip tag 25.01
(SHA 5e96a82).  Project-owned build files move to versions/25.01-bundle/
(next commit).
2026-05-03 01:38:45 +02:00
Simone 68f5101c64 build: redirect 26.00 builds to bundle directory
- tools/linux/build_plugin_linux.py: point VERSION_LAYOUT['26.00'].bundle_dir
  to versions/26.00-bundle/ (was versions/26.00/); update module docstring.
- tools/legacy/build_plugin_2600_vs2026.py: point project_dir to
  versions/26.00-bundle/ (was versions/26.00/).
- tools/linux/setup_26_01_bundle_symlinks.py: refactor to use bundle_root /
  vendor_root variables and add C/Asm root-level symlink creation, matching
  the new setup_26_00_bundle_symlinks.py convention.
2026-05-03 01:31:30 +02:00
Simone eec05089cf feat(26.00): add bundle wrapper directory with NSIS sources and vendor symlinks
Mirror the 26.01-bundle approach for 26.00:

- versions/26.00-bundle/CPP/7zip/Bundles/Nsis7z/: project-owned NSIS plugin
  wrapper sources (api.h, nsis7z.cpp, pluginapi.*, resource.*, StdAfx*,
  Nsis7z.sln, Nsis7z.vcxproj, Nsis7z.vcxproj.filters, Nsis7z_vs2026.vcxproj).
- versions/26.00-bundle/CPP/7zip/UI/NSIS/: NSIS UI sources (Main.cpp,
  ExtractCallbackConsole.*, NSISBreak.*, UserInputUtils2.*, StdAfx.h).
- versions/26.00-bundle/CPP/7zip/LzmaDec_gcc.mak: forwarding stub so that
  the CWD-relative `include ../../LzmaDec_gcc.mak` in Arc_gcc.mak resolves
  correctly when make runs from the Nsis7z bundle dir.
- versions/26.00-bundle/{C,Asm} and CPP sub-trees: symlinks into versions/26.00/
  so the vendor headers and sources are visible without modifying the submodule.
- tools/linux/setup_26_00_bundle_symlinks.py: idempotent script to recreate
  all symlinks after a fresh clone + submodule initialisation.
2026-05-03 01:31:19 +02:00
Simone c232693340 submodule: convert versions/26.00 from committed vendor to git submodule
Remove the ~1315 vendor source files committed under versions/26.00/ and
replace them with a git submodule pointing to ip7z/7zip tag 26.00
(SHA 839151e).  The upstream 26.00 tag does not ship a Nsis7z bundle, so
all project-owned build files live in the separate versions/26.00-bundle/
directory (added in the next commit).
2026-05-03 01:31:01 +02:00
Simone 5419d38372 plugins: rebuild DLL artifacts with 7-zip 26.01
Cross-compiled from Linux using MinGW-w64 via the new overlay build
infrastructure. All three targets built clean (Exit Code 0):
  - plugins/x86-ansi/nsis7z.dll    (i686, non-unicode)
  - plugins/x86-unicode/nsis7z.dll  (i686, unicode)
  - plugins/amd64-unicode/nsis7z.dll (x86_64, unicode)
2026-05-03 01:20:32 +02:00
Simone 0a7ffdff4a ci: rename release zip artifact from -plugins to -bundle 2026-05-03 01:20:20 +02:00
Simone e92e48d7bc build: add 26.01 Windows build script and register in dispatcher
- Add tools/legacy/build_plugin_2601_vs2026.py: Windows build script for
  7-zip 26.01 using VS2026 toolset (v145), adapted from the zstd equivalent.
  Points to versions/26.01-bundle/ as the project root.
- Update build_plugin.py:
  - Add LINUX_SCRIPT reference to tools/linux/build_plugin_linux.py.
  - Add '26.01' to WINDOWS_SCRIPTS with v2026 entry pointing to the new
    script (v2022 remains None; 26.01 requires v145 minimum).
  - Add '26.01' to LINUX_SUPPORTED_7ZIP set.
  - Add '26.01' to argparse choices.
2026-05-03 01:20:07 +02:00
Simone e125ea5f9c feat(26.01): add bundle wrapper directory with NSIS sources and vendor symlinks
7-Zip 26.01 (ip7z/7zip) never shipped NSIS plugin sources, so they live in
a separate bundle directory (versions/26.01-bundle/) that mirrors the layout
expected by the shared overlay makefile and by MSBuild.

Bundle contents:
- CPP/7zip/Bundles/Nsis7z/: NSIS plugin wrapper sources (nsis7z.cpp,
  pluginapi.cpp, api.h, resource.rc, StdAfx.h, …) and the Windows build
  project file (Nsis7z_vs2026.vcxproj, adapted from versions/26.00/).
  The vcxproj references the vendor submodule tree via relative paths
  (../../../../../26.01/…), keeping the submodule pristine.
- CPP/7zip/UI/NSIS/: NSIS UI adapter sources (Main.cpp, MainAr.cpp,
  NSISBreak.cpp, ExtractCallbackConsole.cpp, UserInputUtils2.cpp and
  corresponding headers), copied from versions/26.00/.
- CPP/7zip/LzmaDec_gcc.mak: forwarding stub; GNU make resolves relative
  `include` paths against the CWD, so when make runs from Bundles/Nsis7z
  the upstream Arc_gcc.mak's `include ../../LzmaDec_gcc.mak` lands here.
  The stub re-includes the real file via $(VENDOR_7ZIP).
- Symlinks (C, Asm, CPP/7zip/*, CPP/Common, CPP/Windows, …) pointing into
  the versions/26.01 submodule.  These are required because the vendor
  makefile uses CWD-relative source paths (../../../../C/…, ../../Common/…).
  tools/linux/setup_26_01_bundle_symlinks.py recreates them if needed.
2026-05-03 01:19:44 +02:00
Simone 6a961306c9 build(linux): introduce overlay makefile infrastructure
Replaces the per-version in-tree build files with a shared overlay that
keeps all project-owned build infrastructure outside the vendor source trees,
making it safe to use vendor directories as pristine git submodules.

Changes:
- Add tools/linux/overlay/makefile.gcc: parameterised makefile that drives
  MinGW cross-compilation; VENDOR_7ZIP, DEF_FILE and NSIS_DIR are all
  overridable from the command line so no files are written into the vendor
  tree at build time.
- Add tools/linux/overlay/include/: case-sensitivity shim headers
  (Windows.h, CommCtrl.h, MAPI.h, NTSecAPI.h, Psapi.h, ShlObj.h) that
  redirect to the lowercase MinGW system headers; also adds
  z7_idecl_noexcept_strip.h which resolves the noexcept-specifier mismatch
  in 7-zip 25.01 NSIS UI code.
- Move Nsis7z.def from versions/26.00/…/Bundles/Nsis7z/ to overlay/ (git
  rename; content unchanged).
- Delete versions/26.00/…/Bundles/Nsis7z/makefile.gcc (superseded by the
  overlay).
- Rewrite tools/linux/build_plugin_linux.py to drive the overlay makefile,
  support multiple 7-zip versions (25.01, 26.00, 26.01, zstd) with a
  VERSION_LAYOUT table, and add NSIS_DIR auto-detection for bundle-based
  builds.
- Add _linux_build/ to .gitignore.
2026-05-03 01:19:13 +02:00
Simone 480f93aed5 submodule: add versions/26.01 (ip7z/7zip tag 26.01)
Registers the upstream ip7z/7zip repository as a git submodule at
versions/26.01, checked out at tag 26.01 (commit 8c63d71).

This provides the 7-Zip 26.01 vendor source tree for both the Windows
(MSBuild/vcxproj) and Linux (MinGW cross-compilation) builds.
2026-05-03 01:18:47 +02:00
SimoneandCopilot 2491f0eba1 ci: enhance Gitea release workflow to upload assets and handle existing files
Co-authored-by: Copilot <[email protected]>
2026-05-03 00:00:25 +02:00
Simone 0053ce8fcc ci: refactor build and release workflows to streamline DLL handling and packaging 2026-05-02 23:38:02 +02:00
Simone 13787d1af9 ci: enhance release workflow to resolve and validate release tags dynamically 2026-05-02 23:20:00 +02:00
Simone 62e066c754 ci: enhance build and release workflows with improved artifact handling and versioning 2026-05-02 23:13:58 +02:00
Simone e4362a3d02 ci: remove temporary gitea-only dispatch mode 2026-05-02 22:34:19 +02:00
Simone 3c87501c40 ci: set explicit User-Agent for Gitea API calls 2026-05-02 22:32:36 +02:00
Simone 68d949aa5b ci: fix sync-gitea-only job nesting and YAML structure 2026-05-02 22:30:53 +02:00
Simone da6bf4fd04 ci: make gitea_only workflow_dispatch input boolean 2026-05-02 22:29:05 +02:00
Simone f973bf3107 ci: add workflow_dispatch gitea-only mode for release body sync 2026-05-02 22:23:06 +02:00
Simone 4f4508ccc3 ci: harden Gitea release sync auth diagnostics and upsert flow 2026-05-02 22:21:08 +02:00
Simone 84125ef688 ci: do not fail release when Gitea token lacks permissions 2026-05-02 22:19:56 +02:00
Simone c10249d171 ci: handle missing Gitea release when syncing release body 2026-05-02 22:07:13 +02:00
Simone 576706dc17 ci: fix release workflow YAML syntax for publish job 2026-05-02 21:56:02 +02:00
Simone b5d635d96f chore: release v2.2.2
- Release workflow extracts CHANGELOG section as GitHub/Gitea release body
- All GitHub Actions upgraded to node24-native versions
- tools/update_gitea_releases.py for backfilling existing Gitea releases
- tools/release-notes/ per-version Markdown snippets
2026-05-02 21:54:01 +02:00
Simone 00263ec4ba docs: update repository structure and CI/release workflow section
- Correct directory tree (versions/ instead of 7zip-xx.xx/)
- Add tools/update_gitea_releases.py and tools/release-notes/ entries
- Document CI build.yml and release.yml behaviour
- Mirror changes in README_IT.md
2026-05-02 21:54:01 +02:00
Simone 6e91c0ac31 tools: add update_gitea_releases.py and release-notes snippets
One-shot script to backfill Gitea release bodies for existing releases
using the Gitea API. Reads per-version Markdown files from
tools/release-notes/ and PATCHes each release body.
Includes README.md in tools/release-notes/ explaining usage.
2026-05-02 21:54:01 +02:00
Simone df1e68b378 ci: update Gitea release body with CHANGELOG section on publish 2026-05-02 21:47:29 +02:00
Simone e39129c300 ci: upgrade actions to node24-native versions, release notes from CHANGELOG
- Upgrade all GitHub Actions to node24-native major versions:
  actions/checkout@v6, setup-python@v6, upload-artifact@v7,
  download-artifact@v8, microsoft/setup-msbuild@v3,
  softprops/action-gh-release@v3
- Remove FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 env var (no longer needed)
- Release workflow now extracts the relevant CHANGELOG section as
  the GitHub Release body instead of a static message
- docs: add missing [2.2.0] changelog entry (Linux MinGW-w64 support)
2026-05-02 21:22:17 +02:00
Simone e64386ebe5 docs: align README_IT with 2.2.0 Linux build path 2026-05-02 21:12:10 +02:00
Simone cda44e07a8 release: cut v2.2.1 2026-05-02 20:50:36 +02:00
Simone 0faf0fb360 ci: add Linux jobs to build and release workflows 2026-05-02 20:06:58 +02:00
Simone 9be53c7e22 fix: correct remaining Windows build script f-strings 2026-05-02 20:01:01 +02:00
Simone d80b025219 feat: add Linux MinGW build path and Windows build-script fixes (v2.2.0) 2026-05-02 19:56:28 +02:00
Simone 91fe17cda2 feat: add color and spinner to legacy build scripts 2026-04-30 23:12:42 +02:00
Simone 4b12e21dd4 chore: release v2.1.0 2026-04-30 22:25:32 +02:00
Simone e402720a12 Add NSIS plugin support and extraction functionality
- Implemented plugin API in `pluginapi.cpp` and `pluginapi.h` for NSIS integration.
- Added resource files `resource.h` and `resource.rc` for versioning and resource management.
- Created `ExtractCallbackConsole` class to handle extraction progress and user input.
- Developed main extraction logic in `Main.cpp` and `MainAr.cpp` for handling archives.
- Introduced user input utilities in `UserInputUtils2.cpp` and `UserInputUtils2.h` for password handling and user prompts.
- Added break signal handling in `NSISBreak.cpp` and `NSISBreak.h` for graceful interruption of extraction processes.
- Included standard header `StdAfx.h` for precompiled headers and common includes.
2026-04-30 17:27:38 +02:00
Simone 5e738d749b chore: release v2.0.1 2026-04-29 21:54:26 +02:00
Simone 5cfade0df1 fix: use detected VS toolset in build_plugin_2600 (v143 fallback for VS2022 CI) 2026-04-29 21:51:16 +02:00
Simone ce9e40d2b6 ci: use --verbosity normal to show build errors 2026-04-29 21:47:50 +02:00
Simone 2b01cf9e75 ci: add --verbosity minimal to build step 2026-04-29 21:47:12 +02:00
Simone 505d5cf158 fix UnicodeEncodeError in build summary (replace checkmarks with ASCII) 2026-04-29 21:45:10 +02:00
Simone 3298293474 restore tools/legacy build scripts and fix CI workflow 2026-04-29 21:42:26 +02:00