Skip to content

v0.11.7

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Oct 16:01
· 10 commits to master since this release
v0.11.7
4f5a120
  • snakeoil.osutils.ensure_dirs: no longer changes the process umask, so threads creating directories at once can't leave it at 0 and make later files world-writable (@arthurzam)
  • snakeoil.compatibility.sorted_cmp, sort_cmp and sorted_key_from_cmp: deprecated, removal in 0.12.0. Use functools.cmp_to_key (@arthurzam)
  • snakeoil.process.find_binary: deprecated, removal in 0.12.0. Use shutil.which, which also doesn't search the current directory when PATH is empty or unset (@arthurzam)
  • snakeoil.osutils.force_symlink, stat_mtime_long, lstat_mtime_long, fstat_mtime_long and snakeoil.data_source.transfer_between_files: deprecated, removal in 0.12.0. Use os.symlink, os.stat(path)[stat.ST_MTIME] and shutil.copyfileobj (@arthurzam)
  • snakeoil.cli.arghparse.FileType: deprecated, removal in 0.12.0. Take a path and open it after parsing, as argparse.FileType is deprecated since python 3.14 (@arthurzam)
  • snakeoil.fileutils.mmap_or_open_for_read: fix closing the file descriptor twice when mapping fails, which could close an unrelated file opened by another thread in between (@arthurzam)
  • snakeoil.cli.arghparse.ManHelpAction: --help falls back to the plain help output when man isn't installed, instead of crashing (@arthurzam)
  • snakeoil.osutils.listdir_dirs and listdir_files: deprecated, removal in 0.12.0. Use os.scandir with DirEntry.is_dir or is_file (@arthurzam)
  • snakeoil.bash.read_dict: an empty quoted value such as masters = "" is now read as empty, not as two quote characters (@arthurzam)
  • snakeoil.fileutils.AtomicWriteFile: write to a uniquely named temporary file created exclusively, so a symlink planted at the old fixed name is no longer followed and concurrent writers to one target no longer clobber each other (@arthurzam)
  • snakeoil.klass.cached_property and cached_property_named: deprecated, removal in 0.12.0. Use functools.cached_property (@arthurzam)
  • snakeoil.process.namespaces.unshare and setns: deprecated, removal in 0.12.0. Use os.unshare and os.setns. The namespace helpers no longer run ldconfig to locate libc on every call (@arthurzam)
  • snakeoil.osutils.unlink_if_exists: deprecated, removal in 0.12.0. Use pathlib.Path(path).unlink(missing_ok=True) (@arthurzam)
  • snakeoil.process.get_exit_status and ProcessNotFound: deprecated, removal in 0.12.0. Use os.waitstatus_to_exitcode and ProcessLookupError (@arthurzam)
  • snakeoil.cli.arghparse.OptionalsParser.parse_known_optionals: a flag given a value (--quiet=yes, -q=) or an ambiguous abbreviation is now a usage error instead of a traceback; this is what pkgcheck and pkgdev use to load config files (@arthurzam)
  • snakeoil.bash.read_bash: a # starts an inline comment only at the start of a line or after whitespace, as in Portage, so values such as PKCS#11 in use.local.desc are no longer cut short. With line continuations, a comment ending in \ no longer joins the next line (@arthurzam)