Skip to content

11.0.0

Latest
Compare
Choose a tag to compare
@rra rra released this 08 Jul 02:44
· 2 commits to main since this release
release/11.0.0

Backwards-incompatible changes

  • Raise the minimum Perl version for tests and test support libraries to Perl 5.12 (released in April of 2010).
  • Require use of the Perl 5.12 package Module::Name v1.0.0 syntax in the module version tests. Always use semantic versions when updating module versions.
  • Update perltidy configuration for Perl critic tests, taking advantage of new perltidy features: add line breaks after labels, enable vertical alignment for => pairs, add trailing commas to multiline lists, and align trailing unless with trailing if. Thanks, Julien ÉLIE.
  • Remove various obsolete exclusions from SPDX license tests now that the @SPDX_IGNORE configuration option is available (see below).

New features

  • Update the warning flags probed by RRA_PROG_CC_WARNINGS_FLAGS to disable -Wunsafe-buffer-usage for Clang (not intended for C code) and add several new GCC warnings and related flags added between GCC 9.2 and 13.2.
  • @SPDX_IGNORE may now be set in the perl.conf test configuration file to specify an additional list of regular expressions matching files that the check for SPDX license headers should ignore.
  • All Autoconf macros that detect libraries now use -isystem instead of -I for the include paths. This tells the compiler to suppress warnings for constructions in the headers by treating them as system headers.

Bug fixes

  • Ignore files created by the Perl Carton tool, JSON files, and temporary files generated by tests when checking for SPDX licenses and Perl strictness in standard tests.
  • Suppress erroneous warnings from GCC 13.2 for xrealloc and xreallocarray.
  • Fix errors in docs/pod.t and style/critic.t when neither lib or blib exists.
  • Use python-config to find link flags if it is available, since this produces more correct results. Remove LOCALMODLIBS from the requested flags, since it is not necessary and breaks the build with newer Python versions.
  • Do not unlink the file and then write to it in the mkstemp replacement test suite, since this fails on some file systems. This is not ideal since the calling program may be relying on traditional UNIX file semantics, but it can be addressed by moving temporary files to another file system and doesn't indicate a bug in the replacement function. Thanks to Julien ÉLIE for the report.
  • Fix the portable/getaddrinfo test to not rely on undefined behavior, which caused test failures with musl.
  • Fix recognition of nroff-escaped SPDX-License-Identifier headers in the Perl t/docs/spdx-license.t check.
  • Check Makefile.PL in the Perl t/style/critic.t test if it exists.

Other changes

  • The rra-c-util change log is now formatted in Markdown, named CHANGELOG.md, and maintained using scriv.
  • rra-c-util now uses semantic versions.