Skip to content

v0.18.0 - Demo videos

Choose a tag to compare

@EMILIO888real EMILIO888real released this 06 Jul 21:36
6676c3a

packer Update [0.18.0]

This release enhances exception handling, introduces a new project size calculation feature, adds a demo section to the README, and streamlines importing and configuration of modules, among other improvements in user interface, build automation, and refactoring.

Installation

Available via:

Binary Downloads

When downloading, please choose the correct build for your operating system:

File Name Platform Description
packer Linux/macOS Executable for Unix-based systems.
packer.exe Windows Executable for Windows systems.

To install:

  • GitHub:
    Download the appropriate binary for your system from the Releases page.
  • Third-party website (GoFile):
    Head to the website Archive and download the specific arhive with the appropriate version.

After installing, continue following instructions via the README.

Changes in 0.18.0

Added

  • [bf77fa4] Global_exception_handler to __all__ in src/packer/__init__.py to expose the exception handler module.
  • [bf77fa4] global_exception_handler function to a Global_exception_handler class to be able to set it up with the necessary data and run it with it's predefined actions.
  • [eec6e8b] Warning filter to ignore AVX2 capability warnings from pygame.
  • [3d3a76b] Functionality to calculate and display project size in MiB, including tracking size changes in metadata.
  • [6c1a113] A new "Demos" section to the README with links to three YouTube demonstration videos showing different aspects of the tool's usage.
  • [78d20d2] Exclusion functionality to get_folder_size function to exclude all patterns in the .gitignore just like the tree function does when generating the integrity file.
  • [78d20d2] New version size, by checking the archive's size.
  • [d89627d] 'tree' function to init.py exports and imported it from packer.custom_modules.et.
  • [8aae214] simple_prompt_retries to add retry logic for user input prompts, instead of immediately assuming False.

Changed

  • [bf77fa4] All use cases and modules to import from config.py the handler which is imported from exceptions.py and just set up and configured in config.py.
  • [bf77fa4] setup.py to not create exceptions.py, but instead if the user wants to use the same style as Packer, they can just import it from Packer.
  • [af45dea] Enhanced version output (CLI --version) display by adding a decorative ASCII art header with project information (author name, URL, license) using textwrap.dedent for proper formatting.
  • [8ce6d97] Removed program_name configuration field from Project model and related code, replacing it with dynamic extraction from project_path.
  • [b355d63] The logging message from "Generating social media post text..." to "Generating release notes..." in the packer core functionality.
  • [b25e320] The print_and_log calls for description and version title to include a color code [144, 213, 255] for better visual distinction in the terminal output.

Fixed

  • [9daf7ab] Actually wrote the logic for setting the volume of the notification sound based on the user's settings.
  • [8ce6d97] print_and_log function call for the git directory not being clean to correctly pass the color and then the log level!.
  • [6e8c475] Changed the project size output message from just showing the size to "Full project size: {size} MiB" for better clarity.
  • [62c7a8e] Metadata to be sorted and use the same approach as the projects.json file having each projects it's own metadata via their local path as a key.
  • [d2be477] Changed log message from "Waiting for Github to process the release..." to "Waiting for Github to process the push..." to better reflect the actual operation being performed.
  • [d89627d] Output of the new version's size to be rounded to just 2 digits after comma.
  • [1b5d9ca] bool_answer to check if the given answer is None, if so return immediately.
  • [d3a056f] F: Removed redundant while loop that was repeatedly prompting for user input until a non-empty answer was provided, simplifying the input handling logic to only request input once.
  • [a18e7df] Metadata file writing by explicitly passing the file handle to the dump function instead of crashing.
  • [578486b] Changed file opening mode from read-only to write-only when saving metadata to ensure proper file handling and prevent potential read/write conflicts.

Full changelog

Tips

If you prefer to build from source via GitHub, you can clone the repository using:

git clone https://github.com/EMILIO888real/Packer --depth 1

Using --depth 1 creates a "shallow clone," which only downloads the latest commit, saving you significant time and storage space compared to a full repository clone.

While downloading the pre-compiled binaries (like packer or packer.exe) is usually the fastest way to get started, cloning the repository allows you to easily pull future updates with git pull as they are released.

Verification

To ensure the integrity of the downloaded files, you can verify their SHA256 checksums.

How to verify:

  • Windows (PowerShell):
    Open PowerShell and run the following command:
Get-FileHash .\packer.exe -Algorithm SHA256
  • Linux/macOS (Terminal):
    Open your terminal and run:
sha256sum packer

Compare the resulting hash with the one provided in the GitHub release assets list to ensure it matches.