Skip to content

Releases: TamKungZ/tarminal-tar-install

Tarminal v0.2.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 06:54

Tarminal 0.2.0

Added

  • Added shared library output for the tar-install Rust crate.
  • Added a C ABI wrapper for calling the Rust tar-install API from other languages.
  • Added Python bindings as the tar-install package.
  • Added direct Python import support with import tarinstall and from 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-install as a separate Git submodule for Python package development.

Changed

  • tar-install can now build both the normal Rust library and libtar_install.so.
  • Python integration now calls the Rust library directly through ctypes instead of using a command-line bridge.
  • The tar-install binary remains a small stub, while tarminal remains the main CLI frontend.
  • Updated package metadata from 0.1.5 to 0.2.0.

Fixed

  • Fixed Python package typing issues reported by Pylance.
  • Fixed package naming so pip installs tar-install while Python imports use tarinstall.

Notes

  • The normal release build still produces the same tar-install and tarminal binaries.
  • 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

Choose a tag to compare

@github-actions github-actions released this 07 Jul 22:35

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.4 to 0.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 .AppImage files 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

Choose a tag to compare

@github-actions github-actions released this 05 Jul 21:54

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.json for JetBrains IDEs such as IntelliJ IDEA, PyCharm, and WebStorm.
    • package.json and resources/app/package.json for Electron/Node-based apps.
    • Plain version files such as VERSION, VERSION.txt, version.txt, build.txt, and RELEASE.
  • Added command probing fallback for version detection using common flags:
    • --version
    • -version
    • -v
    • version
    • -V
  • Added --no-probe-version to disable running installed executables during version detection.
  • Added recipe support for disabling version probing with:
probe_version: false

Fixed

  • 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.json when available.

Changed

  • Tarminal now attempts version detection in this order:
    1. User-provided CLI/config/recipe version.
    2. Reliable archive filename parsing.
    3. App metadata inside the installed directory.
    4. Runtime command probing.
    5. unknown/None if 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-version or probe_version: false for 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

Choose a tag to compare

@github-actions github-actions released this 05 Jul 05:43

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_64 filenames.
  • Fixed false version detection where architecture fragments such as 64 were stored as app versions.
  • Added recognition for non-Linux OS tokens such as macos, darwin, osx, windows, and win64.
  • Added platform guard before install so non-Linux archives such as nvim-macos-x86_64.tar.gz are rejected on Linux by default.

Changed

  • If no reliable version is found from the archive filename, Tarminal now stores the version as unknown/None instead of guessing from weak numeric tokens.
  • tarminal list now displays unknown when version metadata is not available.
  • User-provided values from CLI flags, --config, or recipe YAML still take priority over filename guesses.

Notes

  • Use --force only 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

Choose a tag to compare

@github-actions github-actions released this 05 Jul 03:48

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 user when needed.

Added

  • Added install progress display for extraction, copying, and desktop integration steps.
  • Added install progress events from the tar-install library for CLI/front-end integration.

Notes

  • sudo tarminal install blender-5.1.2-linux-x64.tar.xz now installs to system locations such as /opt/blender and /usr/local/bin/blender.
  • If a previous version installed Blender into /root/.local, remove it with:
sudo tarminal remove blender --scope user

Tarminal v0.1.1

Choose a tag to compare

@github-actions github-actions released this 05 Jul 02:31

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.

Tarminal v0.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 02:01

Release v0.1.0