plocate 1.1.24, January 13th, 2026

  - Improve error handling on synchronous reads. Reported by
    Björn Försterling.

  - Remove ConditionACPower=true from the systemd unit file,
    to fix an issue where certain charging patterns prevent
    updatedb from ever running on laptops. Patch by Manfred Schwarb.

  - Add a new option --config-file for changing the path of
    updatedb.conf. Patch by Yehuda Bernáth.


plocate 1.1.23, November 24th, 2024

  - Various improvements, in particular to the systemd unit file.
    Patches by Ondrej Mosnáček, Michal Sekletar, Petasus Ruber
    and Lucas Werkmeister.


plocate 1.1.22, January 12th, 2024

  - Revert the updatedb change in 1.1.21 that did not open
    pruned paths; it broke pruning of paths that were not at the root
    (e.g. /foo/bar, as opposed to /foo). Reported by David Caldwell.


plocate 1.1.21, January 6th, 2024

  - Improve interactions between pruning and bind mount detection
    logic.

  - Pruned paths are now not opened, which can be useful in certain
    cases. Note that this does not (yet) apply to filesystems that
    are pruned due to type and not due to paths; they are still opened
    and then immediately closed again.


plocate 1.1.20, December 31st, 2023

  - Fix updatedb writing incomplete .db files under Termux.
    Patch by Grisha Levit.

  - Make the systemd timer run more consistently during the
    night. Patch by Florian Schmaus.

  - Add an (undocumented) flag --ignore-visibility to plocate,
    giving the equivalent of building the database with
    --require-visibility no. Drops setgid, of course, so you
    will usually need to be root to use it.


plocate 1.1.19, June 9th, 2023

  - Various bugfixes; thanks to Tim Landscheidt, Nick Alcock
    and sudhanshu goswami. In particular, this fixes a crash
    with liburing 2.4.


plocate 1.1.18, January 28th, 2023

  - Support the --require-visibility flag in plocate-build.

  - Various bugfixes.


plocate 1.1.17, November 21st, 2022

  - Return 1 if no matches were found. Patch by Clément Pit-Claudel.

  - Various portability patches, thanks to Maciej Adamczyk,
    Alfred Persson Forsberg, and the Alpine Linux packaging.


plocate 1.1.16, June 4th, 2022

  - Various bugfixes.


plocate 1.1.15, January 31st, 2022

  - Various bugfixes.


plocate 1.1.14, December 27th, 2021

  - Add an option --add-single-prunepath.
    
    This makes it possible to prune a path with spaces in the file name,
    which was previously impossible.

  - Documentation updates.


plocate 1.1.13, November 6th, 2021

  - Various bugfixes.


plocate 1.1.12, October 5th, 2021

  - Implement the -N/--literal option. This matches the GNU coreutils option
    to turn off the automatic quoting of special characters when printing to
    a tty.

  - Various bugfixes, including from Arsen Arsenović.


plocate 1.1.11, September 5th, 2021

  - Fix a crash with --existing if scanning all blocks
    (ie., very short patterns, or --regex), by turning off
    asynchronous stat() in this case. Reported by Michael Arndt.


plocate 1.1.10, August 23rd, 2021

  - Various bugfixes, including from the Void Linux repository
    and from Arsen Arsenović.


plocate 1.1.9, August 18th, 2021

  - Support the -e (--existing) option from mlocate.

  - Make it possible to set systemunitdir explicitly.
    Based on a patch by Zbigniew Jędrzejewski-Szmek.


plocate 1.1.8, June 12th, 2021

  - Various bugfixes.


plocate 1.1.7, April 7th, 2021

  - Correct randomization of updatedb systemd unit start time.
    Patch by Vladimir Lomov.


plocate 1.1.6, April 2nd, 2021

  - Support searching multiple plocate databases, including the LOCATE_PATH
    environment variable. See the plocate(1) man page for more information.

  - Fix an issue where updatedb would not recurse into directories on
    certain filesystems, in particular the deprecated XFS V4.

  - Randomize updatedb systemd unit start time. Suggested by Calum McConnell.


plocate 1.1.5, February 24th, 2021

  - Various bugfixes.


plocate 1.1.4, February 14th, 2021

  - updatedb now uses ~15% less CPU time.

  - Installs a file CACHEDIR.tag into /var/lib/plocate, to mark the directory
    as autogenerated. Suggested by Marco d'Itri.

  - Manpage fixes; patch by Jakub Wilk.


plocate 1.1.3, December 19th, 2020

  - Various portability fixes.


plocate 1.1.2, December 10th, 2020

  - Various bugfixes.


plocate 1.1.1, December 5th, 2020

  - Fix an issue where the database could be built with the wrong
    check_visibility flag.


plocate 1.1.0, December 2nd, 2020

  - Include a native updatedb, based on code and man pages from mlocate's
    updatedb (but heavily tweaked and reworked). This removes the dependency
    on mlocate's database, at the expense of 1% larger plocate database.
    plocate-build does not write the needed timestamps, so the first upgrade
    from mlocate to native plocate requires a full rescan. Subsequent rescans
    will be about as fast as updatedb.mlocate + plocate-build. plocate-build
    is now deprecated.

  - The path name now defaults to /var/lib/plocate, and the group name now
    defaults to plocate. Both can be changed at configure time.

  - Databases are now written near-atomically. An aborted updatedb or
    plocate-build will never leave a stray file.

  - Escape filenames with backticks in them.


plocate 1.0.7, October 31st, 2020

  - Fix an infinite loop when encountering invalid UTF-8 in file names.
    Bug report and patch by Leah Neukirchen.

  - Typo fixes in man pages; patch by Leah Neukirchen.

  - Portability fixes.


plocate 1.0.6, October 30th, 2020

  - Escape unprintable characters, quotes, newlines and the likes
    when outputting file names to a terminal, similar to GNU ls.
    This is to reduce the security impact of malicious filenames
    (e.g. containing color or more nefarious escape codes).
    It is not active when using -0, or when piping to another program.

  - Support building databases from plaintext files (plocate-build -p).

  - Portability fixes.


plocate 1.0.5, October 17th, 2020

  - Implement the -b/--basename option.

  - Various bugfixes.


plocate 1.0.4, October 16th, 2020

  - Fix a bug where plocate.db would be evicted from the OS cache
    (the behavior was only meant for benchmarking).

  - On fallback linear scans, such as regexes or very short patterns,
    use multithreading to speed up the search.


plocate 1.0.3, October 15th, 2020

  - Portability fixes; plocate will now compile and run on non-x86
    architectures (although without SIMD optimizations). Note that
    plocate.db is not portable across endians, but this shouldn't
    be a big problem in practice.

  - Filenames are now compressed using a shared zstd dictionary,
    which makes plocate.db ~7% smaller, and linear scans ~20% faster.
    This makes plocate-build ~20% slower, though, since it needs to
    scan through mlocate.db in a special pre-pass to sample filenames
    for the dictionary.

    This changes the dictionary format (from version 0 to version 1),
    but the new plocate can still read version 0 dictionaries,
    so the transition should be seamless.

  - Various bugfixes.


plocate 1.0.2, October 12th, 2020

  - Various bugfixes.


plocate 1.0.1, October 11th, 2020

  - Unbreak linear scanning (for very short patterns, or regexes).


plocate 1.0.0, October 11th, 2020

  - Initial release.
