Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge devel/fossil into the LTS branch #1

Closed
jsonn opened this issue Jul 3, 2017 · 1 comment
Closed

Merge devel/fossil into the LTS branch #1

jsonn opened this issue Jul 3, 2017 · 1 comment
Assignees

Comments

@jsonn
Copy link

jsonn commented Jul 3, 2017

Since the official NetBSD fossil repositories use the newer SHA2 hashes, it would be highly useful to have a fossil that supports them on the LTS branch.

jperkin pushed a commit that referenced this issue Jul 11, 2017
- Allocate Zlib data structures outside the OCaml heap for compatibility
  with recent versions of Zlib
  (Github issue #1, pull request #2, report and fix by Einar Lielmanis).
- Don't pass -L and -I options to the C compiler unless necessary.
- Compile and install the shared library zip.cmxs.
  (Contributed by E. Millon.)
- ocamlfind: install under 'zip' and 'camlzip' package names.
jperkin pushed a commit that referenced this issue Aug 16, 2017
0.55     2017-07-23

- Skip all the tests unless List::SomeUtils 0.56 is installed. This fixes the
  issue where trying to install the new List::SomeUtils ends up pulling this
  distribution, which then fails because an older LSU is installed but doesn't
  export mode(). Reported by John SJ Anderson. GH #1.


0.54     2017-07-22

- Added a new function, mode(), requested by Jerrad Pierce. GH #2.
jperkin pushed a commit that referenced this issue Aug 16, 2017
pytest-xdist 1.19.1 (2017-08-10)
================================

Bug Fixes
---------

- Fix crash when transferring internal pytest warnings from workers to the
  master node. (`#214 <https://github.com/pytest-dev/pytest-
  xdist/issues/214>`_)


pytest-xdist 1.19.0 (2017-08-09)
================================

Deprecations and Removals
-------------------------

- ``--boxed`` functionality has been moved to a separate plugin, `pytest-forked
  <https://github.com/pytest-dev/pytest-forked>`_. This release now depends on
  `` pytest-forked`` and provides ``--boxed`` as a backward compatibility
  option. (`#1 <https://github.com/pytest-dev/pytest-xdist/issues/1>`_)


Features
--------

- New ``--dist=loadscope`` option: sends group of related tests to the same
  worker. Tests are grouped by module for test functions and by class for test
  methods. See ``README.rst`` for more information. (`#191 <https://github.com
  /pytest-dev/pytest-xdist/issues/191>`_)

- Warnings are now properly transferred from workers to the master node. (`#92
  <https://github.com/pytest-dev/pytest-xdist/issues/92>`_)


Bug Fixes
---------

- Fix serialization of native tracebacks (``--tb=native``). (`#196
  <https://github.com/pytest-dev/pytest-xdist/issues/196>`_)
@jperkin jperkin self-assigned this Aug 25, 2017
@jperkin
Copy link
Collaborator

jperkin commented Aug 25, 2017

Updated to 2.2 in 2016Q4.

@jperkin jperkin closed this as completed Aug 25, 2017
jperkin pushed a commit that referenced this issue Sep 5, 2017
0.423	2017-08-22
    - sync version with List::MoreUtils::XS
    - add examples for binsert/bremove (LMU::XS issue #1, Thanks to shawnlaffan)
    - update tests to latest List::MoreUtils::XS
    - recommend List::MoreUtils::XS 0.423

0.420_001	2017-08-15
    - add some new functions:
      * qsort (XS only)
      * binsert
      * bremove
      * listcmp
      * arrayify (RT#17230)
      * samples (RT#77562)
      * minmaxstr (RT#106401)
      * lower_bound
      * upper_bound
      * equal_range
      * frequencies
      * occurrences
      * mode (RT#91991)
      * zip6 (RT#42921)
      * reduce_0
      * reduce_1
      * reduce_u
    - improve tests
    - make List::MoreUtils::XS independent from List::MoreUtils
      Note that List::MoreUtils::XS doesn't guarantee API stability - this
      feature is only provided through List::MoreUtils as frontend.
    - improve Makefile.PL regarding some build artifacts
jperkin pushed a commit that referenced this issue Sep 20, 2017
Changes in 0.22
---------------
- RT 108273 remove PREREQ_FATAL

Changes in 0.21
---------------
- Fix bug relating to scopes and change required field.  It's a temporary Fix
  until something more permanent can be put into place; effectively, it just
  forces the change-required field to match properly.

Changes in 0.20
---------------
- Add capability to get any number of fields starting with a specific string.
- Misc fixes and documentation amendments from Miniconf NYC.

Changes in 0.19
---------------
- Add 'scopes' capability to fields.

Changes in 0.18
---------------
- Bugfix Github issue #1 regarding expression concatenation.
- Bugfix Github issue #4 regarding perldoc parse problems in Net::Gnats.
- Fixed stubbed subroutines which caused test failures for Perl 5.10.1.
- Added additional tests and documentation for Net::Gnats::Command.
- Added additional tests and documentation for Net::Gnats::Command::ADMV.
- Removed dead code from Net::Gnats::Session.
- Bugfix Github issue #6 regarding wrong type returned for query() method.
- Added additional tests and documentation for Net::Gnats get_field_type.

Changes in 0.17
---------------
- Added ability to submit a PR from a PR object.

Changes in 0.16
---------------
- Set consistent versioning across all modules.
- Added 'strictures' to PREREQ_PM.

Changes in 0.15
---------------
- Completely reworked sessions and issuing commands.
- Comprehensive tests, removing all stubs.
- Known issue: attachments not managed
- Known issue: after submit of PR, new PR number not captured into the PR object.
jperkin pushed a commit that referenced this issue Mar 14, 2018
1.15  2018-03-04 MANWAR
      - Resolved issue RT #124646 (use vars → our), thanks @srezic.

1.14  2018-03-03 MANWAR
      - Resolved issue RT #124645 (undeclared dependencies), thanks @srezic.

1.13  2018-03-01 MANWAR
      - Merged PR #1, thanks @level420.
      - Tidied Changes file.
      - Tidied up Makefile.PL script.

1.12
      - add 'use warnings' to code and tests.
      - use File::Temp to create temporary directory for testing. RT #92833
      - Test of RT #64160 (CVE-2010-4410 -- CRLF injection and response splitting via header()) added.
      - depend on Test::Exception
jperkin pushed a commit that referenced this issue Apr 26, 2018
Upstream changes:
1.06      2018-04-19 15:27:23Z
        - merge last commits from adamk's svn repository, which bump the
          minimum version of Scalar::Util in some cases (PR #1)
jperkin pushed a commit that referenced this issue May 15, 2018
Upstream changes:
2017-12-27  Pádraig Brady  <P@draigBrady.com>

        version 8.29
        * NEWS: Record release date.

2017-12-23  Pádraig Brady  <P@draigBrady.com>

        tests: avoid false failure on AIX 7.2
        * tests/tail-2/pipe-f.sh: Close stdout in a subshell
        to ensure the current shell isn't impacted.  Subsequent
        piped commands like `echo foo | blah` were seen to fail
        due to the previous closing of stdout.
        Reported by Assaf Gordon.

        doc: describe recent build checks for 32 bit time_t
        * README: Document the new handling of 32 bit time_t,
        with examples of how to build in 64 bit mode on AIX.
        Also mention that GNU make is desired on AIX
        due to its mishandling of the "[" target.
        Suggested by Assaf Gordon.

2017-12-21  Pádraig Brady  <P@draigBrady.com>

        tests: fix recent portability issues on solaris 10
        * tests/misc/ptx.pl: Escape the '^' character which is
        otherwise considered as a line continuation character.
        * tests/misc/shred-remove.sh: sed doesn't support \n.

        maint: remove reference to excluded changelog item
        * build-aux/git-log-fix: Remove old entry.

2017-12-20  Pádraig Brady  <P@draigBrady.com>

        maint: add doc/coverage to .gitignore
        * .gitignore: Ignore the generated coverage report.

        doc: remove older ChangeLog items
        * Makefile.am: Update the oldest documented version
        to 8.20 which is now about 5 years old.

2017-12-18  Bernhard Voelker  <mail@bernhard-voelker.de>

        doc: mention which privileges are needed to chmod
        POSIX specification for chmod(1):
        https://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html

        * doc/coreutils.texi (chmod invocation): Add a sentence about who can
        change the file mode bits of a file - (almost) a copy from what POSIX
        requires.

        Fixes https://bugs.gnu.org/29207.

2017-12-16  Pádraig Brady  <P@draigBrady.com>

        tests: fix recent regressions with dash
        * tests/misc/timeout.sh: dash outputs the "Killed"
        message to stderr rather than the terminal.
        * tests/misc/usage_vs_getopt.sh: dash doesn't yet
        support the POSIX proposed $'...' shell quoting syntax.

        build: avoid a signed overflow warning in ptx
        * src/ptx.c (fix_output_parameters): GCC 6.3.1 with
        ./configure --enable-single-binary would give:
          error: assuming signed overflow does not occur
          when simplifying conditional to constant [-Werror=strict-overflow]
            if (file_index > 0)
        So change the type of file_index to signed (size_t).

2017-12-11  Bernhard Voelker  <mail@bernhard-voelker.de>

        maint: adjust for the renamed nstrfime gnulib module
        * bootstrap.conf: s/strftime/nstrfrime/.

2017-12-11  Pádraig Brady  <P@draigBrady.com>

        build: update gnulib submodule to latest
        * gnulib: Update with various build/test fixes.

        tests: fix false failure in new dd/nocache_eof test
        * test/dd/nocache_eof.sh: Also handle fadvise64_64 which is
        used on 32 bit x86.  Note strace internally maps fadvise64_64
        to {arm,xtensa}_fadvise64_64.

        tail: fix tailing non seekable files on certain systems
        * src/tail.c (tail_bytes): On systems were blksize_t is unsigned
        and the same size or wider than off_t (android for example),
        our initialized (off_t) -1 would be promoted to unsigned before
        comparison, and thus fail to follow the appropriate path.
        * tests/tail-2/tail-c.sh: Add a test case.
        * NEWS: Mention the fix.
        This issue was introduced in commit v8.23-47-g2662702
        Reported at https://github.com/termux/termux-app/issues/233

        build: avoid build failure without sys/mtio.h
        * m4/jm-macros.m4: Check for the header.
        * src/dd.c: Avoid the workaround where the header
        is not available (on non glibc systems).
        * src/shred.c: Likewise.

        doc: reorganize ls -k and --time-style help
        * src/ls.c (usage): Clarify -k only applies to -s usage
        and directory 'total' lines.  Move the description
        of TIME_STYLE out of the option section as it was awkward
        to read and write there within 80 columns.

2017-12-10  Pádraig Brady  <P@draigBrady.com>

        doc: clarify numeric setuid handling in chmod man page
        * man/chmod.x: Update the information to state one can
        clear the setuid and setgid bits for directories numerically
        using an additional leading '0' or a leading '='.
        That has been supported since v8.15-64-g8931cdb.
        Fixes https://bugs.gnu.org/29390

        doc: shred: change 'truncate' to the more descriptive 'deallocate'
        * doc/coreutils.texi (shred invocation): s/truncate/deallocate/.
        * src/shred.c (usage): Likewise.
        Fixes https://bugs.gnu.org/29317

        doc: clarify that cp --force may recreate files
        * doc/coreutils.texi (cp invocation): The language used
        to describe recreating the file was a little confusing
        as it mentioned opening a removed file.
        Fixes https://bugs.gnu.org/29315

2017-12-04  Kamil Dudka  <kdudka@redhat.com>

        doc: fix default QUOTING_STYLE for %N format of stat(1)
        * doc/coreutils.texi (stat invocation): The default value
        of QUOTING_STYLE for the %N format of 'stat --printf' is
        'shell-escape-always'.
        Fixes https://bugs.gnu.org/29563
        Reported by Christian Groessler at
        https://bugzilla.redhat.com/1520399#c3

2017-12-02  Jean Delvare  <jdelvare@suse.de>

        tests: make ls/block-size more readable
        * tests/ls/block-size.sh: The output of the test was hard to read. Add
        comments saying what we are testing to make it easier to understand.

2017-11-29  Bernhard Voelker  <mail@bernhard-voelker.de>
            Pádraig Brady  <P@draigBrady.com>

        tests: verify usage vs. getopt
        Verify that all options mentioned in usage are actually recognized
        by the program.

        * tests/misc/usage_vs_getopt.sh: Add test.
        * tests/local.mk (all_tests): Reference it.

2017-11-29  Pádraig Brady  <P@draigBrady.com>

        readlink: remove superfluous comma from usage output
        * src/readlink.c (usage): Remove ',' after --quiet option.

2017-11-29  Bernhard Voelker  <mail@bernhard-voelker.de>

        all: use consistent diagnostics for unknown long options
        Previously, e.g. cksum failed to output the offending unknown long
        option:
          $ cksum --unknown-opt
          cksum: invalid option -- '-'
          Try 'cksum --help' for more information.
        i.e., it tried to diagnose '-' as short option.
        Instead, it should diagnose the unknown long option:
          $ cksum --unknown-opt
          cksum: unrecognized option '--unknown-opt'
          Try 'cksum --help' for more information.

        * src/cksum.c (long_options): Add struct with null entry only.
        (main): Use it in the getopt_long call.
        * src/dd.c: Likewise.
        * src/hostid.c: Likewise.
        * src/hostname.c: Likewise.
        * src/link.c: Likewise.
        * src/logname.c: Likewise.
        * src/nohup.c: Likewise.
        * src/sleep.c: Likewise.
        * src/tsort.c: Likewise.
        * src/unlink.c: Likewise.
        * src/uptime.c: Likewise.
        * src/users.c: Likewise.
        * src/whoami.c: Likewise.
        * src/yes.c: Likewise.
        * NEWS (Improvements): Mention the fix.

2017-11-29  Pádraig Brady  <P@draigBrady.com>

        test: fix issues with tests/cp/preserve-mode.sh
        * tests/cp/preserve-mode.sh: This was the only use of awk,
        which may not be available on the system resulting
        in an ineffective test.  Also the permissions bits for
        directories were not being checked at all.

        build: update gnulib submodule to latest
        * gnulib: Update with various build/test fixes.

2017-11-28  Pádraig Brady  <P@draigBrady.com>

        build: update gnulib submodule to latest
        * gnulib: Update including various build fixes.

2017-11-27  Bernhard Voelker  <mail@bernhard-voelker.de>

        timeout: also support short -v option
        * src/timeout.c (main): Add short option character 'v' to getopt_long
        call.
        * tests/misc/timeout.sh: Run the test both for the long and the short
        option.

2017-11-25  Pádraig Brady  <P@draigBrady.com>

        dd: support iflag=direct with arbitrary sized files
        * src/dd.c (iread): Handle read error with a non-aligned
        file offset in the O_DIRECT case.  This is not an issue
        on XFS at least, but on EXT4 the final read will return
        EINVAL rather than the expected 0 to indicate EOF.
        * tests/dd/direct.sh: Test the iflag=direct case also.
        * NEWS: Mention the improvement.

2017-11-24  Pádraig Brady  <P@draigBrady.com>

        timeout: add --verbose to diagnose timeouts
        This is useful as handling in shell is complicated
        with the varying exit status in the --kill-after case.

        * src/timeout.c (main): Handle '-v' and store
        COMMAND for the diagnostic.
        (cleanup): Diagnose the signal name before sending.
        (usage): Document -v, --verbose.
        * doc/coreutils.texi (timeout invocation): Likewise.
        * tests/misc/timeout.sh: Add a test case.
        * NEWS: Mention the new feature
        Fixes https://bugs.gnu.org/21760

2017-11-19  Pádraig Brady  <P@draigBrady.com>

        tail: seek to the end of block devices
        * src/tail.c (tail_bytes): Try lseek(..., SEEK_END) when
        we can't determine the file size.
        * tests/tail-2/end-of-device.sh: Add a new root only test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the improvement.
        Paul Eggert suggested using lseek() (rather than ioctl(BLKGETSIZE64)).
        Fixes https://bugs.gnu.org/29259

2017-11-14  Bernhard Voelker  <mail@bernhard-voelker.de>

        maint: include the module year2038 from gnulib
        * bootstrap.conf (gnulib_modules): Add 'year2038' to ensure that time_t
        is 64-bit (and thus works after 2038).

        Suggested by Bruno Haible in
        https://lists.gnu.org/r/bug-gnulib/2017-11/msg00022.html

2017-11-14  Bernhard Voelker  <mail@bernhard-voelker.de>

        maint: update gnulib to latest
        * gnulib: Update - mainly for the recent year2038 changes.
        * tests/init.sh: Update from gnulib/tests/init.sh.

2017-11-09  Assaf Gordon  <assafgordon@gmail.com>

        doc: add github issue/pull-request templates
        These templates instruct contributors not to use github, and instead
        use the upstream GNU development resources. Discussed in
        http://lists.gnu.org/archive/html/coreutils/2017-11/msg00007.html .

        * .github/ISSUE_TEMPLATE.txt,
          .github/PULL_REQUEST_TEMPLATE.txt: New files.

2017-11-08  Jim Meyering  <meyering@fb.com>

        maint: make hook script reject "/archive/html" in lists.gnu.org URLS
        * scripts/git-hooks/commit-msg: Require the abbreviated "/r/"
        form in any log message URL.

        maint: shorten https://lists.gnu.org/archive/html/... links
        Each /archive/html/ part can be replace with /r/.
        Run this to induce the change:
        git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
        * TODO: Perform that substitution.
        * bootstrap: Likewise.
        * src/sort.c (sequential_sort): Likewise.
        * src/tail.c (tail_file): Likewise.
        * tests/misc/sort-merge-fdlimit.sh: Likewise.
        * tests/misc/stty-row-col.sh: Likewise.
        * tests/misc/unexpand.pl: Likewise.
        * tests/rm/readdir-bug.sh: Likewise.
        * tests/tail-2/inotify-rotate.sh: Likewise.

2017-11-07  Thomas Deutschmann  <whissi@gentoo.org>

        tests: avoid false failure with inaccessible mount points
        * tests/ls/readdir-mountpoint-inode.sh: Skip the test
        if any mount points are inaccessible by the current user.
        Fixes https://bugs.gnu.org/29167
        Reported at: https://bugs.gentoo.org/353164

2017-11-06  Bernhard Voelker  <mail@bernhard-voelker.de>

        doc: fix "Up" field of realpath usage examples
        Older versions of 'makeinfo' choke on a missing reference:

          ./doc/coreutils.texi:14177: `Realpath usage examples' has no Up field\
          (perhaps incorrect sectioning?).
          makeinfo: Removing output file `doc/coreutils.info' due to errors; \
          use --force to preserve.

        * doc/coreutils.texi (realpath invocation): Add a menu referencing
        the usage examples - introduced in v8.27-91-g7449f0d.

2017-11-06  Pádraig Brady  <P@draigBrady.com>

        maint: ensure https:// URLs are used in --help and man pages
        * configure.ac(AC_INIT): Specify the URL explicitly, so we're
        not dependent on unreleased autoconf.

2017-10-31  Assaf Gordon  <assafgordon@gmail.com>

        stat: output default formats for --terse in usage
        Suggested by L A Walsh in https://bugs.gnu.org/28763 .

        * src/stat.c (fmt_terse_fs): Define format for --terse -f here.
        (fmt_terse_regular): Define format for --terse here.
        (fmt_terse_selinux): Likewise for when SELinux is enabled.
        (default_format): Use the above constants.
        (usage): Output the formats for the terse modes.

2017-10-30  Pádraig Brady  <P@draigBrady.com>

        df: fix hang with fifo argument
        * src/df.c (main): stat() before open(), and avoid
        the optional open when given a fifo argument.
        * tests/df/unreadable.sh: Add a test case.
        * NEWS: Mention the fix.
        Fixes https://bugs.gnu.org/29038

2017-10-28  Jim Meyering  <meyering@fb.com>

        build: ls.c: apply _GL_ATTRIBUTE_PURE to more functions
        * src/ls.c (DEFINE_SORT_FUNCTIONS): Apply _GL_ATTRIBUTE_PURE
        to each strcmp-derived function definition, since GCC8 with
        -Wsuggest-attribute=pure now warns it is needed.

2017-10-26  Vincent Lefevre  <vincent@vinc17.net>

        doc: reference statfs(2) in the stat(1) man page
        * man/stat.x (SEE ALSO): Mention statfs(2) in addition to stat(2).
        Note statfs() is generally used rather than statvfs(),
        so we'll defer that reference to the SEE ALSO section of statfs(2).
        Fixes https://bugs.gnu.org/28989

2017-10-25  Pádraig Brady  <P@draigBrady.com>

        tests: avoid false failure when O_DIRECT isn't supported
        * tests/dd/nocache_eof.sh: Only run the O_DIRECT tests
        when 512 byte alignment is supported.  Otherwise with older
        XFS on systems with > 1MiB pages, or on file systems not
        supporting O_DIRECT, there would have been false failures.
        * tests/dd/direct.sh: Clarify the skip message.

2017-10-25  Pádraig Brady  <P@draigBrady.com>

        dd: fix nocache regions passed to posix_fadvise()
        Previously with oflag=direct the call to invalidate_cache()
        was not passed to the kernel, as it was less than a page size,
        and a subsequent call was not made to invalidate the pending space.
        Similarly with oflag=nocache the pending space at EOF was
        not invalidated.  Even though these amount to only a single page
        in the page cache it can be significant.  For example on
        XFS before kernel patch v4.9-rc1-4-g0ee7a3f, O_DIRECT files
        would have been read inefficiently if any pages were cached,
        even if they were already synced to storage.

        * src/dd.c (i_nocache_eof, o_nocache_eof): New bools used
        to control when we want invalidate_cache(,0) to clear to EOF.
        (cache_round): Use IO_BUFSIZE (currently 132KiB) to minimize
        calls to the relatively expensive advise function, rather
        than page_size.  This also makes it clear that while the
        kernel function operates on pages, this size is chosen for
        performance reasons.
        (invalidate_cache): Refactor to share more code between
        input and output paths. Use i_nocache_eof and o_nocache_eof
        rather than proxying off max_records.  Ensure we
        invalidate full pages when clearing to EOF as the kernel
        will ignore any non complete pages.  Fix the offset used
        for the output path.
        (dd_copy): Invalidate the cache of the input after the
        offset is updated, for consistency and so we don't try to
        invalidate before the start of the file.  When we read
        EOF on input, set flags so that we invalidate to EOF.
        (main): Invalidate to EOF in more cases, by depending
        on the i_nocache_eof and o_nocache_eof flags.
        * doc/coreutils.texi (dd invocation): Clarify the alignment
        and persisted caveats on the example applying "nocache"
        to part of a file.
        * tests/dd/nocache_eof.sh: A new test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Issue reported by Eric Bergen.

2017-10-24  Michael Stone  <mstone@debian.org>

        doc: mention QUOTING_STYLE env var in ls man page
        * src/ls.c (usage): Mention QUOTING_STYLE with the --quoting-style
        option, and indicate it has lower precedence than that option.

2017-10-24  Pádraig Brady  <P@draigBrady.com>

        maint: apply suggested cleanup to recent stty.c change
        This should have been part of commit v8.28-17-gf926f7c
        * src/stty.c (check_argument): Align line continuation chars,
        and ensure the function macro is immune to usage with if/else.
        Suggested by Jim Meyering and Paul Eggert.

        b2sum: fix crash with --check and truncated input
        * src/md5sum.c (split_3): Ensure we don't walk off
        the end of the string.
        * tests/misc/b2sum.sh: Add test cases.
        Fixes https://bugs.gnu.org/28860

2017-10-24  Pádraig Brady  <P@draigBrady.com>

        stty: fix processing of options when -F is specified
        This was a latent issue that became significant with
        the addition of the -F option in FILEUTILS-3_16n-56-ge46a424

        * src/stty.c (apply_settings): Refactor argument checking
        to a function macro.  Augment the argument check to ignore
        NULLed out arguments (already processed -F).
        * NEWS: Mention the fix.
        * tests/misc/stty-invalid.sh: Add a test case.
        Fixes https://bugs.gnu.org/28859

2017-10-24  Pádraig Brady  <P@draigBrady.com>

        timeout: fix a small race that would ignore command exit
        This fixes a regression from commit v8.26-39-g2f69dba

        * src/timeout.c (block_cleanup_and_chld): Rename from block_cleanup
        to indicate we also block SIGCHLD to avoid the race where SIGCHLD
        fires between waitpid() polling and sigsuspend() waiting for a signal.
        * NEWS: Mention the fix.

2017-10-24  Thomas Jarosch  <thomas.jarosch@intra2net.com>

        timeout: fix regression when invoked with blocked SIGCHLD
        We inherit the signal mask from our parent process,
        therefore ensure SIGCHLD is not blocked.

        If SIGCHLD is blocked, sigsuspend() won't be interrupted
        when the child process exits and we hang until the timeout (SIGALRM).

        This fixes a regression from commit v8.26-39-g2f69dba

        * src/timeout.c (install_sigchld): Ensure SIGCHLD is unblocked.
        * NEWS: Mention the issue.

2017-10-02  Pádraig Brady  <P@draigBrady.com>

        build: reinstate distribution of man pages
        man pages change little between systems,
        so falling back to distributed pages make sense
        when cross compiling or lacking perl.

        * man/local.mk: Add all man pages to EXTRA_DIST
        so that they're distributed in the generated tarball.
        Use the dummy-man page generator if cross compiling.
        Set TZ to avoid a distcheck failure where man pages
        used a diffent month than those rebuilt (with a .timestamp).
        * man/dummy-man: Only fall back to generating a stub
        if copying an existing man page fails.
        * man/help2man: Sync portable TZ=UTC0 specification
        from upstream help2man.
        * NEWS: Mention the build-related change.
        Fixes https://bugs.gnu.org/28574

2017-10-02  Pádraig Brady  <P@draigBrady.com>

        maint: remove a duplicate entry from THANKS
        * .mailmap: Prefer Colin Watson's last used email address.

2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>

        copy: revert recent patch for vulnerable dirs
        I plan to propose a better patch to catch vulnerable parent
        directories.
        * NEWS, doc/coreutils.texi (Target directory): Document this.
        * src/cp.c, src/install.c, src/ln.c, src/mv.c:
        Do not include targetdir.h.
        (target_directory_operand): Remove test for vulnerable parents.
        * src/cp.c (stat_target_operand): Remove.  All uses removed.
        * src/local.mk (noinst_HEADERS): Remove src/targetdir.h.
        (src_ginstall_SOURCES, src_cp_SOURCES, src_ln_SOURCES)
        (src_mv_SOURCES): Remove src/targetdir.c.
        * src/targetdir.c, src/targetdir.h: Remove.
        * tests/mv/vulnerable-target.sh: Remove.
        * tests/local.mk (all_root_tests): Remove it.

2017-09-24  Pádraig Brady  <P@draigBrady.com>

        tests: fix test hang on case insenitive file systems
        * tests/split/filter.sh: Due to an invalid 'FILE = zero.in'
        construct trying to initialize a FILE variable, it would
        instead try to run the FILE command which is present on
        macOS 10.13 with APFS.
        We also remove a redundant duplicate test clause introduced
        during a rebase, and simplify the piped timeout command,
        to avoid requiring a subshell and associated quoting.
        * THANKS.in: Add the reporter Jack Howarth.
        Fixes https://bugs.gnu.org/28506

2017-09-21  Pádraig Brady  <P@draigBrady.com>

        tests: avoid a false failure in expr test with UTF8
        * tests/misc/expr.pl: Skip the quote varying tests in
        the multi-byte locales as these tests aren't that interesting
        in those locales.  Also ERR_SUBST is already defined for
        some tests so awkward to redefine to munge UTF8 quotes to ASCII.

2017-09-20  Assaf Gordon  <assafgordon@gmail.com>

        expr: add detailed syntax error messages
        Show offending argument instead of a generic 'syntax error' message.
        Suggested by Bernhard Voelker in https://bugs.gnu.org/28461#13 .

        * src/expr.c (syntax_error): Remove.
        (required_more_args): New function.
        (eval7, main): Replace syntax_error call with detailed die message.
        * tests/misc/expr.pl: Add tests for new messages.

2017-09-20  Pádraig Brady  <P@draigBrady.com>

        maint: fix new syntax-check failures from HTTPS adjustments
        * cfg.mk [old_NEWS_hash]: update with `make update-NEWS-hash`.
        [sc_long_lines]: Avoid flagging (long) URLs in NEWS.
        * src/sort.c: Tweak to a shorter line.
        * src/tail.c: Likewise.
        Introduced in v8.28-4-gbe87d61

        maint: fix new syntax check failures from copy restrictions
        * doc/coreutils.texi: Remove doubled word.
        * src/targetdir.c: Explicitly mark exported function.
        * tests/local.mk: This is not a root only test.
        * tests/mv/vulnerable-target.sh: Use returns_.
        Introduced in v8.28-3-g44ccd1c

        shred: reinstate --remove file name length obfuscation
        This was unintentionally removed in v8.27-60-g2ae1460
        * src/shred.c (wipename): Interate through all name lengths.
        * tests/misc/shred-remove.sh: Add test cases.
        * NEWS: Mention the bug fix.
        Fixes https://bugs.gnu.org/28507

2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>

        maint: copy bootstrap from Gnulib

        all: prefer HTTPS in URLs

        copy: check for vulnerable target dirs
        * NEWS, doc/coreutils.texi (Target directory): Document this.
        * src/cp.c, src/install.c, src/ln.c, src/mv.c: Include targetdir.h.
        (target_directory_operand): Use the new targetdir_operand_type
        function to check for vulnerable target directories.
        * src/cp.c (stat_target_operand): New function.
        (target_directory_operand, do_copy): Use it.
        * src/local.mk (noinst_HEADERS): Add src/targetdir.h.
        (src_ginstall_SOURCES, src_cp_SOURCES, src_ln_SOURCES)
        (src_mv_SOURCES): Add src/targetdir.c.
        * src/targetdir.c, src/targetdir.h: New files.
        * tests/mv/vulnerable-target.sh: New test.
        * tests/local.mk (all_root_tests): Add it.

2017-09-14  Bernhard Voelker  <mail@bernhard-voelker.de>

        ptx: avoid infloop due to zero-length matches with -S regex
        * src/ptx.c (find_occurs_in_text): Die with an appropriate error
        diagnostic when the given regular expression returns a match of
        length 0.
        * tests/misc/ptx.pl (S-infloop): Add a test.
        * NEWS (Bug fixes): Mention the fix.

        Fixes https://bugs.gnu.org/28417 which was detected using
        Symbolic Execution techniques developed in the course of the
        SYMBIOSYS research project at COMSYS, RWTH Aachen University.

2017-09-02  Pádraig Brady  <P@draigBrady.com>

        maint: post-release administrivia
        * NEWS: Add header line for next release.
        * .prev-version: Record previous version.
        * cfg.mk (old_NEWS_hash): Auto-update.

        version 8.28
        * NEWS: Record release date.

2017-09-01  Pádraig Brady  <P@draigBrady.com>

        tests: fix false failure in recent ls --hyperlink test
        * tests/ls/hyperlink.sh: If the hostname or any part of
        the absolute path would be changed due to URL encoding,
        the test would fail.  Therefore simplify to remove
        these components of the URL from consideration.

        maint: avoid a syntax-check failure
        * .gitignore: Remove lines indicated by sc_gitignore_redundant
        in a freshly checked out repo.

2017-08-31  Pádraig Brady  <P@draigBrady.com>

        tests: exclude the expensive gnulib fts-tests
        * gnulib: The only change in this gnulib update
        is the tagging of the fts-tests module as longrunning,
        which gnulib-tool currently implicitly excludes.
        This test was seen to take about 20s and 285MB.
        Reported by Assaf Gordon on space restricted VMs.

        tty: don't distinguish input errors
        * src/tty.c (main): Don't distinguish ENOTTY from other errors,
        because isatty() doesn't portably distinguish errors.
        Solaris returns ENOENT for all input errors for example.
        Musl also returns ENOENT, and ENODEV may be returned as disscussed at:
        http://openwall.com/lists/musl/2017/04/06/6
        * tests/misc/tty.sh: Adjust accordingly.

        tests: avoid printf '0*d' construct unsupported by ash
        * tests/ln/sf-1.sh: Generate specific length with space padding
        which is supported.
        Reported by Assaf Gordon on Alpine Linux.

2017-08-31  Pádraig Brady  <P@draigBrady.com>

        tests: skip tests upon failure to set SELinux context
        On some setups the root:object_r:tmp_t context is invalid.
        This does indicate a limitation in the test framework,
        but for now we'll relax this to skipping the tests.
        The tests still run on a Fedora 25 system for example.

        * tests/cp/cp-a-selinux.sh: Upon chcon error, skip rather than ERROR.
        * tests/install/install-Z-selinux.sh: Likewise.
        * tests/misc/chcon.sh: Likewise.
        * tests/misc/runcon-no-reorder.sh: Likewise.
        * tests/misc/selinux.sh: Likewise.
        * tests/mkdir/restorecon.sh: Likewise.

2017-08-30  Kamil Dudka  <kdudka@redhat.com>

        expr: fix a recently introduced memory leak
        * src/expr.c (eval6): Free memory allocated by mbs_logical_substr().

        Introduced in v8.27-47-ga9f2be5.  Detected by Coverity Analysis:

        Error: RESOURCE_LEAK:
        src/expr.c:851: leaked_storage: Variable "s" going out of scope
        leaks the storage it points to.
        849|             char *s = mbs_logical_substr (l->u.s, pos, len);
        850|             v = str_value (s);
        851|->         }
        852|         freev (l);
        853|         freev (i1);

2017-08-30  Pádraig Brady  <P@draigBrady.com>

        build: fix build of renameat2 on Alpine Linux
        * gnulib: The only change included in this update
        it the added check for the presence of <linux/fs.h>
        which is not present on Alpine Linux by default.

        tty: fix exit code with EINVAL
        * src/tty.c (main): All systems mention that isatty()
        man return EINVAL as well as (the POSIX compliant) ENOTTY.
        Also Centos 6 was seen to return EINVAL from ttyname().
        * tests/misc/tty.sh: Fix a test issue where we assume
        standard input is always a valid tty.
        Reported by Assaf Gordon on OpenSolaris 5.10 and 5.11,
        and Centos 6.5

2017-08-30  Pádraig Brady  <P@draigBrady.com>

        runcon: revert "disable use of the TIOCSTI ioctl"
        This reverts commit v8.27-97-g8cb06d4 because
        the setsid() fallback was not implemented correctly
        and disabling the ioctl was not a complete solution
        to the security issue of the child being passed
        the tty of the parent.

        Given runcon is not really a sandbox command,
        the advice is to use `runcon ... setsid ...`
        to avoid this particular issue.

2017-08-30  Pádraig Brady  <P@draigBrady.com>

        stat: fix determination of max name length on BSD systems
        We only use one of statfs or statvfs for `stat -f`
        and on the BSDs we use statfs which doesn't have the
        f_namelen member.  However on OpenBSD and later FreeBSD
        systems statfs does provide f_namemax, so use that.

        * NEWS: Mention the improvement for OpenBSD and FreeBSD.
        * m4/stat-prog.m4: Check for f_namemax in the statfs struct.
        * src/stat.c: Return '?' rather than '*' when we can't
        determine the max length of the file system.
        * tests/ln/sf-1.sh: This test was failing on all BSDs
        due to '*' being returned for the max length which
        caused the test to attempt to create 1Mi+1 names.
        The test now uses a short name when we can't determine
        the max name length to use.

        Reported by Assaf Gordon on various BSD based systems.

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        stat,tail: support "AAFS" AppArmor file system
        * src/stat.c (human_fstype): This file system is used
        to manage AppArmor policy in the Linux kernel.

        all: update gnulib submodule to latest
        * bootstrap: Sync timestamp update.

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        runcon: disable use of the TIOCSTI ioctl
        Similar to the issue with SELinux sandbox (CVE-2016-7545),
        children of runcon can inject arbitrary input to the terminal
        that would be run at the originating terminal privileges.

        The new libseccomp dependency is widely available and used
        on modern SELinux systems, but is not available by default
        on older systems like RHEL6 etc.

        * m4/jm-macros.m4: Check for libseccomp and
        warn if unavailable on selinux supporting systems.
        * src/local.mk: Link runcon with -lseccomp.
        * src/runcon.c (disable_tty_inject): A new function to
        disable use of the TIOCSTI using libseccomp, or with setsid()
        where libseccomp is unavailable.
        * tests/misc/runcon-no-inject.sh: A new test that uses
        python to make the TIOCSTI call, and ensure that doesn't succeed.
        * tests/local.mk: Reference the new test
        * NEWS: Mention the fix.
        Addresses http://bugs.gnu.org/24541

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        ls: support --hyperlink to output file:// URIs
        Terminals such as iTerm2 and VTE based terminals
        (as of version 0.49.1), support hyperlinks when
        passed terminals codes as described at:
        https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda

        * src/ls.c (gobble_file): Allocate an absolute file name to output.
        (quote_name): Output the absolute name with the appropriate codes.
        (file_escape): A new function to encode file names as per rfc8089.
        (main): Handle the new option and call the file_escape_init() helper.
        Disable --dired when --hyperlink is specified.
        (print_dir): Get the absolute file name here too, so that the
        directory name can be linkified.
        * NEWS: Mention the new feature.
        * tests/ls/hyperlink.sh: Add a new test.
        * tests/local.mk: Reference the new test.
        * doc/coreutils.texi (ls invocation): Describe --hyperlink.

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        doc: remove older ChangeLog items
        This saves about 0.5MB uncompressed from the tarball.

        * Makefile.am: Following on from v8.26-34-g2c64bc8
        update the oldest documented version to 8.18 which
        is now about 5 years old.  Also remove older ChangeLogs
        that were previously thought to be for changes not
        in the git history, but are adequately recorded upon review.
        * build-aux/ChangeLog-2007: Remove file.
        * lib/ChangeLog-2007: Likewise.
        * m4/ChangeLog-2007: Likewise.

2017-08-29  Colin Watson  <cjwatson@debian.org>

        env: add --chdir option
        This is useful when chaining with other commands that run commands in a
        different context, while avoiding using the shell to cd, and thus
        having to consider shell quoting the chained command.

        * NEWS (New features): Document the new option.
        * doc/coreutils.texi (env invocation): Likewise.
        * src/env.c (usage): Likewise.
        (main): Implement the new option.
        * tests/misc/env.sh: Test the new option.

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        tests: don't fail tests when failing to write files
        * tests/sample-test: Use framework_error_ rather than fail=1
        * tests/chown/deref.sh: Likewise.
        * tests/chown/preserve-root.sh: Likewise.
        * tests/cp/src-base-dot.sh: Likewise.
        * tests/dd/unblock-sync.sh: Likewise.
        * tests/du/2g.sh: Likewise.
        * tests/du/inacc-dest.sh: Likewise.
        * tests/du/one-file-system.sh: Likewise.
        * tests/fmt/goal-option.sh: Likewise.
        * tests/ln/hard-backup.sh: Likewise.
        * tests/ls/color-dtype-dir.sh: Likewise.
        * tests/ls/m-option.sh: Likewise.
        * tests/ls/stat-dtype.sh: Likewise.
        * tests/ls/time-style-diag.sh: Likewise.
        * tests/ls/x-option.sh: Likewise.
        * tests/misc/chcon.sh: Likewise.
        * tests/misc/nohup.sh: Likewise.
        * tests/misc/od-N.sh: Likewise.
        * tests/misc/sort-compress.sh: Likewise.
        * tests/misc/tac-continue.sh: Likewise.
        * tests/misc/time-style.sh: Likewise.
        * tests/mv/backup-dir.sh: Likewise.
        * tests/mv/dir2dir.sh: Likewise.
        * tests/rm/dir-no-w.sh: Likewise.
        * tests/rm/dir-nonrecur.sh: Likewise.
        * tests/rm/inaccessible.sh: Likewise.
        * tests/rm/interactive-always.sh: Likewise.
        * tests/rm/interactive-once.sh: Likewise.
        * tests/rm/rm3.sh: Likewise.
        * tests/rm/v-slash.sh: Likewise.
        * tests/touch/relative.sh: Likewise.

2017-08-29  Josef Cejka  <jcejka@suse.com>
            Bernhard Voelker  <mail@bernhard-voelker.de>

        df: avoid stat() for dummy file systems with -l
        When systemd is configured to automount a remote file system - see
        'man systemd.automount(5)', then the mount point is initially
        mounted by systemd with the file system type "autofs".
        When the resource is used later on, then the wanted file system is
        mounted over that mount point on demand.
        'df -l' triggered systemd to mount the file system because it called
        stat() on the mount point.
        Instead of single-casing "autofs" targets, we can avoid stat()ing
        all dummy file systems (which includes "autofs"), because those are
        skipped later on in get_dev() anyway.

        *src/df.c (filter_mount_list): Also skip dummy file systems unless
        the -a option or a specific target are given.
        * NEWS: Mention the fix.


        Fixes http://bugzilla.suse.com/show_bug.cgi?id=1043059

2017-08-29  Assaf Gordon  <assafgordon@gmail.com>

        doc: add 'realpath usage examples' section
        * doc/coreutils.texi (Realpath usage examples): New section.

2017-08-29  Assaf Gordon  <assafgordon@gmail.com>

        doc: fix realpath index entry
        The 'readlink' node has '@findex realpath' in it. This results in
            info doc/coreutils.info realpath
        incorrectly jumping to the 'readlink' node (instead of the 'realpath'
        node). Change it to @cindex instead.

        * doc/coreutils.texi (readlink): Change '@findex realpath' to @cindex.

2017-08-29  Assaf Gordon  <assafgordon@gmail.com>

        realpath: improve usage description for --relative-{to,base}
        * src/realpath.c (usage): Explicitly say 'DIR' instead of 'FILE' for
        --relative-{to,base} parameters, to avoid giving the impression
        that regular files can be used as relative base.
        * doc/coreutils.texi (realpath): Same.

2017-08-25  Pádraig Brady  <P@draigBrady.com>

        ls: consistently quote symlink targets
        * src/ls.c (gobble_file): Disable the optimization to avoid quoting
        if the symlink target itself needs quoting.  This was introduced
        with the quoting alignment adjustments in v8.25-106-g01971c0
        * tests/ls/symlink-quote.sh: Add a test.
        * tests/local.mk: Reference the test.
        * NEWS: Mention the fix.

2017-08-25  Pádraig Brady  <P@draigBrady.com>

        tail: reinstate inotify use with FIFOs
        commit v8.27-44-g18f6b22 was too aggressive in
        only allowing inotify use with regular files. This will
        support responsive processing of `tail -f fifo | ...`

        * src/tail.c (any_non_regular): Adjust to allow FIFOs
        since inotify supports these well.
        * tests/tail-2/inotify-only-regular.sh: Adjust comment.

2017-08-19  Pádraig Brady  <P@draigBrady.com>

        maint: avoid a syntax check failure
        * src/sort.c: Don't include stdio--.h as fopen() is no longer used.

        tests: fix issues on alpine linux
        * tests/misc/seq-epipe.sh: Remove stale comment.
        * tests/misc/sort-debug-warn.sh: musl doesn't indicate a set_locale()
        failure with missing locales, so avoid a test portion in that case.
        * tests/misc/wc-files0.sh: Avoid a bug on older ash implementations.
        Addresses http://bugs.gnu.org/28054

2017-08-17  Paul Eggert  <eggert@cs.ucla.edu>

        ptx: fix some integer overflow bugs
        Problem reported by Lukas Zachar at:
        http://bugzilla.redhat.com/1482445
        * src/ptx.c (line_width, gap_size, maximum_word_length)
        (reference_max_width, half_line_width, before_max_width)
        (keyafter_max_width, truncation_string_length, compare_words)
        (compare_occurs, search_table, find_occurs_in_text, print_spaces)
        (fix_output_parameters, define_all_fields):
        Use ptrdiff_t, not int, for object offsets and sizes.
        (WORD, OCCURS): Use ptrdiff_t, not short int.
        (WORD_TABLE, number_of_occurs, generate_all_output):
        Prefer ptrdiff_t to size_t where either will do.
        (total_line_count, file_line_count, OCCURS, fix_output_parameters)
        (define_all_fields):
        Use intmax_t, not int, for line counts.
        (DELTA): Remove.  All uses changed.
        (OCCURS, find_occurs_in_text, fix_output_parameters):
        Use int, not size_t, for file indexes.
        (tail_truncation, before_truncation, keyafter_truncation)
        (head_truncation, search_table, define_all_fields)
        (generate_all_output):
        Use bool for booleans.
        (digest_word_file, find_occurs_in_text):
        Use x2nrealloc instead of checking for overflow by hand.
        (find_occurs_in_text, fix_output_parameters, define_all_fields):
        Omit unnecessary cast.
        (fix_output_parameters): Don�<80><99>t assume integers fit in 11 digits.
        (fix_output_parameters, define_all_fields):
        Use sprintf return value rather than calling strlen.
        (define_all_fields): Do not rely on sprintf to generate a string
        that may contain more than INT_MAX bytes.
        (main): Use xstrtoimax, not xstrtoul.
        Use xnmalloc to catch integer overflow.

        nohup: simplify by using fcntl
        * src/nohup.c: Do not include cloexec.h.
        (main): Use fcntl rather than dup + set_cloexec_flag.

        sort: use pthread_sigmask, not sigprocmask
        POSIX says sigprocmask has unspecified behavior in a multithreaded
        program like �<80><98>sort�<80><99>.
        * src/sort.c (pthread_sigmask) [GNULIB_defined_pthread_functions]:
        New macro, for use when �<80><98>sort�<80><99> is not multithreaded.
        (cs_enter, cs_leave): Use it.  Pass address, not value, as
        this is typically a tad faster.  All callers changed.

        sort: minor cleanups
        * src/sort.c (move_fd): Rename from move_fd_or_die,
        since it no longer can die.

        sort: file descriptor discipline
        Use O_CLOEXEC when creating file descriptors, so that subsidiary
        processes do not inherit file descriptors that they do not need.
        This is helpful for �<80><98>sort�<80><99>, as it is a multithreaded program that
        forks and execs.
        * bootstrap.conf (gnulib_modules): Add mkostemp, open, pipe2.
        * src/sort.c (create_temp_file): Open temporary file with O_CLOEXEC.
        (stream_open): Open the stream with O_CLOEXEC.
        (pipe_fork): Create the pipe with O_CLOEXEC.
        (check_output): Open the output file with O_CLOEXEC.
        (main): Use xfopen/xfclose to handle --files0-from, so that
        O_CLOEXEC is used properly.  This is simpler anyway.
        * tests/misc/sort-files0-from.pl: Adjust to change in diagnostic
        wording.

        build: update gnulib submodule to latest

2017-08-14  Pádraig Brady  <P@draigBrady.com>

        kill: fix signal number to name lookup on AIX
        * src/operand2sig.c (operand2sig): AIX uses a different bit pattern
        in the returned status from the wait() functions and from shells.
        Therefore hardcode the selection of the lower bits of the number.
        * NEWS: Mention the fix.

        build: use the appropriate single file include option with xlc
        * configure.ac: Set USE_XLC_INCLUDE when __xlc__ is defined.
        * src/local.mk: Use it to select the appropriate include option.
        Reported by Michael Felt.

        tests: avoid false failures on AIX
        * tests/ln/sf-1.sh: Limit the symlink size to 1MiB
        to avoid memory exhaustion seen on NFS on AIX, giving:
          + printf '%0*d' 4294967296 0
          + ./tests/ln/sf-1.sh: line 38: printf: warning: 0: Result too large
        * tests/id/setgid.sh: Skip the test when the adjusted gid
        would equal 4294967295, as that's reserved on AIX.
        Reported by Michael Felt.

        sort: handle musl locale differences in --debug reporting
        * src/sort.c (main): Don't assume hard_LC_COLLATE implies
        a successful setting of the locale as musl defaults to
        UTF8 when failing to set the specified locale.
        * tests/misc/sort-debug-warn.sh: Adjust for the now
        separated locale debug info and map the musl specific
        message back to the common case.
        Addresses https://bugs.gnu.org/28054

        seq: produce consistent error messages upon write error
        * src/seq.c (io_error): Use the same error message as would
        be generated at exit time when closing the stdout stream.
        The inconsistency was added with commit v8.25-26-gc92585b.
        This was noticed due to an inconsistency in the expected
        error message generated by seq on musl libc.
        Addresses https://bugs.gnu.org/28054

        tests: fix false failure with large printf formats
        * tests/misc/printf-surprise.sh: With musl libc the
        large printf format does succeed, outputting data.
        To avoid SIGPIPE being generated we ignore that signal
        and then handle the subsequent EPIPE error.
        Addresses https://bugs.gnu.org/28054

2017-08-12  Jim Meyering  <meyering@fb.com>

        build: adjust warning options to work with latest GCC
        * configure.ac: Disable some new warnings to avoid false positives.
        Building with warnings enabled and latest gcc would evoke build
        failure without these changes.  Disable the following in coreutils
        proper: -Wformat-overflow=2 -Wformat-truncation=2, and
        disable these for gnulib: -Wformat-truncation=2 -Wduplicated-branches

        gnulib: update to latest and adjust gl/modules/tempname.diff
        * gnulib: Update to latest.
        * gl/modules/tempname.diff: This patch failed to apply.
        Adjust it to reflect removal of the secure_getenv dependency.

        chroot: fix typo in preceding change: didn't compile
        * src/chroot.c (usage): Add backslashes.

2017-08-10  Jim Meyering  <meyering@fb.com>

        doc: correct technicality in chroot's --help output
        * src/chroot.c (usage): Use correct quoting in descriptive diagnostic.
        We would run `"$SHELL" -i`, not `${SHELL} -i`.

2017-08-09  Assaf Gordon  <assafgordon@gmail.com>

        doc: fix join example
        * doc/coreutils.texi (join invocation): Fix incorrect output in example.
        Reported by Phlosioneer in https://bugs.gnu.org/28014 .

2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>

        build: update gnulib submodule to latest

2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>

        copy: more-accurate warning about destruction
        * src/copy.c (copy_internal):
        * tests/cp/backup-is-src.sh, tests/mv/backup-is-src.sh:
        Say "might destroy", not "would destroy".

2017-08-03  Pádraig Brady  <P@draigBrady.com>

        maint: avoid a syntax-check failure
        * src/shred.c (wipename): As per the comment, the arguments
        to error() are sufficiently quoted, so split the call over
        multiple lines to avoid the syntax-check.

2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>

        build: update gnulib submodule to latest

2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>

        copy: go back to failing 'cp --backup a~ a'
        Suggested by Kamil Dudka in:
        http://lists.gnu.org/archive/html/coreutils/2017-07/msg00072.html
        * NEWS: Document the changed nature of the fix.
        * doc/coreutils.texi, tests/cp/backup-is-src.sh:
        * tests/mv/backup-is-src.sh: Revert previous change.
        * src/copy.c (source_is_dst_backup): New function.
        (copy_internal): Use it.  Fail instead of falling back on numbered
        backups when it looks like the backup will overwrite the source.
        Although this reintroduces a race, it's more compatible with
        previous behavior.

2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>

        copy: sanity-check --suffix
        * src/cp.c, src/install.c, src/ln.c, src/mv.c (main):
        Use set_simple_backup_suffix, to sanity-check the user-supplied
        backup suffix.

        copy: make backup files more reliably
        * NEWS, doc/coreutils.texi (Backup options): Document the change.
        * bootstrap.conf (gnulib_modules): Add backup-rename.
        * src/copy.c (copy_internal): Silently switch to numbered backups
        if a simple backup might lose data.  Use backup_file_rename
        to avoid races with numbered backups.
        * tests/cp/backup-is-src.sh, tests/mv/backup-is-src.sh:
        Adjust to match new behavior.

        shred: avoid rename race
        Use renameat2 to avoid a rename race condition, on recent-enough
        GNU/Linux.
        * bootstrap.conf (gnulib_modules): Add renameat2.
        * src/shred.c: Include renameat2.h.
        (wipename): Use renameat2 instead of rename.

        build: update gnulib submodule to latest

2017-07-25  Jim Meyering  <meyering@fb.com>

        maint: fix grammar in a shred.c comment
        * src/shred.c: Remove spurious "to" in an old comment.

2017-07-23  Pádraig Brady  <P@draigBrady.com>

        maint: fix recent syntax-check failures
        * .gitignore: Add /lib/utime.h from the recent gnulib update.
        * src/nproc.c (usage): Adjust spacing to placate help2man.

        shred: remove redundant zeroing of freed memory
        * src/shred.c (dopass): shred used to read the input file,
        and so needed to ensure internal memory was cleared.
        This is no longer the case since SH-UTILS-1_16f-260-gf381610
        so avoid this redundant clearing.
        (do_wipefd): Likewise.
        * NEWS: Remove the recent mention of this issue.

        maint: resync with blake2 upstream
        * src/blake2/blake2-impl.h: Don't use the equivalent explicit_bzero().

        tests: avoid a false failure on AIX
        * tests/misc/sync.sh: Normalize the error messages
        when syncing a non read/write directory, as AIX
        gives the "Is a directory" error.
        Also ensure that sync(1) returns an error for this
        case on all systems.

2017-07-20  Paul Eggert  <eggert@cs.ucla.edu>

        shred: use explicit_bzero
        * NEWS: Document this.
        * bootstrap.conf (gnulib_modules): Add explicit_bzero.
        * gl/lib/randint.c (randint_free):
        * gl/lib/randread.c (randread_free):
        * src/blake2/blake2-impl.h (secure_zero_memory):
        * src/shred.c (dopass, do_wipefd):
        Prefer explicit_bzero to memset when erasing secrets.

        build: update gnulib submodule to latest

2017-07-10  Andreas Schwab  <schwab@linux-m68k.org>

        nproc: fix indentation of usage output
        * src/nproc.c (usage): Align output.

2017-07-10  Jim Meyering  <meyering@fb.com>

        groups: do not exit early
        Most programs take care to operate on all command-line-specified
        operands before exiting.  That is an important feature that allows
        to identify all problems with the first run.  However, groups would
        exit upon the first problematic user name.
        Bug introduced via commit v6.10-56-g167b8025ac.
        * src/groups.c (main): Do not exit immediately upon error.
        * tests/misc/groups-process-all.sh: New file. Test for this.
        * tests/local.mk (all_tests): Add it.
        * NEWS (Bug fixes): Mention this.

2017-07-08  Jim Meyering  <jim@meyering.net>

        tests: groups-dash.sh: avoid false failure
        * tests/misc/groups-dash.sh: Avoid false failure on a system for which
        "none" is a valid user name.  The first invocation would succeed, and
        the second would fail with "groups: �<80><98>--�<80><99>: no such user".
        Use a user name that cannot exist.

        doc: tweak wording
        * NEWS (Bug fixes): Tweak wording of the mv/cp-vs-symlink-ownership
        entry and the one about df.

2017-06-28  Assaf Gordon  <assafgordon@gmail.com>

        expr: add multibyte support
        Discussed in https://bugs.gnu.org/26779 .

        * NEWS: Mention the improvement.
        * bootstrap.conf: Add gnulib modules mbslen,mbschr.
        * src/expr.c (mbs_logical_substr): New function to return a substring
        based on logical character positions (instead of bytes).
        (mbs_logical_cspn): Similar to strcspn/mbscspn, but returns number of
        logical characters instead of byte offset.
        (mbs_offset_to_chars): New function to return number of logical
        characters fitting in a given byte offset.
        (docolon): Report matched logical characters instead of bytes.
        (eval6): For length/substr/index operations, use logical characters
        instead of bytes by calling the above new functions.
        * tests/misc/expr.pl: Repeat all tests with non-C locale to detect any
        regressions.
        * tests/misc/expr-multibyte.pl: New tests with multibyte input.
        * tests/local.mk: Add new test file.

2017-06-21  Jim Meyering  <meyering@fb.com>

        maint: avoid spurious "make distcheck" failure
        When the generated file, doc/constants.texi, happens to be older than
        doc/coreutils.info, it will not be updated until/unless its generated
        contents change.  This is due to way that rule is careful to update
        the file, to avoid provoking a pointless rerunning of makeinfo.

        Note that this does not happen when one first runs "make distclean",
        as recommended in README-release.  However, I sometimes run it as
        a more-rigorous "make check", and shouldn't have to manually run
        "make distclean" first, in that case.

        Before this change, one could reproduce the failure by running
        `touch -dyesterday doc/constants.texi && make distcheck`.  It would
        fail with "makeinfo: could not open ../../doc/coreutils.info-t
        for writing: Permission denied"
        * Makefile.am (dist-hook): Touch the two generated files, so that
        they cannot be out of date wrt doc/coreutils.texi.

2017-06-17  Pádraig Brady  <P@draigBrady.com>

        maint: use C99 for loop initial declarations where possible
        This results in a net reduction of about 120 lines.

        tail: only use inotify with regular files
        * src/tail.c (any_non_regular): A new function to check passed files.
        (main): Use the above to skip inotify if any non regular files passed
        like /dev/tty or /dev/ttyUSB0 etc.
        * tests/tail-2/inotify-only-regular.sh: A new test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Fixes http://bugs.gnu.org/21265 and http://bugs.gnu.org/27368

        tail: with -f don't warn if doing a blocking read of a tty
        * src/tail.c: (main): Only issue the warning about -f being
        ineffective when we're not going into simple blocking mode.
        * tests/tail-2/follow-stdin.sh: Ensure the warning is output correctly.
        Fixes http://bugs.gnu.org/27368

2017-06-11  Pádraig Brady  <P@draigBrady.com>

        tail: exit promptly when output no longer writable
        This will support use cases like:

          tail -f file.log | grep -q trigger &&
          process_immediately

        * src/tail.c (check_output_alive): A new function that
        uses select on fifos or pipes to detect if they're broken.
        (tail_forever): Call check_output_alive() periodically.
        (tail_forever_inotify): Merge the select() call from
        check_output_alive() into the select() originally present
        for the --pid case, and adjust accordingly.
        * tests/tail-2/pipe-f.sh: Add test cases.
        * NEWS: Mention the improvement.

2017-06-11  Jim Meyering  <meyering@fb.com>

        maint: update to work with GCC7's -Werror=implicit-fallthrough=5
        * src/system.h (FALLTHROUGH): Define.
        * src/cp.c (main): Use new FALLTHROUGH macro in place of comments.
        * src/basename.c (main): Likewise.
        * src/dircolors.c (append_quoted): Likewise.
        * src/echo.c (main): Likewise.
        * src/fold.c (main): Likewise.
        * src/join.c (main): Likewise.
        * src/kill.c (main): Likewise.
        * src/ls.c (get_funky_string, gobble_file): Likewise.
        * src/sort.c (parse_field_count, main): Likewise.
        * src/stat.c (print_it): Likewise.
        * src/tail.c (parse_obsolete_option): Likewise.
        * src/test.c (posixtest): Likewise.
        * src/wc.c (wc): Likewise.
        * src/who.c (main): Likewise.

2017-06-07  Pádraig Brady  <P@draigBrady.com>

        tail: with --pid, ensure all inotify events are processed
        * NEWS: Mention the bug fix.
        * src/tail.c (tail_forever_inotify): With --pid, avoid waiting
        for new events if there are still events to process.
        * tests/tail-2/inotify-dir-recreate.sh: Adjust to trigger.

        tests: fix issues with recently added tail test
        * tests/tail-2/inotify-dir-recreate.sh: Skip when
        inotify is not usable.  Also remove a bash specific &> construct.

2017-06-03  Pádraig Brady  <P@draigBrady.com>

        copy: don't fail when unable to chown symlinks
        * src/copy.c (copy_internal): Honor the x->require_preserve flag
        for symlinks as we do for ordinary files, so we don't exit with
        failure upon failure to chown a symbolic link.
        * NEWS: Mention the bug fix.

2017-05-29  Sebastian Kisela  <skisela@redhat.com>

        doc: mention `setpriv --no-new-privs` feature in runcon info
        * doc/coreutils.texi (runcon invocation): Mention setpriv usage.
        Discussed at https://bugzilla.redhat.com/1360903

2017-05-18  Pádraig Brady  <P@draigBrady.com>

        mv: distinguish copy and rename operations with --verbose
        * src/copy.c (copy_internal): In x->move_mode distinguish
        whether we're copying, creating directory, or renaming.
        * tests/mv/backup-dir.sh: Adjust to new output.
        * tests/mv/mv-n.sh: Likewise.
        * tests/mv/mv-special-1.sh: Likewise.
        * NEWS: Mention the improvement.
        Fixes http://bugs.gnu.org/26971

2017-05-11  Prateek saxena  <prateeksaxena2@gmail.com>

        uptime: remove inconsistent AM/PM from current time
        * src/uptime.c (main): 00-23 was always used for the hour component
        of the current time, so remove the AM/PM output (which was only
        present in some locales anyway).  Also add seconds to the time
        to be more consistent with the usual procps-ng uptime implementation
        on GNU/Linux.
        * NEWS: Mention the fix.
        Fixes http://bugs.gnu.org/26783

2017-05-04  Pádraig Brady  <P@draigBrady.com>

        maint: fix various typos in recent commits
        * NEWS: Grammar fixes.
        * HACKING: Likewise.

2017-05-04  Jaak Ristioja  <jaak.ristioja@cyber.ee>

        doc: Fixed typo in timeout man page
        * man/timeout.x: Correct spelling of "currently".
        Fixes http://bugs.gnu.org/26762

2017-04-30  Pádraig Brady  <P@draigBrady.com>

        doc: update the instructions for generating a coverage report
        * HACKING: Change from explicit instructions to using gnulib
        provided coverage testing targets.  Also include instructions
        for adding root only tests to the report.
        Fixes http://bugs.gnu.org/26709

2017-04-27  Paul Eggert  <eggert@cs.ucla.edu>

        dd: simplify translator�<80><99>s jobs
        * src/dd.c (print_xfer_stats): Format the SI units directly,
        without translating them, to simplify the translators�<80><99> jobs.
        See Bug#26621.

2017-04-27  Pádraig Brady  <P@draigBrady.com>

        date,touch: test and document large TZ security issue
        Add a test for CVE-2017-7476 which was fixed in gnulib at:
        http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=94e01571

        * tests/misc/date-tz.sh: Add a new test which overwrites enough
        of the heap to trigger a segfault, even without ASAN enabled.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.

2017-04-27  Pádraig Brady  <P@draigBrady.com>

        build: update gnulib submodule to latest
        * .gitignore: Add new entry as indicated by `make syntax-check`.

2017-04-24  Paul Eggert  <eggert@cs.ucla.edu>

        dd: status=progress outputs "6 s", not "6.00001 s"
        Problem reported by Benno Schulenberg (Bug#26621).
        * NEWS: Document this.
        * src/dd.c (print_xfer_stats): With status=progress,
        format times with %.0f rather than %g.  Improve
        translator comments.

2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>

        build: update gnulib submodule to latest

        maint: remove unused functions and constants
        These were found by clang.
        * gl/lib/rand-isaac.c (min):
        * gl/lib/randint.c (shift_right):
        * src/md5sum.c (algorithm):
        Remove; unused.

        date: adjust to gnulib parse-datetime changes
        * doc/coreutils.texi (Options for date): Capitalize a sentence.
        * tests/misc/date-debug.sh: Adjust --debug output to match
        recent changes to Gnulib�<80><99>s parse-datetime module.

        build: update gnulib submodule to latest
        * gl/modules/tempname.diff: Update to match current Gnulib.

2017-04-18  Bogdan Drozdowski  <bogdandr@op.pl>

        shred: fix invalid pattern generation for certain sizes
        * src/shred.c (fillpattern): Fix the "off by one" issue when
        testing whether we have enough space to copy the already
        written portion of the buffer to the remainder of the buffer.
        Specifically for buffer sizes that are (3*(2^x))+1, i.e. 7,13,...
        we both use an uninitialized byte and invoke undefined
        behavior in memcpy() operation on overlapping memory regions.
        * tests/misc/shred-passes.sh: Add an invocation that will
        trigger either valgrind UMR, or ASAN like:
          ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges
          #1 0x403065 in fillpattern src/shred.c:293
        A direct test is awkward due to the random writes surrounding
        the problematic pattern writes.
        Fixes http://bugs.gnu.org/26545

2017-04-17  Bo Rydberg  <bolry@hotmail.com>

        doc: fix awk example for getting penultimate field
        * doc/coreutils.texi (cut invocation): Add required brackets.
        Fixes http://bugs.gnu.org/26519

2017-04-06  Sebastian Kisela  <skisela@redhat.com>

        tail: revert to polling if a followed directory is replaced
        * src/tail.c (tail_forever_inotify): Add the IN_DELETE_SELF flag when
        creating watch for the parent directory.  After the parent directory
        is removed, an event is caught and then we switch from inotify to
        polling mode.  Till now, inotify has always frozen because it waited for
        an event from a watched dir, which has been already deleted and was not
        added again.
        * tests/tail-2/inotify-dir-recreate.sh: Add a test case.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Fixes http://bugs.gnu.org/26363
        Reported at https://bugzilla.redhat.com/1283760

2017-04-06  Pádraig Brady  <P@draigBrady.com>

        maint: fix syntax-check issues in previous tty commit
        * src/tty.c: Avoid EXIT_FAILURE to be more descriptive
        and to placate sc_some_programs_must_avoid_exit_failure.

2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>

        tty: handle misconfigured namespaces
        On some platforms, isatty succeeds but ttyname fails.
        POSIX does not seem to allow this, but there it is.
        Problem reported by Christian Brauner (Bug#26371).
        While we�<80><99>re at it, check for errors more carefully and return a
        new exit status 4 if stdin is closed or a similar error occurs.
        * doc/coreutils.texi (tty invocation): Document new behavior.
        * init.cfg (stderr_fileno_):
        Don't assume have_input_tty is not in the environment.
        * src/tty.c (TTY_STDIN_ERROR): New constant.
        (main): Exit with nonzero status if there is a usage error,
        like other coreutils programs.
        Check for error in getting stdin type.
        * tests/misc/tty.sh: New file.
        * tests/local.mk (all_tests): Add it.

2017-04-03  Pádraig Brady  <P@draigBrady.com>

        doc: refactor and update expand and unexpand --help
        * src/expand-common.c (emit_tab_list_info): A new function to
        output the extended info on --tab=LIST, including the new
        '+' and '/' prefixes.
        * src/expand-common.h: Declare the above.
        * src/expand.c (usage:): Call emit_tab_list_info and
        match alignment with that used in unexpand --help.
        * src/unexpand.c (usage): Likewise.

2017-04-03  Jacob Keller  <jacob.e.keller@intel.com>

        expand,unexpand: add support for incremental tab stops
        Support --tabs="1,+8" which is equivalent to --tabs="1,9,17,..."
        useful for viewing unified diff output with its 1 character
        gutter for example.

        * doc/coreutils.texi ({expand,unexpand} invocation): Document,
        using diff processing as the example.
        * src/expand-common.c (set_increment_size): Update the new
        increment_size global.
        (parse_tab_stops): Handle the new '+' prefix.
        (finalize_tab_stops): Verify both '+' and '/' prefixes
        are not used together.
        * tests/misc/expand.pl: Add test cases.
        * NEWS: Mention the new feature.

2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>

        sort: update comment
        * src/sort.c: Update identifiers in comment.

2017-03-30  Chris Davies  <chris@roaima.co.uk>

        doc: clarify in dd man page that bs= overrides [io]b…
jperkin pushed a commit that referenced this issue Jun 1, 2018
Wireshark 2.6.1 Release Notes

  Bug Fixes

   The following vulnerabilities have been fixed:

     • ws-sa2018-25

     • The LDSS dissector could crash. (ws-bug14615)

     • ws-sa2018-26

     • The IEEE 1905.1a dissector could crash. (ws-bug14647)

     • ws-sa2018-27

     • The RTCP dissector could crash. (ws-bug14673)

     • ws-sa2018-28

     • Multiple dissectors could consume excessive memory. (ws-bug14678)

     • ws-sa2018-29

     • The DNS dissector could crash. (ws-bug14681)

     • ws-sa2018-30

     • The GSM A DTAP dissector could crash. (ws-bug14688)

     • ws-sa2018-31

     • The Q.931 dissector could crash. (ws-bug14689)

     • ws-sa2018-32

     • The IEEE 802.11 dissector could crash. (ws-bug14686)

     • ws-sa2018-33

     • Multiple dissectors could crash. (ws-bug14703)

   The following bugs have been fixed:

     • Qt GUI does not snap to exactly half of screen in Windows. (Bug
       13516[1])

     • Segmentation fault when switching profiles. (Bug 14316[2])

     • QUIC dissector produces incorrect packet numbers (wrong-endian).
       (Bug 14462[3])

     • Wrong default file format chosen in when saving a capture with
       comments added if the original format doesn’t support comments.
       (Bug 14601[4])

     • Lua: Error during loading [AppData directory]:1: bad argument #1
       to dofile (dofile: file does not exist). (Bug 14619[5])

     • Crash when selecting text. (Bug 14620[6])

     • ui/macosx directory missing from source release tarball. (Bug
       14627[7])

     • Wireshark 2.9.0 snapshot crashes/segfaults on Windows when
       launched with -k or -i. (Bug 14632[8])

     • "Copy as printable text" isn’t copying non-alphanumeric
       characters. (Bug 14633[9])

     • File missing from release tarball. (Bug 14634[10])

     • NEWS is out of date and does not display properly in Notepad.
       (Bug 14636[11])

     • l16mono.so is installed in the wrong place. (Bug 14638[12])

     • Remove: HACK to support UHD’s weird header offset on data
       packets. (Bug 14641[13])

     • WinSparkle 0.5.6 is out of date and is buggy. (Bug 14642[14])

     • Unable to create or open VOIP captures. (Bug 14648[15])

     • RTMPT: incorrect dissection of multiple RTMP packets within a
       single TCP packet. (Bug 14650[16])

     • Endpoints dialog displays invalid GeoIP information due to
       incorrect byte order. (Bug 14656[17])

     • Qt: Crash in ShowPacketBytesDialog(). (Bug 14658[18])

     • Statistics → Resolved addresses show IP addresses without domain.
       (Bug 14667[19])

     • Erroneous MAC-LTE Dissection for Sidelink Shared Channel Packets.
       (Bug 14669[20])

     • Files missing from docbook CMake file. (Bug 14676[21])

     • Wireshark hangs when opening certain files if it’s been
       configured to use the new GeoIP databases. (Bug 14701[22])

   The “Open”, “Save”, and other file dialogs should now be shown at the
   correct size on HiDPI Windows systems.

  Updated Protocol Support

   BATADV, BT LE LL, CoAP, DNS, DTLS, GSM A DTAP, GSM A GM, GTP, GTPv2,
   IEEE 1905.1a, IEEE 802.11, LDSS, LwM2M-TLV, MAC LTE, NAS EPS, Q.931,
   RTCP, RTMPT, SDP, TCP, and VITA 49

  New and Updated Capture File Support

   3GPP TS 32.423 Trace and Android Logcat
mamash pushed a commit that referenced this issue Jun 14, 2018
Upstream changes:
2017-12-27  Pádraig Brady  <P@draigBrady.com>

        version 8.29
        * NEWS: Record release date.

2017-12-23  Pádraig Brady  <P@draigBrady.com>

        tests: avoid false failure on AIX 7.2
        * tests/tail-2/pipe-f.sh: Close stdout in a subshell
        to ensure the current shell isn't impacted.  Subsequent
        piped commands like `echo foo | blah` were seen to fail
        due to the previous closing of stdout.
        Reported by Assaf Gordon.

        doc: describe recent build checks for 32 bit time_t
        * README: Document the new handling of 32 bit time_t,
        with examples of how to build in 64 bit mode on AIX.
        Also mention that GNU make is desired on AIX
        due to its mishandling of the "[" target.
        Suggested by Assaf Gordon.

2017-12-21  Pádraig Brady  <P@draigBrady.com>

        tests: fix recent portability issues on solaris 10
        * tests/misc/ptx.pl: Escape the '^' character which is
        otherwise considered as a line continuation character.
        * tests/misc/shred-remove.sh: sed doesn't support \n.

        maint: remove reference to excluded changelog item
        * build-aux/git-log-fix: Remove old entry.

2017-12-20  Pádraig Brady  <P@draigBrady.com>

        maint: add doc/coverage to .gitignore
        * .gitignore: Ignore the generated coverage report.

        doc: remove older ChangeLog items
        * Makefile.am: Update the oldest documented version
        to 8.20 which is now about 5 years old.

2017-12-18  Bernhard Voelker  <mail@bernhard-voelker.de>

        doc: mention which privileges are needed to chmod
        POSIX specification for chmod(1):
        https://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html

        * doc/coreutils.texi (chmod invocation): Add a sentence about who can
        change the file mode bits of a file - (almost) a copy from what POSIX
        requires.

        Fixes https://bugs.gnu.org/29207.

2017-12-16  Pádraig Brady  <P@draigBrady.com>

        tests: fix recent regressions with dash
        * tests/misc/timeout.sh: dash outputs the "Killed"
        message to stderr rather than the terminal.
        * tests/misc/usage_vs_getopt.sh: dash doesn't yet
        support the POSIX proposed $'...' shell quoting syntax.

        build: avoid a signed overflow warning in ptx
        * src/ptx.c (fix_output_parameters): GCC 6.3.1 with
        ./configure --enable-single-binary would give:
          error: assuming signed overflow does not occur
          when simplifying conditional to constant [-Werror=strict-overflow]
            if (file_index > 0)
        So change the type of file_index to signed (size_t).

2017-12-11  Bernhard Voelker  <mail@bernhard-voelker.de>

        maint: adjust for the renamed nstrfime gnulib module
        * bootstrap.conf: s/strftime/nstrfrime/.

2017-12-11  Pádraig Brady  <P@draigBrady.com>

        build: update gnulib submodule to latest
        * gnulib: Update with various build/test fixes.

        tests: fix false failure in new dd/nocache_eof test
        * test/dd/nocache_eof.sh: Also handle fadvise64_64 which is
        used on 32 bit x86.  Note strace internally maps fadvise64_64
        to {arm,xtensa}_fadvise64_64.

        tail: fix tailing non seekable files on certain systems
        * src/tail.c (tail_bytes): On systems were blksize_t is unsigned
        and the same size or wider than off_t (android for example),
        our initialized (off_t) -1 would be promoted to unsigned before
        comparison, and thus fail to follow the appropriate path.
        * tests/tail-2/tail-c.sh: Add a test case.
        * NEWS: Mention the fix.
        This issue was introduced in commit v8.23-47-g2662702
        Reported at https://github.com/termux/termux-app/issues/233

        build: avoid build failure without sys/mtio.h
        * m4/jm-macros.m4: Check for the header.
        * src/dd.c: Avoid the workaround where the header
        is not available (on non glibc systems).
        * src/shred.c: Likewise.

        doc: reorganize ls -k and --time-style help
        * src/ls.c (usage): Clarify -k only applies to -s usage
        and directory 'total' lines.  Move the description
        of TIME_STYLE out of the option section as it was awkward
        to read and write there within 80 columns.

2017-12-10  Pádraig Brady  <P@draigBrady.com>

        doc: clarify numeric setuid handling in chmod man page
        * man/chmod.x: Update the information to state one can
        clear the setuid and setgid bits for directories numerically
        using an additional leading '0' or a leading '='.
        That has been supported since v8.15-64-g8931cdb.
        Fixes https://bugs.gnu.org/29390

        doc: shred: change 'truncate' to the more descriptive 'deallocate'
        * doc/coreutils.texi (shred invocation): s/truncate/deallocate/.
        * src/shred.c (usage): Likewise.
        Fixes https://bugs.gnu.org/29317

        doc: clarify that cp --force may recreate files
        * doc/coreutils.texi (cp invocation): The language used
        to describe recreating the file was a little confusing
        as it mentioned opening a removed file.
        Fixes https://bugs.gnu.org/29315

2017-12-04  Kamil Dudka  <kdudka@redhat.com>

        doc: fix default QUOTING_STYLE for %N format of stat(1)
        * doc/coreutils.texi (stat invocation): The default value
        of QUOTING_STYLE for the %N format of 'stat --printf' is
        'shell-escape-always'.
        Fixes https://bugs.gnu.org/29563
        Reported by Christian Groessler at
        https://bugzilla.redhat.com/1520399#c3

2017-12-02  Jean Delvare  <jdelvare@suse.de>

        tests: make ls/block-size more readable
        * tests/ls/block-size.sh: The output of the test was hard to read. Add
        comments saying what we are testing to make it easier to understand.

2017-11-29  Bernhard Voelker  <mail@bernhard-voelker.de>
            Pádraig Brady  <P@draigBrady.com>

        tests: verify usage vs. getopt
        Verify that all options mentioned in usage are actually recognized
        by the program.

        * tests/misc/usage_vs_getopt.sh: Add test.
        * tests/local.mk (all_tests): Reference it.

2017-11-29  Pádraig Brady  <P@draigBrady.com>

        readlink: remove superfluous comma from usage output
        * src/readlink.c (usage): Remove ',' after --quiet option.

2017-11-29  Bernhard Voelker  <mail@bernhard-voelker.de>

        all: use consistent diagnostics for unknown long options
        Previously, e.g. cksum failed to output the offending unknown long
        option:
          $ cksum --unknown-opt
          cksum: invalid option -- '-'
          Try 'cksum --help' for more information.
        i.e., it tried to diagnose '-' as short option.
        Instead, it should diagnose the unknown long option:
          $ cksum --unknown-opt
          cksum: unrecognized option '--unknown-opt'
          Try 'cksum --help' for more information.

        * src/cksum.c (long_options): Add struct with null entry only.
        (main): Use it in the getopt_long call.
        * src/dd.c: Likewise.
        * src/hostid.c: Likewise.
        * src/hostname.c: Likewise.
        * src/link.c: Likewise.
        * src/logname.c: Likewise.
        * src/nohup.c: Likewise.
        * src/sleep.c: Likewise.
        * src/tsort.c: Likewise.
        * src/unlink.c: Likewise.
        * src/uptime.c: Likewise.
        * src/users.c: Likewise.
        * src/whoami.c: Likewise.
        * src/yes.c: Likewise.
        * NEWS (Improvements): Mention the fix.

2017-11-29  Pádraig Brady  <P@draigBrady.com>

        test: fix issues with tests/cp/preserve-mode.sh
        * tests/cp/preserve-mode.sh: This was the only use of awk,
        which may not be available on the system resulting
        in an ineffective test.  Also the permissions bits for
        directories were not being checked at all.

        build: update gnulib submodule to latest
        * gnulib: Update with various build/test fixes.

2017-11-28  Pádraig Brady  <P@draigBrady.com>

        build: update gnulib submodule to latest
        * gnulib: Update including various build fixes.

2017-11-27  Bernhard Voelker  <mail@bernhard-voelker.de>

        timeout: also support short -v option
        * src/timeout.c (main): Add short option character 'v' to getopt_long
        call.
        * tests/misc/timeout.sh: Run the test both for the long and the short
        option.

2017-11-25  Pádraig Brady  <P@draigBrady.com>

        dd: support iflag=direct with arbitrary sized files
        * src/dd.c (iread): Handle read error with a non-aligned
        file offset in the O_DIRECT case.  This is not an issue
        on XFS at least, but on EXT4 the final read will return
        EINVAL rather than the expected 0 to indicate EOF.
        * tests/dd/direct.sh: Test the iflag=direct case also.
        * NEWS: Mention the improvement.

2017-11-24  Pádraig Brady  <P@draigBrady.com>

        timeout: add --verbose to diagnose timeouts
        This is useful as handling in shell is complicated
        with the varying exit status in the --kill-after case.

        * src/timeout.c (main): Handle '-v' and store
        COMMAND for the diagnostic.
        (cleanup): Diagnose the signal name before sending.
        (usage): Document -v, --verbose.
        * doc/coreutils.texi (timeout invocation): Likewise.
        * tests/misc/timeout.sh: Add a test case.
        * NEWS: Mention the new feature
        Fixes https://bugs.gnu.org/21760

2017-11-19  Pádraig Brady  <P@draigBrady.com>

        tail: seek to the end of block devices
        * src/tail.c (tail_bytes): Try lseek(..., SEEK_END) when
        we can't determine the file size.
        * tests/tail-2/end-of-device.sh: Add a new root only test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the improvement.
        Paul Eggert suggested using lseek() (rather than ioctl(BLKGETSIZE64)).
        Fixes https://bugs.gnu.org/29259

2017-11-14  Bernhard Voelker  <mail@bernhard-voelker.de>

        maint: include the module year2038 from gnulib
        * bootstrap.conf (gnulib_modules): Add 'year2038' to ensure that time_t
        is 64-bit (and thus works after 2038).

        Suggested by Bruno Haible in
        https://lists.gnu.org/r/bug-gnulib/2017-11/msg00022.html

2017-11-14  Bernhard Voelker  <mail@bernhard-voelker.de>

        maint: update gnulib to latest
        * gnulib: Update - mainly for the recent year2038 changes.
        * tests/init.sh: Update from gnulib/tests/init.sh.

2017-11-09  Assaf Gordon  <assafgordon@gmail.com>

        doc: add github issue/pull-request templates
        These templates instruct contributors not to use github, and instead
        use the upstream GNU development resources. Discussed in
        http://lists.gnu.org/archive/html/coreutils/2017-11/msg00007.html .

        * .github/ISSUE_TEMPLATE.txt,
          .github/PULL_REQUEST_TEMPLATE.txt: New files.

2017-11-08  Jim Meyering  <meyering@fb.com>

        maint: make hook script reject "/archive/html" in lists.gnu.org URLS
        * scripts/git-hooks/commit-msg: Require the abbreviated "/r/"
        form in any log message URL.

        maint: shorten https://lists.gnu.org/archive/html/... links
        Each /archive/html/ part can be replace with /r/.
        Run this to induce the change:
        git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
        * TODO: Perform that substitution.
        * bootstrap: Likewise.
        * src/sort.c (sequential_sort): Likewise.
        * src/tail.c (tail_file): Likewise.
        * tests/misc/sort-merge-fdlimit.sh: Likewise.
        * tests/misc/stty-row-col.sh: Likewise.
        * tests/misc/unexpand.pl: Likewise.
        * tests/rm/readdir-bug.sh: Likewise.
        * tests/tail-2/inotify-rotate.sh: Likewise.

2017-11-07  Thomas Deutschmann  <whissi@gentoo.org>

        tests: avoid false failure with inaccessible mount points
        * tests/ls/readdir-mountpoint-inode.sh: Skip the test
        if any mount points are inaccessible by the current user.
        Fixes https://bugs.gnu.org/29167
        Reported at: https://bugs.gentoo.org/353164

2017-11-06  Bernhard Voelker  <mail@bernhard-voelker.de>

        doc: fix "Up" field of realpath usage examples
        Older versions of 'makeinfo' choke on a missing reference:

          ./doc/coreutils.texi:14177: `Realpath usage examples' has no Up field\
          (perhaps incorrect sectioning?).
          makeinfo: Removing output file `doc/coreutils.info' due to errors; \
          use --force to preserve.

        * doc/coreutils.texi (realpath invocation): Add a menu referencing
        the usage examples - introduced in v8.27-91-g7449f0d.

2017-11-06  Pádraig Brady  <P@draigBrady.com>

        maint: ensure https:// URLs are used in --help and man pages
        * configure.ac(AC_INIT): Specify the URL explicitly, so we're
        not dependent on unreleased autoconf.

2017-10-31  Assaf Gordon  <assafgordon@gmail.com>

        stat: output default formats for --terse in usage
        Suggested by L A Walsh in https://bugs.gnu.org/28763 .

        * src/stat.c (fmt_terse_fs): Define format for --terse -f here.
        (fmt_terse_regular): Define format for --terse here.
        (fmt_terse_selinux): Likewise for when SELinux is enabled.
        (default_format): Use the above constants.
        (usage): Output the formats for the terse modes.

2017-10-30  Pádraig Brady  <P@draigBrady.com>

        df: fix hang with fifo argument
        * src/df.c (main): stat() before open(), and avoid
        the optional open when given a fifo argument.
        * tests/df/unreadable.sh: Add a test case.
        * NEWS: Mention the fix.
        Fixes https://bugs.gnu.org/29038

2017-10-28  Jim Meyering  <meyering@fb.com>

        build: ls.c: apply _GL_ATTRIBUTE_PURE to more functions
        * src/ls.c (DEFINE_SORT_FUNCTIONS): Apply _GL_ATTRIBUTE_PURE
        to each strcmp-derived function definition, since GCC8 with
        -Wsuggest-attribute=pure now warns it is needed.

2017-10-26  Vincent Lefevre  <vincent@vinc17.net>

        doc: reference statfs(2) in the stat(1) man page
        * man/stat.x (SEE ALSO): Mention statfs(2) in addition to stat(2).
        Note statfs() is generally used rather than statvfs(),
        so we'll defer that reference to the SEE ALSO section of statfs(2).
        Fixes https://bugs.gnu.org/28989

2017-10-25  Pádraig Brady  <P@draigBrady.com>

        tests: avoid false failure when O_DIRECT isn't supported
        * tests/dd/nocache_eof.sh: Only run the O_DIRECT tests
        when 512 byte alignment is supported.  Otherwise with older
        XFS on systems with > 1MiB pages, or on file systems not
        supporting O_DIRECT, there would have been false failures.
        * tests/dd/direct.sh: Clarify the skip message.

2017-10-25  Pádraig Brady  <P@draigBrady.com>

        dd: fix nocache regions passed to posix_fadvise()
        Previously with oflag=direct the call to invalidate_cache()
        was not passed to the kernel, as it was less than a page size,
        and a subsequent call was not made to invalidate the pending space.
        Similarly with oflag=nocache the pending space at EOF was
        not invalidated.  Even though these amount to only a single page
        in the page cache it can be significant.  For example on
        XFS before kernel patch v4.9-rc1-4-g0ee7a3f, O_DIRECT files
        would have been read inefficiently if any pages were cached,
        even if they were already synced to storage.

        * src/dd.c (i_nocache_eof, o_nocache_eof): New bools used
        to control when we want invalidate_cache(,0) to clear to EOF.
        (cache_round): Use IO_BUFSIZE (currently 132KiB) to minimize
        calls to the relatively expensive advise function, rather
        than page_size.  This also makes it clear that while the
        kernel function operates on pages, this size is chosen for
        performance reasons.
        (invalidate_cache): Refactor to share more code between
        input and output paths. Use i_nocache_eof and o_nocache_eof
        rather than proxying off max_records.  Ensure we
        invalidate full pages when clearing to EOF as the kernel
        will ignore any non complete pages.  Fix the offset used
        for the output path.
        (dd_copy): Invalidate the cache of the input after the
        offset is updated, for consistency and so we don't try to
        invalidate before the start of the file.  When we read
        EOF on input, set flags so that we invalidate to EOF.
        (main): Invalidate to EOF in more cases, by depending
        on the i_nocache_eof and o_nocache_eof flags.
        * doc/coreutils.texi (dd invocation): Clarify the alignment
        and persisted caveats on the example applying "nocache"
        to part of a file.
        * tests/dd/nocache_eof.sh: A new test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Issue reported by Eric Bergen.

2017-10-24  Michael Stone  <mstone@debian.org>

        doc: mention QUOTING_STYLE env var in ls man page
        * src/ls.c (usage): Mention QUOTING_STYLE with the --quoting-style
        option, and indicate it has lower precedence than that option.

2017-10-24  Pádraig Brady  <P@draigBrady.com>

        maint: apply suggested cleanup to recent stty.c change
        This should have been part of commit v8.28-17-gf926f7c
        * src/stty.c (check_argument): Align line continuation chars,
        and ensure the function macro is immune to usage with if/else.
        Suggested by Jim Meyering and Paul Eggert.

        b2sum: fix crash with --check and truncated input
        * src/md5sum.c (split_3): Ensure we don't walk off
        the end of the string.
        * tests/misc/b2sum.sh: Add test cases.
        Fixes https://bugs.gnu.org/28860

2017-10-24  Pádraig Brady  <P@draigBrady.com>

        stty: fix processing of options when -F is specified
        This was a latent issue that became significant with
        the addition of the -F option in FILEUTILS-3_16n-56-ge46a424

        * src/stty.c (apply_settings): Refactor argument checking
        to a function macro.  Augment the argument check to ignore
        NULLed out arguments (already processed -F).
        * NEWS: Mention the fix.
        * tests/misc/stty-invalid.sh: Add a test case.
        Fixes https://bugs.gnu.org/28859

2017-10-24  Pádraig Brady  <P@draigBrady.com>

        timeout: fix a small race that would ignore command exit
        This fixes a regression from commit v8.26-39-g2f69dba

        * src/timeout.c (block_cleanup_and_chld): Rename from block_cleanup
        to indicate we also block SIGCHLD to avoid the race where SIGCHLD
        fires between waitpid() polling and sigsuspend() waiting for a signal.
        * NEWS: Mention the fix.

2017-10-24  Thomas Jarosch  <thomas.jarosch@intra2net.com>

        timeout: fix regression when invoked with blocked SIGCHLD
        We inherit the signal mask from our parent process,
        therefore ensure SIGCHLD is not blocked.

        If SIGCHLD is blocked, sigsuspend() won't be interrupted
        when the child process exits and we hang until the timeout (SIGALRM).

        This fixes a regression from commit v8.26-39-g2f69dba

        * src/timeout.c (install_sigchld): Ensure SIGCHLD is unblocked.
        * NEWS: Mention the issue.

2017-10-02  Pádraig Brady  <P@draigBrady.com>

        build: reinstate distribution of man pages
        man pages change little between systems,
        so falling back to distributed pages make sense
        when cross compiling or lacking perl.

        * man/local.mk: Add all man pages to EXTRA_DIST
        so that they're distributed in the generated tarball.
        Use the dummy-man page generator if cross compiling.
        Set TZ to avoid a distcheck failure where man pages
        used a diffent month than those rebuilt (with a .timestamp).
        * man/dummy-man: Only fall back to generating a stub
        if copying an existing man page fails.
        * man/help2man: Sync portable TZ=UTC0 specification
        from upstream help2man.
        * NEWS: Mention the build-related change.
        Fixes https://bugs.gnu.org/28574

2017-10-02  Pádraig Brady  <P@draigBrady.com>

        maint: remove a duplicate entry from THANKS
        * .mailmap: Prefer Colin Watson's last used email address.

2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>

        copy: revert recent patch for vulnerable dirs
        I plan to propose a better patch to catch vulnerable parent
        directories.
        * NEWS, doc/coreutils.texi (Target directory): Document this.
        * src/cp.c, src/install.c, src/ln.c, src/mv.c:
        Do not include targetdir.h.
        (target_directory_operand): Remove test for vulnerable parents.
        * src/cp.c (stat_target_operand): Remove.  All uses removed.
        * src/local.mk (noinst_HEADERS): Remove src/targetdir.h.
        (src_ginstall_SOURCES, src_cp_SOURCES, src_ln_SOURCES)
        (src_mv_SOURCES): Remove src/targetdir.c.
        * src/targetdir.c, src/targetdir.h: Remove.
        * tests/mv/vulnerable-target.sh: Remove.
        * tests/local.mk (all_root_tests): Remove it.

2017-09-24  Pádraig Brady  <P@draigBrady.com>

        tests: fix test hang on case insenitive file systems
        * tests/split/filter.sh: Due to an invalid 'FILE = zero.in'
        construct trying to initialize a FILE variable, it would
        instead try to run the FILE command which is present on
        macOS 10.13 with APFS.
        We also remove a redundant duplicate test clause introduced
        during a rebase, and simplify the piped timeout command,
        to avoid requiring a subshell and associated quoting.
        * THANKS.in: Add the reporter Jack Howarth.
        Fixes https://bugs.gnu.org/28506

2017-09-21  Pádraig Brady  <P@draigBrady.com>

        tests: avoid a false failure in expr test with UTF8
        * tests/misc/expr.pl: Skip the quote varying tests in
        the multi-byte locales as these tests aren't that interesting
        in those locales.  Also ERR_SUBST is already defined for
        some tests so awkward to redefine to munge UTF8 quotes to ASCII.

2017-09-20  Assaf Gordon  <assafgordon@gmail.com>

        expr: add detailed syntax error messages
        Show offending argument instead of a generic 'syntax error' message.
        Suggested by Bernhard Voelker in https://bugs.gnu.org/28461#13 .

        * src/expr.c (syntax_error): Remove.
        (required_more_args): New function.
        (eval7, main): Replace syntax_error call with detailed die message.
        * tests/misc/expr.pl: Add tests for new messages.

2017-09-20  Pádraig Brady  <P@draigBrady.com>

        maint: fix new syntax-check failures from HTTPS adjustments
        * cfg.mk [old_NEWS_hash]: update with `make update-NEWS-hash`.
        [sc_long_lines]: Avoid flagging (long) URLs in NEWS.
        * src/sort.c: Tweak to a shorter line.
        * src/tail.c: Likewise.
        Introduced in v8.28-4-gbe87d61

        maint: fix new syntax check failures from copy restrictions
        * doc/coreutils.texi: Remove doubled word.
        * src/targetdir.c: Explicitly mark exported function.
        * tests/local.mk: This is not a root only test.
        * tests/mv/vulnerable-target.sh: Use returns_.
        Introduced in v8.28-3-g44ccd1c

        shred: reinstate --remove file name length obfuscation
        This was unintentionally removed in v8.27-60-g2ae1460
        * src/shred.c (wipename): Interate through all name lengths.
        * tests/misc/shred-remove.sh: Add test cases.
        * NEWS: Mention the bug fix.
        Fixes https://bugs.gnu.org/28507

2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>

        maint: copy bootstrap from Gnulib

        all: prefer HTTPS in URLs

        copy: check for vulnerable target dirs
        * NEWS, doc/coreutils.texi (Target directory): Document this.
        * src/cp.c, src/install.c, src/ln.c, src/mv.c: Include targetdir.h.
        (target_directory_operand): Use the new targetdir_operand_type
        function to check for vulnerable target directories.
        * src/cp.c (stat_target_operand): New function.
        (target_directory_operand, do_copy): Use it.
        * src/local.mk (noinst_HEADERS): Add src/targetdir.h.
        (src_ginstall_SOURCES, src_cp_SOURCES, src_ln_SOURCES)
        (src_mv_SOURCES): Add src/targetdir.c.
        * src/targetdir.c, src/targetdir.h: New files.
        * tests/mv/vulnerable-target.sh: New test.
        * tests/local.mk (all_root_tests): Add it.

2017-09-14  Bernhard Voelker  <mail@bernhard-voelker.de>

        ptx: avoid infloop due to zero-length matches with -S regex
        * src/ptx.c (find_occurs_in_text): Die with an appropriate error
        diagnostic when the given regular expression returns a match of
        length 0.
        * tests/misc/ptx.pl (S-infloop): Add a test.
        * NEWS (Bug fixes): Mention the fix.

        Fixes https://bugs.gnu.org/28417 which was detected using
        Symbolic Execution techniques developed in the course of the
        SYMBIOSYS research project at COMSYS, RWTH Aachen University.

2017-09-02  Pádraig Brady  <P@draigBrady.com>

        maint: post-release administrivia
        * NEWS: Add header line for next release.
        * .prev-version: Record previous version.
        * cfg.mk (old_NEWS_hash): Auto-update.

        version 8.28
        * NEWS: Record release date.

2017-09-01  Pádraig Brady  <P@draigBrady.com>

        tests: fix false failure in recent ls --hyperlink test
        * tests/ls/hyperlink.sh: If the hostname or any part of
        the absolute path would be changed due to URL encoding,
        the test would fail.  Therefore simplify to remove
        these components of the URL from consideration.

        maint: avoid a syntax-check failure
        * .gitignore: Remove lines indicated by sc_gitignore_redundant
        in a freshly checked out repo.

2017-08-31  Pádraig Brady  <P@draigBrady.com>

        tests: exclude the expensive gnulib fts-tests
        * gnulib: The only change in this gnulib update
        is the tagging of the fts-tests module as longrunning,
        which gnulib-tool currently implicitly excludes.
        This test was seen to take about 20s and 285MB.
        Reported by Assaf Gordon on space restricted VMs.

        tty: don't distinguish input errors
        * src/tty.c (main): Don't distinguish ENOTTY from other errors,
        because isatty() doesn't portably distinguish errors.
        Solaris returns ENOENT for all input errors for example.
        Musl also returns ENOENT, and ENODEV may be returned as disscussed at:
        http://openwall.com/lists/musl/2017/04/06/6
        * tests/misc/tty.sh: Adjust accordingly.

        tests: avoid printf '0*d' construct unsupported by ash
        * tests/ln/sf-1.sh: Generate specific length with space padding
        which is supported.
        Reported by Assaf Gordon on Alpine Linux.

2017-08-31  Pádraig Brady  <P@draigBrady.com>

        tests: skip tests upon failure to set SELinux context
        On some setups the root:object_r:tmp_t context is invalid.
        This does indicate a limitation in the test framework,
        but for now we'll relax this to skipping the tests.
        The tests still run on a Fedora 25 system for example.

        * tests/cp/cp-a-selinux.sh: Upon chcon error, skip rather than ERROR.
        * tests/install/install-Z-selinux.sh: Likewise.
        * tests/misc/chcon.sh: Likewise.
        * tests/misc/runcon-no-reorder.sh: Likewise.
        * tests/misc/selinux.sh: Likewise.
        * tests/mkdir/restorecon.sh: Likewise.

2017-08-30  Kamil Dudka  <kdudka@redhat.com>

        expr: fix a recently introduced memory leak
        * src/expr.c (eval6): Free memory allocated by mbs_logical_substr().

        Introduced in v8.27-47-ga9f2be5.  Detected by Coverity Analysis:

        Error: RESOURCE_LEAK:
        src/expr.c:851: leaked_storage: Variable "s" going out of scope
        leaks the storage it points to.
        849|             char *s = mbs_logical_substr (l->u.s, pos, len);
        850|             v = str_value (s);
        851|->         }
        852|         freev (l);
        853|         freev (i1);

2017-08-30  Pádraig Brady  <P@draigBrady.com>

        build: fix build of renameat2 on Alpine Linux
        * gnulib: The only change included in this update
        it the added check for the presence of <linux/fs.h>
        which is not present on Alpine Linux by default.

        tty: fix exit code with EINVAL
        * src/tty.c (main): All systems mention that isatty()
        man return EINVAL as well as (the POSIX compliant) ENOTTY.
        Also Centos 6 was seen to return EINVAL from ttyname().
        * tests/misc/tty.sh: Fix a test issue where we assume
        standard input is always a valid tty.
        Reported by Assaf Gordon on OpenSolaris 5.10 and 5.11,
        and Centos 6.5

2017-08-30  Pádraig Brady  <P@draigBrady.com>

        runcon: revert "disable use of the TIOCSTI ioctl"
        This reverts commit v8.27-97-g8cb06d4 because
        the setsid() fallback was not implemented correctly
        and disabling the ioctl was not a complete solution
        to the security issue of the child being passed
        the tty of the parent.

        Given runcon is not really a sandbox command,
        the advice is to use `runcon ... setsid ...`
        to avoid this particular issue.

2017-08-30  Pádraig Brady  <P@draigBrady.com>

        stat: fix determination of max name length on BSD systems
        We only use one of statfs or statvfs for `stat -f`
        and on the BSDs we use statfs which doesn't have the
        f_namelen member.  However on OpenBSD and later FreeBSD
        systems statfs does provide f_namemax, so use that.

        * NEWS: Mention the improvement for OpenBSD and FreeBSD.
        * m4/stat-prog.m4: Check for f_namemax in the statfs struct.
        * src/stat.c: Return '?' rather than '*' when we can't
        determine the max length of the file system.
        * tests/ln/sf-1.sh: This test was failing on all BSDs
        due to '*' being returned for the max length which
        caused the test to attempt to create 1Mi+1 names.
        The test now uses a short name when we can't determine
        the max name length to use.

        Reported by Assaf Gordon on various BSD based systems.

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        stat,tail: support "AAFS" AppArmor file system
        * src/stat.c (human_fstype): This file system is used
        to manage AppArmor policy in the Linux kernel.

        all: update gnulib submodule to latest
        * bootstrap: Sync timestamp update.

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        runcon: disable use of the TIOCSTI ioctl
        Similar to the issue with SELinux sandbox (CVE-2016-7545),
        children of runcon can inject arbitrary input to the terminal
        that would be run at the originating terminal privileges.

        The new libseccomp dependency is widely available and used
        on modern SELinux systems, but is not available by default
        on older systems like RHEL6 etc.

        * m4/jm-macros.m4: Check for libseccomp and
        warn if unavailable on selinux supporting systems.
        * src/local.mk: Link runcon with -lseccomp.
        * src/runcon.c (disable_tty_inject): A new function to
        disable use of the TIOCSTI using libseccomp, or with setsid()
        where libseccomp is unavailable.
        * tests/misc/runcon-no-inject.sh: A new test that uses
        python to make the TIOCSTI call, and ensure that doesn't succeed.
        * tests/local.mk: Reference the new test
        * NEWS: Mention the fix.
        Addresses http://bugs.gnu.org/24541

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        ls: support --hyperlink to output file:// URIs
        Terminals such as iTerm2 and VTE based terminals
        (as of version 0.49.1), support hyperlinks when
        passed terminals codes as described at:
        https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda

        * src/ls.c (gobble_file): Allocate an absolute file name to output.
        (quote_name): Output the absolute name with the appropriate codes.
        (file_escape): A new function to encode file names as per rfc8089.
        (main): Handle the new option and call the file_escape_init() helper.
        Disable --dired when --hyperlink is specified.
        (print_dir): Get the absolute file name here too, so that the
        directory name can be linkified.
        * NEWS: Mention the new feature.
        * tests/ls/hyperlink.sh: Add a new test.
        * tests/local.mk: Reference the new test.
        * doc/coreutils.texi (ls invocation): Describe --hyperlink.

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        doc: remove older ChangeLog items
        This saves about 0.5MB uncompressed from the tarball.

        * Makefile.am: Following on from v8.26-34-g2c64bc8
        update the oldest documented version to 8.18 which
        is now about 5 years old.  Also remove older ChangeLogs
        that were previously thought to be for changes not
        in the git history, but are adequately recorded upon review.
        * build-aux/ChangeLog-2007: Remove file.
        * lib/ChangeLog-2007: Likewise.
        * m4/ChangeLog-2007: Likewise.

2017-08-29  Colin Watson  <cjwatson@debian.org>

        env: add --chdir option
        This is useful when chaining with other commands that run commands in a
        different context, while avoiding using the shell to cd, and thus
        having to consider shell quoting the chained command.

        * NEWS (New features): Document the new option.
        * doc/coreutils.texi (env invocation): Likewise.
        * src/env.c (usage): Likewise.
        (main): Implement the new option.
        * tests/misc/env.sh: Test the new option.

2017-08-29  Pádraig Brady  <P@draigBrady.com>

        tests: don't fail tests when failing to write files
        * tests/sample-test: Use framework_error_ rather than fail=1
        * tests/chown/deref.sh: Likewise.
        * tests/chown/preserve-root.sh: Likewise.
        * tests/cp/src-base-dot.sh: Likewise.
        * tests/dd/unblock-sync.sh: Likewise.
        * tests/du/2g.sh: Likewise.
        * tests/du/inacc-dest.sh: Likewise.
        * tests/du/one-file-system.sh: Likewise.
        * tests/fmt/goal-option.sh: Likewise.
        * tests/ln/hard-backup.sh: Likewise.
        * tests/ls/color-dtype-dir.sh: Likewise.
        * tests/ls/m-option.sh: Likewise.
        * tests/ls/stat-dtype.sh: Likewise.
        * tests/ls/time-style-diag.sh: Likewise.
        * tests/ls/x-option.sh: Likewise.
        * tests/misc/chcon.sh: Likewise.
        * tests/misc/nohup.sh: Likewise.
        * tests/misc/od-N.sh: Likewise.
        * tests/misc/sort-compress.sh: Likewise.
        * tests/misc/tac-continue.sh: Likewise.
        * tests/misc/time-style.sh: Likewise.
        * tests/mv/backup-dir.sh: Likewise.
        * tests/mv/dir2dir.sh: Likewise.
        * tests/rm/dir-no-w.sh: Likewise.
        * tests/rm/dir-nonrecur.sh: Likewise.
        * tests/rm/inaccessible.sh: Likewise.
        * tests/rm/interactive-always.sh: Likewise.
        * tests/rm/interactive-once.sh: Likewise.
        * tests/rm/rm3.sh: Likewise.
        * tests/rm/v-slash.sh: Likewise.
        * tests/touch/relative.sh: Likewise.

2017-08-29  Josef Cejka  <jcejka@suse.com>
            Bernhard Voelker  <mail@bernhard-voelker.de>

        df: avoid stat() for dummy file systems with -l
        When systemd is configured to automount a remote file system - see
        'man systemd.automount(5)', then the mount point is initially
        mounted by systemd with the file system type "autofs".
        When the resource is used later on, then the wanted file system is
        mounted over that mount point on demand.
        'df -l' triggered systemd to mount the file system because it called
        stat() on the mount point.
        Instead of single-casing "autofs" targets, we can avoid stat()ing
        all dummy file systems (which includes "autofs"), because those are
        skipped later on in get_dev() anyway.

        *src/df.c (filter_mount_list): Also skip dummy file systems unless
        the -a option or a specific target are given.
        * NEWS: Mention the fix.


        Fixes http://bugzilla.suse.com/show_bug.cgi?id=1043059

2017-08-29  Assaf Gordon  <assafgordon@gmail.com>

        doc: add 'realpath usage examples' section
        * doc/coreutils.texi (Realpath usage examples): New section.

2017-08-29  Assaf Gordon  <assafgordon@gmail.com>

        doc: fix realpath index entry
        The 'readlink' node has '@findex realpath' in it. This results in
            info doc/coreutils.info realpath
        incorrectly jumping to the 'readlink' node (instead of the 'realpath'
        node). Change it to @cindex instead.

        * doc/coreutils.texi (readlink): Change '@findex realpath' to @cindex.

2017-08-29  Assaf Gordon  <assafgordon@gmail.com>

        realpath: improve usage description for --relative-{to,base}
        * src/realpath.c (usage): Explicitly say 'DIR' instead of 'FILE' for
        --relative-{to,base} parameters, to avoid giving the impression
        that regular files can be used as relative base.
        * doc/coreutils.texi (realpath): Same.

2017-08-25  Pádraig Brady  <P@draigBrady.com>

        ls: consistently quote symlink targets
        * src/ls.c (gobble_file): Disable the optimization to avoid quoting
        if the symlink target itself needs quoting.  This was introduced
        with the quoting alignment adjustments in v8.25-106-g01971c0
        * tests/ls/symlink-quote.sh: Add a test.
        * tests/local.mk: Reference the test.
        * NEWS: Mention the fix.

2017-08-25  Pádraig Brady  <P@draigBrady.com>

        tail: reinstate inotify use with FIFOs
        commit v8.27-44-g18f6b22 was too aggressive in
        only allowing inotify use with regular files. This will
        support responsive processing of `tail -f fifo | ...`

        * src/tail.c (any_non_regular): Adjust to allow FIFOs
        since inotify supports these well.
        * tests/tail-2/inotify-only-regular.sh: Adjust comment.

2017-08-19  Pádraig Brady  <P@draigBrady.com>

        maint: avoid a syntax check failure
        * src/sort.c: Don't include stdio--.h as fopen() is no longer used.

        tests: fix issues on alpine linux
        * tests/misc/seq-epipe.sh: Remove stale comment.
        * tests/misc/sort-debug-warn.sh: musl doesn't indicate a set_locale()
        failure with missing locales, so avoid a test portion in that case.
        * tests/misc/wc-files0.sh: Avoid a bug on older ash implementations.
        Addresses http://bugs.gnu.org/28054

2017-08-17  Paul Eggert  <eggert@cs.ucla.edu>

        ptx: fix some integer overflow bugs
        Problem reported by Lukas Zachar at:
        http://bugzilla.redhat.com/1482445
        * src/ptx.c (line_width, gap_size, maximum_word_length)
        (reference_max_width, half_line_width, before_max_width)
        (keyafter_max_width, truncation_string_length, compare_words)
        (compare_occurs, search_table, find_occurs_in_text, print_spaces)
        (fix_output_parameters, define_all_fields):
        Use ptrdiff_t, not int, for object offsets and sizes.
        (WORD, OCCURS): Use ptrdiff_t, not short int.
        (WORD_TABLE, number_of_occurs, generate_all_output):
        Prefer ptrdiff_t to size_t where either will do.
        (total_line_count, file_line_count, OCCURS, fix_output_parameters)
        (define_all_fields):
        Use intmax_t, not int, for line counts.
        (DELTA): Remove.  All uses changed.
        (OCCURS, find_occurs_in_text, fix_output_parameters):
        Use int, not size_t, for file indexes.
        (tail_truncation, before_truncation, keyafter_truncation)
        (head_truncation, search_table, define_all_fields)
        (generate_all_output):
        Use bool for booleans.
        (digest_word_file, find_occurs_in_text):
        Use x2nrealloc instead of checking for overflow by hand.
        (find_occurs_in_text, fix_output_parameters, define_all_fields):
        Omit unnecessary cast.
        (fix_output_parameters): Don�<80><99>t assume integers fit in 11 digits.
        (fix_output_parameters, define_all_fields):
        Use sprintf return value rather than calling strlen.
        (define_all_fields): Do not rely on sprintf to generate a string
        that may contain more than INT_MAX bytes.
        (main): Use xstrtoimax, not xstrtoul.
        Use xnmalloc to catch integer overflow.

        nohup: simplify by using fcntl
        * src/nohup.c: Do not include cloexec.h.
        (main): Use fcntl rather than dup + set_cloexec_flag.

        sort: use pthread_sigmask, not sigprocmask
        POSIX says sigprocmask has unspecified behavior in a multithreaded
        program like �<80><98>sort�<80><99>.
        * src/sort.c (pthread_sigmask) [GNULIB_defined_pthread_functions]:
        New macro, for use when �<80><98>sort�<80><99> is not multithreaded.
        (cs_enter, cs_leave): Use it.  Pass address, not value, as
        this is typically a tad faster.  All callers changed.

        sort: minor cleanups
        * src/sort.c (move_fd): Rename from move_fd_or_die,
        since it no longer can die.

        sort: file descriptor discipline
        Use O_CLOEXEC when creating file descriptors, so that subsidiary
        processes do not inherit file descriptors that they do not need.
        This is helpful for �<80><98>sort�<80><99>, as it is a multithreaded program that
        forks and execs.
        * bootstrap.conf (gnulib_modules): Add mkostemp, open, pipe2.
        * src/sort.c (create_temp_file): Open temporary file with O_CLOEXEC.
        (stream_open): Open the stream with O_CLOEXEC.
        (pipe_fork): Create the pipe with O_CLOEXEC.
        (check_output): Open the output file with O_CLOEXEC.
        (main): Use xfopen/xfclose to handle --files0-from, so that
        O_CLOEXEC is used properly.  This is simpler anyway.
        * tests/misc/sort-files0-from.pl: Adjust to change in diagnostic
        wording.

        build: update gnulib submodule to latest

2017-08-14  Pádraig Brady  <P@draigBrady.com>

        kill: fix signal number to name lookup on AIX
        * src/operand2sig.c (operand2sig): AIX uses a different bit pattern
        in the returned status from the wait() functions and from shells.
        Therefore hardcode the selection of the lower bits of the number.
        * NEWS: Mention the fix.

        build: use the appropriate single file include option with xlc
        * configure.ac: Set USE_XLC_INCLUDE when __xlc__ is defined.
        * src/local.mk: Use it to select the appropriate include option.
        Reported by Michael Felt.

        tests: avoid false failures on AIX
        * tests/ln/sf-1.sh: Limit the symlink size to 1MiB
        to avoid memory exhaustion seen on NFS on AIX, giving:
          + printf '%0*d' 4294967296 0
          + ./tests/ln/sf-1.sh: line 38: printf: warning: 0: Result too large
        * tests/id/setgid.sh: Skip the test when the adjusted gid
        would equal 4294967295, as that's reserved on AIX.
        Reported by Michael Felt.

        sort: handle musl locale differences in --debug reporting
        * src/sort.c (main): Don't assume hard_LC_COLLATE implies
        a successful setting of the locale as musl defaults to
        UTF8 when failing to set the specified locale.
        * tests/misc/sort-debug-warn.sh: Adjust for the now
        separated locale debug info and map the musl specific
        message back to the common case.
        Addresses https://bugs.gnu.org/28054

        seq: produce consistent error messages upon write error
        * src/seq.c (io_error): Use the same error message as would
        be generated at exit time when closing the stdout stream.
        The inconsistency was added with commit v8.25-26-gc92585b.
        This was noticed due to an inconsistency in the expected
        error message generated by seq on musl libc.
        Addresses https://bugs.gnu.org/28054

        tests: fix false failure with large printf formats
        * tests/misc/printf-surprise.sh: With musl libc the
        large printf format does succeed, outputting data.
        To avoid SIGPIPE being generated we ignore that signal
        and then handle the subsequent EPIPE error.
        Addresses https://bugs.gnu.org/28054

2017-08-12  Jim Meyering  <meyering@fb.com>

        build: adjust warning options to work with latest GCC
        * configure.ac: Disable some new warnings to avoid false positives.
        Building with warnings enabled and latest gcc would evoke build
        failure without these changes.  Disable the following in coreutils
        proper: -Wformat-overflow=2 -Wformat-truncation=2, and
        disable these for gnulib: -Wformat-truncation=2 -Wduplicated-branches

        gnulib: update to latest and adjust gl/modules/tempname.diff
        * gnulib: Update to latest.
        * gl/modules/tempname.diff: This patch failed to apply.
        Adjust it to reflect removal of the secure_getenv dependency.

        chroot: fix typo in preceding change: didn't compile
        * src/chroot.c (usage): Add backslashes.

2017-08-10  Jim Meyering  <meyering@fb.com>

        doc: correct technicality in chroot's --help output
        * src/chroot.c (usage): Use correct quoting in descriptive diagnostic.
        We would run `"$SHELL" -i`, not `${SHELL} -i`.

2017-08-09  Assaf Gordon  <assafgordon@gmail.com>

        doc: fix join example
        * doc/coreutils.texi (join invocation): Fix incorrect output in example.
        Reported by Phlosioneer in https://bugs.gnu.org/28014 .

2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>

        build: update gnulib submodule to latest

2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>

        copy: more-accurate warning about destruction
        * src/copy.c (copy_internal):
        * tests/cp/backup-is-src.sh, tests/mv/backup-is-src.sh:
        Say "might destroy", not "would destroy".

2017-08-03  Pádraig Brady  <P@draigBrady.com>

        maint: avoid a syntax-check failure
        * src/shred.c (wipename): As per the comment, the arguments
        to error() are sufficiently quoted, so split the call over
        multiple lines to avoid the syntax-check.

2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>

        build: update gnulib submodule to latest

2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>

        copy: go back to failing 'cp --backup a~ a'
        Suggested by Kamil Dudka in:
        http://lists.gnu.org/archive/html/coreutils/2017-07/msg00072.html
        * NEWS: Document the changed nature of the fix.
        * doc/coreutils.texi, tests/cp/backup-is-src.sh:
        * tests/mv/backup-is-src.sh: Revert previous change.
        * src/copy.c (source_is_dst_backup): New function.
        (copy_internal): Use it.  Fail instead of falling back on numbered
        backups when it looks like the backup will overwrite the source.
        Although this reintroduces a race, it's more compatible with
        previous behavior.

2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>

        copy: sanity-check --suffix
        * src/cp.c, src/install.c, src/ln.c, src/mv.c (main):
        Use set_simple_backup_suffix, to sanity-check the user-supplied
        backup suffix.

        copy: make backup files more reliably
        * NEWS, doc/coreutils.texi (Backup options): Document the change.
        * bootstrap.conf (gnulib_modules): Add backup-rename.
        * src/copy.c (copy_internal): Silently switch to numbered backups
        if a simple backup might lose data.  Use backup_file_rename
        to avoid races with numbered backups.
        * tests/cp/backup-is-src.sh, tests/mv/backup-is-src.sh:
        Adjust to match new behavior.

        shred: avoid rename race
        Use renameat2 to avoid a rename race condition, on recent-enough
        GNU/Linux.
        * bootstrap.conf (gnulib_modules): Add renameat2.
        * src/shred.c: Include renameat2.h.
        (wipename): Use renameat2 instead of rename.

        build: update gnulib submodule to latest

2017-07-25  Jim Meyering  <meyering@fb.com>

        maint: fix grammar in a shred.c comment
        * src/shred.c: Remove spurious "to" in an old comment.

2017-07-23  Pádraig Brady  <P@draigBrady.com>

        maint: fix recent syntax-check failures
        * .gitignore: Add /lib/utime.h from the recent gnulib update.
        * src/nproc.c (usage): Adjust spacing to placate help2man.

        shred: remove redundant zeroing of freed memory
        * src/shred.c (dopass): shred used to read the input file,
        and so needed to ensure internal memory was cleared.
        This is no longer the case since SH-UTILS-1_16f-260-gf381610
        so avoid this redundant clearing.
        (do_wipefd): Likewise.
        * NEWS: Remove the recent mention of this issue.

        maint: resync with blake2 upstream
        * src/blake2/blake2-impl.h: Don't use the equivalent explicit_bzero().

        tests: avoid a false failure on AIX
        * tests/misc/sync.sh: Normalize the error messages
        when syncing a non read/write directory, as AIX
        gives the "Is a directory" error.
        Also ensure that sync(1) returns an error for this
        case on all systems.

2017-07-20  Paul Eggert  <eggert@cs.ucla.edu>

        shred: use explicit_bzero
        * NEWS: Document this.
        * bootstrap.conf (gnulib_modules): Add explicit_bzero.
        * gl/lib/randint.c (randint_free):
        * gl/lib/randread.c (randread_free):
        * src/blake2/blake2-impl.h (secure_zero_memory):
        * src/shred.c (dopass, do_wipefd):
        Prefer explicit_bzero to memset when erasing secrets.

        build: update gnulib submodule to latest

2017-07-10  Andreas Schwab  <schwab@linux-m68k.org>

        nproc: fix indentation of usage output
        * src/nproc.c (usage): Align output.

2017-07-10  Jim Meyering  <meyering@fb.com>

        groups: do not exit early
        Most programs take care to operate on all command-line-specified
        operands before exiting.  That is an important feature that allows
        to identify all problems with the first run.  However, groups would
        exit upon the first problematic user name.
        Bug introduced via commit v6.10-56-g167b8025ac.
        * src/groups.c (main): Do not exit immediately upon error.
        * tests/misc/groups-process-all.sh: New file. Test for this.
        * tests/local.mk (all_tests): Add it.
        * NEWS (Bug fixes): Mention this.

2017-07-08  Jim Meyering  <jim@meyering.net>

        tests: groups-dash.sh: avoid false failure
        * tests/misc/groups-dash.sh: Avoid false failure on a system for which
        "none" is a valid user name.  The first invocation would succeed, and
        the second would fail with "groups: �<80><98>--�<80><99>: no such user".
        Use a user name that cannot exist.

        doc: tweak wording
        * NEWS (Bug fixes): Tweak wording of the mv/cp-vs-symlink-ownership
        entry and the one about df.

2017-06-28  Assaf Gordon  <assafgordon@gmail.com>

        expr: add multibyte support
        Discussed in https://bugs.gnu.org/26779 .

        * NEWS: Mention the improvement.
        * bootstrap.conf: Add gnulib modules mbslen,mbschr.
        * src/expr.c (mbs_logical_substr): New function to return a substring
        based on logical character positions (instead of bytes).
        (mbs_logical_cspn): Similar to strcspn/mbscspn, but returns number of
        logical characters instead of byte offset.
        (mbs_offset_to_chars): New function to return number of logical
        characters fitting in a given byte offset.
        (docolon): Report matched logical characters instead of bytes.
        (eval6): For length/substr/index operations, use logical characters
        instead of bytes by calling the above new functions.
        * tests/misc/expr.pl: Repeat all tests with non-C locale to detect any
        regressions.
        * tests/misc/expr-multibyte.pl: New tests with multibyte input.
        * tests/local.mk: Add new test file.

2017-06-21  Jim Meyering  <meyering@fb.com>

        maint: avoid spurious "make distcheck" failure
        When the generated file, doc/constants.texi, happens to be older than
        doc/coreutils.info, it will not be updated until/unless its generated
        contents change.  This is due to way that rule is careful to update
        the file, to avoid provoking a pointless rerunning of makeinfo.

        Note that this does not happen when one first runs "make distclean",
        as recommended in README-release.  However, I sometimes run it as
        a more-rigorous "make check", and shouldn't have to manually run
        "make distclean" first, in that case.

        Before this change, one could reproduce the failure by running
        `touch -dyesterday doc/constants.texi && make distcheck`.  It would
        fail with "makeinfo: could not open ../../doc/coreutils.info-t
        for writing: Permission denied"
        * Makefile.am (dist-hook): Touch the two generated files, so that
        they cannot be out of date wrt doc/coreutils.texi.

2017-06-17  Pádraig Brady  <P@draigBrady.com>

        maint: use C99 for loop initial declarations where possible
        This results in a net reduction of about 120 lines.

        tail: only use inotify with regular files
        * src/tail.c (any_non_regular): A new function to check passed files.
        (main): Use the above to skip inotify if any non regular files passed
        like /dev/tty or /dev/ttyUSB0 etc.
        * tests/tail-2/inotify-only-regular.sh: A new test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Fixes http://bugs.gnu.org/21265 and http://bugs.gnu.org/27368

        tail: with -f don't warn if doing a blocking read of a tty
        * src/tail.c: (main): Only issue the warning about -f being
        ineffective when we're not going into simple blocking mode.
        * tests/tail-2/follow-stdin.sh: Ensure the warning is output correctly.
        Fixes http://bugs.gnu.org/27368

2017-06-11  Pádraig Brady  <P@draigBrady.com>

        tail: exit promptly when output no longer writable
        This will support use cases like:

          tail -f file.log | grep -q trigger &&
          process_immediately

        * src/tail.c (check_output_alive): A new function that
        uses select on fifos or pipes to detect if they're broken.
        (tail_forever): Call check_output_alive() periodically.
        (tail_forever_inotify): Merge the select() call from
        check_output_alive() into the select() originally present
        for the --pid case, and adjust accordingly.
        * tests/tail-2/pipe-f.sh: Add test cases.
        * NEWS: Mention the improvement.

2017-06-11  Jim Meyering  <meyering@fb.com>

        maint: update to work with GCC7's -Werror=implicit-fallthrough=5
        * src/system.h (FALLTHROUGH): Define.
        * src/cp.c (main): Use new FALLTHROUGH macro in place of comments.
        * src/basename.c (main): Likewise.
        * src/dircolors.c (append_quoted): Likewise.
        * src/echo.c (main): Likewise.
        * src/fold.c (main): Likewise.
        * src/join.c (main): Likewise.
        * src/kill.c (main): Likewise.
        * src/ls.c (get_funky_string, gobble_file): Likewise.
        * src/sort.c (parse_field_count, main): Likewise.
        * src/stat.c (print_it): Likewise.
        * src/tail.c (parse_obsolete_option): Likewise.
        * src/test.c (posixtest): Likewise.
        * src/wc.c (wc): Likewise.
        * src/who.c (main): Likewise.

2017-06-07  Pádraig Brady  <P@draigBrady.com>

        tail: with --pid, ensure all inotify events are processed
        * NEWS: Mention the bug fix.
        * src/tail.c (tail_forever_inotify): With --pid, avoid waiting
        for new events if there are still events to process.
        * tests/tail-2/inotify-dir-recreate.sh: Adjust to trigger.

        tests: fix issues with recently added tail test
        * tests/tail-2/inotify-dir-recreate.sh: Skip when
        inotify is not usable.  Also remove a bash specific &> construct.

2017-06-03  Pádraig Brady  <P@draigBrady.com>

        copy: don't fail when unable to chown symlinks
        * src/copy.c (copy_internal): Honor the x->require_preserve flag
        for symlinks as we do for ordinary files, so we don't exit with
        failure upon failure to chown a symbolic link.
        * NEWS: Mention the bug fix.

2017-05-29  Sebastian Kisela  <skisela@redhat.com>

        doc: mention `setpriv --no-new-privs` feature in runcon info
        * doc/coreutils.texi (runcon invocation): Mention setpriv usage.
        Discussed at https://bugzilla.redhat.com/1360903

2017-05-18  Pádraig Brady  <P@draigBrady.com>

        mv: distinguish copy and rename operations with --verbose
        * src/copy.c (copy_internal): In x->move_mode distinguish
        whether we're copying, creating directory, or renaming.
        * tests/mv/backup-dir.sh: Adjust to new output.
        * tests/mv/mv-n.sh: Likewise.
        * tests/mv/mv-special-1.sh: Likewise.
        * NEWS: Mention the improvement.
        Fixes http://bugs.gnu.org/26971

2017-05-11  Prateek saxena  <prateeksaxena2@gmail.com>

        uptime: remove inconsistent AM/PM from current time
        * src/uptime.c (main): 00-23 was always used for the hour component
        of the current time, so remove the AM/PM output (which was only
        present in some locales anyway).  Also add seconds to the time
        to be more consistent with the usual procps-ng uptime implementation
        on GNU/Linux.
        * NEWS: Mention the fix.
        Fixes http://bugs.gnu.org/26783

2017-05-04  Pádraig Brady  <P@draigBrady.com>

        maint: fix various typos in recent commits
        * NEWS: Grammar fixes.
        * HACKING: Likewise.

2017-05-04  Jaak Ristioja  <jaak.ristioja@cyber.ee>

        doc: Fixed typo in timeout man page
        * man/timeout.x: Correct spelling of "currently".
        Fixes http://bugs.gnu.org/26762

2017-04-30  Pádraig Brady  <P@draigBrady.com>

        doc: update the instructions for generating a coverage report
        * HACKING: Change from explicit instructions to using gnulib
        provided coverage testing targets.  Also include instructions
        for adding root only tests to the report.
        Fixes http://bugs.gnu.org/26709

2017-04-27  Paul Eggert  <eggert@cs.ucla.edu>

        dd: simplify translator�<80><99>s jobs
        * src/dd.c (print_xfer_stats): Format the SI units directly,
        without translating them, to simplify the translators�<80><99> jobs.
        See Bug#26621.

2017-04-27  Pádraig Brady  <P@draigBrady.com>

        date,touch: test and document large TZ security issue
        Add a test for CVE-2017-7476 which was fixed in gnulib at:
        http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=94e01571

        * tests/misc/date-tz.sh: Add a new test which overwrites enough
        of the heap to trigger a segfault, even without ASAN enabled.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.

2017-04-27  Pádraig Brady  <P@draigBrady.com>

        build: update gnulib submodule to latest
        * .gitignore: Add new entry as indicated by `make syntax-check`.

2017-04-24  Paul Eggert  <eggert@cs.ucla.edu>

        dd: status=progress outputs "6 s", not "6.00001 s"
        Problem reported by Benno Schulenberg (Bug#26621).
        * NEWS: Document this.
        * src/dd.c (print_xfer_stats): With status=progress,
        format times with %.0f rather than %g.  Improve
        translator comments.

2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>

        build: update gnulib submodule to latest

        maint: remove unused functions and constants
        These were found by clang.
        * gl/lib/rand-isaac.c (min):
        * gl/lib/randint.c (shift_right):
        * src/md5sum.c (algorithm):
        Remove; unused.

        date: adjust to gnulib parse-datetime changes
        * doc/coreutils.texi (Options for date): Capitalize a sentence.
        * tests/misc/date-debug.sh: Adjust --debug output to match
        recent changes to Gnulib�<80><99>s parse-datetime module.

        build: update gnulib submodule to latest
        * gl/modules/tempname.diff: Update to match current Gnulib.

2017-04-18  Bogdan Drozdowski  <bogdandr@op.pl>

        shred: fix invalid pattern generation for certain sizes
        * src/shred.c (fillpattern): Fix the "off by one" issue when
        testing whether we have enough space to copy the already
        written portion of the buffer to the remainder of the buffer.
        Specifically for buffer sizes that are (3*(2^x))+1, i.e. 7,13,...
        we both use an uninitialized byte and invoke undefined
        behavior in memcpy() operation on overlapping memory regions.
        * tests/misc/shred-passes.sh: Add an invocation that will
        trigger either valgrind UMR, or ASAN like:
          ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges
          #1 0x403065 in fillpattern src/shred.c:293
        A direct test is awkward due to the random writes surrounding
        the problematic pattern writes.
        Fixes http://bugs.gnu.org/26545

2017-04-17  Bo Rydberg  <bolry@hotmail.com>

        doc: fix awk example for getting penultimate field
        * doc/coreutils.texi (cut invocation): Add required brackets.
        Fixes http://bugs.gnu.org/26519

2017-04-06  Sebastian Kisela  <skisela@redhat.com>

        tail: revert to polling if a followed directory is replaced
        * src/tail.c (tail_forever_inotify): Add the IN_DELETE_SELF flag when
        creating watch for the parent directory.  After the parent directory
        is removed, an event is caught and then we switch from inotify to
        polling mode.  Till now, inotify has always frozen because it waited for
        an event from a watched dir, which has been already deleted and was not
        added again.
        * tests/tail-2/inotify-dir-recreate.sh: Add a test case.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Fixes http://bugs.gnu.org/26363
        Reported at https://bugzilla.redhat.com/1283760

2017-04-06  Pádraig Brady  <P@draigBrady.com>

        maint: fix syntax-check issues in previous tty commit
        * src/tty.c: Avoid EXIT_FAILURE to be more descriptive
        and to placate sc_some_programs_must_avoid_exit_failure.

2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>

        tty: handle misconfigured namespaces
        On some platforms, isatty succeeds but ttyname fails.
        POSIX does not seem to allow this, but there it is.
        Problem reported by Christian Brauner (Bug#26371).
        While we�<80><99>re at it, check for errors more carefully and return a
        new exit status 4 if stdin is closed or a similar error occurs.
        * doc/coreutils.texi (tty invocation): Document new behavior.
        * init.cfg (stderr_fileno_):
        Don't assume have_input_tty is not in the environment.
        * src/tty.c (TTY_STDIN_ERROR): New constant.
        (main): Exit with nonzero status if there is a usage error,
        like other coreutils programs.
        Check for error in getting stdin type.
        * tests/misc/tty.sh: New file.
        * tests/local.mk (all_tests): Add it.

2017-04-03  Pádraig Brady  <P@draigBrady.com>

        doc: refactor and update expand and unexpand --help
        * src/expand-common.c (emit_tab_list_info): A new function to
        output the extended info on --tab=LIST, including the new
        '+' and '/' prefixes.
        * src/expand-common.h: Declare the above.
        * src/expand.c (usage:): Call emit_tab_list_info and
        match alignment with that used in unexpand --help.
        * src/unexpand.c (usage): Likewise.

2017-04-03  Jacob Keller  <jacob.e.keller@intel.com>

        expand,unexpand: add support for incremental tab stops
        Support --tabs="1,+8" which is equivalent to --tabs="1,9,17,..."
        useful for viewing unified diff output with its 1 character
        gutter for example.

        * doc/coreutils.texi ({expand,unexpand} invocation): Document,
        using diff processing as the example.
        * src/expand-common.c (set_increment_size): Update the new
        increment_size global.
        (parse_tab_stops): Handle the new '+' prefix.
        (finalize_tab_stops): Verify both '+' and '/' prefixes
        are not used together.
        * tests/misc/expand.pl: Add test cases.
        * NEWS: Mention the new feature.

2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>

        sort: update comment
        * src/sort.c: Update identifiers in comment.

2017-03-30  Chris Davies  <chris@roaima.co.uk>

        doc: clarify in dd man page that bs= overrides [io]b…
jperkin pushed a commit that referenced this issue Jun 19, 2018
Major changes in 1.16.1 (2018-05-03)

This is a bug fix release.

    Fix flaws in LDAP DN checking, including a null dereference KDC crash which could be triggered by kadmin clients with administrative privileges [CVE-2018-5729, CVE-2018-5730].
    Fix a KDC PKINIT memory leak.
    Fix a small KDC memory leak on transited or authdata errors when processing TGS requests.
    Fix a regression in pkinit_cert_match matching of client certificates containing Microsoft UPN SANs.
    Fix a null dereference when the KDC sends a large TGS reply.
    Fix "kdestroy -A" with the KCM credential cache type.
    Allow validation of Microsoft PACs containing enterprise names.
    Fix the handling of capaths "." values.
    Fix handling of repeated subsection specifications in profile files (such as when multiple included files specify relations in the same subsection).

Major changes in 1.16 (2017-12-05)

Administrator experience:
        The KDC can match PKINIT client certificates against the "pkinit_cert_match" string attribute on the client principal entry, using the same syntax as the existing "pkinit_cert_match" profile option.
        The ktutil addent command supports the "-k 0" option to ignore the key version, and the "-s" option to use a non-default salt string.
        kpropd supports a --pid-file option to write a pid file at startup, when it is run in standalone mode.
        The "encrypted_challenge_indicator" realm option can be used to attach an authentication indicator to tickets obtained using FAST encrypted challenge pre-authentication.
        Localization support can be disabled at build time with the --disable-nls configure option.

Developer experience:
        The kdcpolicy pluggable interface allows modules control whether tickets are issued by the KDC.
        The kadm5_auth pluggable interface allows modules to control whether kadmind grants access to a kadmin request.
        The certauth pluggable interface allows modules to control which PKINIT client certificates can authenticate to which client principals.
        KDB modules can use the client and KDC interface IP addresses to determine whether to allow an AS request.
        GSS applications can query the bit strength of a krb5 GSS context using the GSS_C_SEC_CONTEXT_SASL_SSF OID with gss_inquire_sec_context_by_oid().
        GSS applications can query the impersonator name of a krb5 GSS credential using the GSS_KRB5_GET_CRED_IMPERSONATOR OID with gss_inquire_cred_by_oid().
        kdcpreauth modules can query the KDC for the canonicalized requested client principal name, or match a principal name against the requested client principal name with canonicalization.

Protocol evolution:
        The client library will continue to try pre-authentication mechanisms after most failure conditions.
        The KDC will issue trivially renewable tickets (where the renewable lifetime is equal to or less than the ticket lifetime) if requested by the client, to be friendlier to scripts.
        The client library will use a random nonce for TGS requests instead of the current system time.
        For the RC4 string-to-key or PAC operations, UTF-16 is supported (previously only UCS-2 was supported).
        When matching PKINIT client certificates, UPN SANs will be matched correctly as UPNs, with canonicalization.

User experience:
        Dates after the year 2038 are accepted (provided that the platform time facilities support them), through the year 2106.
        Automatic credential cache selection based on the client realm will take into account the fallback realm and the service hostname.
        Referral and alternate cross-realm TGTs will not be cached, avoiding some scenarios where they can be added to the credential cache multiple times.
        A German translation has been added.

Code quality:
        The build is warning-clean under clang with the configured warning options.
        The automated test suite runs cleanly under AddressSanitizer.

Major changes in 1.15.3 (2018-05-03)

This is a bug fix release.

    Fix flaws in LDAP DN checking, including a null dereference KDC crash which could be triggered by kadmin clients with administrative privileges [CVE-2018-5729, CVE-2018-5730].
    Fix a KDC PKINIT memory leak.
    Fix a small KDC memory leak on transited or authdata errors when processing TGS requests.
    Fix a null dereference when the KDC sends a large TGS reply.
    Fix "kdestroy -A" with the KCM credential cache type.
    Fix the handling of capaths "." values.
    Fix handling of repeated subsection specifications in profile files (such as when multiple included files specify relations in the same subsection).

Major changes in 1.15.2 (2017-09-25)

This is a bug fix release.

    Fix a KDC denial of service vulnerability caused by unset status strings [CVE-2017-11368]
    Preserve GSS contexts on init/accept failure [CVE-2017-11462]
    Fix kadm5 setkey operation with LDAP KDB module
    Use a ten-second timeout after successful connection for HTTPS KDC requests, as we do for TCP requests
    Fix client null dereference when KDC offers encrypted challenge without FAST
    Ignore dotfiles when processing profile includedir directive
    Improve documentation

Major changes in 1.15.1 (2017-03-01)

This is a bug fix release.

    Allow KDB modules to determine how the e_data field of principal fields is freed
    Fix udp_preference_limit when the KDC location is configured with SRV records
    Fix KDC and kadmind startup on some IPv4-only systems
    Fix the processing of PKINIT certificate matching rules which have two components and no explicit relation
    Improve documentation

Major changes in 1.15 (2016-12-01)

Administrator experience:
        Improve support for multihomed Kerberos servers by adding options for specifying restricted listening addresses for the KDC and kadmind.
        Add support to kadmin for remote extraction of current keys without changing them (requires a special kadmin permission that is excluded from the wildcard permission), with the exception of highly protected keys.
        Add a lockdown_keys principal attribute to prevent retrieval of the principal's keys (old or new) via the kadmin protocol. In newly created databases, this attribute is set on the krbtgt and kadmin principals.
        Restore recursive dump capability for DB2 back end, so sites can more easily recover from database corruption resulting from power failure events.
        Add DNS auto-discovery of KDC and kpasswd servers from URI records, in addition to SRV records. URI records can convey TCP and UDP servers and master KDC status in a single DNS lookup, and can also point to HTTPS proxy servers.
        Add support for password history to the LDAP back end.
        Add support for principal renaming to the LDAP back end.
        Use the getrandom system call on supported Linux kernels to avoid blocking problems when getting entropy from the operating system.
        In the PKINIT client, use the correct DigestInfo encoding for PKCS #1 signatures, so that some especially strict smart cards will work.

Code quality:
        Clean up numerous compilation warnings.
        Remove various infrequently built modules, including some preauth modules that were not built by default.

Developer experience:
        Add support for building with OpenSSL 1.1.
        Use SHA-256 instead of MD5 for (non-cryptographic) hashing of authenticators in the replay cache. This helps sites that must build with FIPS 140 conformant libraries that lack MD5.
        Eliminate util/reconf and allow the use of autoreconf alone to regenerate the configure script.

Protocol evolution:
        Add support for the AES-SHA2 enctypes, which allows sites to conform to Suite B crypto requirements.
jperkin pushed a commit that referenced this issue Jun 25, 2018
-----------------------------------------
version 1.16 at 2018-06-21 19:18:05 +0000
-----------------------------------------

  Change: 80815ed0757d71ba2b35b9366d3350a8b2415547
  Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
  Date : 2018-06-21 20:18:05 +0000

    Bump version to 1.16

  Change: 6e7dd74c4d8bc13faee5c266d1650c2903c605fa
  Author: Chris Williams <chris@bingosnet.co.uk>
  Date : 2018-06-21 20:15:15 +0000

    Merge pull request #1 from fschlich/patch-1

    fix typos in POD

  Change: 253810a4de56c91c45a940397106cf76be899585
  Author: Florian Schlichting <fsfs@debian.org>
  Date : 2018-06-21 20:03:41 +0000

    fix typos
jperkin pushed a commit that referenced this issue Aug 16, 2018
Changes in libsoup from 2.62.2 to 2.62.3:

	* Check for trailing dots in domains [#5, Claudio Saavedra]
	* Set default cookie path for NULL origins [#1, Adrian Perez de Castro]
	* Use atomic-refcounting in classes that are not using GObject-refcounting
	  [bgo#785110, Edward Hervey]
	* Many Coverity-found code fixes [bgo#781771, Milan Crha]
	* Bail out on cookie-jar calls with empty hostnames [#3, Michael Catanzaro]

	Note: from now onwards bgo# references bugs in GNOME Bugzilla
	and # issues in GNOME gitlab.
jperkin pushed a commit that referenced this issue Oct 24, 2018
pkgsrc changes:
 - Add a dependency to www/libpsl
 - Add a patch to adjust running of the tests (otherwise because
   `APACHE_HTTPD' is defined to `no' a `no' program will be executed but
   will fail because no `no' program is usually available)

Changes:
Changes in libsoup from 2.64.1 to 2.64.2:

 * TLD tests updated (Claudio Saavedra)
 * Updated translations: Serbian

Changes in libsoup from 2.63.92 to 2.64.1:

 * Many fixes to the meson build system (which, by the way, is
   NOT official yet) (#13, Tomas Popela)
 * Updated translations: Belarusian.

Changes in libsoup from 2.63.92 to 2.64.0:

 * Many fixes to the meson build system [#7, #8, #9, #11, Tomas Popela]
 * Updated translations: Brazilian Portuguese, Galician,
          Hungarian, Latvian, Danish.

Changes in libsoup from 2.63.91 to 2.63.92:

 * Make sure that XMLRPC tests build in Debian too [Claudio Saavedra]
 * Distribute missing meson files [Claudio Saavedra]
 * Some fixes to the meson build files [Claudio Saavedra]
 * Updated Korean and Swedish translations

Changes in libsoup from 2.63.90 to 2.63.91:

 * Simplify soup_hosts_matches_host() [Claudio Saavedra]
 * Add new tests for trailing dots in domain names [Claudio Saavedra]
 * Updated Turkish translation

Changes in libsoup from 2.63.2 to 2.63.90:

 * Set default cookie path for NULL origins [#1, Adrian Perez de Castro]
 * Fixes to GObject-introspection [bgo#794787, Corentin Noël]
 * Use atomic-refcounting in classes that are not using GObject-refcounting
   [bgo#785110, Edward Hervey]
 * Many Coverity-found code fixes [bgo#781771, Milan Crha]
 * Bail out on cookie-jar calls with empty hostnames [#3, Michael Catanzaro]
 * Fixes to the simple-httpd example [#2, Mooffie]
 * Updated translations: Chinese (Taiwan), Catalan

 Note: from now onwards bgo# references bugs in GNOME Bugzilla
 and # issues in GNOME gitlab.

Changes in libsoup from 2.63.1 to 2.63.2:

 * Many fixes to the meson build system support [#795324,
          #782410, Tomas Popela, Jan Alexander Steffens]
 * Fixes to xmlrpc-server test with PHP >= 7.2 and related
   [#795111, #782410 Jan Alexander Steffens]
 * Fix critical warning in SoupSocket [Carlos Garcia Campos]
 * Updated translations: Romanian, Friulian, Slovenian,
   Czech, Spanish, Indonesian, Chinese (China).
jperkin pushed a commit that referenced this issue Dec 1, 2018
2.10.1: (stable)

* signal_impl::clear(): Don't clear the slot list during signal emission,
  to prevent a segfault. And add a test for this.
  (Kjell Ahlstedt) Bug #784550 (Andrejs Hanins)
* slot_base::set_parent(): Create a dummy slot_rep if necessary
  (Kjell Ahlstedt) Bug #167714 (Gerald Britton)
* Avoid compiler warnings from function pointer conversions
  (Kjell Ahlstedt) Issue #1 (sharkcz)
  (Kjell Ahlstedt) Issue #8 (db0451)

Build:
* Make --disable-benchmark work.
  (Christophe Lermytte) Bug #774732
* Replace the Visual Studio project files with MSVC NMake project files
  Add MSVC_NMake/README.txt for Visual Studio builds
  (Chun-wei Fan) Pull request #11

Documentation:
* signal_base: Warn against deletion during emission
  (Kjell Ahlstedt) Bug #167714 (Gerald Britton)
* Update links in README, configure.ac, libsigcplusplus.doap
  (Kjell Ahlstedt)
jperkin pushed a commit that referenced this issue Jan 27, 2019
in opmax.tex:
May  2018  \chap: \edef\thesecnum added (J. Sustek)
           \printchap: \vfill\supereject instead \vfil\break
           \link: argument in group in both: \hyperlinks on/off (J. Sustek)
Aug. 2018  \wlabel: \protectlist added.
           \Xlabel: \sxdef{lab:#1} changed to \sdef (J. Sustek)
jperkin pushed a commit that referenced this issue Feb 28, 2019
Allows us to drop all the local patches that were merged upstream.
lld is not a dependency, zig by default bundles lld and doesn't use
an external one. comment it.

Andrew Kelley (62):
      Merge pull request #1975 from BenoitJGirard/master
      Merge pull request #1963 from matthew-mcallister/dedup-compile-log-warning
      Merge pull request #1972 from coypoop/netbsd
      README: add NetBSD to support table
      pull request fixups
      Merge branch 'emekoi-fix-1711'
      export _mh_execute_header with weak linkage
      docs: note top level declarations are order-independent
      docs: shadowing
      zig fmt: fix infix operator before multiline string literal
      add test for 74bdc1d1f898705
      Merge branch 'kristate-zig-backport-issue1944'
      remove --no-rosegment workaround now that valgrind bug is fixed
      valgrind client requests for undefined values
      Merge branch 'slice-deref-failure' of https://github.com/matthew-mcallister/zig into matthew-mcallister-slice-deref-failure
      pull request fixups
      Merge branch 'matthew-mcallister-slice-deref-failure'
      deduplicate compile errors for undeclared identifiers
      packed structs support comptime bitcasting
      extern structs support comptime bitcasting
      `@sliceToBytes` works at comptime
      better handling of arrays in packed structs
      better field access of types which have one possible value
      fix `@bitCast` when src/dest types have mismatched handle_is_ptr
      docs for packed structs
      add regression test for bitcast to array
      implement vector negation
      better libc detection (#1996)
      introduce std.debug.captureStackTrace
      fix `zig fmt` arg0 handled incorrectly
      add `zig cc` command to act like a C compiler
      zig cc: remove "polly" which was an undefined symbol on macos
      zig cc: work around clang calling GetCommandLine on Windows
      Merge pull request #2003 from ziglang/zig-cc
      first class support for compiling C code
      building DLLs on Windows works better
      `@cImport` works with `--cache on`
      Merge pull request #2005 from ziglang/c-source
      zig build: 2 improvements
      fix infinite recursion in type_has_one_possible_value
      delete incorrect TODO comment
      add docs for zero bit types and pointers to zero bit types
      fix not finding libgcc_s when looking for native libc
      add a compile error note when C import fails and not linking libc
      better error message when forgetting to link against libc
      add a regression test for #704
      fix incorrectly trying to memset at comptime
      fix the libc compile error tests to only run on linux
      use -nobuiltininc when compiling c code
      use -nostdinc++ when compiling C code
      use -nostdinc and sometimes -nolibc when compiling C code
      breaking changes to the way targets work in zig
      fix regressions on Windows
      introduce sys_include_dir for when sys/* files are not with stdlib.h
      add builder.addFmt API and use it to test stage1 zig fmt
      fix .gitignore file and add commit missing std lib file
      add test coverage for binary OR on error sets
      add test coverage for type used as switch case
      fix handling when there are multiple externs and
      fix stage1 zig fmt on macos
      improve docs for unions and switching on tagged unions
      windows returns EINVAL for fopen when there is an asterisk in the name

Benoit Jauvin-Girard (1):
      Fix std.math.powi so powi(x, +-0) = 1 for any x.

BenoitJGirard (2):
      Merge pull request #1 from ziglang/master
      Merge pull request #2 from ziglang/master

Jimmi HC (1):
      Fixed std.testing.expectEqual

John Schmidt (2):
      Some function doc tweaks (#1961)
      Add priority queue

LemonBoy (4):
      Silence gcc8 class-memaccess warnings
      Add align attribute for params pointers
      Translate parameterless C functions (#1978)
      Prevent crash in tagged enums rendering (#1986)

Matthew McAllister (3):
      Fix lvalue dereference type checking
      Deduplicate compile log statement warnings
      Check for duped error messages in compile tests

Maya Rashish (3):
      Add NetBSD support
      Undo local, unneeded patch
      Don't provide a bogus definition of EVFILT_USER

Quetzal Bradley (1):
      fix openWriteNoClobber and add test

emekoi (1):
      make @enumToInt work on union(enum)

kristopher tate (1):
      src/analyze.cpp: default to using `param_node` upon callconv error;
jperkin pushed a commit that referenced this issue May 15, 2019
Changelog:
This is mainly a fix for #1.

But with that, the API is slightly changed. New now simply returns
only a function:

debounced := debounce.New(100 * time.Millisecond)
jperkin pushed a commit that referenced this issue Jun 20, 2019
Changes since b159

Beta #160 - 19.06.2019
- Bugfix: Certain instrument properties could be modified even if the current
  instrument was zero. This is a special ins. number for pattern editing, it's
  not a real instrument. (You can set ins. #0 by pressing 0 on the numpad).
- Bugfix: It was impossible to select an instrument higher than 0x60 (100) when
  using the numpad keys.
- Bugfix: "Srnk." (shrink pattern) would erase the last row after its operation
- Bugfix: When loading a floating point .wav, it would only load silence unless
  the amplitude peaked at max (1.0).
- Bugfix: 16-bit mono .aiff files would not load correctly at all!
- When loading 24-bit .wav/.aiff files, properly normalize amplitude before
  converting to 16-bit. This now takes up more CPU time and RAM, but it's worth
  it.
- Default instrument envelopes were always read from preset slot #1. I don't
  like this at all, as it could mess things up when loading sample-only songs.
  It has now been changed to always use the stock envelope values when loading
  such files or when a new project is started (or instruments zapped).
- Properly reject .it (Impulse Tracker) modules when attempted to be loaded
- Code cleanup. Proper space alignment for special tab indents, removed
  extreme use of parenthesis, spaces etc.
jperkin pushed a commit that referenced this issue Jul 16, 2019
pkgsrc notes:

upstream has changed their build system to cmake (and meson in the
case of gexiv2)

unfortunately the build system for exiv2-organize has rotted so it
has to be removed for now.

tested on various netbsd versions with gimp, I am expecting breakage,
sorry in advance.

Changes from version 0.27 to 0.27.1
-----------------------------------

Closed (40)
https://github.com/Exiv2/exiv2/milestone/3?closed=1


Changes from version 0.26 to 0.27
---------------------------------

https://github.com/Exiv2/exiv2/milestone/1?closed=1

88 issues have been closed on Redmine

* Build: (11)
- 0001362:	Fix Clang build
			(David Carlos Manuelda)
- 0001358:	Unsuccessful build (Win7, MSVC2015, amd64_x86)
			(Andreas Martin)
- 0001356:	Small patch to configure.py
			(Sridhar Boovaraghavan)
- 0001329:	Error during cmake with gcc version parsing
			(Maxime Daisy)
- 0001310:	Provide support for msys/2.0
- 0001299:	exiv2-0.26-trunk.tar.gz changed on download server
			(Jonathan Riddell)
- 0001270:	Using libexiv2.a/.lib  in multhreaded app segfaults.
			(Ben Touchette)
- 0001237:	Report CMake/MinGW issues to Kitware
- 0001188:	Provide build support for C++11
- 0001174:	Visual Studio Support Enhancements
- 0001121:	Visual Studio support for v0.27

* Basicio: (1)
- 0001374:	excessively often calls stat()
			(Johannes Berg)

* Coverity: (11)
- 0001265:	[ Coverity : /src/basicio.cpp ] Unchecked return value from library , Time of check time of use , Incorrect deallocator used , Dereference before null check , String not null terminated
			(Mahesh Hegde)
- 0001264:	[ Coverity : /src/actions.cpp ] Unchecked return value from library , Logically dead code , Not restoring ostream format
			(Mahesh Hegde)
- 0001263:	[ Coverity : 1396730 Uninitialized scalar field ] /include/exiv2/xmp.hpp
			(Mahesh Hegde)
- 0001262:	[ Coverity : XMPSDK Errors ] Unused value , Explicit null dereferenced
			(Mahesh Hegde)
- 0001261:	[ Coverity : 1296083 Resource leak ] /src/exiv2.cpp
			(Mahesh Hegde)
- 0001260:	[ Coverity : 1296084 Resource leak ] /src/http.cpp
			(Mahesh Hegde)
- 0001259:	[ Coverity : 1396717 Out-of-bounds read ] /src/easyaccess.cpp
			(Mahesh Hegde)
- 0001258:	[ Coverity 1396718 Out-of-bounds access ] /src/webpimage.cpp
			(Mahesh Hegde)
- 0001257:	[ Coverity 1396719 Resource leak ] /src/tiffcomposite.cpp
			(Mahesh Hegde)
- 0001256:	[ Coverity 1396721 : /src/basicio.cpp ]  String not null terminated
			(Mahesh Hegde)
- 0000883:	Use Coverity SCAN on exiv2 code-base
			(Mahesh Hegde)

* Camera: (1)
- 0001352:	Support camera Canon M100
			(Daniel Zucchetto)

* Duplicate: (1)
- 0001307:	exiv2: tiffvisitor.cpp:1299: virtual void Exiv2::Internal::TiffReader::visitDirectory(Exiv2::Internal::TiffDirectory*): Assertion `tc.get()' failed.
			(Henri Salo)

* Exif: (6)
- 0001320:	It is a heap-buffer-overflow in Exiv2::Jp2Image::readMetadata (jp2image.cpp:277)
			(Zhu Liu)
- 0001319:	It is a heap-buffer-overflow in Exiv2::us2Data (types.cpp:346)
			(Zhu Liu)
- 0001318:	Invalid memory address dereference in Exiv2::StringValueBase::read ( in value.cpp:302)
			(Zhu Liu)
- 0001317:	It is a heap-buffer-overflow in Exiv2::s2Data (types.cpp:383)
			(Zhu Liu)
- 0001316:	It is a heap-buffer-overflow in Exiv2::l2Data (types.cpp:398)
			(Zhu Liu)
- 0001315:	Invalid memory address dereference in Exiv2::DataValue::read (value.cpp:193)
			(Zhu Liu)

* Insufficient information: (1)
- 0001347:	Segfault in Digikam when saving/loading certain TIFF images
			(V Engmark)

* Image format: (5)
- 0001353:	Segmentation fault in the software exiv2 when the function Exiv2::tEXtToDataBuf() is finished
			(chung-yi lin)
- 0001346:	Assertion failure in Exiv2::Internal::CiffComponent::doRead() in libexiv2
			(Sanjay Rawat)
- 0001345:	Assertion Failure (SIGABRT) in Exiv2:RafImage::readMetadata() in Libexiv2
			(Sanjay Rawat)
- 0001338:	Exiv2 aborted (crashed) with "Error in `exiv2': free(): invalid next size (fast)"
			(Sanjay Rawat)
- 0001334:	Version 0.26 is returns unwanted data when the key value is received from RW2 files (Panasonic DMC-GF6 camera)
			(Alex Stepanov)

* Lens: (20)
- 0001373:	Tamron SP 24-70mm F/2.8 Di VC USD not recognized properly
			(Achim Kilchert)
- 0001372:	The lens "Tamron AF 18-200mm F3.5-6.3 XR Di II"  is wrongly identified.
			(Julian Hofer)
- 0001370:	Add entry for new(ish) lens - Tamron 10-24mm F/3.5-4.5 Di II VC HLD (B023)
			(Robert Sleator)
- 0001366:	Feature Request Sigma 85mm f/1.4 DG Art Series
			(Christian Fandel)
- 0001365:	Feature Request fr Sigma 135mm f/1.8 DG Art Series
			(Christian Fandel)
- 0001361:	Wrongly identified Canon 2x extender as 1.4x extender with Tamron lens
			(Simon Harhues)
- 0001355:	New lens Tamron 100-400mm F/4.5-6.3 Di VC USD
			(Christian Touzé)
- 0001351:	Add lens: Sigma 120-300mm f/2.8 G VR
			(Nikolai Försterling)
- 0001348:	patch: add Tamron SP AF 150-600mm F/5-6.3 VC USD G2 (A022) for Nikon
			(Mike Romanov)
- 0001339:	Panasonic DMC-TZ70 lens not detected
			(Tim Stahel)
- 0001336:	Support for AF-P DX NIKKOR 10-20mm f/4.5-5.6G VR
			(Šarūnas Burdulis)
- 0001335:	Missing Nikon lense
			(Niels Hansen)
- 0001333:	New Lens: Tamron SP 24-70mm F/2.8 Di VC USD G2 (A032)
			(LP Tech)
- 0001332:	Recognise Tamron 18-200mm F/3.5-6.3 DiII VC B018 on Canon bodies
			(Šarūnas Burdulis)
- 0001328:	Sigma 18-300mm is wrongly reported as a Canon 75-300mm
			(Jean-Luc Jean-Luc Coulon)
- 0001327:	Two Sigma 24-70mm f/2.8 IF EX DG HSM lens definitions ??
			(Philippe Dussart-Desart)
- 0001326:	Tamron 100-300mm f/5-6.3 MACRO 1:4
			(Albert Jasinski)
- 0001323:	Add lens "Sigma 18-300mm f/3.5-6.3 DC Macro OS HS" for Canon ID 197
			(Ronny Heidenreich)
- 0001306:	the lens TAMRON SP 15-30mm F/2.8 Di VC USD A012 is not properly recognised
			(rene ernenwein)
- 0001304:	Lens missing Tamron SP 90mm f/2.8 Di Macro 1:1 VC USD F017
			(Matze G)

* Miscellaneous: (2)
- 0001314:	it is a stack-overflow vulnerability in Exiv2::Internal::stringFormat[abi:cxx11] ( in image.cpp:975 )
			(Zhu Liu)
- 0001305:	Segmentation fault on certain image
			(Oleg Antonyan)

* Makernote: (2)
- 0001343:	Irix 15mm f/2.4 on Nikon
			(Ben Perston)
- 0001324:	Pentax Makernote written twice
			(Dominique Nerriec)

* Metadata: (7)
- 0001341:	Date/Time Original not modified for NEFs
			(Jean-Luc CECCOLI)
- 0001340:	Infinite loop bugs in Libexiv2 Exiv2::Image::printIFDStructure()
			(Sanjay Rawat)
- 0001325:	Crash in exiv2  - Nikon1MakerNote::printBarValue (nikonnm.cpp)
			(Thibaud Mouton)
- 0001322:	Exception in PentaxMakerNote::printShutterCount, source: pentaxmn.cpp
			(Norbert Wagner)
- 0001321:	Invalid memory address dereference in Exiv2::getULong(types.cpp:246)
			(Zhu Liu)
- 0001301:	New lens: Sigma 18-35mm f/1.8 DC HSM Art for Canon
			(Alexander Steffen)
- 0001300:	New lens: Canon EF-S 35mm f/2.8 Macro IS STM
			(Alexander Steffen)

* Not-a-bug: (8)
- 0001369:	New lens Yongnuo 50mm f/1.8 II for Canon
			(Michal Fapso)
- 0001368:	Canon EF-M 15-45 broken LensType
			(Peter Wemmert)
- 0001367:	New Lens Sigma 100-400 mm, F5-6.3 DG for Nikon
			(Thomas G)
- 0001364:	New lens Tamron SP 24-70mm F/2.8 Di VC USD G2
			(Mikko Pantsar)
- 0001350:	Add lens: AF-S DX Nikkor 18-140mm
			(Nikolai Försterling)
- 0001349:	Add lens: Sigma 50-100mm F1.8 DC HSM | A
			(Nikolai Försterling)
- 0001344:	Unknown metadata
			(luv zeng)
- 0001331:	exiv2 fails to delete bulk of metadata in jpeg
			(Denis-Carl Robidoux)

* Tools: (1)
- 0001303:	#1 Use 'releases' feature on GitHub

* Tiff parser: (3)
- 0001360:	exiv2 can't read metadata from tiff file (tiff directory length is too large)
			(T Modes)
- 0001359:	This does not look like a TIFF image
			(jaeho jung)
- 0001330:	Crash in Exiv2::TiffImage::readMetadata
			(Tobias E.)

* Video: (2)
- 0001068:	Video Code Umbrella
- 0001028:	Add GSoC13 video-write code

* Website: (3)
- 0001308:	Move directory /website to svn://dev.exiv2.org/svn/team/website
- 0001302:	Use sha256 Checksums on Downloads and Archive pages of the web site.
- 0001288:	site defaults to http://, and https:// certificate is bogus
			(Matthias Andree)

* Xmp: (3)
- 0001354:	Inconsistency with long XMP namespaces (e.g. 'Iptc4xmpExt')
			(Jens Georg)
- 0001278:	XMP SDK Split
			(Ben Touchette)
- 0000941:	Upgrade xmpsdk source to Adobe's current version
jperkin pushed a commit that referenced this issue Aug 26, 2019
Changes in dconf 0.32.0
=======================

 - No changes since 0.31.92

Changes in dconf 0.31.92
========================

 - bin: Add an option to ignore changes to locked keys during load
   (Tomasz Miąsko; #1; !43)

 - tests: Use more concise key and value (Tomasz Miąsko; #1; !43)

 - tests: shm: fix pwrite wrapper with -D_FILE_OFFSET_BITS=64 (Ben Wolsieffer; !37)

 - tests: replace usage of dlsym with separate modules containing functions that need to be mocked out
   (Daniel Playfair Cal; !37)

 - tests: Avoid using real system bus during tests
   (Tomasz Miąsko; #51; !45)

Changes in dconf 0.31.2
=======================

 - Bin: rewrite dconf utility in C. Updates are no longer conditional on
   the mtime of the database directory and files. Help information is shown
   on erroneous usage, but not otherwise. (Tomasz Miąsko; !39)

 - build: Make dconf client vapi file installation optional, and thus the
   Vala dependency optional (still built by default) (Tomasz Miąsko; !40)

 - bin: Add a new database directory argument for the update command
   (Tomasz Miąsko, Takao Fujiwara; !39, !41)

Changes in dconf 0.31.1
=======================

 - Engine: Fix memory leak when subscribing to a path. (Guido Günther; !25)

 - CI: Always store test artifacts so we always get code coverage results.
   (Philip Withnall; !32)

 - Sort output of list and dump commands. (Tomasz Miąsko; !31)

 - Tests: Add integration tests for dconf and dconf-service running within
   a separate D-Bus session and clean XDG_RUNTIME_DIR and XDG_CONFIG_HOME.
   (Tomasz Miąsko; !31)

 - Engine: Coalesce pending writes into a single changeset.
   (Tomasz Miąsko; !30)

 - Consistently validate the number of arguments.
   Add optional directory argument for update command.
   (Tomasz Miąsko; !33)

 - Tests: Add further integration tests (Tomasz Miąsko; !33)

 - Check mtimes of files when updating databases. (Marek Kasik; !27; #11)

 - Indicate update failure with non-zero exit code. Consistently handle
   invalid configuration in update. (Tomasz Miąsko; !34; #42)

 - Replace Bugzilla by Gitlab URL in DOAP file. (Andre Klapper)

 - Tests: Add test for key paths locked in system databases
   (Tomasz Miąsko; !35)
jperkin pushed a commit that referenced this issue Sep 18, 2019
Upstream changes:
1.20190531 2019-05-31 16:57:30-07:00 America/Los_Angeles
    - allow main->SUPER::... to work when SUPER.pm is loaded (PR #1, Charles McGarvey)
jperkin pushed a commit that referenced this issue Oct 10, 2019
Revision 0.2.7:
- Added maps for use with openType to RFC 3565
- Added RFC2985 providing PKCS#9 Attributes
- Added RFC3770 providing Certificate Extensions and Attributes for
  Authentication in PPP and Wireless LAN Networks
- Added RFC5914 providing Trust Anchor Format
- Added RFC6010 providing CMS Content Constraints (CCC) Extension
- Added RFC6031 providing CMS Symmetric Key Package Content Type
- Added RFC6032 providing CMS Encrypted Key Package Content Type
- Added RFC7030 providing Enrollment over Secure Transport (EST)
- Added RFC7292 providing PKCS #12, which is the Personal Information
  Exchange Syntax v1.1
- Added RFC8018 providing PKCS #5, which is the Password-Based
  Cryptography Specification, Version 2.1
- Automatically update the maps for use with openType for RFC3709,
  RFC6402, RFC7191, and RFC8226 when the module is imported
- Added RFC6211 providing CMS Algorithm Identifier Protection Attribute
- Added RFC8449 providing Certificate Extension for Hash Of Root Key
- Updated RFC2459 and RFC5280 for TODO in the certificate extension map
- Added RFC7906 providing NSA's CMS Key Management Attributes
- Added RFC7894 providing EST Alternative Challenge Password Attributes
- Updated the handling of maps for use with openType so that just doing
  an import of the modules is enough in most situations; updates to
  RFC 2634, RFC 3274, RFC 3779, RFC 4073, RFC 4108, RFC 5035, RFC 5083,
  RFC 5084, RFC 5480, RFC 5940, RFC 5958, RFC 6019, and RFC 8520
- Updated the handling of attribute maps for use with openType in
  RFC 5958 to use the rfc5652.cmsAttributesMap
- Added RFC5990 providing RSA-KEM Key Transport Algorithm in the CMS
- Fixed malformed `rfc4210.RevRepContent` data structure layout
- Added RFC5934 providing Trust Anchor Management Protocol (TAMP)
- Added RFC6210 providing Experiment for Hash Functions with Parameters
- Added RFC5751 providing S/MIME Version 3.2 Message Specification
- Added RFC8494 providing Multicast Email (MULE) over ACP 142
- Added RFC8398 providing Internationalized Email Addresses in
  X.509 Certificates
- Added RFC8419 providing Edwards-Curve Digital Signature Algorithm
  (EdDSA) Signatures in the CMS
- Added RFC8479 providing Storing Validation Parameters in PKCS#8
- Added RFC8360 providing Resource Public Key Infrastructure (RPKI)
  Validation Reconsidered
- Added RFC8358 providing Digital Signatures on Internet-Draft Documents
- Added RFC8209 providing BGPsec Router PKI Profile
- Added RFC8017 providing PKCS #1 Version 2.2
- Added RFC7914 providing scrypt Password-Based Key Derivation Function
- Added RFC7773 providing Authentication Context Certificate Extension
jperkin pushed a commit that referenced this issue Oct 20, 2019
Revision 0.2.7:
- Added maps for use with openType to RFC 3565
- Added RFC2985 providing PKCS#9 Attributes
- Added RFC3770 providing Certificate Extensions and Attributes for
  Authentication in PPP and Wireless LAN Networks
- Added RFC5914 providing Trust Anchor Format
- Added RFC6010 providing CMS Content Constraints (CCC) Extension
- Added RFC6031 providing CMS Symmetric Key Package Content Type
- Added RFC6032 providing CMS Encrypted Key Package Content Type
- Added RFC7030 providing Enrollment over Secure Transport (EST)
- Added RFC7292 providing PKCS #12, which is the Personal Information
  Exchange Syntax v1.1
- Added RFC8018 providing PKCS #5, which is the Password-Based
  Cryptography Specification, Version 2.1
- Automatically update the maps for use with openType for RFC3709,
  RFC6402, RFC7191, and RFC8226 when the module is imported
- Added RFC6211 providing CMS Algorithm Identifier Protection Attribute
- Added RFC8449 providing Certificate Extension for Hash Of Root Key
- Updated RFC2459 and RFC5280 for TODO in the certificate extension map
- Added RFC7906 providing NSA's CMS Key Management Attributes
- Added RFC7894 providing EST Alternative Challenge Password Attributes
- Updated the handling of maps for use with openType so that just doing
  an import of the modules is enough in most situations; updates to
  RFC 2634, RFC 3274, RFC 3779, RFC 4073, RFC 4108, RFC 5035, RFC 5083,
  RFC 5084, RFC 5480, RFC 5940, RFC 5958, RFC 6019, and RFC 8520
- Updated the handling of attribute maps for use with openType in
  RFC 5958 to use the rfc5652.cmsAttributesMap
- Added RFC5990 providing RSA-KEM Key Transport Algorithm in the CMS
- Fixed malformed `rfc4210.RevRepContent` data structure layout
- Added RFC5934 providing Trust Anchor Management Protocol (TAMP)
- Added RFC6210 providing Experiment for Hash Functions with Parameters
- Added RFC5751 providing S/MIME Version 3.2 Message Specification
- Added RFC8494 providing Multicast Email (MULE) over ACP 142
- Added RFC8398 providing Internationalized Email Addresses in
  X.509 Certificates
- Added RFC8419 providing Edwards-Curve Digital Signature Algorithm
  (EdDSA) Signatures in the CMS
- Added RFC8479 providing Storing Validation Parameters in PKCS#8
- Added RFC8360 providing Resource Public Key Infrastructure (RPKI)
  Validation Reconsidered
- Added RFC8358 providing Digital Signatures on Internet-Draft Documents
- Added RFC8209 providing BGPsec Router PKI Profile
- Added RFC8017 providing PKCS #1 Version 2.2
- Added RFC7914 providing scrypt Password-Based Key Derivation Function
- Added RFC7773 providing Authentication Context Certificate Extension
jperkin pushed a commit that referenced this issue Nov 13, 2019
Now builds with meson.

mm-common 1.0.0 (2019-10-29)

* Rename directory build/ to am_include/
  (Kjell Ahlstedt)
* Add support for building mm-common with Meson.
  (Kjell Ahlstedt)
* Support modules that are built with Meson.
  Add the mm-common-get command.
  (Kjell Ahlstedt) Merge request !2
* skeletonmm: Use Meson instead of Autotools.
  (Kjell Ahlstedt) Issue #1 (Tomasz Kłoczko)
* MM_AX_CXX_COMPILE_STDCXX():
  Update based on the upstream AX_CXX_COMPILE_STDCXX() macro.
  (Murray Cumming)
jperkin pushed a commit that referenced this issue Nov 24, 2019
2018-11-12 Paul Dreik <rdfind@pauldreik.se>
        * release of 1.4.1
        * fixes build failure on 32 bit platforms
        * tests: fix bad test logic in hardlink fail test
2018-11-09 Paul Dreik <rdfind@pauldreik.se>
        * release of 1.4.0
        * improve error message when failing to make symlink.
          See Github bug #5.
2018-10-28 Paul Dreik <rdfind@pauldreik.se>
        * release of 1.4.0-alpha0
        * cleanup of source to remove compiler warnings
          and switch to c++11
        * failure of making hard links will not delete the deduplicated
          file, if pssible. See Github bug #5.
        * failure of making symlinks will not delete the deduplicated
          file, if possible. See Github bug #5.
        * added option -minsize to optionally ignore files under a
          certain size. See Github bug #1
        * add sha256 support - see Debian Bug 815120 and Github #7
          the default checksum is now sha1 instead of md5
        * better error messages when -dryrun is misused. See Github #8
          and Debian Bug 754663
        * performance: pruning empty files earlier and other improvements.
          "rdfind -checksum sha1 /usr /usr" goes from 5.9 to 4.86 seconds on the
          author's machine, with hot filesystem cache.
        * increase size of integer types to be able to handle more than INTMAX
          files.
        * add deterministic mode, enabled by default. See Github issue #13 and
          Debian Bug 795790. When enabled, makes the program insensitive to the
          order of files when listing directories.
2017-01-04 Paul Dreik <rdfind@pauldreik.se>
        * release 1.3.5
        * source cleanup like removing obsolete comments, formatting.
        * fix man page typo on dryrun
        * console output showing how much space that can be saved
          is now properly capitalized. as you may have noted, I do not
          really like uppercase...
        * make check now works again (for some reason, it broke. maybe
          due to autotools updates)
2014-08-23 Paul Dreik <rdfind@pauldreik.se>
        * fix bug in using sha1 even if md5 is selected
jperkin pushed a commit that referenced this issue Nov 28, 2019
Changes between 1.0.2s and 1.0.2t [10 Sep 2019]

   *) For built-in EC curves, ensure an EC_GROUP built from the curve name is
      used even when parsing explicit parameters, when loading a serialized key
      or calling `EC_GROUP_new_from_ecpkparameters()`/
      `EC_GROUP_new_from_ecparameters()`.
      This prevents bypass of security hardening and performance gains,
      especially for curves with specialized EC_METHODs.
      By default, if a key encoded with explicit parameters is loaded and later
      serialized, the output is still encoded with explicit parameters, even if
      internally a "named" EC_GROUP is used for computation.
      [Nicola Tuveri]

  *) Compute ECC cofactors if not provided during EC_GROUP construction. Before
     this change, EC_GROUP_set_generator would accept order and/or cofactor as
     NULL. After this change, only the cofactor parameter can be NULL. It also
     does some minimal sanity checks on the passed order.
     (CVE-2019-1547)
     [Billy Bob Brumley]

  *) Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey.
     An attack is simple, if the first CMS_recipientInfo is valid but the
     second CMS_recipientInfo is chosen ciphertext. If the second
     recipientInfo decodes to PKCS #1 v1.5 form plaintext, the correct
     encryption key will be replaced by garbage, and the message cannot be
     decoded, but if the RSA decryption fails, the correct encryption key is
     used and the recipient will not notice the attack.
     As a work around for this potential attack the length of the decrypted
     key must be equal to the cipher default key length, in case the
     certifiate is not given and all recipientInfo are tried out.
     The old behaviour can be re-enabled in the CMS code by setting the
     CMS_DEBUG_DECRYPT flag.
     (CVE-2019-1563)
     [Bernd Edlinger]

  *) Document issue with installation paths in diverse Windows builds

     '/usr/local/ssl' is an unsafe prefix for location to install OpenSSL
     binaries and run-time config file.
     (CVE-2019-1552)
     [Richard Levitte]
jperkin pushed a commit that referenced this issue Oct 19, 2022
From https://wiki.davical.org/index.php?title=Release_Notes/1.1.11:

=== Bug Fixes ===
* Tasks show up in Free/Busy (#257)
* php compatibility: Creating principal fails on 8.1 (#271)
* PHP 8 deprecations: htmlspecialchars in always.php (#266)
* PHP 8: "Exception [0] array_flip(): Argument #1 ($array) must be of
  type array, null given" at principal-edit.php (#260)
* Exception in inc/iSchedule.php, Argument #1 must be of type
  Countable|array (#252)
* Users with passwords containing a quotation mark cannot login (#259)
* Create new users, impossible... (#250)
* Wrong FreeBusy duration when the DTSTART of the event is the same as
  the DTEND (#247)
* Remove deprecated get_magic_quotes* function call from setup.php (234)
* "Login failure" when password contains HTML special characters (#229)

=== Other Changes ===
* Changes to Gitlab CI, unit and regression tests
jperkin pushed a commit that referenced this issue Oct 23, 2022
Alan Coopersmith (10):
      Update README for gitlab migration
      Update configure.ac bug URL for gitlab migration
      Build xz tarballs instead of bzip2
      Fix spelling/wording issues
      gitlab CI: add a basic build test
      Remove unnecessary casts from malloc & free calls
      Reduce variable scopes as recommended by cppcheck
      Resolve -Wsign-compare warnings
      Rename xDepth to xPDepth to quiet -Wshadow warnings
      libXrender 0.9.11

Dmitry Karasik (1):
      fix coredumps in XRenderComputeTrapezoids (issue #1)

Emil Velikov (1):
      autogen.sh: use quoted string variables

Mihail Konev (1):
      autogen: add default patch prefix

Oliver Hattshire (1):
      WIP: Documentation

Peter Hutterer (1):
      autogen.sh: use exec instead of waiting for configure to finish

Robin Linden (1):
      Add missing HAVE_CONFIG_H guard to Xrenderint.h

Thomas E. Dickey (8):
      amend cppcheck-scope change, fixing c89 build
      additional cppcheck-scope warning
      cppcheck (removing unused assignment lets variable scope reduction)
      use casts to reduce compiler warnings (no object change)
      use _Xconst with DataInt32/DataInt16/memcpy to reduce strict compiler warnings
      use _X_UNUSED for compiler-warnings
      whitespace fix
      fix regression
jperkin pushed a commit that referenced this issue Oct 30, 2022
Alan Coopersmith (6):
      Build xz tarballs instead of bzip2
      gitlab CI: add a basic build test
      Close fd for reading old Makefile when done, instead of leaking it
      gitlab CI: stop requiring Signed-off-by in commits
      Use AC_CONFIG_FILES to replace the deprecated AC_OUTPUT with parameters
      makedepend 1.0.7

Thibault DUPONCHELLE (1):
      Add test case for bug #1 + proposed fix.
jperkin pushed a commit that referenced this issue Nov 23, 2022
[0.22.1] - 2022-11-22
 - Bugfix followup release - check 0.22.0 notes for more infos!

Added
 - new arg --polling to use poll-based change detection and not filesystem
   watcher (use if you see problems running into file descriptor limits)

Fixes
 - improve performance by requesting branches info asynchronous (92f63d1)
 - fix app startup delay due to using file watcher (#1436)
 - make git tree file fetch async (#734)

[0.22.0] - 2022-11-19 submodules view
 - submodules

Added
 - submodules support (#1087)
 - remember tab between app starts (#1338)
 - repo specific gitui options saved in .git/gitui.ron (#1340)
 - commit msg history (#1345)
 - customizable cmdbar_bg theme color & screen spanning selected line bg
   [@Gigitsu] (#1299)
 - word motions to text input [@Rodrigodd] (#1256)
 - file blame at right revision from commit-details [@heiskane] (#1122)
 - dedicated selection foreground theme color selection_fg (#1365)
 - add regex-fancy and regex-onig features to allow building Syntect with
   Onigumara regex engine instead of the default engine based on fancy-regex
   [@jirutka]
 - add vendor-openssl feature to allow building without vendored openssl
   [@jirutka]
 - allow copying marked commits [@remique] (#1288)
 - feedback for success/failure of copying hash commit [@SergioRibera](#1160)
 - display tags and branches in the log view [@alexmaco] (#1371)
 - display current repository path in the top-right corner [@alexmaco](#1387)
 - add Linux targets for ARM, ARMv7 and AARCH64 [@adur1990] (#1419)
 - display commit description in file view [@alexmaco] (#1380)
 - allow launching editor from Compare Commits view (#1409)

Fixes
 - remove insecure dependency ansi_term (#1290)
 - use filewatcher instead of polling updates (#1)
jperkin pushed a commit that referenced this issue Dec 14, 2022
This bug fix release corrects a regression introduced in 1.0.7 that
caused running makedepend on larger bodies of source to incorrectly
hit the "out of space: increase MAXFILES" error, and made makedepend
run measuribly slower than before.

Alan Coopersmith (3):
      man page: add line breaks in Synopsis section
      Bug #2: fix regression introduced by fix for bug #1
      makedepend 1.0.8
jperkin pushed a commit that referenced this issue Dec 18, 2022
Tested on NetBSD 9 amd64 with postfix and spamass-milter.  NB the rule
renaming below and the modified init.pre, which will not be merged by
updating if init.pre is locally modifed.


Upstream Release Notes:


Introduction
------------

Apache SpamAssassin 4.0.0 contains numerous tweaks and bug fixes over
the past releases. In particular, it includes major changes that
significantly improve the handling of text in international language.

As with any major release, there are countless functional patches and
improvements to upgrade to 4.0.0. Apache SpamAssassin 4.0.0 includes
several years of fixes that significantly improve classification and
performance. It has been thoroughly tested in production systems. We
strongly recommend upgrading as soon as possible.


Notable features:
=================


New plugins
-----------

There are three new plugins added with this release:


#1 Mail::SpamAssassin::Plugin::ExtractText

This plugin uses external tools to extract text from message parts,
and then sets the text as the rendered part. All SpamAssassin rules
that apply to the rendered part will run on the extracted text as
well.


#2 Mail::SpamAssassin::Plugin::DMARC

This plugin checks if emails match DMARC policy after parsing DKIM and
SPF results.


#3 Mail::SpamAssassin::Plugin::DecodeShortURLs

This plugin looks for URLs shortened by a list of URL shortening
services. Upon finding a matching URL, plugin will send a HTTP request
to the shortening service and retrieve the Location-header which
points to the actual shortened URL. It then adds this URL to the list
of URIs extracted by SpamAssassin which can then be accessed by uri
rules and plugins such as URIDNSBL.


Removed plugin
--------------

HashCash module, formerly deprecated, has now been removed completely


Notable changes
---------------

This release includes fixes for the following:

  - Support for international text such as UTF-8 rules has been
     completed and significantly improved to include native UTF-8
     processing

  - Bayes plugin has been improved to skip common words aka noise
     words written in languages other than English

  - OLEVBMacro plugin has been improved in order to detect more
     Microsoft Office macros and dangerous content. It has also been
     improved to extract URIs from Office documents for automatic
     inclusion in rules such as RBL lookups.

  - You can now use Captured Tags to use tags “captured” in one rule
     inside other rules

  - sa-update(1) tool has been improved with three new options:

    #1 forcemirror: forces sa-update to use a specific mirror server,

    #2 score-multiplier: adjust all scores from update channel by a
      given multiplier to quickly level set scores to match your
      preferred threshold

    #3 score-limit adjusts all scores from update channel over a
      specified limit to a new limit

* SSL client certificate support has been improved and made easier to
   implement with spamc/spamd

* DKIM plugin can now detect ARC signatures

* More work on improving the configuration and internal coding to use
  more inclusive and less divisive language

* spamc(1) speed has been improved when both SSL and compression are
  used

* The normalize_charset option is now enabled by default. NOTE: Rules
  should not expect specific non-UTF-8 or UTF-8 encoding in the body.
  Matching is done against the raw body, which may vary depending on
  normalize_charset setting and whether UTF-8 decoding was successful.

* Mail::SPF is now the only supported module used by the SPF plugin.

* Mail::SPF::Query use is deprecated, along with settings
  do_not_use_mail_spf, do_not_use_mail_spf_query.

 * SPF lookups are not done asynchronously and you may consider using
   an SPF filter at the MTA level (pypolicyd-spf / spf-engine / etc)
   which generates a Received-SPF header that can be parsed by
   SpamAssassin.

 * The default sa-update ruleset doesn't make ASN lookups or header
   additions anymore.  Configure desired methods (asn_use_geodb /
   asn_use_dns) and add_header clauses manually, as described in
   documentation for the Mail::SpamAssassin::Plugin::ASN.


New configuration options
-------------------------

All rules, functions, command line options and modules that contain
"whitelist" or "blacklist" have been renamed to "welcomelist" and
"blocklist" terms

Old options will continue to work for backwards compatibility until at
least the Apache SpamAssassin version 4.1.0 release

New tflag "nolog" added to hide info coming from rules in SpamAssassin
reports

New dns_options "nov4" and "nov6" added.
IMPORTANT:; You must set nov6 if your DNS resolver is filtering IPv6
AAAA replies.

Razor2 razor_fork option added. It will fork separate Razor2 process
and read in the results later asynchronously, increasing
throughput. When this is used, rule priorities are automatically
adjusted to -100.

Pyzor pyzor_fork option added. It will fork separate Pyzor process and
read in the results later asynchronously, increasing throughput. When
this is used, rule priorities are automatically adjusted to -100

urirhsbl and urirhssub rules now support "notrim" tflag, which forces
querying the full hostname, instead of trimmed domain

report_charset now defaults to UTF-8 which may change the rendering of
SpamAssassin reports

Notable Internal changes
------------------------

Meta rules no longer use priority values, they are evaluated
dynamically when the rules they depend on are finished

DNS and other asynchronous lookups like DCC or Razor2 plugins are now
launched when priority -100 is reached. This allows short circuiting
at lower priority without sending unneeded DNS queries

New internal Mail::SpamAssassin::GeoDB module supporting RelayCountry
and URILocalBL plugins provides a unified interface to Geographic IP
modules. These include:
    MaxMind::DB::Reader (GeoIP2)
    Geo::IP
    IP::Country::DB_File
    IP::Country::Fast.

Bayes and TxRep Message-ID tracking now uses a different hashing
method


Optimizations
-------------

Apache SpamAssassin 4.0.0 represents years of work by the project with
numerous improvements, new rule types, and internal native handling of
messages in international languages. These three key optimizations
will improve the efficiency of SpamAssassin:

    DNS queries are now done asynchronously for overall speed
    improvements

    DCC checks can now use dccifd asynchronously for improved throughput

    Pyzor and Razor fork use separate processes done asynchronously
    for increased throughput
jperkin pushed a commit that referenced this issue Jan 12, 2023
2.0.0 (2022-01-04)

* Faraday 2.0 support by @iMacTia in #1

2.0.1 (2022-01-06)

* Re-add support for Faraday v1
jperkin pushed a commit that referenced this issue Jan 12, 2023
2.0.0 (2022-01-04)

Faraday::Patron 2.0

This release supports only Faraday 2.0

What's Changed

* Add support for Faraday 2.0 by @iMacTia in #1
* gemspec: faraday ~> 2.0 and ruby >= 2.6 by @olleolleolle in #3


2.0.1 (2022-01-06)

* Re-add support for Faraday v1
jperkin pushed a commit that referenced this issue Jan 12, 2023
2.0.0 (2022-05-12)

Breaking

* This release drops support for Faraday 1.0

What's Changed

* Support Faraday 2: replace dependency with require by @notEthan in #1
* CI: Add Ruby 3.1, bundler-cache by @olleolleolle in #3
* refactor: use Gemfile for development dependencies by @olleolleolle in #4
* Depend on Faraday 2.0 by @olleolleolle in #5
jperkin pushed a commit that referenced this issue Feb 10, 2023
Change log:

0.13.0 (2023-02-09)
======
- New Features:
  - Add print support (#1)

- Bug Fixes:
  - editor-chooser: Expand tree view vertically
  - properties-dialog: Update thumbnail on "ready" signal
  - Fix remaining blurry icons when UI scale > 1
  - thumbnailer: Properly support window scaling (#81)
  - Revert "thumbnailer: Increase thumbnail sizes"

- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian,
  Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese,
  Kazakh, Korean, Lithuanian, Malay, Norwegian Bokml, Occitan (post
  1500), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian,
  Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish,
  Ukrainian, Uyghur
jperkin pushed a commit that referenced this issue Feb 20, 2023
Upstream changes:
version 0.006 at 2021-12-14 01:56:39 +0000
------------------------------------------

  Change: ae3e73a1a6dd1bd5421e16eb9724f67c6af8f766
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2021-12-13 20:41:21 +0000

    Try to make `dzil release` more working.

  Change: b68a6402bc0744cf42d6b53263ab70809e1ed90c
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2021-12-12 23:15:57 +0000

    Fix a `dzil release` runtime complaint about base's required version.

  Change: 75e80bcf7007d8a28c4914e4af7cfef76db76125
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2021-12-12 22:29:53 +0000

    Update copyright date.

  Change: 7cde30af6484ff4af88beb59df73712cdccbf770
  Author: Rocco Caputo <rcaputo@cpan.org>
  Date : 2021-12-12 22:23:09 +0000

    Merge pull request #1 from zmughal/fix-socketpairly-docs

    Fix socketpairly() docs to match code.

  Change: 03c8d1aa97f579eadb8107fa40ce6b95538ccf14
  Author: Zakariyya Mughal <zaki.mughal@gmail.com>
  Date : 2021-12-12 21:57:17 +0000

    Fix socketpairly() docs to match code

    Partially reverts 0eebdd0dee0fa90bf47ca4e8ae4e0216d66ac785 where the
    order of the list of handles returned by `socketpairly()` was changed
    only in the documentation, but not the code.
jperkin pushed a commit that referenced this issue Apr 28, 2023
Release 2.3.0

Added

    Add no_color and force_color parameters to override env vars (#38) @hugovk
    Add support for Python 3.12 (#37) @hugovk

Changed

    Publish to PyPI with a Trusted Publisher (#45) @hugovk

Release 2.2.0

Added

    Add light shades, dark grey and black (#32) @hugovk

Release 2.1.1

Fixed

    Add __main__ to re-enable demo via python -m termcolor (#27) @hugovk

Release 2.1.0

Added

    Support FORCE_COLOR and detect tty (#25) @hugovk

Deprecated

    Deprecate __ALL__, use __all__ instead (#23) @hugovk

Release 2.0.1

Fixed

    Update source URL (#21) @felixonmars

Release 2.0.0

Added

    Add support for Python 3.11 and PyPy (#9) @hugovk
    Add support for Python 3.10 (#5) @hugovk
    Support NO_COLOR (#7) @hugovk
    Add type annotations to the project and run mypy on CI (#11) @jdufresne
    Add tests (#1) @hugovk

Changed

    Refer to GitHub Releases for release notes for 2.0.0+ (#20) @hugovk
    Autodeploy to TestPyPI and to PyPI for GH releases (#19) @hugovk
    Migrate from setuptools + setuptools_scm to hatchling + hatch-vcs (#17) @hugovk
    Replace deprecated license_file with license_files in setup.cfg (#14) @jdufresne
    Use declarative metadata in setup.cfg (#10) @hugovk
    Replace 3.9-dev with 3.9 in CI to use Python 3.9 final (#3) @CozyDoomer

Removed

    Drop support for EOL Python <= 3.6 (#9) @hugovk
    Remove hardcoded VERSION constant (#18) @hugovk

Fixed

    Fix docstring for colored function (#15) @tmetzl
    Fix typo: ANSII -> ANSI (#8) @hugovk
jperkin pushed a commit that referenced this issue Jun 28, 2023
Upstream changes:
0.32      2023-04-29 10:07:45Z
    - removed an unnecessary use of Sub::Name (haarg, PR #1)
jperkin pushed a commit that referenced this issue Jul 4, 2023
Upstream changes:
1.13 -- Sat Apr 29 21:45:32 ADT 2023

    Production Release of 1.12 no changes.

    [Significant Updates since 1.11]

    Two fairly minor updates that should not impact anyone much.
    Dropping support for 5.008 - if you really need it send a PR
    to fix.  There has been a longstanding "bug" that inserted
    standalone in the xml declaration whether it was needed or not.
    This makes it optional if it is not required for
    externally-defined DTD or directly specified.


    - 1a4e7a0 Update version for Release 1.13
    - abb366d v1.12

1.12 -- Sat Apr 29 11:55:46 ADT 2023

    [Significant Updates since 1.11]

    Two fairly minor updates that should not impact anyone much.
    Dropping support for 5.008 - if you really need it send a PR
    to fix.  There has been a longstanding "bug" that inserted
    standalone in the xml declaration whether it was needed or not.
    This makes it optional if it is not required for
    externally-defined DTD or directly specified.

    - 1a7defd Forgot to increment the number of tests
    - 7a05609 Fix standalone bug
    - aa3c19d Add autoprereqs
    - a458ec3 Drop support for perl 5.008
    - 85847a1 v1.11

1.11 -- Mon Apr 17 17:17:55 ADT 2023

    [Significant Updates since 1.09]

    Allow the xml tag attributes to be specified during construction
    when conformance is not 'strict' by Wesley Schwengle (waterkip)

    Release 1.10 for production

    - 0ff9e8b Update for production release
    - 85396bc Update Copyright year
    - 30c95bf v1.10

1.10 -- Sun Apr 16 20:10:11 ADT 2023

    [Significant Updates since 1.09]

    Allow the xml tag attributes to be specified during construction
    when conformance is not 'strict'

    - efc7d9d Update for release
    - 83b1699 Remove VERSION number from git repo
    - a49e891 Add new xml option to constructor
    - 4171530 v1.09

1.09 -- Fri Feb 18 23:06:27 AST 2022

    - b31c19f Increment version
    - 1a3fa9e Fix RT 49038: Doc bug - escaping
    - d398d9c Fix dependency info

1.08 -- Thu Feb 17 20:00:24 AST 2022

    [Significant Updates since 1.04]

    - Fix RT 77323: escape all characters outside the normal ASCII range
    - Fix RT 80273 v1.04 incorrectly escaping stringified inner tags
    - Fix RT 70986 and provides test
    - Move to Dist::Zilla to build

    [Changes since 1.07]

    - 6258a3b Update version number for release
    - c9a09d4 v1.07

1.07 -- Thu Feb 17 16:58:42 AST 2022

    - c70c220 Add .gitignore
    - 124e36a Update version and Dist::Zilla settings
    - 0f6ccd0 Fix some pod issues

1.06 -- Thu Feb 17 08:04:38 AST 2022

    - 7c9d6d5 v1.06
    - a676ff3 Merge pull request #1 from perl-net-saml2/distzilla
    - d565282 Move to Dist::Zilla

1.05     Wed Feb 16 22:00:00 2022

    - 1eb746e (tag: 1.05) Update for new release
    - 0e895a0 Add github action
    - f636f4b Fix RT 77323: escape all characters outside the normal ASCII range
    - 423c2cf Fix RT 80273 v1.04 incorrectly escaping stringified inner tags
    - 8ef1c52 Fixes RT 70986 and provides test
jperkin pushed a commit that referenced this issue Aug 14, 2023
When security/opensc was updated to 0.23.0, it gained a
--enable-notify configure flag.

The feature adds a libopensc dependency on libglib, which in turns
brings libpthread into the game.

When using the opensc-pkcs11.so module with a non threaded program
such as ssh(1), libopensc will load some thread-enabled glib function
that attemps to initialize pthread stuff. That would require libpthread
to be linked in, and if it is not the case, module load aborts.
Here is the crash in action:

Program received signal SIGABRT, Aborted.
0x000072403899c46a in _lwp_kill () from /lib/libc.so.12
(gdb) bt
#0  0x000072403899c46a in _lwp_kill () from /lib/libc.so.12
#1  0x0000724038849223 in __libc_thr_create_stub () from /lib/libc.so.12
#2  0x0000724036a9c3ee in ?? ()
#3  0x0000000000000000 in ?? ()

This change turns the notify feature into a disabled by default
option so that opensc-pkcs11.so can work agan with ssh(1).
jperkin pushed a commit that referenced this issue Nov 23, 2023
Changelog:
# v2.0.0 - 2023-08-01

Version 2.0 is a big milestone with too many changes to list them all here.

For a full list see [details](changelog_2_0_0_details.html).


## New features

### Better tuple unpacking

Tuple unpacking for variables is now treated as syntax sugar that directly
expands into multiple assignments. Along with this, tuple unpacking for
variables can now be nested.

```nim
proc returnsNestedTuple(): (int, (int, int), int, int) = (4, (5, 7), 2, 3)

# Now nesting is supported!
let (x, (_, y), _, z) = returnsNestedTuple()

```

### Improved type inference

A new form of type inference called [top-down inference](https://nim-lang.github.io/Nim/manual_experimental.html#topminusdown-type-inference) has been implemented for a variety of basic cases.

For example, code like the following now compiles:

```nim
let foo: seq[(float, byte, cstring)] = @[(1, 2, "abc")]
```

### Forbidden Tags

[Tag tracking](https://nim-lang.github.io/Nim/manual.html#effect-system-tag-tracking) now supports the definition
of forbidden tags by the `.forbids` pragma which can be used to disable certain effects in proc types.

For example:

```nim

type IO = object ## input/output effect
proc readLine(): string {.tags: [IO].} = discard
proc echoLine(): void = discard

proc no_IO_please() {.forbids: [IO].} =
  # this is OK because it didn't define any tag:
  echoLine()
  # the compiler prevents this:
  let y = readLine()

```

### New standard library modules

The famous `os` module got an overhaul. Several of its features are available
under a new interface that introduces a `Path` abstraction. A `Path` is
a `distinct string`, which improves the type safety when dealing with paths, files
and directories.

Use:

- `std/oserrors` for OS error reporting.
- `std/envvars` for environment variables handling.
- `std/paths` for path handling.
- `std/dirs` for directory creation/deletion/traversal.
- `std/files` for file existence checking, file deletions and moves.
- `std/symlinks` for symlink handling.
- `std/appdirs` for accessing configuration/home/temp directories.
- `std/cmdline` for reading command line parameters.

### Consistent underscore handling

The underscore identifier (`_`) is now generally not added to scope when
used as the name of a definition. While this was already the case for
variables, it is now also the case for routine parameters, generic
parameters, routine declarations, type declarations, etc. This means that the following code now does not compile:

```nim
proc foo(_: int): int = _ + 1
echo foo(1)

proc foo[_](t: typedesc[_]): seq[_] = @[default(_)]
echo foo[int]()

proc _() = echo "_"
_()

type _ = int
let x: _ = 3
```

Whereas the following code now compiles:

```nim
proc foo(_, _: int): int = 123
echo foo(1, 2)

proc foo[_, _](): int = 123
echo foo[int, bool]()

proc foo[T, U](_: typedesc[T], _: typedesc[U]): (T, U) = (default(T), default(U))
echo foo(int, bool)

proc _() = echo "one"
proc _() = echo "two"

type _ = int
type _ = float
```

### JavaScript codegen improvement

The JavaScript backend now uses [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)
for 64-bit integer types (`int64` and `uint64`) by default. As this affects
JS code generation, code using these types to interface with the JS backend
may need to be updated. Note that `int` and `uint` are not affected.

For compatibility with [platforms that do not support BigInt](https://caniuse.com/bigint)
and in the case of potential bugs with the new implementation, the
old behavior is currently still supported with the command line option
`--jsbigint64:off`.


## Docgen improvements

`Markdown` is now the default markup language of doc comments (instead
of the legacy `RstMarkdown` mode). In this release we begin to separate
RST and Markdown features to better follow specification of each
language, with the focus on Markdown development.
See also [the docs](https://nim-lang.github.io/Nim/markdown_rst.html).

* Added a `{.doctype: Markdown | RST | RstMarkdown.}` pragma allowing to
  select the markup language mode in the doc comments of the current `.nim`
  file for processing by `nim doc`:

    1. `Markdown` (default) is basically CommonMark (standard Markdown) +
        some Pandoc Markdown features + some RST features that are missing
        in our current implementation of CommonMark and Pandoc Markdown.
    2. `RST` closely follows the RST spec with few additional Nim features.
    3. `RstMarkdown` is a maximum mix of RST and Markdown features, which
        is kept for the sake of compatibility and ease of migration.

* Added separate `md2html` and `rst2html` commands for processing
  standalone `.md` and `.rst` files respectively (and also `md2tex`/`rst2tex`).

* Added Pandoc Markdown bracket syntax `[...]` for making anchor-less links.
* Docgen now supports concise syntax for referencing Nim symbols:
  instead of specifying HTML anchors directly one can use original
  Nim symbol declarations (adding the aforementioned link brackets
  `[...]` around them).
  * To use this feature across modules, a new `importdoc` directive was added.
    Using this feature for referencing also helps to ensure that links
    (inside one module or the whole project) are not broken.
* Added support for RST & Markdown quote blocks (blocks starting with `>`).
* Added a popular Markdown definition lists extension.
* Added Markdown indented code blocks (blocks indented by >= 4 spaces).
* Added syntax for additional parameters to Markdown code blocks:

       ```nim test="nim c $1"
       ...
       ```


## C++ interop enhancements

Nim 2.0 takes C++ interop to the next level. With the new [virtual](https://nim-lang.github.io/Nim/manual_experimental.html#virtual-pragma) pragma and the extended [constructor](https://nim-lang.github.io/Nim/manual_experimental.html#constructor-pragma) pragma.
Now one can define constructors and virtual procs that maps to C++ constructors and virtual methods, allowing one to further customize
the interoperability. There is also extended support for the [codeGenDecl](https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-codegendecl-pragma) pragma, so that it works on types.

It's a common pattern in C++ to use inheritance to extend a library. Some even use multiple inheritance as a mechanism to make interfaces.

Consider the following example:

```cpp

struct Base {
  int someValue;
  Base(int inValue)  {
    someValue = inValue;
  };
};

class IPrinter {
public:
  virtual void print() = 0;
};
```

```nim

type
  Base* {.importcpp, inheritable.} = object
    someValue*: int32
  IPrinter* {.importcpp.} = object

const objTemplate = """
  struct $1 : public $3, public IPrinter {
    $2
  };
""";

type NimChild {.codegenDecl: objTemplate .} = object of Base

proc makeNimChild(val: int32): NimChild {.constructor: "NimClass('1 #1) : Base(#1)".} =
  echo "It calls the base constructor passing " & $this.someValue
  this.someValue = val * 2 # Notice how we can access `this` inside the constructor. It's of the type `ptr NimChild`.

proc print*(self: NimChild) {.virtual.} =
  echo "Some value is " & $self.someValue

let child = makeNimChild(10)
child.print()
```

It outputs:

```
It calls the base constructor passing 10
Some value is 20
```


## ARC/ORC refinements

With the 2.0 release, the ARC/ORC model got refined once again and is now finally complete:

1. Programmers now have control over the "item was moved from" state as `=wasMoved` is overridable.
2. There is a new `=dup` hook which is more efficient than the old combination of `=wasMoved(tmp); =copy(tmp, x)` operations.
3. Destructors now take a parameter of the attached object type `T` directly and don't have to take a `var T` parameter.

With these important optimizations we improved the runtime of the compiler and important benchmarks by 0%! Wait ... what?
Yes, unfortunately it turns out that for a modern optimizer like in GCC or LLVM there is no difference.

But! This refined model is more efficient once separate compilation enters the picture. In other words, as we think of
providing a stable ABI it is important not to lose any efficiency in the calling conventions.


## Tool changes

- Nim now ships Nimble version 0.14 which added support for lock-files. Libraries are stored in `$nimbleDir/pkgs2` (it was `$nimbleDir/pkgs` before). Use `nimble develop --global` to create an old style link file in the special links directory documented at https://github.com/nim-lang/nimble#nimble-develop.
- nimgrep now offers the option `--inContext` (and `--notInContext`), which
  allows to filter only matches with the context block containing a given pattern.
- nimgrep: names of options containing "include/exclude" are deprecated,
  e.g. instead of `--includeFile` and `--excludeFile` we have
  `--filename` and `--notFilename` respectively.
  Also, the semantics are now consistent for such positive/negative filters.
- Nim now ships with an alternative package manager called Atlas. More on this in upcoming versions.


## Porting guide

### Block and Break

Using an unnamed break in a block is deprecated. This warning will become an error in future versions! Use a named block with a named break instead. In other words, turn:

```nim

block:
  a()
  if cond:
    break
  b()

```

Into:

```nim

block maybePerformB:
  a()
  if cond:
    break maybePerformB
  b()

```

### Strict funcs

The definition of `"strictFuncs"` was changed.
The old definition was roughly: "A store to a ref/ptr deref is forbidden unless it's coming from a `var T` parameter".
The new definition is: "A store to a ref/ptr deref is forbidden."

This new definition is much easier to understand, the price is some expressitivity. The following code used to be
accepted:

```nim

{.experimental: "strictFuncs".}

type Node = ref object
  s: string

func create(s: string): Node =
  result = Node()
  result.s = s # store to result[]

```

Now it has to be rewritten to:

```nim

{.experimental: "strictFuncs".}

type Node = ref object
  s: string

func create(s: string): Node =
  result = Node(s: s)

```

### Standard library

Several standard library modules have been moved to nimble packages, use `nimble` or `atlas` to install them:

- `std/punycode` => `punycode`
- `std/asyncftpclient` => `asyncftpclient`
- `std/smtp` => `smtp`
- `std/db_common` => `db_connector/db_common`
- `std/db_sqlite` => `db_connector/db_sqlite`
- `std/db_mysql` => `db_connector/db_mysql`
- `std/db_postgres` => `db_connector/db_postgres`
- `std/db_odbc` => `db_connector/db_odbc`
- `std/md5` => `checksums/md5`
- `std/sha1` => `checksums/sha1`
- `std/sums` => `sums`
jperkin pushed a commit that referenced this issue Dec 29, 2023
This fixes the following vulnerabilities:

Vulnerability #1: GO-2023-1571
    Denial of service via crafted HTTP/2 stream in net/http and golang.org/x/net
  More info: https://pkg.go.dev/vuln/GO-2023-1571
  Module: golang.org/x/net
    Found in: golang.org/x/net@v0.0.0-20210525063256-abc453219eb5
    Fixed in: golang.org/x/net@v0.7.0

Vulnerability #2: GO-2022-1130
    Authentication bypass in github.com/prometheus/exporter-toolkit
  More info: https://pkg.go.dev/vuln/GO-2022-1130
  Module: github.com/prometheus/exporter-toolkit
    Found in: github.com/prometheus/exporter-toolkit@v0.7.1
    Fixed in: github.com/prometheus/exporter-toolkit@v0.8.2

0.15.1
------
Rebuild for dependency updates

0.15.0
------
BREAKING CHANGES:

The exporter no longer supports the monolithic DATA_SOURCE_NAME environment
variable.  To configure connections to MySQL you can either use a my.cnf style
config file or command line arguments.

For example:

export MYSQLD_EXPORTER_PASSWORD=secret
mysqld_exporter --mysqld.address=localhost:3306 --mysqld.username=exporter

We have also dropped some internal scrape metrics:

    mysql_exporter_scrapes_total
    mysql_exporter_scrape_errors_total
    mysql_last_scrape_failed

The default client configuration file is now .my.cnf in the process working
directory. Use --config.my-cnf="$HOME/.my.cnf" to retain the previous default.
jperkin pushed a commit that referenced this issue Dec 29, 2023
- bugfixes

Also manually fix the following vulnerability:

Vulnerability #1: GO-2023-2402
    Man-in-the-middle attacker can compromise integrity of secure channel in
    golang.org/x/crypto
  More info: https://pkg.go.dev/vuln/GO-2023-2402
  Module: golang.org/x/crypto
    Found in: golang.org/x/crypto@v0.0.0-20220525230936-793ad666bf5e
    Fixed in: golang.org/x/crypto@v0.17.0
jperkin pushed a commit that referenced this issue Dec 29, 2023
This fixes the following vulnerability:

Vulnerability #1: GO-2023-2402
    Man-in-the-middle attacker can compromise integrity of secure channel in
    golang.org/x/crypto
  More info: https://pkg.go.dev/vuln/GO-2023-2402
  Module: golang.org/x/crypto
    Found in: golang.org/x/crypto@v0.14.0
    Fixed in: golang.org/x/crypto@v0.17.0

v3.1.3

- Added email support to SMTP client in javascript protocol
- Added Interface in Networkconfig (SDK)

v3.1.2

Fixed bug with network protocol: revert full buffer size read

v3.1.1

- Added support for arbitrary string input for TLS SNI annotation
- Fixed panic + refactor headless waitevent action
- Fixed wait time + added timeout for ssh connection
- Fixed issue with headless result upload

v3.1.0

- Added support to upload / view results into PDCP Dashboard
- Added support to exclude target from scan input list
- Added support for multiple ports in network template
- Added port, scheme and url field in json(l) output
- Added support to execute commands via ssh client in javascript protocol
- Added support to set dialer timeout
- Added connection reset by peer to include error used for host exclusion
- Added support to include failed matches for errored hosts with -ms option
jperkin pushed a commit that referenced this issue Dec 29, 2023
This is the last version before the change to a non-free license.

This fixes the following vulnerability:

Vulnerability #1: GO-2023-2402
    Man-in-the-middle attacker can compromise integrity of secure channel in
    golang.org/x/crypto
  More info: https://pkg.go.dev/vuln/GO-2023-2402
  Module: golang.org/x/crypto
    Found in: golang.org/x/crypto@v0.0.0-20220622213112-05595931fe9d
    Fixed in: golang.org/x/crypto@v0.17.0

1.9.3

core/docs: Clarify the expected usage of the packer init command for HCL2
template builds.
core/hcp: Add support for project-level service principals. A user connecting
with a project level service principals must provide a valid HCP_PROJECT_ID
in order to connect.
core: A new Docker image packer:release-full has been added for all
supported architectures. The release-full image includes Packer and all the
official plugins pre-installed in its environment.
core: Add enhanced support to Packer telemetry for bundle plugins usage.

1.9.4

Bug fix: When invoking Packer with the CHECKPOINT_DISABLE environment variable
the telemetry reporter is left uninitialized in order to disable telemetry
reporting.  Any method calls on the nil reporter is expected to check if the
reporter is active or in NOOP mode. The SetBundledUsage function, introduced in
Packer 1.9.2, failed to perform a nil check before attempting to modify an
attribute, causing Packer to fail when telemetry is disabled. This release
fixes this issue by introducing such a check.

1.9.5

Bump github.com/go-jose/go-jose/v3 to address GO-2023-2334.
Add VirtualBox as known plugin prefix to prevent endless bundled plugin
warning.
jperkin pushed a commit that referenced this issue Jan 12, 2024
Changelog (taken from https://github.com/superseriousbusiness/gotosocial/releases)



v0.13.1 Spiderier Sloth
Release highlights

Fixes a couple small issues with poll vote counts and poll expiry, and an issue where domain blocks were sometimes not being properly enforced when deeper- and higher-level domain blocks were used in combination (eg., when combining blocks for say example.org, bad.example.org, also-bad.example.org).
Migration notes
Upgrading

See the release notes for 0.13.0 but replace 0.13.0 with 0.13.1 throughout. Easy peasy!
config.yaml

No changes since 0.13.0, see 0.13.0 for migration notes from versions < 0.13.0.
Database Migrations

No changes since 0.13.0, see 0.13.0 for migration notes from versions < 0.13.0.
Detailed Changelog

    ccecf5a [bugfix] fix higher-level explicit domain rules causing issues with lower-level domain blocking (#2513)
    d5c305d [bugfix] misc dereferencer fixes (#2475)
    1c56192 [feature] Log pubKeyID for http-signed requests (#2501)
    f33d05c [bugfix] fix check for closed poll to account for non-zero closed time but in the future (#2486)
    b141500 [bugfix] fix poll total vote double count (#2464)



v0.13.0 Spider Sloth 🕷️

Spider Sloth, Spider Sloth, does whatever a .... sloth does?
Release highlights

    Create, view, and vote in polls. It's been a while in the making but GoToSocial now has support for polls, aka Question activity types. You can create, view, and vote in polls using your client of choice.
    Show unsupported media placeholders in incoming posts, where media could not be downloaded (temporarily or otherwise). No more dropped media on posts! You'll instead now get a link to the media on the originating instance, that you can click through in your (mobile) browser.
    Mute threads that you're being overwhelmed by. Notifications for replies, likes, and boosts in that thread will no longer be generated.
    Media cleanup scheduling. Previously media scheduling took place every night at 12am. With the new media scheduling settings in the config, you can customize the schedule to run it at different times and frequencies. https://docs.gotosocial.org/en/latest/admin/media_caching/#cleanup
    Support for setting instance language . You can use the new instance-languages setting to indicate one or more primary languages for your instance. https://docs.gotosocial.org/en/latest/configuration/instance/
    Support for language tags on posts. Language of posts is now correctly federated in and out of your instance. The language of posts is also shown on the web view of statuses and threads.
    Gather and expose prometheus format metrics. You can now expose a /metrics endpoint to allow a Prometheus instance to scrape metrics about Go runtime memory usage, http request and database metrics, and more. https://docs.gotosocial.org/en/latest/advanced/metrics/

Migration notes
Error #1: authentication NOT PASSED for public key

You will see lots of errors in your logs now that look like this. This is normal, and not a new bug! Previously, we were not surfacing these authentication errors, and now we are. They are caused by #894, which we will fix some time in the new year. Again, not a new bug. This will not effect normal running of your instance.
Upgrading

To upgrade to 0.13.0 from a previous release:
Binary/tar

    Stop GoToSocial
    Untar the new release, including the web assets and html templates.
    Edit your config.yaml file as necessary (see below).
    Start GoToSocial

Docker

    Stop GoToSocial.
    Pull the new docker container (superseriousbusiness/gotosocial:0.13.0 or superseriousbusiness/gotosocial:latest)
    Start GoToSocial.

config.yaml

The configuration file has changed since the previous release. You can see a diff of the config file here: v0.12.2...v0.13.0#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations

This release contains several database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
Detailed Changelog
Features + performance

    [feature] Status thread mute/unmute functionality by @tsmethurst in #2278
    [feature] attach any request errors if found, only set level=ERROR if code >= 500 by @NyaaaWhatsUpDoc in #2300
    [feature] Customizable media cleaner schedule by @tsmethurst in #2304
    [feature] add per-uri dereferencer locks by @NyaaaWhatsUpDoc in #2291
    [feature] support canceling scheduled tasks, some federation API performance improvements by @NyaaaWhatsUpDoc in #2329
    [feature] add support for polls + receiving federated status edits by @NyaaaWhatsUpDoc in #2330
    [feature] Media attachment placeholders by @tsmethurst in #2331
    [feature/performance] Wrap incoming HTTP requests in timeout handler by @tsmethurst in #2353
    [feature] Set/show instance language(s); show post language on frontend by @tsmethurst in #2362
    [feature] Initial metrics by @Tsuribori in #2334
    [feature] Federate status language in and out by @tsmethurst in #2366
    [feature] Poll web view by @tsmethurst in #2377
    [performance] http response encoding / writing improvements by @NyaaaWhatsUpDoc in #2374
    [feature] Add /api/v1/admin/debug/apurl endpoint by @tsmethurst in #2359
    [performance/postgres] Rename constraints, remove duplicate indexes by @tsmethurst in #2392

Bugfixes

    [bugfix] serialize instance terms via API by @tsmethurst in #2293
    [bugfix/frontend] Export/import CSV correctly by @tsmethurst in #2294
    [bugfix] allow store smaller PNG image than 261 bytes (#2263) by @KEINOS in #2298
    [bugfix/frontend] Add nosubmit option to form fields; use it when instance custom CSS disabled by @tsmethurst in #2290
    [bugfix] Extract description as summary first, fall back to name by @tsmethurst in #2303
    [bugfix] Allow blocked accounts to show in precise search by @tsmethurst in #2321
    [bugfix] Relax Mention parsing, allowing either href or name by @tsmethurst in #2320
    Remove account_suspended_at_idx to resolve slow query issues by @Sentynel in #2310
    [bugfix] fix poll vote count responses on client and fedi API vote creation by @NyaaaWhatsUpDoc in #2343
    [bugfix] actually decrement votes during poll vote delete ... by @NyaaaWhatsUpDoc in #2344
    [bugfix/docs] Poll api fixups + swagger docs by @tsmethurst in #2345
    [bugfix] Don't try to update suspended accounts by @tsmethurst in #2348
    [chore/bugfix/horror] Allow expires_in and poll choices to be parsed from strings by @tsmethurst in #2346
    [bugfix] support endless polls, and misskey's' method of inferring expiry in closed polls by @NyaaaWhatsUpDoc in #2349
    [bugfix] Update poll delete/update db queries by @tsmethurst in #2361
    [bugfix] process account delete side effects in serial, not in parallel by @tsmethurst in #2360
    [bugfix] self-referencing collection pages for status replies by @NyaaaWhatsUpDoc in #2364
    [bugfix] Add Actor to outgoing poll vote Create; other fixes by @tsmethurst in #2384
    [bugfix] Don't copy ptr fields in caches by @tsmethurst in #2386
    [bugfix] Correctly handle range > content-length by @Jadeiin in #2395
    [bugfix] Update exif-terminator (fix png issue) by @tsmethurst in #2391
    [bugfix] always go through status parent dereferencing on isNew, even on data-race by @NyaaaWhatsUpDoc in #2402
    [bugfix] return 400 Bad Request on more cases of malformed AS data by @NyaaaWhatsUpDoc in #2399
    [bugfix] in fedi API CreateStatus(), handle case of data-race and return early by @NyaaaWhatsUpDoc in #2403
    [bugfix/chore] Announce reliability updates by @tsmethurst in #2405
    [bug] Fix an import statement in the gen template by @daenney in #2426
    [bugfix] Fix wrong notification type sent for poll end by @tsmethurst in #2429
    [bugfix] Fix web media not showing as sensitive by @tsmethurst in #2433
    [bugfix] Ensure pre renders as expected, fix orderedCollectionPage by @tsmethurst in #2434
    [bugfix] Narrow search scope for accounts starting with '@'; don't LOWER SQLite text searches by @tsmethurst in #2435
    [bugfix] Make screenreaders read out Language of posts properly by @tsmethurst in #2436
    [bugfix] ensure the 'Closing' flag doesn't get cached by @NyaaaWhatsUpDoc in #2443
    [bugfix] pol...



v0.13.0-rc2

Hiya! Here's the second release candidate for 0.13.0!

For installation / migration instructions, please see the release notes for the RC1, but replace rc1 with rc2 throughout:

https://github.com/superseriousbusiness/gotosocial/releases/tag/v0.13.0-rc1

Happy bug hunting!
Detailed Changelog
Bugfixes

    d0bb8f0 [bugfix] Let templates deref pointers, as a treat (#2448)
    ac48192 [bugfix] poll vote count fixes (#2444)
    2191c7d [bugfix] ensure the 'Closing' flag doesn't get cached (#2443)
    bca9b2c [bugfix] Make screenreaders read out Language of posts properly (#2436)
    3f070a4 [bugfix] Narrow search scope for accounts starting with '@'; don't LOWER SQLite text searches (#2435)
    d60edf7 [bugfix] Ensure pre renders as expected, fix orderedCollectionPage (#2434)
    cc91ea0 [bugfix] Fix web media not showing as sensitive (#2433)
    c6d6fec [bugfix] Fix wrong notification type sent for poll end (#2429)
    455064f [bug] Fix an import statement in the gen template (#2426)

Chores / version bumps

    cd16113 [chore]: Bump github.com/KimMachineGun/automemlimit from 0.3.0 to 0.4.0 (#2440)
    9b03840 [chore]: Bump github.com/miekg/dns from 1.1.56 to 1.1.57 (#2439)
    cdeba94 [chore]: Bump golang.org/x/oauth2 from 0.13.0 to 0.15.0 (#2438)
    a968a03 [chore]: Bump github.com/coreos/go-oidc/v3 from 3.7.0 to 3.9.0 (#2442)
    4779aec [chore] Run ANALYZE for SQLite after latest migrations (#2427)
    dacfd41 [chore/frontend] Refactor status templates slightly, put polls behind CWs if present (#2419)
    18d850e [chore]: Bump go.opentelemetry.io/otel/exporters/prometheus (#2412)
    ca1a581 [chore]: Bump github.com/tdewolff/minify/v2 from 2.20.7 to 2.20.9 (#2416)
    bdc43a9 [chore]: Bump github.com/minio/minio-go/v7 from 7.0.63 to 7.0.65 (#2415)
    b576fbb [chore]: Bump golang.org/x/crypto from 0.15.0 to 0.16.0 (#2413)
    bffc67d [chore]: Bump github.com/gorilla/feeds from 1.1.1 to 1.1.2 (#2414)

Docs

    5556767 [docs] Change configuration creation instructions (#2408)



v0.13.0-rc1
Well well well, look what the sloth dragged in... the first release candidate for v0.13.0, Spider Sloth.
Release highlights

    Create, view, and vote in polls. It's been a while in the making but GoToSocial now has support for polls, aka Question activity types. You can create, view, and vote in polls using your client of choice.
    Show unsupported media placeholders in incoming posts, where media could not be downloaded (temporarily or otherwise). No more dropped media on posts! You'll instead now get a link to the media on the originating instance, that you can click through in your (mobile) browser.
    Mute threads that you're being overwhelmed by. Notifications for replies, likes, and boosts in that thread will no longer be generated.
    Media cleanup scheduling. Previously media scheduling took place every night at 12am. With the new media scheduling settings in the config, you can customize the schedule to run it at different times and frequencies. https://docs.gotosocial.org/en/latest/admin/media_caching/#cleanup
    Support for setting instance language . You can use the new instance-languages setting to indicate one or more primary languages for your instance. https://docs.gotosocial.org/en/latest/configuration/instance/
    Support for language tags on posts. Language of posts is now correctly federated in and out of your instance. The language of posts is also shown on the web view of statuses and threads.
    Gather and expose prometheus format metrics. You can now expose a /metrics endpoint to allow a Prometheus instance to scrape metrics about Go runtime memory usage, http request and database metrics, and more. https://docs.gotosocial.org/en/latest/advanced/metrics/

Migration notes
Upgrading

To upgrade to 0.13.0-rc1 from a previous release:
Binary/tar

    Stop GoToSocial
    Untar the new release, including the web assets and html templates.
    Edit your config.yaml file as necessary (see below).
    Start GoToSocial

Docker

    Stop GoToSocial.
    Pull the new docker container (superseriousbusiness/gotosocial:0.13.0-rc1 or superseriousbusiness/gotosocial:latest)
    Start GoToSocial.

config.yaml

The configuration file has changed since the previous release. You can see a diff of the config file here: v0.12.2...v0.13.0-rc1#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations

This release contains several database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
Detailed Changelog
Feature / performance

    [feature] Status thread mute/unmute functionality by @tsmethurst in #2278
    [feature] attach any request errors if found, only set level=ERROR if code >= 500 by @NyaaaWhatsUpDoc in #2300
    [feature] Customizable media cleaner schedule by @tsmethurst in #2304
    [feature] add per-uri dereferencer locks by @NyaaaWhatsUpDoc in #2291
    [performance] Remove account_suspended_at_idx to resolve slow query issues by @Sentynel in #2310
    [feature] support canceling scheduled tasks, some federation API performance improvements by @NyaaaWhatsUpDoc in #2329
    [feature] add support for polls + receiving federated status edits by @NyaaaWhatsUpDoc in #2330
    [feature] Media attachment placeholders by @tsmethurst in #2331
    [feature/performance] Wrap incoming HTTP requests in timeout handler by @tsmethurst in #2353
    [feature] Set/show instance language(s); show post language on frontend by @tsmethurst in #2362
    [feature] Initial metrics by @Tsuribori in #2334
    [feature] Federate status language in and out by @tsmethurst in #2366
    [feature] Poll web view by @tsmethurst in #2377
    [performance] http response encoding / writing improvements by @NyaaaWhatsUpDoc in #2374
    [feature] Add /api/v1/admin/debug/apurl endpoint by @tsmethurst in #2359
    [performance/postgres] Rename constraints, remove duplicate indexes by @tsmethurst in #2392

Bugfixes

    [bugfix/frontend] Add nosubmit option to form fields; use it when instance custom CSS disabled by @tsmethurst in #2290
    [bugfix] serialize instance terms via API by @tsmethurst in #2293
    [bugfix/frontend] Export/import CSV correctly by @tsmethurst in #2294
    [bugfix] allow store smaller PNG image than 261 bytes (#2263) by @KEINOS in #2298
    [bugfix] Extract description as summary first, fall back to name by @tsmethurst in #2303
    [bugfix] Allow blocked accounts to show in precise search by @tsmethurst in #2321
    [bugfix] Relax Mention parsing, allowing either href or name by @tsmethurst in #2320
    [bugfix] fix poll vote count responses on client and fedi API vote creation by @NyaaaWhatsUpDoc in #2343
    [bugfix] actually decrement votes during poll vote delete ... by @NyaaaWhatsUpDoc in #2344
    [bugfix/docs] Poll api fixups + swagger docs by @tsmethurst in #2345
    [bugfix] Don't try to update suspended accounts by @tsmethurst in #2348
    [chore/bugfix/horror] Allow expires_in and poll choices to be parsed from strings by @tsmethurst in #2346
    [bugfix] support incoming endless polls, and misskey's' method of inferring expiry in closed polls by @NyaaaWhatsUpDoc in #2349
    [bugfix] Update poll delete/update db queries by @tsmethurst in #2361
    [bugfix] process account delete side effects in serial, not in parallel by @tsmethurst in #2360
    [bugfix] self-referencing collection pages for status replies by @NyaaaWhatsUpDoc in #2364
    [bugfix] Add Actor to outgoing poll vote Create; other fixes by @tsmethurst in #2384
    [bugfix] Don't copy ptr fields in caches by @tsmethurst in #2386
    [bugfix] Correctly handle range > content-length by @Jadeiin in #2395
    [bugfix] Update exif-terminator (fix png issue) by @tsmethurst in #2391
    [bugfix] always go through status parent dereferencing on isNew, even on data-race by @NyaaaWhatsUpDoc in #2402
    [bugfix] return 400 Bad Request on more cases of malformed AS data by @NyaaaWhatsUpDoc in #2399
    [bugfix] in fedi API CreateStatus(), handle case of data-race and return early by @NyaaaWhatsUpDoc in #2403
    [bugfix/chore] Announce reliability updates by @tsmethurst in #2405

Chores and version bumps

    [chore]: Bump github.com/coreos/go-oidc/v3 from 3.6.0 to 3.7.0 by @dependabot in #2284
    [chore] de-interface{} the federator and dereferencer structs by @NyaaaWhatsUpDoc in #2285
    [chore] bump go version -> 1.21.x by @tsmethurst in #2287
    Bump @babel/traverse from 7.23.0 to 7.23.2 in /web/source by @dependabot in #2269
    [chore] update minify library by @NyaaaWhatsUpDoc in #2286
    [chore] bump go swagger version in Docker build by @tsmethurst in #2292
    [chore]: Bump google.golang.org/grpc from 1.58.2 to 1.58.3 by @dependabot in #2301
    [chore]: Bump github.com/tdewolff/minify/v2 from 2.19.10 to 2.20.0 by @dependabot in #2316
    [chore]: Bump github.com/yuin/goldmark from 1.5.6 to 1.6.0 by @dependabot in #2318
    Bump browserify-sign from 4.2.1 to 4.2.2 in /web/source by @dependabot in #2...
jperkin pushed a commit that referenced this issue Jan 25, 2024
This is the first version I tested with the re-vived py-llvmlite. This version
works with Pythons below 3.12 so far. Upstream changes since 0.55.2:


Version 0.58.1 (17 October 2023)

This is a maintenance release that adds support for NumPy 1.26 and fixes a bug.
NumPy Support
Support NumPy 1.26

Support for NumPy 1.26 is added.

(PR-#9227)
Bug Fixes
Fixed handling of float default arguments in inline closures

Float default arguments in inline closures would produce incorrect results since updates for Python 3.11 - these are now handled correctly again.

(PR-#9222)
Pull-Requests

    PR #9220: Support passing arbitrary flags to NVVM (gmarkall)

    PR #9227: Support NumPy 1.26 (PR aimed at review / merge) (Tialo gmarkall)

    PR #9228: Fix #9222 - Don’t replace . with _ in func arg names in inline closures (gmarkall)

Authors

    gmarkall

    Tialo


Version 0.58.0 (20 September 2023)

Table of Contents

    Version 0.58.0 (20 September 2023)

        Highlights

        New Features

        Improvements

        NumPy Support

        CUDA Changes

        Bug Fixes

        Changes

        Deprecations

        Pull-Requests

        Authors

This is a major Numba release. Numba now uses towncrier to create the release notes, so please find a summary of all noteworthy items below.
Highlights
Added towncrier

This PR adds towncrier as a GitHub workflow for checking release notes. From this PR onwards every PR made in Numba will require a appropriate release note associated with it. The reviewer may decide to skip adding release notes in smaller PRs with minimal impact by addition of a skip_release_notes label to the PR.

(PR-#8792)
The minimum supported NumPy version is 1.22.

Following NEP-0029, the minimum supported NumPy version is now 1.22.

(PR-#9093)
Add support for NumPy 1.25

Extend Numba to support new and changed features released in NumPy 1.25.

(PR-#9011)
Remove NVVM 3.4 and CTK 11.0 / 11.1 support

Support for CUDA toolkits < 11.2 is removed.

(PR-#9040)
Removal of Windows 32-bit Support

This release onwards, Numba has discontinued support for Windows 32-bit operating systems.

(PR-#9083)
The minimum llvmlite version is now 0.41.0.

The minimum required version of llvmlite is now version 0.41.0.

(PR-#8916)
Added RVSDG-frontend

This PR is a preliminary work on adding a RVSDG-frontend for processing bytecode. RVSDG (Regionalized Value-State Dependence Graph) allows us to have a dataflow-centric view instead of a traditional SSA-CFG view. This allows us to simplify the compiler in the future.

(PR-#9012)
New Features
numba.experimental.jitclass gains support for __*matmul__ methods.

numba.experimental.jitclass now has support for the following methods:

    __matmul__

    __imatmul__

    __rmatmul__

(PR-#8892)
numba.experimental.jitclass gains support for reflected “dunder” methods.

numba.experimental.jitclass now has support for the following methods:

    __radd__

    __rand_

    __rfloordiv__

    __rlshift__

    __ror_

    __rmod_

    __rmul_

    __rpow_

    __rrshift_

    __rsub_

    __rtruediv_

    __rxor_

(PR-#8906)
Add support for value max to NUMBA_OPT.

The optimisation level that Numba applies when compiling can be set through the environment variable NUMBA_OPT. This has historically been a value between 0 and 3 (inclusive). Support for the value max has now been added, this is a Numba-specific optimisation level which indicates that the user would like Numba to try running the most optimisation possible, potentially trading a longer compilation time for better run-time performance. In practice, use of the max level of optimisation may or may not benefit the run-time or compile-time performance of user code, but it has been added to present an easy to access option for users to try if they so wish.

(PR-#9094)
Improvements
Updates to numba.core.pythonapi.

Support for Python C-API functions PyBytes_AsString and PyBytes_AsStringAndSize is added to numba.core.pythonapi.PythonAPI as bytes_as_string and bytes_as_string_and_size methods respectively.

(PR-#8462)
Support for isinstance is now non-experimental.

Support for the isinstance built-in function has moved from being considered an experimental feature to a fully supported feature.

(PR-#8911)
NumPy Support
All modes are supported in numpy.correlate and numpy.convolve.

All values for the mode argument to numpy.correlate and numpy.convolve are now supported.

(PR-#7543)
@vectorize accommodates arguments implementing __array_ufunc__.

Universal functions (ufuncs) created with numba.vectorize will now respect arguments implementing __array_ufunc__ (NEP-13) to allow pre- and post-processing of arguments and return values when the ufunc is called from the interpreter.

(PR-#8995)
Added support for np.geomspace function.

This PR improves on #4074 by adding support for np.geomspace. The current implementation only supports scalar start and stop parameters.

(PR-#9068)
Added support for np.vsplit, np.hsplit, np.dsplit.

This PR improves on #4074 by adding support for np.vsplit, np.hsplit, and np.dsplit.

(PR-#9082)
Added support for np.row_stack function.

Support is added for numpy.row_stack.

(PR-#9085)
Added support for functions np.polynomial.polyutils.trimseq, as well as functions polyadd, polysub, polymul from np.polynomial.polynomial.

Support is added for np.polynomial.polyutils.trimseq, np.polynomial.polynomial.polyadd, np.polynomial.polynomial.polysub, np.polynomial.polynomial.polymul.

(PR-#9087)
Added support for np.diagflat function.

Support is added for numpy.diagflat.

(PR-#9113)
Added support for np.resize function.

Support is added for numpy.resize.

(PR-#9118)
Add np.trim_zeros

Support for np.trim_zeros() is added.

(PR-#9074)
CUDA Changes
Bitwise operation ufunc support for the CUDA target.

Support is added for some ufuncs associated with bitwise operation on the CUDA target. Namely:

    numpy.bitwise_and

    numpy.bitwise_or

    numpy.bitwise_not

    numpy.bitwise_xor

    numpy.invert

    numpy.left_shift

    numpy.right_shift

(PR-#8974)
Add support for the latest CUDA driver codes.

Support is added for the latest set of CUDA driver codes.

(PR-#8988)
Add NumPy comparison ufunc in CUDA

this PR adds support for comparison ufuncs for the CUDA target (eg. numpy.greater, numpy.greater_equal, numpy.less_equal, etc.).

(PR-#9007)
Report absolute path of libcuda.so on Linux

numba -s now reports the absolute path to libcuda.so on Linux, to aid troubleshooting driver issues, particularly on WSL2 where a Linux driver can incorrectly be installed in the environment.

(PR-#9034)
Add debuginfo support to nvdisasm output.

Support is added for debuginfo (source line and inlining information) in functions that make calls through nvdisasm. For example the CUDA dispatcher .inspect_sass method output is now augmented with this information.

(PR-#9035)
Add CUDA SASS CFG Support

This PR adds support for getting the SASS CFG in dot language format. It adds an inspect_sass_cfg() method to CUDADispatcher and the -cfg flag to the nvdisasm command line tool.

(PR-#9051)
Support NVRTC using the ctypes binding

NVRTC can now be used when the ctypes binding is in use, enabling float16, and linking CUDA C / C++ sources without needing the NVIDIA CUDA Python bindings.

(PR-#9086)
Fix CUDA atomics tests with toolkit 12.2

CUDA 12.2 generates slightly different PTX for some atomics, so the relevant tests are updated to look for the correct instructions when 12.2 is used.

(PR-#9088)
Bug Fixes
Handling of different sized unsigned integer indexes are fixed in numba.typed.List.

An issue with the order of truncation/extension and casting of unsigned integer indexes in numba.typed.List has been fixed.

(PR-#7262)
Prevent invalid fusion

This PR fixes an issue in which an array first read in a parfor and later written in the same parfor would only be classified as used in the parfor. When a subsequent parfor also used the same array then fusion of the parfors was happening which should have been forbidden given that that the first parfor was also writing to the array. This PR treats such arrays in a parfor as being both used and defined so that fusion will be prevented.

(PR-#7582)
The numpy.allclose implementation now correctly handles default arguments.

The implementation of numpy.allclose is corrected to use TypingError to report typing errors.

(PR-#8885)
Add type validation to numpy.isclose.

Type validation is added to the implementation of numpy.isclose.

(PR-#8944)
Fix support for overloading dispatcher with non-compatible first-class functions

Fixes an error caused by not handling compilation error during casting of Dispatcher objects into first-class functions. With the fix, users can now overload a dispatcher with non-compatible first-class functions. Refer to https://github.com/numba/numba/issues/9071 for details.

(PR-#9072)
Support dtype keyword argument in numpy.arange with parallel=True

Fixes parfors transformation to support the use of dtype keyword argument in numpy.arange(..., dtype=dtype).

(PR-#9095)
Fix all @overloads to use parameter names that match public APIs.

Some of the Numba @overloads for functions in NumPy and Python’s built-ins were written using parameter names that did not match those used in API they were overloading. The result of this being that calling a function with such a mismatch using the parameter names as key-word arguments at the call site would result in a compilation error. This has now been universally fixed throughout the code base and a unit test is running with a best-effort attempt to prevent reintroduction of similar mistakes in the future. Fixed functions include:

From Python built-ins:

    complex

From the Python random module:

    random.seed

    random.gauss

    random.normalvariate

    random.randrange

    random.randint

    random.uniform

    random.shuffle

From the numpy module:

    numpy.argmin

    numpy.argmax

    numpy.array_equal

    numpy.average

    numpy.count_nonzero

    numpy.flip

    numpy.fliplr

    numpy.flipud

    numpy.iinfo

    numpy.isscalar

    numpy.imag

    numpy.real

    numpy.reshape

    numpy.rot90

    numpy.swapaxes

    numpy.union1d

    numpy.unique

From the numpy.linalg module:

    numpy.linalg.norm

    numpy.linalg.cond

    numpy.linalg.matrix_rank

From the numpy.random module:

    numpy.random.beta

    numpy.random.chisquare

    numpy.random.f

    numpy.random.gamma

    numpy.random.hypergeometric

    numpy.random.lognormal

    numpy.random.pareto

    numpy.random.randint

    numpy.random.random_sample

    numpy.random.ranf

    numpy.random.rayleigh

    numpy.random.sample

    numpy.random.shuffle

    numpy.random.standard_gamma

    numpy.random.triangular

    numpy.random.weibull

(PR-#9099)
Changes
Support for @numba.extending.intrinsic(prefer_literal=True)

In the high level extension API, the prefer_literal option is added to the numba.extending.intrinsic decorator to prioritize the use of literal types when available. This has the same behavior as in the prefer_literal option in the numba.extending.overload decorator.

(PR-#6647)
Deprecations
Deprecation of old-style NUMBA_CAPTURED_ERRORS

Added deprecation schedule of NUMBA_CAPTURED_ERRORS=old_style. NUMBA_CAPTURED_ERRORS=new_style will become the default in future releases. Details are documented at https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-old-style-numba-captured-errors

(PR-#9090)
Pull-Requests

    PR #6647: Support prefer_literal option for intrinsic decorator (ashutoshvarma sklam)

    PR #7262: fix order of handling and casting (esc)

    PR #7543: Support for all modes in np.correlate and np.convolve (jeertmans)

    PR #7582: Use get_parfor_writes to detect illegal array access that prevents fusion. (DrTodd13)

    PR #8371: Added binomial distribution (esc kc611)

    PR #8462: Add PyBytes_AsString and PyBytes_AsStringAndSize (ianna)

    PR #8633: DOC: Convert vectorize and guvectorize examples to doctests (Matt711)

    PR #8730: Update dev-docs (sgbaird esc)

    PR #8792: Added towncrier as a github workflow (kc611)

    PR #8854: Updated mk_alloc to support Numba-Dpex compute follows data. (mingjie-intel)

    PR #8861: CUDA: Don’t add device kwarg for jit registry (gmarkall)

    PR #8871: Don’t return the function in CallConv.decorate_function() (gmarkall)

    PR #8885: Fix np.allclose not handling default args (guilhermeleobas)

    PR #8892: Add support for __*matmul__ methods in jitclass (louisamand)

    PR #8895: CUDA: Enable caching functions that use CG (gmarkall)

    PR #8906: Add support for reflected dunder methods in jitclass (louisamand)

    PR #8911: Remove isinstance experimental feature warning (guilhermeleobas)

    PR #8916: Bump llvmlite requirement to 0.41.0dev0 (sklam)

    PR #8925: Update release checklist template (sklam)

    PR #8937: Remove old Website development documentation (esc gmarkall)

    PR #8944: Add exceptions to np.isclose (guilhermeleobas)

    PR #8974: CUDA: Add binary ufunc support (Matt711)

    PR #8976: Fix index URL for ptxcompiler/cubinlinker packages. (bdice)

    PR #8978: Import MVC packages when using MVCLinker. (bdice)

    PR #8983: Fix typo in deprecation.rst (dsgibbons)

    PR #8988: support for latest CUDA driver codes #8363 (s1Sharp)

    PR #8995: Allow libraries that implement __array_ufunc__ to override DUFunc.__c… (jpivarski)

    PR #9007: CUDA: Add comparison ufunc support (Matt711)

    PR #9012: RVSDG-frontend (sklam)

    PR #9021: update the release checklist following 0.57.1rc1 (esc)

    PR #9022: fix: update the C++ ABI repo reference (emmanuel-ferdman)

    PR #9028: Replace use of imp module removed in 3.12 (hauntsaninja)

    PR #9034: CUDA libs test: Report the absolute path of the loaded libcuda.so on Linux, + other improvements (gmarkall)

    PR #9035: CUDA: Allow for debuginfo in nvdisasm output (Matt711)

    PR #9037: Recognize additional functions as being pure or not having side effects. (DrTodd13)

    PR #9039: Correct git clone link in installation instructions. (ellifteria)

    PR #9040: Remove NVVM 3.4 and CTK 11.0 / 11.1 support (gmarkall)

    PR #9046: copy the change log changes for 0.57.1 to main (esc)

    PR #9050: Update CODEOWNERS (sklam)

    PR #9051: Add CUDA CFG support (Matt711)

    PR #9056: adding weekly meeting notes script (esc)

    PR #9068: Adding np.geomspace (KrisMinchev)

    PR #9069: Fix towncrier error due to importlib_resources upgrade (sklam)

    PR #9072: Fix support for overloading dispatcher with non-compatible first-class functions (gmarkall sklam)

    PR #9074: Add np.trim_zeros (sungraek guilhermeleobas)

    PR #9082: Add np.vsplit, np.hsplit, and np.dsplit (KrisMinchev)

    PR #9083: Removed windows 32 references from code and documentation (kc611)

    PR #9085: Add tests for np.row_stack (KrisMinchev)

    PR #9086: Support NVRTC using ctypes binding (testhound gmarkall)

    PR #9087: Add trimseq from np.polynomial.polyutils and polyadd, polysub, polymul from np.polynomial.polynomial (KrisMinchev)

    PR #9088: Fix: Issue 9063 - CUDA atomics tests failing with CUDA 12.2 (gmarkall)

    PR #9090: Add deprecation notice for old_style error capturing. (esc sklam)

    PR #9094: Add support for a ‘max’ level to NUMBA_OPT environment variable. (stuartarchibald)

    PR #9095: Support dtype keyword in arange_parallel_impl (DrTodd13 sklam)

    PR #9105: NumPy 1.25 support (PR #9011) continued (gmarkall apmasell)

    PR #9111: Fixes ReST syntax error in PR#9099 (stuartarchibald gmarkall sklam apmasell)

    PR #9112: Fixups for PR#9100 (stuartarchibald sklam)

    PR #9113: Add support for np.diagflat (KrisMinchev)

    PR #9114: update np min to 122 (stuartarchibald esc)

    PR #9117: Fixed towncrier template rendering (kc611)

    PR #9118: Add support for np.resize() (KrisMinchev)

    PR #9120: Update conda-recipe for numba-rvsdg (sklam)

    PR #9127: Fix accidental cffi test deps, refactor cffi skipping (gmarkall)

    PR #9128: Merge rvsdg_frontend branch to main (esc sklam)

    PR #9152: Fix old_style error capturing deprecation warnings (sklam)

    PR #9159: Fix uncaught exception in find_file() (gmarkall)

    PR #9173: Towncrier fixups (Continue #9158 and retarget to main branch) (sklam)

    PR #9181: Remove extra decrefs in RNG (sklam)

    PR #9190: Fix issue with incompatible multiprocessing context in test. (stuartarchibald)

Authors

    apmasell

    ashutoshvarma

    bdice

    DrTodd13

    dsgibbons

    ellifteria

    emmanuel-ferdman

    esc

    gmarkall

    guilhermeleobas

    hauntsaninja

    ianna

    jeertmans

    jpivarski

    jtilly

    kc611

    KrisMinchev

    louisamand

    Matt711

    mingjie-intel

    s1Sharp

    sgbaird

    sklam

    stuartarchibald

    sungraek

    testhound




Version 0.57.1 (21 June, 2023)

Pull-Requests:

    PR #8964: fix missing nopython keyword in cuda random module (esc)

    PR #8965: fix return dtype for np.angle (guilhermeleobas esc)

    PR #8982: Don’t do the parfor diagnostics pass for the parfor gufunc. (DrTodd13)

    PR #8996: adding a test for 8940 (esc)

    PR #8958: resurrect the import, this time in the registry initialization (esc)

    PR #8947: Introduce internal _isinstance_no_warn (guilhermeleobas esc)

    PR #8998: Fix 8939 (second attempt) (esc)

    PR #8978: Import MVC packages when using MVCLinker. (bdice)

    PR #8895: CUDA: Enable caching functions that use CG (gmarkall)

    PR #8976: Fix index URL for ptxcompiler/cubinlinker packages. (bdice)

    PR #9004: Skip MVC test when libraries unavailable (gmarkall esc)

    PR #9006: link to version support table instead of using explicit versions (esc)

    PR #9005: Fix: Issue #8923 - avoid spurious device-to-host transfers in CUDA ufuncs (gmarkall)

Authors:

    bdice

    DrTodd13

    esc

    gmarkall

Version 0.57.0 (1 May, 2023)

This release continues to add new features, bug fixes and stability improvements to Numba. Please note that this release contains a significant number of both deprecation and pending-deprecation notices with view of making it easier to develop new technology for Numba in the future. Also note that this will be the last release to support Windows 32-bit packages produced by the Numba team.

Highlights of core dependency upgrades:

    Support for Python 3.11 (minimum is moved to 3.8)

    Support for NumPy 1.24 (minimum is moved to 1.21)

Python language support enhancements:

    Exception classes now support arguments that are not compile time constant.

    The built-in functions hasattr and getattr are supported for compile time constant attributes.

    The built-in functions str and repr are now implemented similarly to their Python implementations. Custom __str__ and __repr__ functions can be associated with types and work as expected.

    Numba’s unicode functionality in str.startswith now supports kwargs start and end.

    min and max now support boolean types.

    Support is added for the dict(iterable) constructor.

NumPy features/enhancements:

    The largest set of new features is within the numpy.random.Generator support, the vast majority of commonly used distributions are now supported. Namely:

        Generator.beta

        Generator.chisquare

        Generator.exponential

        Generator.f

        Generator.gamma

        Generator.geometric

        Generator.integers

        Generator.laplace

        Generator.logistic

        Generator.lognormal

        Generator.logseries

        Generator.negative_binomial

        Generator.noncentral_chisquare

        Generator.noncentral_f

        Generator.normal

        Generator.pareto

        Generator.permutation

        Generator.poisson

        Generator.power

        Generator.random

        Generator.rayleigh

        Generator.shuffle

        Generator.standard_cauchy

        Generator.standard_exponential

        Generator.standard_gamma

        Generator.standard_normal

        Generator.standard_t

        Generator.triangular

        Generator.uniform

        Generator.wald

        Generator.weibull

        Generator.zipf

    The nbytes property on NumPy ndarray types is implemented.

    Nesting of nested-array types is now supported.

    datetime and timedelta types can be cast to int.

    F-order iteration is supported in ufunc generation for increased performance when using combinations of predominantly F-order arrays.

    The following functions are also now supported:

        np.argpartition

        np.isclose

        np.nan_to_num

        np.new_axis

        np.union1d

Highlights of core changes:

    A large amount of refactoring has taken place to convert many of Numba’s internal implementations, of both Python and NumPy functions, from the low-level extension API to the high-level extension API (numba.extending).

    The __repr__ method is supported for Numba types.

    The default target for applicable functions in the extension API (numba.extending) is now "generic". This means that @overload* and @intrinsic functions will by default be accepted by both the CPU and CUDA targets.

    The use of __getitem__ on Numba types is now supported in compiled code. i.e. types.float64[:, ::1] is now compilable.

Performance:

    The performance of str.find() and str.rfind() has been improved.

    Unicode support for __getitem__ now avoids allocation and returns a view.

    The numba.typed.Dict dictionary now accepts an n_keys option to enable allocating the dictionary instance to a predetermined initial size (useful to avoid resizes!).

    The Numba Run-time (NRT) has been improved in terms of performance and safety:

        The NRT internal statistics counters are now off by default (removes atomic lock contentions).

        Debug cache line filling is off by default.

        The NRT is only compiled once a compilation starts opposed to at function decoration time, this improves import speed.

        The NRT allocation calls are all made through a “checked” layer by default.

CUDA:

    New NVIDIA hardware and software compatibility / support:

        Toolkits: CUDA 11.8 and 12, with Minor Version Compatibility for 11.x.

        Packaging: NVIDIA-packaged CUDA toolkit conda packages.

        Hardware: Hopper, Ada Lovelace, and AGX Orin.

    float16 support:

        Arithmetic operations are now fully supported.

        A new method, is_fp16_supported(), and device property, supports_float16, for checking the availability of float16 support.

    Functionality:

        The high-level extension API is now fully-supported in the CUDA target.

        Eager compilation of multiple signatures, multiple outputs from generalized ufuncs, and specifying the return type of ufuncs are now supported.

        A limited set of NumPy ufuncs (trigonometric functions) can now be called inside kernels.

    Lineinfo quality improvement: enabling lineinfo no longer results in any changes to generated code.

Deprecations:

    The numba.pycc module and everything in it is now pending deprecation.

    The long awaited full deprecation of object mode fall-back is underway. This change means @jit with no keyword arguments will eventually alias @njit.

    The @generated_jit decorator is deprecated as the Numba extension API provides a better supported superset of the same functionality, particularly through @numba.extending.overload.

Version support/dependency changes:

    The setuptools package is now an optional run-time dependency opposed to a required run-time dependency.

    The TBB threading-layer now requires version 2021.6 or later.

    LLVM 14 is now supported on all platforms via llvmlite.

Pull-Requests:

    PR #5113: Fix error handling in the Interval extending example (esc eric-wieser)

    PR #5544: Add support for np.union1d (shangbol gmarkall)

    PR #7009: Add writable args (dmbelov)

    PR #7067: Implement np.isclose (guilhermeleobas)

    PR #7255: CUDA: Support CUDA Toolkit conda packages from NVIDIA (gmarkall)

    PR #7622: Support fortran loop ordering for ufunc generation (sklam)

    PR #7733: fix for /tmp/tmp access issues (ChiCheng45)

    PR #7884: Implement getattr builtin. (stuartarchibald)

    PR #7885: Adds CUDA FP16 arithmetic operators (testhound)

    PR #7920: Drop pre-3.7 code path (CPU only) (sklam)

    PR #8001: CUDA fp16 math functions (testhound gmarkall)

    PR #8010: Add support for fp16 comparison native operators (testhound)

    PR #8024: Allow converting NumPy datetimes to int (apmasell)

    PR #8038: Support for Numpy BitGenerators PR#2: Standard Distributions support (kc611)

    PR #8040: Support for Numpy BitGenerators PR#3: Advanced Distributions Support. (kc611)

    PR #8041: Support for Numpy BitGenerators PR#4: Generator().integers() Support. (kc611)

    PR #8042: Support for NumPy BitGenerators PR#5: Generator Shuffling Methods. (kc611)

    PR #8061: Migrate random glue_lowering to overload where easy (apmasell)

    PR #8106: Remove injection of atomic JIT functions into NRT memsys. (stuartarchibald)

    PR #8120: Support nesting of nested array types (gmarkall)

    PR #8134: Support non-constant exception values in JIT (guilhermeleobas sklam)

    PR #8147: Adds size variable at runtime for arrays that cannot be inferred (njriasan)

    PR #8154: Testhound/native cast 8138 (testhound)

    PR #8158: adding -pthread for linux-ppc64le in setup.py (esc)

    PR #8164: remove myself from automatic reviewer assignment (esc)

    PR #8167: CUDA: Facilitate and document passing arrays / pointers to foreign functions (gmarkall)

    PR #8180: CUDA: Initial support for Minor Version Compatibility (gmarkall)

    PR #8183: Add n_keys option to Dict.empty() (stefanfed gmarkall)

    PR #8198: Update the release template to include updating the version table. (stuartarchibald)

    PR #8200: Make the NRT use the “unsafe” allocation API by default. (stuartarchibald)

    PR #8201: Bump llvmlite dependency to 0.40.dev0 for Numba 0.57.0dev0 (stuartarchibald)

    PR #8207: development tag should be in monofont (esc)

    PR #8212: release checklist: include a note to ping @RC_testers on discourse (esc)

    PR #8216: chore: Set permissions for GitHub actions (naveensrinivasan)

    PR #8217: Fix syntax in docs (jorgepiloto)

    PR #8220: Added the interval example as doctest (kc611)

    PR #8221: CUDA stubs docstring: Replace illegal escape sequence (gmarkall)

    PR #8228: Fix typo in @vectorize docstring and a NumPy spelling. (stuartarchibald)

    PR #8229: Remove mk_unique_var in inline_closurecall.py (sklam)

    PR #8234: Replace @overload_glue by @overload for 20 NumPy functions (guilhermeleobas)

    PR #8235: Make the NRT stats counters optional. (stuartarchibald)

    PR #8238: Advanced Indexing Support #1 (kc611)

    PR #8240: Add get_shared_mem_per_block method to Dispatcher (testhound)

    PR #8241: Reorder typeof checks to avoid infinite loops on StructrefProxy __hash__ (DannyWeitekamp)

    PR #8243: Add a note to reference/numpysupported.rst ()

    PR #8245: Fix links in CONTRIBUTING.md ()

    PR #8247: Fix issue 8127 (bszollosinagy)

    PR #8250: Fix issue 8161 (bszollosinagy)

    PR #8253: CUDA: Verify NVVM IR prior to compilation (gmarkall)

    PR #8255: CUDA: Make numba.cuda.tests.doc_examples.ffi a module to fix #8252 (gmarkall)

    PR #8256: Migrate linear algebra functions from glue_lowering (apmasell)

    PR #8258: refactor np.where to use overload (guilhermeleobas)

    PR #8259: Add np.broadcast_to(scalar_array, ()) (guilhermeleobas)

    PR #8264: remove mk_unique_var from parfor_lowering_utils.py (guilhermeleobas)

    PR #8265: Remove mk_unique_var from array_analysis.py (guilhermeleobas)

    PR #8266: Remove mk_unique_var in untyped_passes.py (guilhermeleobas)

    PR #8267: Fix segfault for invalid axes in np.split (aseyboldt)

    PR #8271: Implement some CUDA intrinsics with @overload, @overload_attribute, and @intrinsic (gmarkall)

    PR #8274: Update version support table doc for 0.56. (stuartarchibald)

    PR #8275: Update CHANGE_LOG for 0.56.0 final (stuartarchibald)

    PR #8283: Clean up / remove support for old NumPy versions (gmarkall)

    PR #8287: Drop CUDA 10.2 (gmarkall)

    PR #8289: Revert #8265. (stuartarchibald)

    PR #8290: CUDA: Replace use of deprecated NVVM IR features, questionable constructs (gmarkall)

    PR #8292: update checklist (esc)

    PR #8294: CUDA: Add trig ufunc support (gmarkall)

    PR #8295: Add get_const_mem_size method to Dispatcher (testhound gmarkall)

    PR #8297: Add __name__ attribute to CUDAUFuncDispatcher and test case (testhound)

    PR #8299: Fix build for mingw toolchain (Biswa96)

    PR #8302: CUDA: Revert numba_nvvm intrinsic name workaround (gmarkall)

    PR #8308: CUDA: Support for multiple signatures (gmarkall)

    PR #8315: Add get_local_mem_per_thread method to Dispatcher (testhound)

    PR #8319: Bump minimum supported Python version to 3.8 (esc stuartarchibald jamesobutler)

    PR #8320: Add __name__ support for GUFuncs (testhound)

    PR #8321: Fix literal_unroll pass erroneously exiting on non-conformant loop. (stuartarchibald)

    PR #8325: Remove use of mk_unique_var in stencil.py (bszollosinagy)

    PR #8326: Remove mk_unique_var from parfor_lowering.py (guilhermeleobas)

    PR #8331: Extend docs with info on how to call C functions from Numba (guilhermeleobas)

    PR #8334: Add dict(*iterable) constructor (guilhermeleobas)

    PR #8335: Remove deprecated pycc script and related source. (stuartarchibald)

    PR #8336: Fix typos of “Generalized” in GUFunc-related code (gmarkall)

    PR #8338: Calculate reductions before fusion so that use of reduction vars can stop fusion. (DrTodd13)

    PR #8339: Fix #8291 parfor leak of redtoset variable (sklam)

    PR #8341: CUDA: Support multiple outputs for Generalized Ufuncs (gmarkall)

    PR #8343: Eliminate references to type annotation in compile_ptx (testhound)

    PR #8348: Add get_max_threads_per_block method to Dispatcher (testhound)

    PR #8354: pin setuptools to < 65 and switch from mamba to conda on RTD (esc gmarkall)

    PR #8357: Clean up the buildscripts directory. (stuartarchibald)

    PR #8359: adding warnings about cache behaviour (luk-f-a)

    PR #8368: Remove glue_lowering in random math that requires IR (apmasell)

    PR #8376: Fix issue 8370 (bszollosinagy)

    PR #8387: Add support for compute capability in IR Lowering (testhound)

    PR #8388: Remove more references to the pycc binary. (stuartarchibald)

    PR #8389: Make C++ extensions compile with correct compiler (apmasell)

    PR #8390: Use NumPy logic for lessthan in sort to move NaNs to the back. (sklam)

    PR #8401: Remove Cuda toolkit version check (testhound)

    PR #8415: Refactor numba.np.arraymath methods from lower_builtins to overloads (kc611)

    PR #8418: Fixes ravel failure on 1d arrays (#5229) (cako)

    PR #8421: Update release checklist: add a task to check dependency pinnings on subsequent releases (e.g. PATCH) (esc)

    PR #8422: Switch public CI builds to use gdb from conda packages. (stuartarchibald)

    PR #8423: Remove public facing and CI references to 32 bit linux support. (stuartarchibald, in addition, we are grateful for the contribution of jamesobutler towards a similar goal in PR #8319)

    PR #8425: Post 0.56.2 cleanup (esc)

    PR #8427: Shorten the time to verify test discovery. (stuartarchibald)

    PR #8429: changelog generator script (esc)

    PR #8431: Replace @overload_glue by @overload for np.linspace and np.take (guilhermeleobas)

    PR #8432: Refactor carray/farray to use @overload (guilhermeleobas)

    PR #8435: Migrate np.atleast_? functions from glue_lowering to overload (apmasell)

    PR #8438: Make the initialisation of the NRT more lazy for the njit decorator. (stuartarchibald)

    PR #8439: Update the contributing docs to include a policy on formatting changes. (stuartarchibald)

    PR #8440: [DOC]: Replaces icc_rt with intel-cmplr-lib-rt (oleksandr-pavlyk)

    PR #8442: Implement hasattr(), str() and repr(). (stuartarchibald)

    PR #8446: add version info in ImportError’s (raybellwaves)

    PR #8450: remove GitHub username from changelog generation script (esc)

    PR #8467: Convert implementations using generated_jit to overload (gmarkall)

    PR #8468: Reference test suite in installation documentation (apmasell)

    PR #8469: Correctly handle optional types in parfors lowering (apmasell)

    PR #8473: change the include style in _pymodule.h and remove unused or duplicate headers in two header files ()

    PR #8476: Make setuptools optional at runtime. (stuartarchibald)

    PR #8490: Restore installing SciPy from defaults instead of conda-forge on public CI (esc)

    PR #8494: Remove context.compile_internal where easy on numba/cpython/cmathimpl.py (guilhermeleobas)

    PR #8495: Removes context.compile_internal where easy on numba/cpython/listobj.py (guilhermeleobas)

    PR #8496: Rewrite most of the set API to use overloads (guilhermeleobas)

    PR #8499: Deprecate numba.generated_jit (stuartarchibald)

    PR #8508: This updates the release checklists to capture some more checks. (stuartarchibald)

    PR #8513: Added support for numpy.newaxis (kc611)

    PR #8517: make some typedlist C-APIs public ()

    PR #8518: Adjust stencil tests to use hardcoded python source opposed to AST. (stuartarchibald)

    PR #8520: Added noncentral-chisquared, noncentral-f and logseries distributions (kc611)

    PR #8522: Import jitclass from numba.experimental in jitclass documentation (armgabrielyan)

    PR #8524: Fix grammar in stencil.rst (armgabrielyan)

    PR #8525: Making CUDA specific datamodel manager (sklam)

    PR #8526: Fix broken url (Nimrod0901)

    PR #8527: Fix grammar in troubleshoot.rst (armgabrielyan)

    PR #8532: Vary NumPy version on gpuCI (gmarkall)

    PR #8535: LLVM14 (apmasell)

    PR #8536: Fix fusion bug. (DrTodd13)

    PR #8539: Fix #8534, np.broadcast_to should update array size attr. (stuartarchibald)

    PR #8541: Remove restoration of “free” channel in Azure CI windows builds. (stuartarchibald)

    PR #8542: CUDA: Make arg optional for Stream.add_callback() (gmarkall)

    PR #8544: Remove reliance on npy_<impl> ufunc loops. (stuartarchibald)

    PR #8545: Py3.11 basic support (esc sklam)

    PR #8547: [Unicode] Add more string view usages for unicode operations ()

    PR #8549: Fix rstcheck in Azure CI builds, update sphinx dep and docs to match (stuartarchibald)

    PR #8550: Changes how tests are split between test instances (apmasell)

    PR #8554: Make target for @overload have ‘generic’ as default. (stuartarchibald gmarkall)

    PR #8557: [Unicode] support startswith with args, start and end. ()

    PR #8566: Update workqueue abort message on concurrent access. (stuartarchibald)

    PR #8572: CUDA: Reduce memory pressure from local memory tests (gmarkall)

    PR #8579: CUDA: Add CUDA 11.8 / Hopper support and required fixes (gmarkall)

    PR #8580: adding note about doing a wheel test build prior to tagging (esc)

    PR #8583: Skip tests that contribute to M1 RuntimeDyLd Assertion error (sklam)

    PR #8587: Remove unused refcount removal code, clean core/cpu.py module. (stuartarchibald)

    PR #8588: Remove lowering extension hooks, replace with pass infrastructure. (stuartarchibald)

    PR #8590: Py3.11 support continues (sklam)

    PR #8592: fix failure of test_cache_invalidate due to read-only install (tpwrules)

    PR #8593: Adjusted ULP precesion for noncentral distribution test (kc611)

    PR #8594: Fix various CUDA lineinfo issues (gmarkall)

    PR #8597: Prevent use of NumPy’s MaskedArray. (stuartarchibald)

    PR #8598: Setup Azure CI to test py3.11 (sklam)

    PR #8600: Chrome trace timestamp should be in microseconds not seconds. (sklam)

    PR #8602: Throw error for unsupported dunder methods (apmasell)

    PR #8605: Support for CUDA fp16 math functions (part 1) (testhound)

    PR #8606: [Doc] Make the RewriteArrayExprs doc more precise ()

    PR #8619: Added flat iteration logic for random distributions (kc611)

    PR #8623: Adds support for np.nan_to_num (thomasjpfan)

    PR #8624: DOC: Add guvectorize scalar return example (Matt711)

    PR #8625: Refactor test_ufuncs (gmarkall)

    PR #8626: [unicode-PERF]: use optmized BM algorithm to replace the brute-force finder (dlee992)

    PR #8630: Fix #8628: Don’t test math.trunc with non-float64 NumPy scalars (gmarkall)

    PR #8634: Add new method is_fp16_supported (testhound)

    PR #8636: CUDA: Skip test_ptds on Windows (gmarkall)

    PR #8639: Python 3.11 - fix majority of remaining test failures. (stuartarchibald)

    PR #8644: Fix bare reraise support (sklam)

    PR #8649: Remove numba.core.overload_glue module. (apmasell)

    PR #8659: Preserve module name of jitted class (neilflood)

    PR #8661: Make external compiler discovery lazy in the test suite. (stuartarchibald)

    PR #8662: Add support for .nbytes accessor for numpy arrays (alanhdu)

    PR #8666: Updates for Python 3.8 baseline/Python 3.11 migration (stuartarchibald)

    PR #8673: Enable the CUDA simulator tests on Windows builds in Azure CI. (stuartarchibald)

    PR #8675: Make always_run test decorator a tag and improve shard tests. (stuartarchibald)

    PR #8677: Add support for min and max on boolean types. (DrTodd13)

    PR #8680: Adjust flake8 config to be compatible with flake8=6.0.0 (thomasjpfan)

    PR #8685: Implement __repr__ for numba types (luk-f-a)

    PR #8691: NumPy 1.24 (gmarkall)

    PR #8697: Close stale issues after 7 days (gmarkall)

    PR #8701: Relaxed ULP testing precision for NumPy Generator tests across all systems (kc611)

    PR #8702: Supply concrete timeline for objmode fallback deprecation/removal. (stuartarchibald)

    PR #8706: Fix doctest for @vectorize (sklam)

    PR #8711: Python 3.11 tracing support (continuation of #8670). (AndrewVallette sklam)

    PR #8716: CI: Use set -e in “Before Install” step and fix install (gmarkall)

    PR #8720: Enable coverage for subprocess testing (sklam)

    PR #8723: Check for void return type in cuda.compile_ptx (brandonwillard)

    PR #8726: Make Numba dependency check run ahead of Numba internal imports. (stuartarchibald)

    PR #8728: Fix flake8 checks since upgrade to flake8=6.x (stuartarchibald)

    PR #8729: Run flake8 CI step in multiple processes. (stuartarchibald)

    PR #8732: Add numpy argpartition function support ()

    PR #8735: Update bot to close PRs waiting on authors for more than 3 months (guilhermeleobas)

    PR #8736: Implement np.lib.stride_tricks.sliding_window_view ()

    PR #8744: Update CtypesLinker::add_cu error message to include fp16 usage (testhound gmarkall)

    PR #8746: Fix failing test_dispatcher test case (testhound)

    PR #8748: Suppress known test failures for py3.11 (sklam)

    PR #8751: Recycle test runners more aggressively (apmasell)

    PR #8752: Flake8 fixes for py311 branch (esc sklam)

    PR #8760: Bump llvmlite PR in py3.11 branch testing (sklam)

    PR #8764: CUDA tidy-up: remove some unneeded methods (gmarkall)

    PR #8765: BLD: remove distutils (fangchenli)

    PR #8766: Stale bot: Use abandoned - stale label for closed PRs (gmarkall)

    PR #8771: Update vendored Versioneer from 0.14 to 0.28 (oscargus gmarkall)

    PR #8775: Revert PR#8751 for buildfarm stability (sklam)

    PR #8780: Improved documentation for Atomic CAS (MiloniAtal)

    PR #8781: Ensure gc.collect() is called before checking refcount in tests. (sklam)

    PR #8782: Changed wording of the escape error (MiloniAtal)

    PR #8786: Upgrade stale GitHub action (apmasell)

    PR #8788: CUDA: Fix returned dtype of vectorized functions (Issue #8400) (gmarkall)

    PR #8790: CUDA compare and swap with index (ianthomas23)

    PR #8795: Add pending-deprecation warnings for numba.pycc (stuartarchibald)

    PR #8802: Move the minimum supported NumPy version to 1.21 (stuartarchibald)

    PR #8803: Attempted fix to #8789 by changing compile_ptx to accept a signature instead of argument tuple (KyanCheung)

    PR #8804: Split parfor pass into 3 parts (DrTodd13)

    PR #8809: Update LLVM versions for 0.57 release (apmasell)

    PR #8810: Fix llvmlite dependency in meta.yaml (sklam)

    PR #8816: Fix some buildfarm test failures (sklam)

    PR #8819: Support “static” __getitem__ on Numba types in @njit code. (stuartarchibald)

    PR #8822: Merge py3.11 branch to main (esc AndrewVallette stuartarchibald sklam)

    PR #8826: CUDA CFFI test: conditionally require cffi module (gmarkall)

    PR #8831: Redo py3.11 sync branch with main (sklam)

    PR #8833: Fix typeguard import hook location. (stuartarchibald)

    PR #8836: Fix failing typeguard test. (stuartarchibald)

    PR #8837: Update AzureCI matrix for Python 3.11/NumPy 1.21..1.24 (stuartarchibald)

    PR #8839: Add Dynamic Shared Memory example. (k1m190r)

    PR #8842: Fix buildscripts, setup.py, docs for setuptools becoming optional. (stuartarchibald)

    PR #8843: Pin typeguard to 3.0.1 in AzureCI. (stuartarchibald)

    PR #8848: added lifted loops to glossary term (cherieliu)

    PR #8852: Disable SLP vectorisation due to miscompilations. (stuartarchibald)

    PR #8855: DOC: pip into double backticks in installing.rst (F3eQnxN3RriK)

    PR #8856: Update TBB to use >= 2021.6 by default. (kozlov-alexey stuartarchibald)

    PR #8858: Update deprecation notice for objmode fallback RE @jit use. (stuartarchibald)

    PR #8864: Remove obsolete deprecation notices (gmarkall)

    PR #8866: Revise CUDA deprecation notices (gmarkall)

    PR #8869: Update CHANGE_LOG for 0.57.0rc1 (stuartarchibald esc gmarkall)

    PR #8870: Fix opcode “spelling” change since Python 3.11 in CUDA debug test. (stuartarchibald)

    PR #8879: Remove use of compile_isolated from generator tests. (stuartarchibald)

    PR #8880: Fix missing dependency guard on pyyaml in test_azure_config. (stuartarchibald)

    PR #8881: Replace use of compile_isolated in test_obj_lifetime (sklam)

    PR #8884: Pin llvmlite and NumPy on release branch (sklam)

    PR #8887: Update PyPI supported version tags (bryant1410)

    PR #8896: Remove codecov install (now deleted from PyPI) (gmarkall)

    PR #8902: Enable CALL_FUNCTION_EX fix for py3.11 (sklam)

    PR #8907: Work around issue #8898. Defer exp2 (and log2) calls to Numba internal symbols. (stuartarchibald)

    PR #8909: Fix #8903. NumbaDeprecationWarning``s raised from ``@{gu,}vectorize. (stuartarchibald)

    PR #8929: Update CHANGE_LOG for 0.57.0 final. (stuartarchibald)

    PR #8930: Fix year in change log (jtilly)

    PR #8932: Fix 0.57 release changelog (sklam)

Authors:

    alanhdu

    AndrewVallette

    apmasell

    armgabrielyan

    aseyboldt

    Biswa96

    brandonwillard

    bryant1410

    bszollosinagy

    cako

    cherieliu

    ChiCheng45

    DannyWeitekamp

    dlee992

    dmbelov

    DrTodd13

    eric-wieser

    esc

    F3eQnxN3RriK

    fangchenli

    gmarkall

    guilhermeleobas

    ianthomas23

    jamesobutler

    jorgepiloto

    jtilly

    k1m190r

    kc611

    kozlov-alexey

    KyanCheung

    luk-f-a

    Matt711

    MiloniAtal

    naveensrinivasan

    neilflood

    Nimrod0901

    njriasan

    oleksandr-pavlyk

    oscargus

    raybellwaves

    shangbol

    sklam

    stefanfed

    stuartarchibald

    testhound

    thomasjpfan

    tpwrules

Version 0.56.4 (3 November, 2022)

This is a bugfix release to fix a regression in the CUDA target in relation to the .view() method on CUDA device arrays that is present when using NumPy version 1.23.0 or later.

Pull-Requests:

    PR #8537: Make ol_compatible_view accessible on all targets (gmarkall)

    PR #8552: Update version support table for 0.56.4. (stuartarchibald)

    PR #8553: Update CHANGE_LOG for 0.56.4 (stuartarchibald)

    PR #8570: Release 0.56 branch: Fix overloads with target="generic" for CUDA (gmarkall)

    PR #8571: Additional update to CHANGE_LOG for 0.56.4 (stuartarchibald)

Authors:

    gmarkall

    stuartarchibald

Version 0.56.3 (13 October, 2022)

This is a bugfix release to remove the version restriction applied to the setuptools package and to fix a bug in the CUDA target in relation to copying zero length device arrays to zero length host arrays.

Pull-Requests:

    PR #8475: Remove setuptools version pin (gmarkall)

    PR #8482: Fix #8477: Allow copies with different strides for 0-length data (gmarkall)

    PR #8486: Restrict the TBB development package to supported version in Azure. (stuartarchibald)

    PR #8503: Update version support table for 0.56.3 (stuartarchibald)

    PR #8504: Update CHANGE_LOG for 0.56.3 (stuartarchibald)

Authors:

    gmarkall

    stuartarchibald

Version 0.56.2 (1 September, 2022)

This is a bugfix release that supports NumPy 1.23 and fixes CUDA function caching.

Pull-Requests:

    PR #8239: Add decorator to run a test in a subprocess (stuartarchibald)

    PR #8276: Move Azure to use macos-11 (stuartarchibald)

    PR #8310: CUDA: Fix Issue #8309 - atomics don’t work on complex components (Graham Markall)

    PR #8342: Upgrade to ubuntu-20.04 for azure pipeline CI (jamesobutler)

    PR #8356: Update setup.py, buildscripts, CI and docs to require setuptools<60 (stuartarchibald)

    PR #8374: Don’t pickle LLVM IR for CUDA code libraries (Graham Markall)

    PR #8377: Add support for NumPy 1.23 (stuartarchibald)

    PR #8384: Move strace() check into tests that actually need it (stuartarchibald)

    PR #8386: Fix the docs for numba.get_thread_id (stuartarchibald)

    PR #8407: Pin NumPy version to 1.18-1.24 (Andre Masella)

    PR #8411: update version support table for 0.56.1 (esc)

    PR #8412: Create changelog for 0.56.1 (Andre Masella)

    PR #8413: Fix Azure CI for NumPy 1.23 and use conda-forge scipy (Siu Kwan Lam)

    PR #8414: Hotfix for 0.56.2 (Siu Kwan Lam)

Authors:

    Andre Masella

    esc

    Graham Markall

    jamesobutler

    Siu Kwan Lam

    stuartarchibald

Version 0.56.1 (NO RELEASE)

The release was skipped due to issues during the release process.
Version 0.56.0 (25 July, 2022)

This release continues to add new features, bug fixes and stability improvements to Numba. Please note that this will be the last release that has support for Python 3.7 as the next release series (Numba 0.57) will support Python 3.11! Also note that, this will be the last release to support linux-32 packages produced by the Numba team.

Python language support enhancements:

    Previously missing support for large, in-line dictionaries and internal calls to functions with large numbers of keyword arguments in Python 3.10 has been added.

    operator.mul now works for list s.

    Literal slices, e.g. slice(1, 10, 2) can be returned from nopython mode functions.

    The len function now works on dict_keys, dict_values and dict_items .

    Numba’s set implementation now supports reference counted items e.g. strings.

Numba specific feature enhancements:

    The experimental jitclass feature gains support for a large number of builtin methods e.g. declaring __hash__ or __getitem__ for a jitclass type.

    It’s now possible to use @vectorize on an already @jit family decorated function.

    Name mangling has been updated to emit compiled function names that exactly match the function name in Python. This means debuggers, like GDB, can be set to break directly on Python function names.

    A GDB “pretty printing” support module has been added, when loaded into GDB Numba’s internal representations of Python/NumPy types are rendered inside GDB as they would be in Python.

    An experimental option is added to the @jit family decorators to entirely turn off LLVM’s optimisation passes for a given function (see _dbg_optnone kwarg in the @jit decorator family).

    A new environment variable is added NUMBA_EXTEND_VARIABLE_LIFETIMES, which if set will extend the lifetime of variables to the end of their basic block, this to permit a debugging experience in GDB similar to that found in compiled C/C++/Fortran code.

NumPy features/enhancements:

    Initial support for passing, using and returning numpy.random.Generator instances has been added, this currently includes support for the random distribution.

    The broadcasting functions np.broadcast_shapes and np.broadcast_arrays are now supported.

    The min and max functions now work with np.timedelta64 and np.datetime64 types.

    Sorting multi-dimensional arrays along the last axis is now supported in np.sort().

    The np.clip function is updated to accept NumPy arrays for the a_min and a_max arguments.

    The NumPy allocation routines (np.empty , np.ones etc.) support shape arguments specified using members of enum.IntEnum s.

    The function np.random.noncentral_chisquare is now supported.

    The performance of functions np.full and np.ones has been improved.

Parallel Accelerator enhancements:

    The parallel=True functionality is enhanced through the addition of the functions numba.set_parallel_chunksize and numba.get_parallel_chunksize to permit a more fine grained scheduling of work defined in a parallel region. There is also support for adjusting the chunksize via a context manager.

    The ID of a thread is now defined to be predictable and within a known range, it is available through calling the function numba.get_thread_id.

    The performance of @stencil s has been improved in both serial and parallel execution.

CUDA enhancements:

    New functionality:

        Self-recursive device functions.

        Vector type support (float4, int2, etc.).

        Shared / local arrays of extension types can now be created.

        Support for linking CUDA C / C++ device functions into Python kernels.

        PTX generation for Compute Capabilities 8.6 and 8.7 - e.g. RTX A series, GTX 3000 series.

        Comparison operations for float16 types.

    Performance improvements:

        Context queries are no longer made during launch configuration.

        Launch configurations are now LRU cached.

        On-disk caching of CUDA kernels is now supported.

    Documentation: many new examples added.

Docs:

    Numba now has an official “mission statement”.

    There’s now a “version support table” in the documentation to act as an easy to use, single reference point, for looking up information about Numba releases and their required/supported dependencies.

General Enhancements:

    Numba imports more quickly in environments with large numbers of packages as it now uses importlib-metadata for querying other packages.

    Emission of chrome tracing output is now supported for the internal compilation event handling system.

    This release is tested and known to work when using the Pyston Python interpreter.

Pull-Requests:

    PR #5209: Use importlib to load numba extensions (Stepan Rakitin Graham Markall stuartarchibald)

    PR #5877: Jitclass builtin methods (Ethan Pronovost Graham Markall)

    PR #6490: Stencil output allocated with np.empty now and new code to initialize the borders. (Todd A. Anderson)

    PR #7005: Make numpy.searchsorted match NumPy when first argument is unsorted (Brandon T. Willard)

    PR #7363: Update cuda.local.array to clarify “simple constant expression” (e.g. no NumPy ints) (Sterling Baird)

    PR #7364: Removes an instance of signed integer overflow undefined behaviour. (Tobias Sargeant)

    PR #7537: Add chrome tracing (Hadia Ahmed Siu Kwan Lam)

    PR #7556: Testhound/fp16 comparison (Michael Collison Graham Markall)

    PR #7586: Support for len on dict.keys, dict.values, and dict.items (Nick Riasanovsky)

    PR #7617: Numba gdb-python extension for printing (stuartarchibald)

    PR #7619: CUDA: Fix linking with PTX when compiling lazily (Graham Markall)

    PR #7621: Add support for linking CUDA C / C++ with @cuda.jit kernels (Graham Markall)

    PR #7625: Combined parfor chunking and caching PRs. (stuartarchibald Todd A. Anderson Siu Kwan Lam)

    PR #7651: DOC: pypi and conda-forge badges (Ray Bell)

    PR #7660: Add support for np.broadcast_arrays (Guilherme Leobas)

    PR #7664: Flatten mangling dicts into a single dict (Graham Markall)

    PR #7680: CUDA Docs: include example calling slow matmul (Graham Markall)

    PR #7682: performance improvements to np.full and np.ones (Rishi Kulkarni)

    PR #7684: DOC: remove incorrect warning in np.random reference (Rishi Kulkarni)

    PR #7685: Don’t convert setitems that have dimension mismatches to parfors. (Todd A. Anderson)

    PR #7690: Implemented np.random.noncentral_chisquare for all size arguments (Rishi Kulkarni)

    PR #7695: IntEnumMember support for np.empty, np.zeros, and np.ones (Benjamin Graham)

    PR #7699: CUDA: Provide helpful error if the return type is missing for declare_device (Graham Markall)

    PR #7700: Support for scalar arguments in Np.ascontiguousarray (Dhruv Patel)

    PR #7703: Ignore unsupported types in ShapeEquivSet._getnames() (Benjamin Graham)

    PR #7704: Move the type annotation pass to post legalization. (stuartarchibald)

    PR #7709: CUDA: Fixes missing type annotation pass following #7704 (stuartarchibald)

    PR #7712: Fixing issue 7693 (stuartarchibald Graham Markall luk-f-a)

    PR #7714: Support for boxing SliceLiteral type (Nick Riasanovsky)

    PR #7718: Bump llvmlite dependency to 0.39.0dev0 for Numba 0.56.0dev0 (stuartarchibald)

    PR #7724: Update URLs in error messages to refer to RTD docs. (stuartarchibald)

    PR #7728: Document that AOT-compiled functions do not check arg types (Graham Markall)

    PR #7729: Handle Omitted/OmittedArgDataModel in DI generation. (stuartarchibald)

    PR #7732: update release checklist following 0.55.0 RC1 (esc)

    PR #7736: Update CHANGE_LOG for 0.55.0 final. (stuartarchibald)

    PR #7740: CUDA Python 11.6 support (Graham Markall)

    PR #7744: Fix issues with locating/parsing source during DebugInfo emission. (stuartarchibald)

    PR #7745: Fix the release year for Numba 0.55 change log entry. (stuartarchibald)

    PR #7748: Fix #7713: Ensure _prng_random_hash return has correct bitwidth (Graham Markall)

    PR #7749: Refactor threading layer priority tests to not use stdout/stderr (stuartarchibald)

    PR #7752: Fix #7751: Use original filename for array exprs (Graham Markall)

    PR #7755: CUDA: Deprecate support for CC < 5.3 and CTK < 10.2 (Graham Markall)

    PR #7763: Update Read the Docs configuration (automatic) (readthedocs-assistant)

    PR #7764: Add dbg_optnone and dbg_extend_lifetimes flags (Siu Kwan Lam)

    PR #7771: Move function unique ID to abi-tags (stuartarchibald Siu Kwan Lam)

    PR #7772: CUDA: Add Support to Creating StructModel Array (Michael Wang)

    PR #7776: Updates coverage.py config (stuartarchibald)

    PR #7777: Remove reference existing issue from GH template. (stuartarchibald)

    PR #7778: Remove long deprecated flags from the CLI. (stuartarchibald)

    PR #7780: Fix sets with reference counted items (Benjamin Graham)

    PR #7782: adding reminder to check on deprecations (esc)

    PR #7783: remove upper limit on Python version (esc)

    PR #7786: Remove dependency on intel-openmp for OSX (stuartarchibald)

    PR #7788: Avoid issue with DI gen for arrayexprs. (stuartarchibald)

    PR #7796: update change-log for 0.55.1 (esc)

    PR #7797: prune README (esc)

    PR #7799: update the release checklist post 0.55.1 (esc)

    PR #7801: add sdist command and umask reminder (esc)

    PR #7804: update local references from master -> main (esc)

    PR #7805: Enhance source line finding logic for debuginfo (Siu Kwan Lam)

    PR #7809: Updates the gdb configuration to accept a binary name or a path. (stuartarchibald)

    PR #7813: Extend parfors test timeout for aarch64. (stuartarchibald)

    PR #7814: CUDA Dispatcher refactor (Graham Markall)

    PR #7815: CUDA Dispatcher refactor 2: inherit from dispatcher.Dispatcher (Graham Markall)

    PR #7817: Update intersphinx URLs for NumPy and llvmlite. (stuartarchibald)

    PR #7823: Add renamed vars to callee scope such that it is self consistent. (stuartarchibald)

    PR #7829: CUDA: Support Enum/IntEnum in Kernel (Michael Wang)

    PR #7833: Add version support information table to docs. (stuartarchibald)

    PR #7835: Fix pickling error when module cannot be imported (idorrington)

    PR #7836: min() and max() support for np.datetime and np.timedelta (Benjamin Graham)

    PR #7837: Initial refactoring of parfor reduction lowering (Siu Kwan Lam)

    PR #7845: change time.time() to time.perf_counter() in docs (Nopileos2)

    PR #7846: Fix CUDA enum vectorize test on Windows (Graham Markall)

    PR #7848: Support for int * list (Nick Riasanovsky)

    PR #7850: CUDA: Pass fastmath compiler flag down to compile_ptx and compile_device; Improve fastmath tests (Michael Wang)

    PR #7855: Ensure np.argmin/no.argmax return type is intp (stuartarchibald)

    PR #7858: CUDA: Deprecate ptx Attribute and Update Tests (Graham Markall Michael Wang)

    PR #7861: Fix a spelling mistake in README (Zizheng Guo)

    PR #7864: Fix cross_iter_dep check. (Todd A. Anderson)

    PR #7865: Remove add_user_function (Graham Markall)

    PR #7866: Support for large numbers of args/kws with Python 3.10 (Nick Riasanovsky)

    PR #7878: CUDA: Remove some deprecated support, add CC 8.6 and 8.7 (Graham Markall)

    PR #7893: Use uuid.uuid4() as the key in serialization. (stuartarchibald)

    PR #7895: Remove use of llvmlite.llvmpy (Andre Masella)

    PR #7898: Skip test_ptds under cuda-memcheck (Graham Markall)

    PR #7901: Pyston compatibility for the test suite (Kevin Modzelewski)

    PR #7904: Support m1 (esc)

    PR #7911: added sys import (Nightfurex)

    PR #7915: CUDA: Fix test checking debug info rendering. (stuartarchibald)

    PR #7918: Add JIT examples to CUDA docs (brandon-b-miller Graham Markall)

    PR #7919: Disallow //= reductions in pranges. (Todd A. Anderson)

    PR #7924: Retain non-modified index tuple components. (Todd A. Anderson)

    PR #7939: Fix rendering in feature request template. (stuartarchibald)

    PR #7940: Implemented np.allclose in numba/np/arraymath.py (Gagandeep Singh)

    PR #7941: Remove debug dump output from closure inlining pass. (stuartarchibald)

    PR #7946: instructions for creating a build environment were outdated (esc)

    PR #7949: Add Cuda Vector Types (Michael Wang)

    PR #7950: mission statement (esc)

    PR #7956: Stop using pip for 3.10 on public ci (Revert “start testing Python 3.10 on public CI”) (esc)

    PR #7957: Use cloudpickle for disk caches (Siu Kwan Lam)

    PR #7958: numpy.clip accept numpy.array for a_min, a_max (Gagandeep Singh)

    PR #7959: Permit a new array model to have a super set of array model fields. (stuartarchibald)

    PR #7961: numba.typed.typeddict.Dict.get uses castedkey to avoid returning default value even if the key is present (Gagandeep Singh)

    PR #7963: remove the roadmap from the sphinx based docs (esc)

    PR #7964: Support for large constant dictionaries in Python 3.10 (Nick Riasanovsky)

    PR #7965: Use uuid4 instead of PID in cache temp name to prevent collisions. (stuartarchibald)

    PR #7971: lru cache for configure call (Tingkai Liu)

    PR #7972: Fix fp16 support for cuda shared array (Michael Collison Graham Markall)

    PR #7986: Small caching refactor to support target cache implementations (Graham Markall)

    PR #7994: Supporting multidimensional arrays in quick sort (Gagandeep Singh Siu Kwan Lam)

    PR #7996: Fix binding logic in @overload_glue. (stuartarchibald)

    PR #7999: Remove @overload_glue for NumPy allocators. (stuartarchibald)

    PR #8003: Add np.broadcast_shapes (Guilherme Leobas)

    PR #8004: CUDA fixes for Windows (Graham Markall)

    PR #8014: Fix support for {real,imag} array attrs in Parfors. (stuartarchibald)

    PR #8016: [Docs] [Very Minor] Make numba.jit boundscheck doc line consistent (Kyle Martin)

    PR #8017: Update FAQ to include details about using debug-only option (Guilherme Leobas)

    PR #8027: Support for NumPy 1.22 (stuartarchibald)

    PR #8031: Support for Numpy BitGenerators PR#1 - Core Generator Support (Kaustubh)

    PR #8035: Fix a couple of typos RE implementation (stuartarchibald)

    PR #8037: CUDA self-recursion tests (Graham Markall)

    PR #8044: Make Python 3.10 kwarg peephole less restrictive (Nick Riasanovsky)

    PR #8046: Fix caching test failures (Siu Kwan Lam)

    PR #8049: support str(bool) syntax (LI Da)

    PR #8052: Ensure pthread is linked in when building for ppc64le. (Siu Kwan Lam)

    PR #8056: Move caching tests from test_dispatcher to test_caching (Graham Markall)

    PR #8057: Fix coverage checking (Graham Markall)

    PR #8064: Rename “nb:run_pass” to “numba:run_pass” and document it. (Siu Kwan Lam)

    PR #8065: Fix PyLowering mishandling starargs (Siu Kwan Lam)

    PR #8068: update changelog for 0.55.2 (esc)

    PR #8077: change return type of np.broadcast_shapes to a tuple (Guilherme Leobas)

    PR #8080: Fix windows test failure due to timeout when the machine is slow poss… (Siu Kwan Lam)

    PR #8081: Fix erroneous array count in parallel gufunc kernel generation. (stuartarchibald)

    PR #8089: Support on-disk caching in the CUDA target (Graham Markall)

    PR #8097: Exclude libopenblas 0.3.20 on osx-arm64 (esc)

    PR #8099: Fix Py_DECREF use in case of error state (for devicearray). (stuartarchibald)

    PR #8102: Combine numpy run_constrained in meta.yaml to the run requirements (Siu Kwan Lam)

    PR #8109: Pin TBB support with respect to incompatible 2021.6 API. (stuartarchibald)

    PR #8118: Update release checklists post 0.55.2 (esc)

    PR #8123: Fix CUDA print tests on Windows (Graham Markall)

    PR #8124: Add explicit checks to all allocators in the NRT. (stuartarchibald)

    PR #8126: Mark gufuncs as having mutable outputs (Andre Masella)

    PR #8133: Fix #8132. Regression in Record.make_c_struct for handling nestedarray (Siu Kwan Lam)

    PR #8137: CUDA: Fix #7806, Division by zero stops the kernel (Graham Markall)

    PR #8142: CUDA: Fix some missed changes from dropping 9.2 (Graham Markall)

    PR #8144: Fix NumPy capitalisation in docs. (stuartarchibald)

    PR #8145: Allow ufunc builder to use previously JITed function (Andre Masella)

    PR #8151: pin NumPy to build 0 of 1.19.2 on public CI (esc)

    PR #8163: CUDA: Remove context query in launch config (Graham Markall)

    PR #8165: Restrict strace based tests to be linux only via support feature. (stuartarchibald)

    PR #8170: CUDA: Fix missing space in low occupancy warning (Graham Markall)

    PR #8175: make build and upload order consistent (esc)

    PR #8181: Fix various typos (luzpaz)

    PR #8187: Update CHANGE_LOG for 0.55.2 (stuartarchibald esc)

    PR #8189: updated version support information for 0.55.2/0.57 (esc)

    PR #8191: CUDA: Update deprecation notes for 0.56. (Graham Markall)

    PR #8192: Update CHANGE_LOG for 0.56.0 (stuartarchibald esc Siu Kwan Lam)

    PR #8195: Make the workqueue threading backend once again fork safe. (stuartarchibald)

    PR #8196: Fix numerical tolerance in parfors caching test. (stuartarchibald)

    PR #8197: Fix isinstance warning check test. (stuartarchibald)

    PR #8203: pin llvmlite 0.39 for public CI builds (esc)

    PR #8255: CUDA: Make numba.cuda.tests.doc_examples.ffi a module to fix #8252 (Graham Markall)

    PR #8274: Update version support table doc for 0.56. (stuartarchibald)

    PR #8275: Update CHANGE_LOG for 0.56.0 final (stuartarchibald)

Authors:

    Andre Masella

    Benjamin Graham

    brandon-b-miller

    Brandon T. Willard

    Gagandeep Singh

    Dhruv Patel

    LI Da

    Todd A. Anderson

    Ethan Pronovost

    esc

    Tobias Sargeant

    Graham Markall

    Guilherme Leobas

    Zizheng Guo

    Hadia Ahmed

    idorrington

    Michael Wang

    Kaustubh

    Kevin Modzelewski

    luk-f-a

    luzpaz

    Kyle Martin

    Nightfurex

    Nick Riasanovsky

    Nopileos2

    Ray Bell

    readthedocs-assistant

    Rishi Kulkarni

    Sterling Baird

    Siu Kwan Lam

    stuartarchibald

    Stepan Rakitin

    Michael Collison

    Tingkai Liu
jperkin pushed a commit that referenced this issue Feb 7, 2024
[2.0.0] - 2024-02-01

Added
- bump material_colors ver
- add --type argument
- remove all android colors
- change config paths to relative
- add image fetched from web
- show template path and name in error
- add template name and path in error
- update syntax
- add span of file in template render error
- add custom keywords
- add new formats for keywords
- replace regex with `upon`
- update example config and template file
- add `--debug` flag
- remove `run_after`
- *(macos)* implement wallpaper setting
- *(template)* show error if file is not in UTF-8
- *(wallpaper)* add error is the program to set wallpaper is not in PATH
- *(windows)* implement setting wallpaper
- add `update-informer`
- *(logging)* add number indicator to logs for templates and run_after
- *(logging)* update the message format
- *(COLORS_ANDROID)* add `source_color`
- *(template)* add `hsl` and `hsla` formats
- *(template)* add `dark`, `amoled` and `light` schemes to every template
- *(scheme)* add `android_scheme` keywords
- *(scheme)* add `android_scheme`
- *(arguments)* add `--show-colors` flag and disable showing colors by default
- *(show_colors)* show light, dark and amoled at once in a table
- *(arguments)* [**breaking**] remove `lightmode` and `amoled`
- *(config)* [**breaking**] rename `scheme` to `mode` in template config
- *(arguments)* add `mode` to replace `lightmode` and `amoled`
- *(template)* add `Light`,`Dark`,`Amoled` options for each template
- add `--dry-run` flag
- *(template)* add `source_color`
- show generated colors inside a table instead
- *(reload apps)* make every app true by default
- *(reload apps)* add dunst
- *(config)* add suggestion to error message
- *(config)* [**breaking**] add reload_apps_list
- add sample image to assets/
- *(tapes)* add colorscheme tape
- *(tapes)* add more color formats to color.tape
- replace most unwrap()'s with expect
- add hex, rgb, hsl as color arguments
- *(template)* add lightness
- *(template)* add hue, saturation for keywords
- add triadic and adjacent color palettes
- *(wallpaper)* add feh
- *(wallpaper)* add nitrogen
- add amoled/"pure dark" mode [#2]
- add vhs tape gifs
- add vhs tapes
- add hex code to show_colors
- add custom config file flag
- add example
- add run_after
- add waybar to reload_apps_linux
- remove .vscode
- remove result/ folder
- add result/
- add description to flake
- add flake
- add cargo.lock
- warn when wallpaper tool is not set
- add reload_gtk_theme
- add target_os for linux
- add swww options
- add set_wallpaper
- add reload gtk theme
- add app reloading for linux
- remove unused dependencies
- use if let instead of match for image
- add image to replacements
- remove image.jpg
- *(logging)* update the resizing text
- check for string length in source color
- *(logging)* update template warn style
- add .vscode/ folder
- *(logging)* use paris
- initial commit

Fixed
- STATUS_STACK_OVERFLOW when quantizing
- *(macos)* add `enquote` to global dependencies [#43]
- light/dark theme being swapped everywhere
- fix table light/dark modes
- fix nix module command
- *(macos)* change `use` to `extern` for enquote [#43]
- *(macos)* enquote not imported [#43]
- forgot to commit `Cargo.lock`
- make reqwest not use openssl
- remove openssl dependency
- update quantizer arguments [#39]
- add back `source_color`
- red color being blue in generated file
- remove compilation errors on unix
- `--show-colors`, `--json` not showing without an image
- wrong hsl color in generated file
- do not open file before rendering template
- *(template)* fix "parent folder does not exist" warning
- `--quiet` flag still showing output
- make `enquote` dependency only for macos target
- `run_after` not working on windows
- fix typo in `run_after` function
- remove unused result warning
- *(macos)* update specific functions to only run on linux and macos [#25]
- *(macos)* use conditional import for unsupported modules [#25]
- *(template)* change println to debug
- *(template)* improve error handling for files and folders
- *(android_scheme)* fix `light` and `pure_dark` colors
- *(show_color)* make the dark and amoled colors use right schemes
- remove debug stuff
- dark and amoled modes being switched
- correct blue and green in `get_source_color`
- show colors AFTER running commands
- add NetBSD support
- *(release-plz)* change field name
- *(tapes)* change the sizes
- *(tapes)* replace image with hsl in colorscheme.tape
- *(colorscheme)* change output path
- *(tapes)* make the colorscheme tape have the same colors
- *(tapes)* update commands usage
- remove debug print statements
- *(tapes)* fix color tape size
- *(template)* fix rgba replacement
- *(template)* unclosed bracket in hex regex
- *(template)* ".hex" not working [#3]
- swap green and blue channels [#1], [#3]
- run_after not working
- gtk theme reload
- score sometimes choosing the wrong color
- *(logging)* show mode in reload_gtk_theme
- fix text at the end of generated template
- should fix random mess at the end of file
- remove old python folder

Other
- Merge pull request [#46] from InioX/material-colors-rewrite
- remove `material-color-utilities-rs` dependency
- change colors.css
- replace `format_argb_as_rgb`
- remove leftover logging
- update nix module matugen command
- use `material-colors` instead of `material-color-utilities-rs`
- update `generate_pixels` function
- remove amoled scheme
- *(readme)* add note to nixos module
- *(readme)* update header and buttons
- update version manually
- update all dependencies
- Revert "chore(matugen): release v1.2.0"
- release
- update gitignore
- release
- Merge pull request [#35] from InioX/release-plz-2023-12-14T18-36-35Z
- run cargo fix
- Revert "chore(matugen): release v1.1.0"
- release
- Merge branch 'main' of https://github.com/InioX/matugen
- update version
- clean up `generate_color_strings`
- update roadmap
- release
- clean up `Template::generate` function arguments
- run `cargo update`
- remove unneeded imports
- update roadmap and wallpaper alert
- format with `cargo fmt`
- changed function arguments to not use `config` or `args` directly
- move some files into os specific folders
- move update_informer into a function
- format with cargofmt
- release
- update note syntax
- update roadmap icon
- release
- update version
- Added new surfaces, fixed colors, removed deprecated colors, changed chroma
  for neutral palette
- cargo fmt
- fix module not outputting templates
- fix module error
- add NixOS/HM module
- move `usage` and `configuration` into the wiki
- add icons to headers
- release
- remove build warnings [#17]
- add `--json` docs
- format with cargofmt
- add --json flag
- run formatter
- update note markdown
- *(nixos)* add specific version for flake
- move some stuff into their own functions
- release
- *(template)* update keyword names
- *(`scheme_android`)* add TODO note for amoled scheme
- add DEFAULT_CONFIG const
- *(get_source_color)* move to color file
- rename `Commands` struct to `Source`
- make the colors vec a const
- add gifs for modes, palettes and `--other-colors`
- update all tapes
- *(tapes)* change the output directory
- remove unnecessary imports
- fix usage of commands
- add an explanation for `mode` in template config
- rename `scheme` to `mode`
- add `source color` keyword
- format with `cargo fmt`
- *(show_color)* use `format_argb_as_rgb`
- format with `cargo fmt`
- change repository address
- remove useless gifs
- release
- add removed notice for `reload_gtk_theme`
- run clippy --fix
- release
- update cargo and flake lockfiles
- add workspace and ini-material-color-utilities-rs
- change version and name
- add release-plz.toml
- release
- *(configuration items)* fix the types
- *(usage)* add weird output note
- *(usage)* update color command usage
- *(tapes)* update help and image tapes
- *(tapes)* update every tape
- add release-plz
- update roadmap
- format with cargofmt
- *(template)* use single regex for all formats
- Revert "feat(template): add hue, saturation for keywords"
- Revert "build: add test.css and test_replaced.css"
- Revert "fix(template): fix rgba replacement"
- Revert "feat(template): add lightness"
- add test.css and test_replaced.css
- *(core palette)* change "angle" from parameter to variable [#5]
- *(core palette)* add angle to from_hue_and_chroma [#5]
- *(roadmap)* mark feh and nitrogen as done
- *(usage)* add amoled mode
- *(templates)* add a new keyword
- *(configuration)* add a table of all configuration items
- *(configuration)* add feh_options
- add material-color-utilities-rs
- use local material-color-utilities-rs
- Add 'material-color-utilities-rs/' from commit 'e4ebca1b8f264023ebafbcea2de94c0c17397f1e'
- update to 0.8.3
- *(roadmap)* add gtk4 ui
- *(roadmap)* add more features
- *(configuration)* fix the wording
- *(usage)* update help
- *(usage)* add gifs
- add roadmap
- add other projects
- *(showcase)* update text
- *(configuration)* add run_after
- update showcase
- update color.strip result
- update to 0.6.1
- format with cargofmt
- split read_config into multiple functions
- update flake input
- update link
- add badges
- fix license
- add license
- update to 0.4.0
- add exclude
- add installation
- add more info to package
- update to 0.3.0
- update to 0.2.2
- format with cargofmt
- update stuff
- update to 0.2.0
- update to 0.1.3
- add reload_gtk_theme
- format with cargo fmt
- add sww options to configuration
- add rgba format usage
- fix comment in image result
- update usage
- remove old buttons
- rename structs
- format code
- remove dead code
- change image syntax and result
- change installation
- rename Template::new() to generate()
- add configuration
- organise code into separate functions
- define new dimensions in a cleaner way
- rename _config to config
jperkin pushed a commit that referenced this issue Feb 9, 2024
2.78.1 (stable):

Glib:
* Dispatcher: Allow destroy during emit
  (Kjell Ahlstedt) Issue #116 (PBS)

gmmproc:
* h2def.py: Make return types that are unsigned work.
  Required by gtkmm4, GdkDmabufTextureBuilder
  (Kjell Ahlstedt)

Build:
* Meson build: Don't fail if warning_level=everything
  (Daniel Boles, Kjell Ahlstedt) Merge request gtkmm!87
* MSVC, NMake: Make dep paths configurable
  (Chun-wei Fan)


2.78.0 (stable):

Glib:
* ustring: Add a std::hash<> specialization
  Not included by #include <glibmm.h>.
  Activate with #include <glibmm/ustring_hash.h>.
  (Kjell Ahlstedt) Issue #16 (Murray Cumming), merge request !61


2.77.0 (unstable):

Glib, Gio:
* Use callback functions with C linkage
  (Kjell Ahlstedt) Issue #1 (Murray Cumming)

Glib:
* Add create_variant()
  (Kjell Ahlstedt) Issue #109 (ilya-fedin)
* Add VariantBase::get_dynamic()
  (Kjell Ahlstedt) Issue #110 (ilya-fedin)
* Variant: Provide Variant<long long> whenever possible
  (Kjell Ahlstedt) Issue #111 (ilya-fedin)
* VariantContainerBase: Add a const version of get_child()
  and deprecate the non-const version
  (Kjell Ahlstedt) Issue #112 (ilya-fedin)
* Add DBusHandle and Variant<DBusHandle>
  (Kjell Ahlstedt) Issue #113 (ilya-fedin)
* ustring: Add truncate_middle()
  (Kjell Ahlstedt)

Gio:
* Add Subprocess and SubprocessLauncher
  (Kjell Ahlstedt) Issue #106 (ilya-fedin)
* Resolver: Add set/get/property_timeout()
  (Kjell Ahlstedt)

Documentation:
* Gio::File: Fix various spelling errors
  (Daniel Boles)
* Remove AUTHORS and README.SUN; add info to README.md
  (Kjell Ahlstedt) Issue gtkmm#140

gmmproc:
* Generate callback functions with C linkage
  (Kjell Ahlstedt) Issue #1 (Murray Cumming)

Examples:
* Add subprocess example
  (Kjell Ahlstedt) Issue #106 (ilya-fedin)

Tests:
* Giomm tests: Test for /etc/passwd instead of /etc/fstab
  (Jeremy Bicha) Merge request !60

Build:
* Require glib-2.0 >= 2.77.0
* Autotools build: Don't include config.h in ustring.cc
  (Kjell Ahlstedt)


2.76.0 (stable):

Glib:
* Dispatcher: Don't warn when a Dispatcher is deleted while
  messages are pending.
  (Kjell Ahlstedt) Issue #108 (PBS)
* Dispatcher: Add const versions of emit() and operator()()
  and deprecate the non-const versions.
  (Kjell Ahlstedt) Issue #103 (PBS)

Gio:
* ListModel: Add get_typed_object()
  (Kjell Ahlstedt) See issue gtkmm#132


2.75.0 (unstable):

Glib:
* Module: Deprecate build_path()
* Binding: Fix the bind_property() with two transformation functions
* Add the GLIBMM_CHECK_VERSION() preprocessor macro
  (Kjell Ahlstedt)

Gio:
* NetworkMonitor::get_default(): Add refreturn
  (Kjell Ahlstedt) Issue #104 (ilya-fedin)
* AppInfo: Add get_[recommended|fallback]_for_type()
  (Kjell Ahlstedt) Issue #105 (ilya-fedin)
* Add BytesIcon
  (Kjell Ahlstedt) Issue #107 (ilya-fedin)
* ListStore: Rename a local variable
  (Chun-wei Fan) Merge request !59
* Settings: Add bind() with mapping functions and unbind()
  (Kjell Ahlstedt)

Documentation:
* Glib::Binding::unbind(): Fix documentation
  (Kjell Ahlstedt)

gmmproc:
* generate_wrap_init.pl.in: Disable warning C4273 on Visual Studio
  (Chun-wei Fan) Merge request !57

Tests:
* Fix giomm_simple test on Windows
  (Chun-wei Fan) Merge request !58

Meson build:
* Detect if we build from a git subtree
  (William Roy) Merge request gtkmm!72
  (Kjell Ahlstedt) Issue gtkmm#131 (William Roy)
* Don't copy files with configure_file()
  (Kjell Ahlstedt)


2.74.0 (stable):

Gio:
* ListStore: Add find()
* File: Add create_tmp()
  (Kjell Ahlstedt)

Documentation:
* File: Document create_for_parse_name()
  (Kjell Ahlstedt)


2.73.2 (unstable):

Glib:
* ustring: Add release()
  (Kjell Ahlstedt) Issue #101 (PBS)

Gio:
* ListStore: Don't derive a gtkmm__GListStore GType
  (Kjell Ahlstedt) Issue glib#2661
* DBus::Proxy: get_connection(), get_interface_info(): Add refreturn
  (Kjell Ahlstedt) Issue #102 (우정모)
* AppInfo: Add get_default_for_type_async/finish(),
  get_default_for_uri_scheme_async/finish()
* File: Add make_symbolic_link_async/finish()
* ListStore: Add property_n_items()
* Resolver: Add lookup_by_name_with_flags(),
  lookup_by_name_with_flags_async/finish()
  (Kjell Ahlstedt)

Documentation:
* Glib::RefPtr: Improve the documentation
  (Kjell Ahlstedt) Issue gtkmm#119 (David Marceau)
* Gio::Action: Improve the documentation
  (Kjell Ahlstedt) Issue #100 (Diederik van Lierop)

gmmproc:
* Improved handling of final types
  (Kjell Ahlstedt) Issue glib#2661
* Improve handling of gi-docgen syntax in C documentation
  (Kjell Ahlstedt)

Build:
* Meson build: Avoid unnecessary configuration warnings
  (Kjell Ahlstedt)
* Meson/MSVC: Add more warnings to ignore
  (Chun-wei Fan)
* NMake Makefiles: Ensure g[lib|io]mm[config.h|.rc] are created
  (Chun-wei Fan) Issue #99 (Martin Ammermüller)
* Require glib-2.0 >= 2.73.2
  (Kjell Ahlstedt)


2.72.1 (stable):

Glib:
* ustring_Iterator: Don't declare copy constructor =default.
  A fix in the 2.72.0 release broke ABI.
  (Kjell Ahlstedt) Issue #98 (Scotty Trees)


2.72.0 (stable):

Glib:
* MainContext: Add create(MainContextFlags flags)
  (Kjell Ahlstedt)

Gio:
* Add AppInfoMonitor
  (Kjell Ahlstedt, technic93) Issue #97
* DBus::Proxy: signal_signal() accepts a signal name
* File: Add move_async() and move_finish()
* SocketClient: Deprecate set/get/property_tls_validation_flags()
* TlsCertificate: Add properties private_key, private_key_pem,
pkcs11_uri, private_key_pkcs11_uri. Fix the create*() methods.
* TlsClientConnection.hg: Deprecate set/get/property_validation_flags()
  (Kjell Ahlstedt)

gmmproc:
* Add "ignore_deprecations" argument in _WRAP_METHOD()
  (Kjell Ahlstedt)

Build:
* Require glib-2.0 >= 2.71.2
  (Kjell Ahlstedt)
* MSVC build: Support VS2022 builds
  (Chun-wei Fan)
* Meson build: Specify 'check' option in run_command()
  Require Meson >= 0.55.0
  (Kjell Ahlstedt)


2.70.0 (stable):

Glib:
* Timer: Add resume() and is_active()
  (Kjell Ahlstedt) Issue #87 (chamignoom)
* Add the Environ class
  (Kjell Ahlstedt) Issue #89 (Alexander Shaduri)
* Binding: Add dup_source(), dup_target().
    Deprecate get_source(), get_target().
  TimeZone: Add operator bool(), create_identifier(). Deprecate create().
  (Kjell Ahlstedt)

Gio:
* FileInfo: Add get/set_access_date(), get/set_creation_date().
  Notification: Add set_category().
  TlsCertificate: Add property/get_not_valid_before(),
    property/get_not_valid_after(), property/get_subject_name(),
    property/get_issuer_name().
  TlsConnection: Add property/get_protocol_version(),
    property/get_ciphersuite_name().
  (Kjell Ahlstedt)

Tests:
* Add test of Glib::Environ
  (Kjell Ahlstedt) Issue #89 (Alexander Shaduri)

gmmproc:
* Handle gi-docgen syntax in C documentation
  (Kjell Ahlstedt)

Build:
* Require glib-2.0 >= 2.69.1
  (Kjell Ahlstedt)


2.68.2 (stable):

Glib:
* Replace all g_quark_from_static_string() by g_quark_from_string()
  (Kjell Ahlstedt) Issue #96 (小太)

Gio:
* FileEnumerator: Remove refreturn to avoid memory leak
  (talisein) Merge request !53
* ListModel::get_object(): Make it work for interface classes
  (Kjell Ahlstedt) Issue #93 (pumkinpal)
* AppInfo::get_all(): Avoid a crash on Windows
  (Kjell Ahlstedt) Issue #94 (Lawrence37)

Build:
* MSVC build: Remove extraneous GLIBMM_API in Glib::ustring
  (Kjell Ahlstedt) Issue #92 (Christoph Reiter)
jperkin pushed a commit that referenced this issue Feb 14, 2024
3.8
 -- now requires a LaTeX format from 2021/06/01 or newer.

    The class will halt compilation (in all interaction modes) if the
    format is too old.

 -- \titleref is now an alias for \nameref (autoloaded).
    The class have been adjusted to provide info for sectionals and
    normal captions.

    The titleref package will remain marked as being emulated
    as it shouldn't be used with the class (and haven't been updated in
    20+ years).

 -- nameref paches in the class are no longer needed

 -- label handling for subcaptions and friends have been reimplemented.

 -- no longer re-defines \label as per request of the LaTeX Team.

 -- booktabs is now loaded as a required package instead of being
    embedded

 -- Fixed typo in the caption of figure 2.13. Thanks to Vladimir
    G. Ivanović for the report.

 -- removed etex loading (was only loaded for kernels from before
    2015). The noetex class option removed as well.

 -- reimplemented \pagenumbering(*) as a single macro

 -- additions to \@Xfloat is now done via a cmd/after hook if the
    format version supports it.

 -- Definition of \theHpoem changed to \providecommand

 -- The \theH<counter> macros defined in memoir was modified to use
    \the\value{counter} instead of just \arabic{counter} as some
    packages change \arabic.

 -- \toclevel at part was actually never fixed in v3.7.19, now it is

 -- added \@currentcounter in various places that manually
    set \@CurrentLabel (primarily footnote constructions).
    Reported by Gustavo Barros.

 -- replaced hardcoded \footnotesize in \verbfootnote by \foottextfont

 -- made a small change to footnote formatting. Now one can use
    \raggedright in \footnotetext to get raggedright footnotes. Use
    with care as \raggedright does change various paragraph settings

 -- replaced etoolbox loading by xpatch (which loads etoolbox) as it
    can patch more.

 -- Added a Hook named memoir/subcaption/aftercounter which is executed
    after \refstepcounter in \subcaption, \subbottom, \subtop
    etc. Requested by Gustavo Barros.

 -- Redefinition of \@setSize removed, was copied from setspace.sty
    which states that it was only needed for some 209 packages.

3.8a
-- forgot to enable the announced stop if the LaTeX format is to old.
-- updated the bibliography to more recent years.

3.8.1
 The new additions to \@Xfloat via AddToHook are too fragile
 (thefloat package changes \@Xfloat in an incompatible way).
 We've moved the additions to the \@floatboxreset.

3.8.2
-- In v3.8 I forgot to add some internal testing code related to
   \@startsection. The code experiment has now been added, but is not
   enabled by default.

-- Axel Sommerfeldt suggested a useful macro abstraction for
   sidecaption and sidecontcaption that simplifies his adjustments
   whenever the caption package is loaded.

-- Fixed a small (but important) typo in my maintainers note (Peter started
   memoir in 2001, not 2021)

-- The Nov-2023 kernel update gave issued with our version of \verb.
   Now fixed by un-embedding the verbatim package. Issue first
   reported by Andrew Swann.

-- Fixed a typo in \m at make@footnotetext where ##1 got interpreted as a
   macro name, not contents. Reported by Richard Zach.

-- Replaced the embedded copy of the shortvrb package by loading the
   package instead.

-- Replaced the embedded and modified copy of the verbatim package by
   just loading the package.
jperkin pushed a commit that referenced this issue Feb 16, 2024
4.18.2 (2024-02-05)
======
- Update copyright year
- garcon-gtk: Remove weak ref on GarconMenu on finalize()
- Use target desktop files instead of symlinks (Fixes #1)
- garcon-gtk: Avoid populating a wrong menu
- garcon-gtk: Prevent use-after-free when loading garcon menu
- Add icon at 64px, clean up SVG metadata
- Translation Updates:
  Catalan, Czech, Danish, French, German, Italian, Kabyle, Portuguese
  (Brazil)
jperkin pushed a commit that referenced this issue Feb 23, 2024
Overview of Changes from GIMP 2.99.16 to GIMP 2.99.18
=====================================================

Core:

  - New snapping options:
    * "Snap to Bounding Boxes": allows on-canvas snapping to either layer
      borders or center.
    * "Snap to Equidistance": allows to snap a layer to be at the same distance
      from a second one that this second one is to a third one, either
      horizontally or vertically.
  - GIMP is now able to use fonts with custom styles, which Pango is unable to
    work with.
  - Font names are not unique anymore, which means that GIMP doesn't rename
    identically named fonts with #1 or #2, etc. as it used to do. These fonts
    with same name are now properly working despite the name clash.
  - GimpData now have a concept of collection, which is either a controlled name
    for internal data, or a string constructed from the local file path for
    external data. This will be used to serialize data objects hence easily
    retrieve the proper data even when some data may have duplicate names.
  - New palette import support: SwatchBooker.
  - Artificially set PANGOCAIRO_BACKEND=fc when running on Windows to use the
    fontconfig backend, which enables anti-aliasing on Windows, unlike the
    default pangocairo backend.
  - XCF:
    * Font information are more accurately stored (not only the font name, but
      also storing various other attributes and even a file hash in the ideal
      case where the exact same font file is available), allowing to find the
      right font (if installed) on load with less errors.
    * As a consequence of the previous point, new files with text layers will be
      saved as a bumped XCF 19 version.
    * Older XCF versions with text layers can still be saved using older XCF
      versions as long as the text layers are untouched in an edit session.
  - "view-zoom-*" actions are not radio actions anymore.
  - Improve thumbnail loading algorithm:
    1. If there is a GimpThumbnailProcedure, it is run first.
    2. Otherwise we check if a thumbnail is in the metadata.
    3. As last resort, we just load the full image.
  - Generic inter-process transient window reimplemented using opaque GBytes
    window identifiers instead of guint32. The goal is to have windows created
    by plug-ins be transient to the calling core image window, but also the
    other way around: some core dialogs are generated through PDB calls (in
    particular resource and drawable chooser dialogs created by gimp_*_popup()
    functions) and should be transient to plug-in dialogs.
    This works on X11 and Wayland (the Wayland implementation is new, previous
    code was X11-only). It should work on Windows too (code exists) but this was
    left disabled as it leads to core process hanging (as described in
    https://bugzilla.gnome.org/show_bug.cgi?id=359538) and is pending debugging.
    There is no macOS implementation yet, and it seems to be missing from GDK as
    well.
  - Indexed images' colormap:
    * Now possible to delete colors if unused.
  - Updates for floating data's actions:
    * New actions "edit-paste-float" and "edit-paste-float-in-place" for pasting
      the contents of the clipboard as floating data with default positioning
      algorithm or in-place respectively;
    * renames "select-float" to "select-cut-float" which does a cut and paste as
      float in one action;
    * adds "select-copy-float" which does a copy and paste as float in one
      action;
    * reorganize a bit the `Edit > Paste as` submenu with sections for the
      floating data variants;
    * add a "Float" submenu in "Select" root menu, containing the 2 variant
      actions "select-cut-float" and "select-copy-float".
  - GEGL operation filters are now non-destructive by default: running these
    filters create layer effects. The UI is still basic and will be improved
    through iterations after GIMP 3 release.
  - FG/BG color action code (e.g. "Increase the red channel") are made
    contextual, relatively to the active image, working relatively to the
    correct color space and TRC.
  - Device Status dockable shows context-sensitive colors (the color profile's
    name is displayed as tooltip when hovering a fg/bg color status).
  - Palettes are now GeglColor-based and are stored with a lot more precision.
    Older low-precision palettes are still loaded fine. A single palette can
    contain mixed formats (different models and space). A concept of format
    restriction was added, yet is currently only used for indexed images'
    palettes (whose colors are always and only in the image's format).
  - Color History is now space-invaded (colors are stored in their original
    format and space).
  - Various color selectors (core or modules) are now space-invaded when
    relevant. For instance, they show colors in the active image space (not just
    sRGB) and display the profile's name when relevant. Also when simulation is
    active, some of the color selectors will update their out-of-gamut zone, not
    only to be within the image's gamut, but also the soft-proof gamut.

Graphical User Interface:

  - "Merge menu and title bar" option is not shown on macOS as it is not usable
    there (the main menu is anyway out of the window from the start).
  - Top menu has been special-cased for macOS (some items are removed with
    "hidden-when" attribute set to "macos-menubar" value) for items which are
    also available in the application menu.
  - Menu section can now be named with the "section-name" attribute in
    GtkBuilder ".ui" files. This can be used as a replacement of the former
    "Placeholder" concept which we used to have (and has now been completely
    removed).
    Plug-ins or GEGL operations which want to make use of sections can use the
    "[Section]" syntax. For instance installing a plug-in in the menu path
    "<Image>/File/[Open]" will install the menu item at the end of the Open
    section (i.e. after the various other open-file actions at the top of the
    File menu).
  - Some string or naming consistencies were fixed in source strings.
  - GimpContainerEntry don't have inline completion anymore. Instead the result
    pop-up always appear, even for one result. This is because a limitation of
    GtkEntryCompletion: we cannot remove the case sensitivity search (see
    gtk#275) which was very bad usage experience because when we reached a
    single result, suddenly nothing happened anymore (no popup, no completion)
    if case was different on any letter. It's just better to always have popup
    with case insensitivity.
    This widget is used for instance for on-canvas font selection.
  - Some icons were modified with an added light border to make them better
    visible on dark themes: gimp-tool-text icons in Color and Legacy icon themes
    and gimp-tool-dodge in Color theme.
  - Help menu rearranged to be better organized and also to move "About GIMP" as
    the last item, which is its more conventional position.
  - Many fixes to the default themes (including several cases of CSS rules
    leaking from system themes).
  - New settings in Preferences to set the interface base font size (this won't
    work as well, or at all, for themes which would set absolute font sizes).
  - "gimp-wilber-eek" icon is now reused as generic "image-missing" icon too.
  - In dockables' grid view, the hovered icon is now highlighted with a
    contrasted border.
  - GimpPdbDialog (e.g. resource chooser dialogs) are now set to system defaults
    for whether or not they use a header bar.
  - Shift+Number-row default shortcuts are now transformed into the actual key
    in the currently used layout (reciprocally, if numbers are direct access
    key, their counterpart shortcuts are similarly updated).
  - Colormap dockable:
    * New "Delete" button available and sensitive only when selecting an unused
      color in the palette.
  - Windows: title bar will be switched to light or dark mode based on the
    current theme.
  - The quit dialog now adjusts its size relatively to monitor height.
  - The heuristic to set a cursor when single or multi-selecting items in a tree
    view got reviewed in order to avoid unnecessary scroll. As a general rule,
    the cursor is always set to one of the selected elements, ideally the last
    clicked element unless it is not selected (e.g. removed with Ctrl-click),
    then a closest selected element is chosen to avoid unnecessarily scroll of
    the item list.
  - Pad buttons can now be configured in the "Input Devices" configuration dialog
    to run any actions directly (without mapping shortcut key combinations as
    intermediate). This only works on Wayland for the time being (yet may work on
    more platforms in the future, depending on GTK evolution).
  - Themes can now be proposed with up to 3 variants: dark, light and middle
    gray, through gimp-dark.css, gimp-light.css and gimp-gray.css CSS files
    respectively.
  - As a consequence of the previous point, our Default and Gray themes are
    merged as one with 3 possible variants.
  - Our Color and Symbolic icon themes are merged as a single icon theme named
    "Default".
  - The "prefer-symbolic-icons" property which can be set in Preferences is only
    used when the selected icon theme has both Color and Symbolic styles.
    Otherwise the chosen icon theme style prevails. The presence of a style is
    determined by the presence of the "gimp-wilber" icon (which becomes
    therefore a de-facto mandatory icon in an icon theme) and/or its symbolic
    variant.
  - When "Override icon sizes" is checked, a few padding values are also
    overridden by code in the loaded CSS.
  - As a consequence of the previous point, we removed the "Compact" theme which
    is now simply possible by overriding sizes to "Small" in Preferences (when
    the theme is "Default", it will display the same as the former "Compact"
    theme, though it will also work with any other theme).
  - "Darker" theme is removed for lack of contributors actually caring for it.
    It could be revived in the future as a "Contrast" theme with both a dark and
    light variants at the very least.
  - The search function in Layers dockable was moved over the Layers list (with
    headers), the "link" icon replaced by "search" icon, and is now available
    for both Layers, Channels and Vectors dockables (though unsaved for Vectors
    because of lack in XCF support).
  - The Welcome dialog was improved and its cases extended:
    * A new "Personalize" tab contains duplicate settings taken from the
      Preferences, in particular the more controversial settings, such as theme
      or icon themes, HiPPI support (icon/font sizing), merged menu and title
      bar, tool groups or update check.
    * A new "Contribute" tab displays a few of the main links for people to
      contribute to GIMP.
    * A new "Create" tab proposes buttons to create new images or open existing
      ones, as well as displaying a list of the last 8 opened images for easy
      re-opening.
    * A new checkbox (checked by default) allows the welcome dialog to be shown
      at each and every startup. Except on new installations or version updates,
      the first shown tab will be the new "Create" tab, which is probably the
      most useful for day-to-day first dialog shown at startup (on updates, the
      "Welcome" tab featuring the new splash screen and a small welcome text is
      shown).

Tools:

  - Text tool:
    * improve markup creation logic when replacing selected text in
      order not to create useless styling markup interfering with other
      features.
    * Alignment for RTL languages is now more consistent with how it works in
      other software (such as LibreOffice or Scribus).
    * Text layers can now be rendered in the full image's gamut (not sRGB only
      anymore), though colors are trimmed to the gamut and are always 8-bit.
    * Text outline colors are now rendered in float in the full image's gamut,
      without precision loss.
  - Paint tools: all painting tools now have an "Expand Layers" option
    allowing to auto-expand layers when painting across layer
    boundaries. A few additional sub-options customize how this
    expansion happens (by how many pixels, filling with transparency,
    color, pattern).
    Expansion does not grow over canvas boundaries, unless "Show All" is
    checked too.
  - Color Picker:
    * Picked color is internally kept as a GeglColor, doing only last-minute
      conversion to the output model/space, hence with better precision.
    * RGB, Grayscale and Pixel modes display the profile name of the output
      color space (the active image's color space if relevant).
  - The Gradient tool now uses GeglColor internally, though GIMP's gradient
    format (GGR) still uses old RGB format.

Plug-ins:

  - Farbfeld: new image format import/export support.
  - OpenEXR:
    * Files with single channels are always treated as grayscale, even when
      they use non-conventional channel names. A notice message is also
      presented to the user in a dialog for information.
  - Metadata Editor:
    * Various code cleanups and improvements;
    * GUI improvements;
    * Xmp.plus.ImageSupplierName can now only have one value;
    * Improved Creation date handling;
    * Synchronization (both for reading and writing) added between some Exif,
      Xmp and Iptc equivalent tags. On reading, when equivalent tags have
      different values at load, a terminal warning is now outputted.
  - Script-fu:
    * Generated dialog's titles are not prefixed with "Script-Fu: " anymore.
    * Several scripts were removed and moved to gimp-data-extras: erase-rows,
      grid-system, select-to-brush, select-to-image, select-to-pattern.
    * script-fu-copy-visible was removed (and not moved to gimp-data-extras).
    * New test scripts.
  - New gimp-help-main script to link to the "Table of Contents" of the manual,
    added to the "Help > User Manual" submenu.
  - PSP:
    * added support to load PSP ICC Profile data.
    * fixed vulnerabilities: ZDI-CAN-22096, ZDI-CAN-22097.
    * load active selection from PSP file.
    * Load guides and grid info.
  - Image Map: two new fields to the HTML Link tab and one new field to the
    Javascript tab for area properties:
    * accesskey: The same as the mnemonic key shortcuts in GTK, to activate an
      area of the image map. Depending on the OS, you either hold ALT or
      ALT+SHIFT and this key.
    * tabindex: What order to select the area when the user presses Tab.
    * onClick: Run a Javascript function when the user clicks on the area.
  - Esm Software PIX: new import support.
  - All plug-ins were ported to the new Gimp*Procedure API using
    GimpProcedureConfig instead of GimpValueArray arguments.
  - Add Border (script-fu): add a 'Allow resizing' toggle.
  - Plug-ins ported to GimpProcedureDialog: van-gogh-lic, dds-write, flame,
    histogram-export, lighting, fractal-explorer, map-object, sample-colorize,
    compose, curve-bend, depth-merge, selection-to-path, pagecurl, file-cel,
    file-svg, file-wmf, smooth-palette, small-tile, film, gradient-flare, tile,
    web-page, screenshot.
  - JPEG-XL:
    * Load metadata via libjxl exclusively.
    * Disable GIMP EXIF orientation support, using orientation stored in
      codestream instead.
  - HEIF:
    * Load metadata via libheif exclusively.
    * Disable GIMP EXIF orientation support.
  - PDF:
    * "Layers as Pages" works now for a single layer group with multiple
      sub-layers.
  - DDS:
    * Add support for loading DDS 16- and 32-bit per channel RGBA. Loading is
      supported for 16-bit half float, 32-bit float, 16 and 32-bit unsigned and
      signed int.
      This supports both the DX10 formats and the D3D FOURCC versions.
      16- and 32-bit per channel images with less than 4 channels are not yet
      supported.
    * Add DDS support for loading R8G8, R16 and R16G16 formats.
      GIMP can load DXGI variants as well as the older D3DF versions, including
      handling of the signed versions.
      We also set signed when the pixelformat flag DDPF_BUMPDUDV is set.
    * New option to vertically flip dds image on import. This is needed by some
      game engines.
    * All mipmap generation is done at 32-bit floating-point precision.
    * A new cubic filter has also been added (Catmull-Rom) which
      rounds-out the existing lineup of cubic filters.
    * Better handling of DX10+ files in ddsread.
    * Always interpret BC1 cutout pixels as black pixels with 0 alpha,
      per the official format specification.
    * Import code was rewritten and improved for maintainability and
      readability. Importer now supports nearly all non-video
      uncompressed formats.
  - GIF:
    * Remember when a file was stored as a GIF animation to be reused when
      overwriting.
   - PNG:
    * Import/export safe-to-copy PNG chunks.
   - HEJ2: new import support. HEJ2 is JPEG 2000 image coded images in HEIF
     containers.
   - PSD: better wording of the export warning for the path of less surprise.
   - Python Console uses theme colors for font colors instead of hardcoded
     colors which don't work well on darker themes.

Data:

  - Clarified our capitalization rule for data titles: part of titles
    inside parentheses also follow title casing.
  - "(Hardedge)" generated gradients got renamed "(Hard Edge)".
jperkin pushed a commit that referenced this issue Feb 29, 2024
jperkin pushed a commit that referenced this issue Mar 4, 2024
This release fixes a failure to build with the upcoming gcc 14.

Alan Coopersmith (5):
      man page: emphasize this program is for querying an X server
      gitlab CI: stop requiring Signed-off-by in commits
      Fix -Wincompatible-pointer-types warning from gcc (issue #1)
      Use reallocarray() if available
      xlsfonts 1.0.8
jperkin pushed a commit that referenced this issue Mar 26, 2024
1.0.12 (2024-03-10)

* Prevent from "PHP Deprecated: file_exists(): Passing null to parameter #1
  ($filename) of type string" [alec]

* PHPDoc improvements [alec]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants