11TBD
22===
3- Unreleased changes. Release notes have not yet been written.
3+ ripgrep 13 is a new major version release of ripgrep that primarily contains
4+ bug fixes. There is also a fix for a security vulnerability on Windows
5+ ([ CVE-2021 -3013] ( https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3013 ) ),
6+ some performance improvements and some minor breaking changes.
7+
8+ A new short flag, ` -. ` , has been added. It is an alias for the ` --hidden ` flag,
9+ which instructs ripgrep to search hidden files and directories.
10+
11+ ripgrep is now using a new
12+ [ vectorized implementation of ` memmem ` ] ( https://github.com/BurntSushi/memchr/pull/82 ) ,
13+ which accelerates many common searches. If you notice any performance
14+ regressions (or major improvements), I'd love to hear about them through an
15+ issue report!
16+
17+ Also, for Windows users targeting MSVC, Cargo will now build fully static
18+ executables of ripgrep. The release binaries for ripgrep 13 have been compiled
19+ using this configuration.
20+
21+ ** BREAKING CHANGES** :
22+
23+ ** Binary detection output has changed slightly.**
424
525In this release, a small tweak has been made to the output format when a binary
626file is detected. Previously, it looked like this:
@@ -15,12 +35,100 @@ Now it looks like this:
1535FOO: binary file matches (found "\0" byte around offset XXX)
1636```
1737
38+ ** vimgrep output in multi-line now only prints the first line for each match.**
39+
40+ See [ issue 1866] ( https://github.com/BurntSushi/ripgrep/issues/1866 ) for more
41+ discussion on this. Previously, every line in a match was duplicated, even
42+ when it spanned multiple lines. There are no changes to vimgrep output when
43+ multi-line mode is disabled.
44+
45+ ** In multi-line mode, --count is now equivalent to --count-matches.**
46+
47+ This appears to match how ` pcre2grep ` implements ` --count ` . Previously, ripgrep
48+ would produce outright incorrect counts. Another alternative would be to simply
49+ count the number of lines---even if it's more than the number of matches---but
50+ that seems highly unintuitive.
51+
52+ ** FULL LIST OF FIXES AND IMPROVEMENTS:**
53+
54+ Security fixes:
55+
56+ * [ CVE-2021 -3013] ( https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3013 ) :
57+ Fixes a security hole on Windows where running ripgrep with either the
58+ ` -z/--search-zip ` or ` --pre ` flags can result in running arbitrary
59+ executables from the current directory.
60+ * [ VULN #1773 ] ( https://github.com/BurntSushi/ripgrep/issues/1773 ) :
61+ This is the public facing issue tracking CVE-2021 -3013. ripgrep's README
62+ now contains a section describing how to report a vulnerability.
63+
64+ Performance improvements:
65+
66+ * [ PERF #1657 ] ( https://github.com/BurntSushi/ripgrep/discussions/1657 ) :
67+ Check if a file should be ignored first before issuing stat calls.
68+ * [ PERF memchr #82 ] ( https://github.com/BurntSushi/memchr/pull/82 ) :
69+ ripgrep now uses a new vectorized implementation of ` memmem ` .
70+
71+ Feature enhancements:
72+
73+ * Added or improved file type filtering for ASP, Bazel, dvc, FlatBuffers,
74+ Futhark, minified files, Mint, pofiles (from GNU gettext) Racket, Red, Ruby,
75+ VCL, Yang.
76+ * [ FEATURE #1404 ] ( https://github.com/BurntSushi/ripgrep/pull/1404 ) :
77+ ripgrep now prints a warning if nothing is searched.
78+ * [ FEATURE #1613 ] ( https://github.com/BurntSushi/ripgrep/pull/1613 ) :
79+ Cargo will now produce static executables on Windows when using MSVC.
80+ * [ FEATURE #1680 ] ( https://github.com/BurntSushi/ripgrep/pull/1680 ) :
81+ Add ` -. ` as a short flag alias for ` --hidden ` .
82+ * [ FEATURE #1842 ] ( https://github.com/BurntSushi/ripgrep/issues/1842 ) :
83+ Add ` --field-{context,match}-separator ` for customizing field delimiters.
84+ * [ FEATURE #1856 ] ( https://github.com/BurntSushi/ripgrep/pull/1856 ) :
85+ The README now links to a
86+ [ Spanish translation] ( https://github.com/UltiRequiem/traducciones/tree/master/ripgrep ) .
87+
1888Bug fixes:
1989
2090* [ BUG #1277 ] ( https://github.com/BurntSushi/ripgrep/issues/1277 ) :
2191 Document cygwin path translation behavior in the FAQ.
92+ * [ BUG #1739 ] ( https://github.com/BurntSushi/ripgrep/issues/1739 ) :
93+ Fix bug where replacements were buggy if the regex matched a line terminator.
94+ * [ BUG #1311 ] ( https://github.com/BurntSushi/ripgrep/issues/1311 ) :
95+ Fix multi-line bug where a search & replace for ` \n ` didn't work as expected.
96+ * [ BUG #1401 ] ( https://github.com/BurntSushi/ripgrep/issues/1401 ) :
97+ Fix buggy interaction between PCRE2 look-around and ` -o/--only-matching ` .
98+ * [ BUG #1412 ] ( https://github.com/BurntSushi/ripgrep/issues/1412 ) :
99+ Fix multi-line bug with searches using look-around past matching lines.
100+ * [ BUG #1577 ] ( https://github.com/BurntSushi/ripgrep/issues/1577 ) :
101+ Fish shell completions will continue to be auto-generated.
102+ * [ BUG #1642 ] ( https://github.com/BurntSushi/ripgrep/issues/1642 ) :
103+ Fixes a bug where using ` -m ` and ` -A ` printed more matches than the limit.
104+ * [ BUG #1703 ] ( https://github.com/BurntSushi/ripgrep/issues/1703 ) :
105+ Clarify the function of ` -u/--unrestricted ` .
106+ * [ BUG #1708 ] ( https://github.com/BurntSushi/ripgrep/issues/1708 ) :
107+ Clarify how ` -S/--smart-case ` works.
108+ * [ BUG #1730 ] ( https://github.com/BurntSushi/ripgrep/issues/1730 ) :
109+ Clarify that CLI invocation must always be valid, regardless of config file.
22110* [ BUG #1741 ] ( https://github.com/BurntSushi/ripgrep/issues/1741 ) :
23111 Fix stdin detection when using PowerShell in UNIX environments.
112+ * [ BUG #1756 ] ( https://github.com/BurntSushi/ripgrep/pull/1756 ) :
113+ Fix bug where ` foo/** ` would match ` foo ` , but it shouldn't.
114+ * [ BUG #1765 ] ( https://github.com/BurntSushi/ripgrep/issues/1765 ) :
115+ Fix panic when ` --crlf ` is used in some cases.
116+ * [ BUG #1638 ] ( https://github.com/BurntSushi/ripgrep/issues/1638 ) :
117+ Correctly sniff UTF-8 and do transcoding, like we do for UTF-16.
118+ * [ BUG #1816 ] ( https://github.com/BurntSushi/ripgrep/issues/1816 ) :
119+ Add documentation for glob alternate syntax, e.g., ` {a,b,..} ` .
120+ * [ BUG #1847 ] ( https://github.com/BurntSushi/ripgrep/issues/1847 ) :
121+ Clarify how the ` --hidden ` flag works.
122+ * [ BUG #1866 ] ( https://github.com/BurntSushi/ripgrep/issues/1866#issuecomment-841635553 ) :
123+ Fix bug when computing column numbers in ` --vimgrep ` mode.
124+ * [ BUG #1868 ] ( https://github.com/BurntSushi/ripgrep/issues/1868 ) :
125+ Fix bug where ` --passthru ` and ` -A/-B/-C ` did not override each other.
126+ * [ BUG #1869 ] ( https://github.com/BurntSushi/ripgrep/pull/1869 ) :
127+ Clarify docs for ` --files-with-matches ` and ` --files-without-match ` .
128+ * [ BUG #1878 ] ( https://github.com/BurntSushi/ripgrep/issues/1878 ) :
129+ Fix bug where ` \A ` could produce unanchored matches in multiline search.
130+ * [ BUG 94e4b8e3] ( https://github.com/BurntSushi/ripgrep/commit/94e4b8e3 ) :
131+ Fix column numbers with ` --vimgrep ` is used with ` -U/--multiline ` .
24132
25133
2613412.1.1 (2020-05-29)
0 commit comments