Releases: TamKungZ/tarminal-tar-install
Releases · TamKungZ/tarminal-tar-install
Release list
Tarminal v0.2.0
Tarminal 0.2.0
Added
- Added shared library output for the
tar-installRust crate. - Added a C ABI wrapper for calling the Rust
tar-installAPI from other languages. - Added Python bindings as the
tar-installpackage. - Added direct Python import support with
import tarinstallandfrom tarinstall import .... - Added Linux wheel support that bundles
libtar_install.so. - Added API coverage for inspect, install, list, doctor, remove, and build-library workflows.
- Added
pylib-tar-installas a separate Git submodule for Python package development.
Changed
tar-installcan now build both the normal Rust library andlibtar_install.so.- Python integration now calls the Rust library directly through
ctypesinstead of using a command-line bridge. - The
tar-installbinary remains a small stub, whiletarminalremains the main CLI frontend. - Updated package metadata from
0.1.5to0.2.0.
Fixed
- Fixed Python package typing issues reported by Pylance.
- Fixed package naming so pip installs
tar-installwhile Python imports usetarinstall.
Notes
- The normal release build still produces the same
tar-installandtarminalbinaries. - The shared library is an additional build artifact and does not replace the main binaries.
- Python bindings are Linux-only for now because the installer behavior targets Linux desktop app layouts.
Tarminal v0.1.5
Tarminal 0.1.5
Added
- Added support for detecting AppImage files packaged inside tar archives.
- Added AppImage executable detection for files ending with:
.AppImage.appimage.APPIMAGE
- Added handling for AppImage files even when the archive does not preserve executable permissions.
- Added test coverage for AppImage detection inside tar archives without execute bits.
Fixed
- Fixed installs failing to auto-detect an executable when the tar archive contains only an AppImage file without executable permissions.
- Improved executable candidate selection so AppImage files are preferred over generic helper executables.
- Fixed release metadata versioning for
0.1.5.
Changed
- AppImage files inside supported tar formats are now treated as valid executable candidates during archive inspection.
- During install, detected AppImage files are made executable using the existing executable permission repair step.
- Updated package metadata from
0.1.4to0.1.5.
Notes
- This release supports AppImages when they are packaged inside supported tar archive formats such as
.tar,.tar.xz,.tar.gz, and.tar.bz2. - Direct installation of standalone
.AppImagefiles is not part of this release. - AppImages that require FUSE or other host runtime dependencies may still depend on the user’s system environment at launch time.
Tarminal v0.1.4
Tarminal 0.1.4
Added
- Added support for installing via Alpine APK, Arch Linux PKGBUILD, and Void Linux XBPS package formats.
- Added runtime version detection when no reliable version is found from the archive filename.
- Added metadata-based version detection for common app formats:
product-info.jsonfor JetBrains IDEs such as IntelliJ IDEA, PyCharm, and WebStorm.package.jsonandresources/app/package.jsonfor Electron/Node-based apps.- Plain version files such as
VERSION,VERSION.txt,version.txt,build.txt, andRELEASE.
- Added command probing fallback for version detection using common flags:
--version-version-vversion-V
- Added
--no-probe-versionto disable running installed executables during version detection. - Added recipe support for disabling version probing with:
probe_version: falseFixed
- Improved version detection for apps that do not include a version in the archive filename.
- Fixed missing version metadata for apps such as Neovim, Blender, Java-based tools, and JetBrains IDE archives when filename parsing is insufficient.
- Reduced weak filename guessing by falling back to metadata and runtime probing instead of storing unreliable numeric fragments.
- Improved JetBrains archive handling by detecting versions from
product-info.jsonwhen available.
Changed
- Tarminal now attempts version detection in this order:
- User-provided CLI/config/recipe version.
- Reliable archive filename parsing.
- App metadata inside the installed directory.
- Runtime command probing.
unknown/Noneif no reliable version can be detected.
- Version probing runs only after extraction, so it uses the actual installed executable path.
- Failed version probes no longer fail the install. They are recorded as install notes instead.
Notes
- Runtime probing may execute the installed app with version flags. Use
--no-probe-versionorprobe_version: falsefor untrusted archives. - Some GUI apps may open a window or initialize extra files when probed. Metadata detection is attempted first to reduce this risk.
- This release focuses on more reliable real-world version detection for archives whose filenames do not contain useful version information.
Tarminal v0.1.3
Tarminal 0.1.3
Fixed
- Improved filename parsing for dotted versions such as
blender-5.1.2-linux-x64.tar.xz. - Fixed architecture parsing for
x86_64filenames. - Fixed false version detection where architecture fragments such as
64were stored as app versions. - Added recognition for non-Linux OS tokens such as
macos,darwin,osx,windows, andwin64. - Added platform guard before install so non-Linux archives such as
nvim-macos-x86_64.tar.gzare rejected on Linux by default.
Changed
- If no reliable version is found from the archive filename, Tarminal now stores the version as
unknown/Noneinstead of guessing from weak numeric tokens. tarminal listnow displaysunknownwhen version metadata is not available.- User-provided values from CLI flags,
--config, or recipe YAML still take priority over filename guesses.
Notes
- Use
--forceonly when you intentionally want to override platform detection. - This release is mainly a parser and safety improvement for real-world release filenames.
Tarminal v0.1.2
Tarminal 0.1.2
Fixed
- Fixed
sudo tarminal install <archive>installing into/root/.local/...by default. - Root/sudo installs now default to system scope automatically.
- Normal user installs still default to user scope.
- Users can still force root-user scope with
--scope userwhen needed.
Added
- Added install progress display for extraction, copying, and desktop integration steps.
- Added install progress events from the
tar-installlibrary for CLI/front-end integration.
Notes
sudo tarminal install blender-5.1.2-linux-x64.tar.xznow installs to system locations such as/opt/blenderand/usr/local/bin/blender.- If a previous version installed Blender into
/root/.local, remove it with:
sudo tarminal remove blender --scope userTarminal v0.1.1
Tarminal 0.1.1
Fixed
- Allow safe relative symlinks when installing Linux tarball applications.
- Preserve symlinks when copying extracted app files from the staging directory into the final install directory.
- Fix installation of real-world tarball apps that bundle shared libraries through symlinks, such as Blender.
Security
- Symlink extraction still rejects unsafe targets.
- Absolute symlink targets are rejected.
- Symlink targets that escape the archive root through
..traversal are rejected. - Hard-link entries remain unsupported for now.
Notes
- Symlink support is enabled by default because many Linux application tarballs include bundled library symlinks.