github agl/jbig2enc 0.32

4 hours ago

Development & Build System

  • Require C++17 standard: Modernize the codebase and leverage modern C++ features for safer and more maintainable code.
  • Improve build systems and GitHub Actions: Renovate the build infrastructure to support multiple build systems (CMake, Meson, autotools) and enhance CI/CD workflows for better reliability and test coverage.

Code Quality & Fixes

  • Add argument checks: Implement stricter validation of command-line arguments to prevent undefined behavior and improve user feedback.
  • Replace asprintf with a portable solution: Replace a non-standard glibc function with a cross-platform alternative, improving compatibility with different operating systems (e.g., Windows, BSD).
  • Fix memory leaks: Resolve several identified memory leaks, including:
    • An issue in unite_templates() where incorrect reference counting caused memory to not be freed.
    • Ensuring proper destruction of image data (pixl) in error paths.
  • Fix forcing DPI (-D switch): Correct a bug where the -D command-line option to set the DPI for images without embedded DPI information was not functioning properly.
  • Fix undefined behavior: Resolve an undefined bit-shifting operation in the arithmetic coding component (jbig2arith.cc), ensuring deterministic and correct behavior across all compilers and architectures.

Maintenance & Cleanup

  • Improve resource management: Free resources even when running in non-symbol mode, preventing leaks in all execution paths.

Don't miss a new jbig2enc release

NewReleases is sending notifications on new releases.