PageRenderTime 30ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/CHANGELOG.md

https://github.com/BurntSushi/ripgrep
Markdown | 1334 lines | 1133 code | 201 blank | 0 comment | 0 complexity | 7d6b112ee3196a7438c22c92e72ba838 MD5 | raw file
Possible License(s): MIT, Unlicense

Large files files are truncated, but you can click here to view the full file

  1. TBD
  2. ===
  3. Unreleased changes. Release notes have not yet been written.
  4. Bug fixes:
  5. * [BUG #1581](https://github.com/BurntSushi/ripgrep/issues/1581):
  6. Corrects some egregious markup output in `--help`.
  7. 12.1.0 (2020-05-09)
  8. ===================
  9. ripgrep 12.1.0 is a small minor version release that mostly includes bug fixes
  10. and documentation improvements. This release also contains some important
  11. notices for downstream packagers.
  12. **Notices for downstream ripgrep package maintainers:**
  13. * Fish shell completions will be removed in the ripgrep 13 release.
  14. See [#1577](https://github.com/BurntSushi/ripgrep/issues/1577)
  15. for more details.
  16. * ripgrep has switched from `a2x` to `asciidoctor` to generate the man page.
  17. If `asciidoctor` is not present, then ripgrep will currently fall back to
  18. `a2x`. Support for `a2x` will be dropped in the ripgrep 13 release.
  19. See [#1544](https://github.com/BurntSushi/ripgrep/issues/1544)
  20. for more details.
  21. Feature enhancements:
  22. * [FEATURE #1547](https://github.com/BurntSushi/ripgrep/pull/1547):
  23. Support decompressing `.Z` files via `uncompress`.
  24. Bug fixes:
  25. * [BUG #1252](https://github.com/BurntSushi/ripgrep/issues/1252):
  26. Add a section on the `--pre` flag to the GUIDE.
  27. * [BUG #1339](https://github.com/BurntSushi/ripgrep/issues/1339):
  28. Improve error message when a pattern with invalid UTF-8 is provided.
  29. * [BUG #1524](https://github.com/BurntSushi/ripgrep/issues/1524):
  30. Note how to escape a `$` when using `--replace`.
  31. * [BUG #1537](https://github.com/BurntSushi/ripgrep/issues/1537):
  32. Fix match bug caused by inner literal optimization.
  33. * [BUG #1544](https://github.com/BurntSushi/ripgrep/issues/1544):
  34. ripgrep now uses `asciidoctor` instead of `a2x` to generate its man page.
  35. * [BUG #1550](https://github.com/BurntSushi/ripgrep/issues/1550):
  36. Substantially reduce peak memory usage when searching wide directories.
  37. * [BUG #1571](https://github.com/BurntSushi/ripgrep/issues/1571):
  38. Add note about configuration files in `--type-{add,clear}` docs.
  39. * [BUG #1573](https://github.com/BurntSushi/ripgrep/issues/1573):
  40. Fix incorrect `--count-matches` output when using look-around.
  41. 12.0.1 (2020-03-29)
  42. ===================
  43. ripgrep 12.0.1 is a small patch release that includes a minor bug fix relating
  44. to superfluous error messages when searching git repositories with sub-modules.
  45. This was a regression introduced in the 12.0.0 release.
  46. Bug fixes:
  47. * [BUG #1520](https://github.com/BurntSushi/ripgrep/issues/1520):
  48. Don't emit spurious error messages in git repositories with submodules.
  49. 12.0.0 (2020-03-15)
  50. ===================
  51. ripgrep 12 is a new major version release of ripgrep that contains many bug
  52. fixes, several important performance improvements and a few minor new features.
  53. In a near future release, I am hoping to add an
  54. [indexing feature](https://github.com/BurntSushi/ripgrep/issues/1497)
  55. to ripgrep, which will dramatically speed up searching by building an index.
  56. Feedback would very much be appreciated, especially on the user experience
  57. which will be difficult to get right.
  58. This release has no known breaking changes.
  59. Deprecations:
  60. * The `--no-pcre2-unicode` flag is deprecated. Instead, use the `--no-unicode`
  61. flag, which applies to both the default regex engine and PCRE2. For now,
  62. `--no-pcre2-unicode` and `--pcre2-unicode` are aliases to `--no-unicode`
  63. and `--unicode`, respectively. The `--[no-]pcre2-unicode` flags may be
  64. removed in a future release.
  65. * The `--auto-hybrid-regex` flag is deprecated. Instead, use the new `--engine`
  66. flag with the `auto` value.
  67. Performance improvements:
  68. * [PERF #1087](https://github.com/BurntSushi/ripgrep/pull/1087):
  69. ripgrep is smarter when detected literals are whitespace.
  70. * [PERF #1381](https://github.com/BurntSushi/ripgrep/pull/1381):
  71. Directory traversal is sped up with speculative ignore-file existence checks.
  72. * [PERF cd8ec38a](https://github.com/BurntSushi/ripgrep/commit/cd8ec38a):
  73. Improve inner literal detection to cover more cases more effectively.
  74. e.g., ` +Sherlock Holmes +` now has ` Sherlock Holmes ` extracted instead
  75. of ` `.
  76. * [PERF 6a0e0147](https://github.com/BurntSushi/ripgrep/commit/6a0e0147):
  77. Improve literal detection when the `-w/--word-regexp` flag is used.
  78. * [PERF ad97e9c9](https://github.com/BurntSushi/ripgrep/commit/ad97e9c9):
  79. Improve overall performance of the `-w/--word-regexp` flag.
  80. Feature enhancements:
  81. * Added or improved file type filtering for erb, diff, Gradle, HAML, Org,
  82. Postscript, Skim, Slim, Slime, RPM Spec files, Typoscript, xml.
  83. * [FEATURE #1370](https://github.com/BurntSushi/ripgrep/pull/1370):
  84. Add `--include-zero` flag that shows files searched without matches.
  85. * [FEATURE #1390](https://github.com/BurntSushi/ripgrep/pull/1390):
  86. Add `--no-context-separator` flag that always hides context separators.
  87. * [FEATURE #1414](https://github.com/BurntSushi/ripgrep/pull/1414):
  88. Add `--no-require-git` flag to allow ripgrep to respect gitignores anywhere.
  89. * [FEATURE #1420](https://github.com/BurntSushi/ripgrep/pull/1420):
  90. Add `--no-ignore-exclude` to disregard rules in `.git/info/exclude` files.
  91. * [FEATURE #1466](https://github.com/BurntSushi/ripgrep/pull/1466):
  92. Add `--no-ignore-files` flag to disable all `--ignore-file` flags.
  93. * [FEATURE #1488](https://github.com/BurntSushi/ripgrep/pull/1488):
  94. Add '--engine' flag for easier switching between regex engines.
  95. * [FEATURE 75cbe88f](https://github.com/BurntSushi/ripgrep/commit/75cbe88f):
  96. Add `--no-unicode` flag. This works on all supported regex engines.
  97. Bug fixes:
  98. * [BUG #1291](https://github.com/BurntSushi/ripgrep/issues/1291):
  99. ripgrep now works in non-existent directories.
  100. * [BUG #1319](https://github.com/BurntSushi/ripgrep/issues/1319):
  101. Fix match bug due to errant literal detection.
  102. * [**BUG #1335**](https://github.com/BurntSushi/ripgrep/issues/1335):
  103. Fixes a performance bug when searching plain text files with very long lines.
  104. This was a serious performance regression in some cases.
  105. * [BUG #1344](https://github.com/BurntSushi/ripgrep/issues/1344):
  106. Document usage of `--type all`.
  107. * [BUG #1389](https://github.com/BurntSushi/ripgrep/issues/1389):
  108. Fixes a bug where ripgrep would panic when searching a symlinked directory.
  109. * [BUG #1439](https://github.com/BurntSushi/ripgrep/issues/1439):
  110. Improve documentation for ripgrep's automatic stdin detection.
  111. * [BUG #1441](https://github.com/BurntSushi/ripgrep/issues/1441):
  112. Remove CPU features from man page.
  113. * [BUG #1442](https://github.com/BurntSushi/ripgrep/issues/1442),
  114. [BUG #1478](https://github.com/BurntSushi/ripgrep/issues/1478):
  115. Improve documentation of the `-g/--glob` flag.
  116. * [BUG #1445](https://github.com/BurntSushi/ripgrep/issues/1445):
  117. ripgrep now respects ignore rules from .git/info/exclude in worktrees.
  118. * [BUG #1485](https://github.com/BurntSushi/ripgrep/issues/1485):
  119. Fish shell completions from the release Debian package are now installed to
  120. `/usr/share/fish/vendor_completions.d/rg.fish`.
  121. 11.0.2 (2019-08-01)
  122. ===================
  123. ripgrep 11.0.2 is a new patch release that fixes a few bugs, including a
  124. performance regression and a matching bug when using the `-F/--fixed-strings`
  125. flag.
  126. Feature enhancements:
  127. * [FEATURE #1293](https://github.com/BurntSushi/ripgrep/issues/1293):
  128. Added `--glob-case-insensitive` flag that makes `--glob` behave as `--iglob`.
  129. Bug fixes:
  130. * [BUG #1246](https://github.com/BurntSushi/ripgrep/issues/1246):
  131. Add translations to README, starting with an unofficial Chinese translation.
  132. * [BUG #1259](https://github.com/BurntSushi/ripgrep/issues/1259):
  133. Fix bug where the last byte of a `-f file` was stripped if it wasn't a `\n`.
  134. * [BUG #1261](https://github.com/BurntSushi/ripgrep/issues/1261):
  135. Document that no error is reported when searching for `\n` with `-P/--pcre2`.
  136. * [BUG #1284](https://github.com/BurntSushi/ripgrep/issues/1284):
  137. Mention `.ignore` and `.rgignore` more prominently in the README.
  138. * [BUG #1292](https://github.com/BurntSushi/ripgrep/issues/1292):
  139. Fix bug where `--with-filename` was sometimes enabled incorrectly.
  140. * [BUG #1268](https://github.com/BurntSushi/ripgrep/issues/1268):
  141. Fix major performance regression in GitHub `x86_64-linux` binary release.
  142. * [BUG #1302](https://github.com/BurntSushi/ripgrep/issues/1302):
  143. Show better error messages when a non-existent preprocessor command is given.
  144. * [BUG #1334](https://github.com/BurntSushi/ripgrep/issues/1334):
  145. Fix match regression with `-F` flag when patterns contain meta characters.
  146. 11.0.1 (2019-04-16)
  147. ===================
  148. ripgrep 11.0.1 is a new patch release that fixes a search regression introduced
  149. in the previous 11.0.0 release. In particular, ripgrep can enter an infinite
  150. loop for some search patterns when searching invalid UTF-8.
  151. Bug fixes:
  152. * [BUG #1247](https://github.com/BurntSushi/ripgrep/issues/1247):
  153. Fix search bug that can cause ripgrep to enter an infinite loop.
  154. 11.0.0 (2019-04-15)
  155. ===================
  156. ripgrep 11 is a new major version release of ripgrep that contains many bug
  157. fixes, some performance improvements and a few feature enhancements. Notably,
  158. ripgrep's user experience for binary file filtering has been improved. See the
  159. [guide's new section on binary data](GUIDE.md#binary-data) for more details.
  160. This release also marks a change in ripgrep's versioning. Where as the previous
  161. version was `0.10.0`, this version is `11.0.0`. Moving forward, ripgrep's
  162. major version will be increased a few times per year. ripgrep will continue to
  163. be conservative with respect to backwards compatibility, but may occasionally
  164. introduce breaking changes, which will always be documented in this CHANGELOG.
  165. See [issue 1172](https://github.com/BurntSushi/ripgrep/issues/1172) for a bit
  166. more detail on why this versioning change was made.
  167. This release increases the **minimum supported Rust version** from 1.28.0 to
  168. 1.34.0.
  169. **BREAKING CHANGES**:
  170. * ripgrep has tweaked its exit status codes to be more like GNU grep's. Namely,
  171. if a non-fatal error occurs during a search, then ripgrep will now always
  172. emit a `2` exit status code, regardless of whether a match is found or not.
  173. Previously, ripgrep would only emit a `2` exit status code for a catastrophic
  174. error (e.g., regex syntax error). One exception to this is if ripgrep is run
  175. with `-q/--quiet`. In that case, if an error occurs and a match is found,
  176. then ripgrep will exit with a `0` exit status code.
  177. * Supplying the `-u/--unrestricted` flag three times is now equivalent to
  178. supplying `--no-ignore --hidden --binary`. Previously, `-uuu` was equivalent
  179. to `--no-ignore --hidden --text`. The difference is that `--binary` disables
  180. binary file filtering without potentially dumping binary data into your
  181. terminal. That is, `rg -uuu foo` should now be equivalent to `grep -r foo`.
  182. * The `avx-accel` feature of ripgrep has been removed since it is no longer
  183. necessary. All uses of AVX in ripgrep are now enabled automatically via
  184. runtime CPU feature detection. The `simd-accel` feature does remain available
  185. (only for enabling SIMD for transcoding), however, it does increase
  186. compilation times substantially at the moment.
  187. Performance improvements:
  188. * [PERF #497](https://github.com/BurntSushi/ripgrep/issues/497),
  189. [PERF #838](https://github.com/BurntSushi/ripgrep/issues/838):
  190. Make `rg -F -f dictionary-of-literals` much faster.
  191. Feature enhancements:
  192. * Added or improved file type filtering for Apache Thrift, ASP, Bazel, Brotli,
  193. BuildStream, bzip2, C, C++, Cython, gzip, Java, Make, Postscript, QML, Tex,
  194. XML, xz, zig and zstd.
  195. * [FEATURE #855](https://github.com/BurntSushi/ripgrep/issues/855):
  196. Add `--binary` flag for disabling binary file filtering.
  197. * [FEATURE #1078](https://github.com/BurntSushi/ripgrep/pull/1078):
  198. Add `--max-columns-preview` flag for showing a preview of long lines.
  199. * [FEATURE #1099](https://github.com/BurntSushi/ripgrep/pull/1099):
  200. Add support for Brotli and Zstd to the `-z/--search-zip` flag.
  201. * [FEATURE #1138](https://github.com/BurntSushi/ripgrep/pull/1138):
  202. Add `--no-ignore-dot` flag for ignoring `.ignore` files.
  203. * [FEATURE #1155](https://github.com/BurntSushi/ripgrep/pull/1155):
  204. Add `--auto-hybrid-regex` flag for automatically falling back to PCRE2.
  205. * [FEATURE #1159](https://github.com/BurntSushi/ripgrep/pull/1159):
  206. ripgrep's exit status logic should now match GNU grep. See updated man page.
  207. * [FEATURE #1164](https://github.com/BurntSushi/ripgrep/pull/1164):
  208. Add `--ignore-file-case-insensitive` for case insensitive ignore globs.
  209. * [FEATURE #1185](https://github.com/BurntSushi/ripgrep/pull/1185):
  210. Add `-I` flag as a short option for the `--no-filename` flag.
  211. * [FEATURE #1207](https://github.com/BurntSushi/ripgrep/pull/1207):
  212. Add `none` value to `-E/--encoding` to forcefully disable all transcoding.
  213. * [FEATURE da9d7204](https://github.com/BurntSushi/ripgrep/commit/da9d7204):
  214. Add `--pcre2-version` for querying showing PCRE2 version information.
  215. Bug fixes:
  216. * [BUG #306](https://github.com/BurntSushi/ripgrep/issues/306),
  217. [BUG #855](https://github.com/BurntSushi/ripgrep/issues/855):
  218. Improve the user experience for ripgrep's binary file filtering.
  219. * [BUG #373](https://github.com/BurntSushi/ripgrep/issues/373),
  220. [BUG #1098](https://github.com/BurntSushi/ripgrep/issues/1098):
  221. `**` is now accepted as valid syntax anywhere in a glob.
  222. * [BUG #916](https://github.com/BurntSushi/ripgrep/issues/916):
  223. ripgrep no longer hangs when searching `/proc` with a zombie process present.
  224. * [BUG #1052](https://github.com/BurntSushi/ripgrep/issues/1052):
  225. Fix bug where ripgrep could panic when transcoding UTF-16 files.
  226. * [BUG #1055](https://github.com/BurntSushi/ripgrep/issues/1055):
  227. Suggest `-U/--multiline` when a pattern contains a `\n`.
  228. * [BUG #1063](https://github.com/BurntSushi/ripgrep/issues/1063):
  229. Always strip a BOM if it's present, even for UTF-8.
  230. * [BUG #1064](https://github.com/BurntSushi/ripgrep/issues/1064):
  231. Fix inner literal detection that could lead to incorrect matches.
  232. * [BUG #1079](https://github.com/BurntSushi/ripgrep/issues/1079):
  233. Fixes a bug where the order of globs could result in missing a match.
  234. * [BUG #1089](https://github.com/BurntSushi/ripgrep/issues/1089):
  235. Fix another bug where ripgrep could panic when transcoding UTF-16 files.
  236. * [BUG #1091](https://github.com/BurntSushi/ripgrep/issues/1091):
  237. Add note about inverted flags to the man page.
  238. * [BUG #1093](https://github.com/BurntSushi/ripgrep/pull/1093):
  239. Fix handling of literal slashes in gitignore patterns.
  240. * [BUG #1095](https://github.com/BurntSushi/ripgrep/issues/1095):
  241. Fix corner cases involving the `--crlf` flag.
  242. * [BUG #1101](https://github.com/BurntSushi/ripgrep/issues/1101):
  243. Fix AsciiDoc escaping for man page output.
  244. * [BUG #1103](https://github.com/BurntSushi/ripgrep/issues/1103):
  245. Clarify what `--encoding auto` does.
  246. * [BUG #1106](https://github.com/BurntSushi/ripgrep/issues/1106):
  247. `--files-with-matches` and `--files-without-match` work with one file.
  248. * [BUG #1121](https://github.com/BurntSushi/ripgrep/issues/1121):
  249. Fix bug that was triggering Windows antimalware when using the `--files`
  250. flag.
  251. * [BUG #1125](https://github.com/BurntSushi/ripgrep/issues/1125),
  252. [BUG #1159](https://github.com/BurntSushi/ripgrep/issues/1159):
  253. ripgrep shouldn't panic for `rg -h | rg` and should emit correct exit status.
  254. * [BUG #1144](https://github.com/BurntSushi/ripgrep/issues/1144):
  255. Fixes a bug where line numbers could be wrong on big-endian machines.
  256. * [BUG #1154](https://github.com/BurntSushi/ripgrep/issues/1154):
  257. Windows files with "hidden" attribute are now treated as hidden.
  258. * [BUG #1173](https://github.com/BurntSushi/ripgrep/issues/1173):
  259. Fix handling of `**` patterns in gitignore files.
  260. * [BUG #1174](https://github.com/BurntSushi/ripgrep/issues/1174):
  261. Fix handling of repeated `**` patterns in gitignore files.
  262. * [BUG #1176](https://github.com/BurntSushi/ripgrep/issues/1176):
  263. Fix bug where `-F`/`-x` weren't applied to patterns given via `-f`.
  264. * [BUG #1189](https://github.com/BurntSushi/ripgrep/issues/1189):
  265. Document cases where ripgrep may use a lot of memory.
  266. * [BUG #1203](https://github.com/BurntSushi/ripgrep/issues/1203):
  267. Fix a matching bug related to the suffix literal optimization.
  268. * [BUG 8f14cb18](https://github.com/BurntSushi/ripgrep/commit/8f14cb18):
  269. Increase the default stack size for PCRE2's JIT.
  270. 0.10.0 (2018-09-07)
  271. ===================
  272. This is a new minor version release of ripgrep that contains some major new
  273. features, a huge number of bug fixes, and is the first release based on
  274. libripgrep. The entirety of ripgrep's core search and printing code has been
  275. rewritten and generalized so that anyone can make use of it.
  276. Major new features include PCRE2 support, multi-line search and a JSON output
  277. format.
  278. **BREAKING CHANGES**:
  279. * The minimum version required to compile Rust has now changed to track the
  280. latest stable version of Rust. Patch releases will continue to compile with
  281. the same version of Rust as the previous patch release, but new minor
  282. versions will use the current stable version of the Rust compile as its
  283. minimum supported version.
  284. * The match semantics of `-w/--word-regexp` have changed slightly. They used
  285. to be `\b(?:<your pattern>)\b`, but now it's
  286. `(?:^|\W)(?:<your pattern>)(?:$|\W)`. This matches the behavior of GNU grep
  287. and is believed to be closer to the intended semantics of the flag. See
  288. [#389](https://github.com/BurntSushi/ripgrep/issues/389) for more details.
  289. Feature enhancements:
  290. * [FEATURE #162](https://github.com/BurntSushi/ripgrep/issues/162):
  291. libripgrep is now a thing. The primary crate is
  292. [`grep`](https://docs.rs/grep).
  293. * [FEATURE #176](https://github.com/BurntSushi/ripgrep/issues/176):
  294. Add `-U/--multiline` flag that permits matching over multiple lines.
  295. * [FEATURE #188](https://github.com/BurntSushi/ripgrep/issues/188):
  296. Add `-P/--pcre2` flag that gives support for look-around and backreferences.
  297. * [FEATURE #244](https://github.com/BurntSushi/ripgrep/issues/244):
  298. Add `--json` flag that prints results in a JSON Lines format.
  299. * [FEATURE #321](https://github.com/BurntSushi/ripgrep/issues/321):
  300. Add `--one-file-system` flag to skip directories on different file systems.
  301. * [FEATURE #404](https://github.com/BurntSushi/ripgrep/issues/404):
  302. Add `--sort` and `--sortr` flag for more sorting. Deprecate `--sort-files`.
  303. * [FEATURE #416](https://github.com/BurntSushi/ripgrep/issues/416):
  304. Add `--crlf` flag to permit `$` to work with carriage returns on Windows.
  305. * [FEATURE #917](https://github.com/BurntSushi/ripgrep/issues/917):
  306. The `--trim` flag strips prefix whitespace from all lines printed.
  307. * [FEATURE #993](https://github.com/BurntSushi/ripgrep/issues/993):
  308. Add `--null-data` flag, which makes ripgrep use NUL as a line terminator.
  309. * [FEATURE #997](https://github.com/BurntSushi/ripgrep/issues/997):
  310. The `--passthru` flag now works with the `--replace` flag.
  311. * [FEATURE #1038-1](https://github.com/BurntSushi/ripgrep/issues/1038):
  312. Add `--line-buffered` and `--block-buffered` for forcing a buffer strategy.
  313. * [FEATURE #1038-2](https://github.com/BurntSushi/ripgrep/issues/1038):
  314. Add `--pre-glob` for filtering files through the `--pre` flag.
  315. Bug fixes:
  316. * [BUG #2](https://github.com/BurntSushi/ripgrep/issues/2):
  317. Searching with non-zero context can now use memory maps if appropriate.
  318. * [BUG #200](https://github.com/BurntSushi/ripgrep/issues/200):
  319. ripgrep will now stop correctly when its output pipe is closed.
  320. * [BUG #389](https://github.com/BurntSushi/ripgrep/issues/389):
  321. The `-w/--word-regexp` flag now works more intuitively.
  322. * [BUG #643](https://github.com/BurntSushi/ripgrep/issues/643):
  323. Detection of readable stdin has improved on Windows.
  324. * [BUG #441](https://github.com/BurntSushi/ripgrep/issues/441),
  325. [BUG #690](https://github.com/BurntSushi/ripgrep/issues/690),
  326. [BUG #980](https://github.com/BurntSushi/ripgrep/issues/980):
  327. Matching empty lines now works correctly in several corner cases.
  328. * [BUG #764](https://github.com/BurntSushi/ripgrep/issues/764):
  329. Color escape sequences now coalesce, which reduces output size.
  330. * [BUG #842](https://github.com/BurntSushi/ripgrep/issues/842):
  331. Add man page to binary Debian package.
  332. * [BUG #922](https://github.com/BurntSushi/ripgrep/issues/922):
  333. ripgrep is now more robust with respect to memory maps failing.
  334. * [BUG #937](https://github.com/BurntSushi/ripgrep/issues/937):
  335. Color escape sequences are no longer emitted for empty matches.
  336. * [BUG #940](https://github.com/BurntSushi/ripgrep/issues/940):
  337. Context from the `--passthru` flag should not impact process exit status.
  338. * [BUG #984](https://github.com/BurntSushi/ripgrep/issues/984):
  339. Fixes bug in `ignore` crate where first path was always treated as a symlink.
  340. * [BUG #990](https://github.com/BurntSushi/ripgrep/issues/990):
  341. Read stderr asynchronously when running a process.
  342. * [BUG #1013](https://github.com/BurntSushi/ripgrep/issues/1013):
  343. Add compile time and runtime CPU features to `--version` output.
  344. * [BUG #1028](https://github.com/BurntSushi/ripgrep/pull/1028):
  345. Don't complete bare pattern after `-f` in zsh.
  346. 0.9.0 (2018-08-03)
  347. ==================
  348. This is a new minor version release of ripgrep that contains some minor new
  349. features and a panoply of bug fixes.
  350. Releases provided on Github for `x86_64` will now work on all target CPUs, and
  351. will also automatically take advantage of features found on modern CPUs (such
  352. as AVX2) for additional optimizations.
  353. This release increases the **minimum supported Rust version** from 1.20.0 to
  354. 1.23.0.
  355. It is anticipated that the next release of ripgrep (0.10.0) will provide
  356. multi-line search support and a JSON output format.
  357. **BREAKING CHANGES**:
  358. * When `--count` and `--only-matching` are provided simultaneously, the
  359. behavior of ripgrep is as if the `--count-matches` flag was given. That is,
  360. the total number of matches is reported, where there may be multiple matches
  361. per line. Previously, the behavior of ripgrep was to report the total number
  362. of matching lines. (Note that this behavior diverges from the behavior of
  363. GNU grep.)
  364. * Octal syntax is no longer supported. ripgrep previously accepted expressions
  365. like `\1` as syntax for matching `U+0001`, but ripgrep will now report an
  366. error instead.
  367. * The `--line-number-width` flag has been removed. Its functionality was not
  368. carefully considered with all ripgrep output formats.
  369. See [#795](https://github.com/BurntSushi/ripgrep/issues/795) for more
  370. details.
  371. Feature enhancements:
  372. * Added or improved file type filtering for Android, Bazel, Fuchsia, Haskell,
  373. Java and Puppet.
  374. * [FEATURE #411](https://github.com/BurntSushi/ripgrep/issues/411):
  375. Add a `--stats` flag, which emits aggregate statistics after search results.
  376. * [FEATURE #646](https://github.com/BurntSushi/ripgrep/issues/646):
  377. Add a `--no-ignore-messages` flag, which suppresses parse errors from reading
  378. `.ignore` and `.gitignore` files.
  379. * [FEATURE #702](https://github.com/BurntSushi/ripgrep/issues/702):
  380. Support `\u{..}` Unicode escape sequences.
  381. * [FEATURE #812](https://github.com/BurntSushi/ripgrep/issues/812):
  382. Add `-b/--byte-offset` flag that shows the byte offset of each matching line.
  383. * [FEATURE #814](https://github.com/BurntSushi/ripgrep/issues/814):
  384. Add `--count-matches` flag, which is like `--count`, but for each match.
  385. * [FEATURE #880](https://github.com/BurntSushi/ripgrep/issues/880):
  386. Add a `--no-column` flag, which disables column numbers in the output.
  387. * [FEATURE #898](https://github.com/BurntSushi/ripgrep/issues/898):
  388. Add support for `lz4` when using the `-z/--search-zip` flag.
  389. * [FEATURE #924](https://github.com/BurntSushi/ripgrep/issues/924):
  390. `termcolor` has moved to its own repository:
  391. https://github.com/BurntSushi/termcolor
  392. * [FEATURE #934](https://github.com/BurntSushi/ripgrep/issues/934):
  393. Add a new flag, `--no-ignore-global`, that permits disabling global
  394. gitignores.
  395. * [FEATURE #967](https://github.com/BurntSushi/ripgrep/issues/967):
  396. Rename `--maxdepth` to `--max-depth` for consistency. Keep `--maxdepth` for
  397. backwards compatibility.
  398. * [FEATURE #978](https://github.com/BurntSushi/ripgrep/issues/978):
  399. Add a `--pre` option to filter inputs with an arbitrary program.
  400. * [FEATURE fca9709d](https://github.com/BurntSushi/ripgrep/commit/fca9709d):
  401. Improve zsh completion.
  402. Bug fixes:
  403. * [BUG #135](https://github.com/BurntSushi/ripgrep/issues/135):
  404. Release portable binaries that conditionally use SSSE3, AVX2, etc., at
  405. runtime.
  406. * [BUG #268](https://github.com/BurntSushi/ripgrep/issues/268):
  407. Print descriptive error message when trying to use look-around or
  408. backreferences.
  409. * [BUG #395](https://github.com/BurntSushi/ripgrep/issues/395):
  410. Show comprehensible error messages for regexes like `\s*{`.
  411. * [BUG #526](https://github.com/BurntSushi/ripgrep/issues/526):
  412. Support backslash escapes in globs.
  413. * [BUG #795](https://github.com/BurntSushi/ripgrep/issues/795):
  414. Fix problems with `--line-number-width` by removing it.
  415. * [BUG #832](https://github.com/BurntSushi/ripgrep/issues/832):
  416. Clarify usage instructions for `-f/--file` flag.
  417. * [BUG #835](https://github.com/BurntSushi/ripgrep/issues/835):
  418. Fix small performance regression while crawling very large directory trees.
  419. * [BUG #851](https://github.com/BurntSushi/ripgrep/issues/851):
  420. Fix `-S/--smart-case` detection once and for all.
  421. * [BUG #852](https://github.com/BurntSushi/ripgrep/issues/852):
  422. Be robust with respect to `ENOMEM` errors returned by `mmap`.
  423. * [BUG #853](https://github.com/BurntSushi/ripgrep/issues/853):
  424. Upgrade `grep` crate to `regex-syntax 0.6.0`.
  425. * [BUG #893](https://github.com/BurntSushi/ripgrep/issues/893):
  426. Improve support for git submodules.
  427. * [BUG #900](https://github.com/BurntSushi/ripgrep/issues/900):
  428. When no patterns are given, ripgrep should never match anything.
  429. * [BUG #907](https://github.com/BurntSushi/ripgrep/issues/907):
  430. ripgrep will now stop traversing after the first file when `--quiet --files`
  431. is used.
  432. * [BUG #918](https://github.com/BurntSushi/ripgrep/issues/918):
  433. Don't skip tar archives when `-z/--search-zip` is used.
  434. * [BUG #934](https://github.com/BurntSushi/ripgrep/issues/934):
  435. Don't respect gitignore files when searching outside git repositories.
  436. * [BUG #948](https://github.com/BurntSushi/ripgrep/issues/948):
  437. Use exit code 2 to indicate error, and use exit code 1 to indicate no
  438. matches.
  439. * [BUG #951](https://github.com/BurntSushi/ripgrep/issues/951):
  440. Add stdin example to ripgrep usage documentation.
  441. * [BUG #955](https://github.com/BurntSushi/ripgrep/issues/955):
  442. Use buffered writing when not printing to a tty, which fixes a performance
  443. regression.
  444. * [BUG #957](https://github.com/BurntSushi/ripgrep/issues/957):
  445. Improve the error message shown for `--path separator /` in some Windows
  446. shells.
  447. * [BUG #964](https://github.com/BurntSushi/ripgrep/issues/964):
  448. Add a `--no-fixed-strings` flag to disable `-F/--fixed-strings`.
  449. * [BUG #988](https://github.com/BurntSushi/ripgrep/issues/988):
  450. Fix a bug in the `ignore` crate that prevented the use of explicit ignore
  451. files after disabling all other ignore rules.
  452. * [BUG #995](https://github.com/BurntSushi/ripgrep/issues/995):
  453. Respect `$XDG_CONFIG_DIR/git/config` for detecting `core.excludesFile`.
  454. 0.8.1 (2018-02-20)
  455. ==================
  456. This is a patch release of ripgrep that primarily fixes regressions introduced
  457. in 0.8.0 (#820 and #824) in directory traversal on Windows. These regressions
  458. do not impact non-Windows users.
  459. Feature enhancements:
  460. * Added or improved file type filtering for csv and VHDL.
  461. * [FEATURE #798](https://github.com/BurntSushi/ripgrep/issues/798):
  462. Add `underline` support to `termcolor` and ripgrep. See documentation on the
  463. `--colors` flag for details.
  464. Bug fixes:
  465. * [BUG #684](https://github.com/BurntSushi/ripgrep/issues/684):
  466. Improve documentation for the `--ignore-file` flag.
  467. * [BUG #789](https://github.com/BurntSushi/ripgrep/issues/789):
  468. Don't show `(rev )` if the revision wasn't available during the build.
  469. * [BUG #791](https://github.com/BurntSushi/ripgrep/issues/791):
  470. Add man page to ARM release.
  471. * [BUG #797](https://github.com/BurntSushi/ripgrep/issues/797):
  472. Improve documentation for "intense" setting in `termcolor`.
  473. * [BUG #800](https://github.com/BurntSushi/ripgrep/issues/800):
  474. Fix a bug in the `ignore` crate for custom ignore files. This had no impact
  475. on ripgrep.
  476. * [BUG #807](https://github.com/BurntSushi/ripgrep/issues/807):
  477. Fix a bug where `rg --hidden .` behaved differently from `rg --hidden ./`.
  478. * [BUG #815](https://github.com/BurntSushi/ripgrep/issues/815):
  479. Clarify a common failure mode in user guide.
  480. * [BUG #820](https://github.com/BurntSushi/ripgrep/issues/820):
  481. Fixes a bug on Windows where symlinks were followed even if not requested.
  482. * [BUG #824](https://github.com/BurntSushi/ripgrep/issues/824):
  483. Fix a performance regression in directory traversal on Windows.
  484. 0.8.0 (2018-02-11)
  485. ==================
  486. This is a new minor version releae of ripgrep that satisfies several popular
  487. feature requests (config files, search compressed files, true colors), fixes
  488. many bugs and improves the quality of life for ripgrep maintainers. This
  489. release also includes greatly improved documentation in the form of a
  490. [User Guide](GUIDE.md) and a [FAQ](FAQ.md).
  491. This release increases the **minimum supported Rust version** from 1.17 to
  492. 1.20.
  493. **BREAKING CHANGES**:
  494. Note that these are all very minor and unlikely to impact most users.
  495. * In order to support configuration files, flag overrides needed to be
  496. rethought. In some cases, this changed ripgrep's behavior. For example,
  497. in ripgrep 0.7.1, `rg foo -s -i` will perform a case sensitive search
  498. since the `-s/--case-sensitive` flag was defined to always take precedence
  499. over the `-i/--ignore-case` flag, regardless of position. In ripgrep 0.8.0
  500. however, the override rule for all flags has changed to "the most recent
  501. flag wins among competing flags." That is, `rg foo -s -i` now performs a
  502. case insensitive search.
  503. * The `-M/--max-columns` flag was tweaked so that specifying a value of `0`
  504. now makes ripgrep behave as if the flag was absent. This makes it possible
  505. to set a default value in a configuration file and then override it. The
  506. previous ripgrep behavior was to suppress all matching non-empty lines.
  507. * In all globs, `[^...]` is now equivalent to `[!...]` (indicating class
  508. negation). Previously, `^` had no special significance in a character class.
  509. * For **downstream packagers**, the directory hierarchy in ripgrep's archive
  510. releases has changed. The root directory now only contains the executable,
  511. README and license. There is now a new directory called `doc` which contains
  512. the man page (previously in the root), a user guide (new), a FAQ (new) and
  513. the CHANGELOG (previously not included in release). The `complete`
  514. directory remains the same.
  515. Feature enhancements:
  516. * Added or improved file type filtering for
  517. Apache Avro, C++, GN, Google Closure Templates, Jupyter notebooks, man pages,
  518. Protocol Buffers, Smarty and Web IDL.
  519. * [FEATURE #196](https://github.com/BurntSushi/ripgrep/issues/196):
  520. Support a configuration file. See
  521. [the new user guide](GUIDE.md#configuration-file)
  522. for details.
  523. * [FEATURE #261](https://github.com/BurntSushi/ripgrep/issues/261):
  524. Add extended or "true" color support. Works in Windows 10!
  525. [See the FAQ for details.](FAQ.md#colors)
  526. * [FEATURE #539](https://github.com/BurntSushi/ripgrep/issues/539):
  527. Search gzip, bzip2, lzma or xz files when given `-z/--search-zip` flag.
  528. * [FEATURE #544](https://github.com/BurntSushi/ripgrep/issues/544):
  529. Add support for line number alignment via a new `--line-number-width` flag.
  530. * [FEATURE #654](https://github.com/BurntSushi/ripgrep/pull/654):
  531. Support linuxbrew in ripgrep's Brew tap.
  532. * [FEATURE #673](https://github.com/BurntSushi/ripgrep/issues/673):
  533. Bring back `.rgignore` files. (A higher precedent, application specific
  534. version of `.ignore`.)
  535. * [FEATURE #676](https://github.com/BurntSushi/ripgrep/issues/676):
  536. Provide ARM binaries. **WARNING:** This will be provided on a best effort
  537. basis.
  538. * [FEATURE #709](https://github.com/BurntSushi/ripgrep/issues/709):
  539. Suggest `-F/--fixed-strings` flag on a regex syntax error.
  540. * [FEATURE #740](https://github.com/BurntSushi/ripgrep/issues/740):
  541. Add a `--passthru` flag that causes ripgrep to print every line it reads.
  542. * [FEATURE #785](https://github.com/BurntSushi/ripgrep/pull/785):
  543. Overhaul documentation. Cleaned up README, added user guide and FAQ.
  544. * [FEATURE 7f5c07](https://github.com/BurntSushi/ripgrep/commit/7f5c07434be92103b5bf7e216b9c7494aed2d8cb):
  545. Add hidden flags for convenient overrides (e.g., `--no-text`).
  546. Bug fixes:
  547. * [BUG #553](https://github.com/BurntSushi/ripgrep/issues/553):
  548. Permit flags to be repeated.
  549. * [BUG #633](https://github.com/BurntSushi/ripgrep/issues/633):
  550. Fix a bug where ripgrep would panic on Windows while following symlinks.
  551. * [BUG #649](https://github.com/BurntSushi/ripgrep/issues/649):
  552. Fix handling of `!**/` in `.gitignore`.
  553. * [BUG #663](https://github.com/BurntSushi/ripgrep/issues/663):
  554. **BREAKING CHANGE:** Support `[^...]` glob syntax (as identical to `[!...]`).
  555. * [BUG #693](https://github.com/BurntSushi/ripgrep/issues/693):
  556. Don't display context separators when not printing matches.
  557. * [BUG #705](https://github.com/BurntSushi/ripgrep/issues/705):
  558. Fix a bug that prevented ripgrep from searching OneDrive directories.
  559. * [BUG #717](https://github.com/BurntSushi/ripgrep/issues/717):
  560. Improve `--smart-case` uppercase character detection.
  561. * [BUG #725](https://github.com/BurntSushi/ripgrep/issues/725):
  562. Clarify that globs do not override explicitly given paths to search.
  563. * [BUG #742](https://github.com/BurntSushi/ripgrep/pull/742):
  564. Write ANSI reset code as `\x1B[0m` instead of `\x1B[m`.
  565. * [BUG #747](https://github.com/BurntSushi/ripgrep/issues/747):
  566. Remove `yarn.lock` from YAML file type.
  567. * [BUG #760](https://github.com/BurntSushi/ripgrep/issues/760):
  568. ripgrep can now search `/sys/devices/system/cpu/vulnerabilities/*` files.
  569. * [BUG #761](https://github.com/BurntSushi/ripgrep/issues/761):
  570. Fix handling of gitignore patterns that contain a `/`.
  571. * [BUG #776](https://github.com/BurntSushi/ripgrep/pull/776):
  572. **BREAKING CHANGE:** `--max-columns=0` now disables the limit.
  573. * [BUG #779](https://github.com/BurntSushi/ripgrep/issues/779):
  574. Clarify documentation for `--files-without-match`.
  575. * [BUG #780](https://github.com/BurntSushi/ripgrep/issues/780),
  576. [BUG #781](https://github.com/BurntSushi/ripgrep/issues/781):
  577. Fix bug where ripgrep missed some matching lines.
  578. Maintenance fixes:
  579. * [MAINT #772](https://github.com/BurntSushi/ripgrep/pull/772):
  580. Drop `env_logger` in favor of simpler logger to avoid many new dependencies.
  581. * [MAINT #772](https://github.com/BurntSushi/ripgrep/pull/772):
  582. Add git revision hash to ripgrep's version string.
  583. * [MAINT #772](https://github.com/BurntSushi/ripgrep/pull/772):
  584. (Seemingly) improve compile times.
  585. * [MAINT #776](https://github.com/BurntSushi/ripgrep/pull/776):
  586. Automatically generate man page during build.
  587. * [MAINT #786](https://github.com/BurntSushi/ripgrep/pull/786):
  588. Remove use of `unsafe` in `globset`. :tada:
  589. * [MAINT e9d448](https://github.com/BurntSushi/ripgrep/commit/e9d448e93bb4e1fb3b0c1afc29adb5af6ed5283d):
  590. Add an issue template (has already drastically improved bug reports).
  591. * [MAINT ae2d03](https://github.com/BurntSushi/ripgrep/commit/ae2d036dd4ba2a46acac9c2d77c32e7c667eb850):
  592. Remove the `compile` script.
  593. Friends of ripgrep:
  594. I'd like to extend my gratitude to
  595. [@balajisivaraman](https://github.com/balajisivaraman)
  596. for their recent hard work in a number of areas, and in particular, for
  597. implementing the "search compressed files" feature. Their work in sketching out
  598. a specification for that and other work has been exemplary.
  599. Thanks
  600. [@balajisivaraman](https://github.com/balajisivaraman)!
  601. 0.7.1 (2017-10-22)
  602. ==================
  603. This is a patch release of ripgrep that includes a fix to very bad regression
  604. introduced in ripgrep 0.7.0.
  605. Bug fixes:
  606. * [BUG #648](https://github.com/BurntSushi/ripgrep/issues/648):
  607. Fix a bug where it was very easy to exceed standard file descriptor limits.
  608. 0.7.0 (2017-10-20)
  609. ==================
  610. This is a new minor version release of ripgrep that includes mostly bug fixes.
  611. ripgrep continues to require Rust 1.17, and there are no known breaking changes
  612. introduced in this release.
  613. Feature enhancements:
  614. * Added or improved file type filtering for config & license files, Elm,
  615. Purescript, Standard ML, sh, systemd, Terraform
  616. * [FEATURE #593](https://github.com/BurntSushi/ripgrep/pull/593):
  617. Using both `-o/--only-matching` and `-r/--replace` does the right thing.
  618. Bug fixes:
  619. * [BUG #200](https://github.com/BurntSushi/ripgrep/issues/200):
  620. ripgrep will stop when its pipe is closed.
  621. * [BUG #402](https://github.com/BurntSushi/ripgrep/issues/402):
  622. Fix context printing bug when the `-m/--max-count` flag is used.
  623. * [BUG #521](https://github.com/BurntSushi/ripgrep/issues/521):
  624. Fix interaction between `-r/--replace` and terminal colors.
  625. * [BUG #559](https://github.com/BurntSushi/ripgrep/issues/559):
  626. Ignore test that tried reading a non-UTF-8 file path on macOS.
  627. * [BUG #599](https://github.com/BurntSushi/ripgrep/issues/599):
  628. Fix color escapes on empty matches.
  629. * [BUG #600](https://github.com/BurntSushi/ripgrep/issues/600):
  630. Avoid expensive (on Windows) file handle check when using --files.
  631. * [BUG #618](https://github.com/BurntSushi/ripgrep/issues/618):
  632. Clarify installation instructions for Ubuntu users.
  633. * [BUG #633](https://github.com/BurntSushi/ripgrep/issues/633):
  634. Faster symlink loop checking on Windows.
  635. 0.6.0 (2017-08-23)
  636. ==================
  637. This is a new minor version release of ripgrep that includes many bug fixes
  638. and a few new features such as `--iglob` and `-x/--line-regexp`.
  639. Note that this release increases the minimum supported Rust version from 1.12
  640. to 1.17.
  641. Feature enhancements:
  642. * Added or improved file type filtering for BitBake, C++, Cabal, cshtml, Julia,
  643. Make, msbuild, QMake, Yocto
  644. * [FEATURE #163](https://github.com/BurntSushi/ripgrep/issues/163):
  645. Add an `--iglob` flag that is like `-g/--glob`, but matches globs
  646. case insensitively.
  647. * [FEATURE #520](https://github.com/BurntSushi/ripgrep/pull/518):
  648. Add `-x/--line-regexp` flag, which requires a match to span an entire line.
  649. * [FEATURE #551](https://github.com/BurntSushi/ripgrep/pull/551),
  650. [FEATURE #554](https://github.com/BurntSushi/ripgrep/pull/554):
  651. `ignore`: add new `matched_path_or_any_parents` method.
  652. Bug fixes:
  653. * [BUG #342](https://github.com/BurntSushi/ripgrep/issues/342):
  654. Fix invisible text in some PowerShell environments by changing the
  655. default color scheme on Windows.
  656. * [BUG #413](https://github.com/BurntSushi/ripgrep/issues/413):
  657. Release binaries on Unix are now `strip`'d by default. This decreases
  658. binary size by an order of magnitude.
  659. * [BUG #483](https://github.com/BurntSushi/ripgrep/issues/483):
  660. When `--quiet` is passed, `--files` should be quiet.
  661. * [BUG #488](https://github.com/BurntSushi/ripgrep/pull/488):
  662. When `--vimgrep` is passed, `--with-filename` should be enabled
  663. automatically.
  664. * [BUG #493](https://github.com/BurntSushi/ripgrep/issues/493):
  665. Fix another bug in the implementation of the `-o/--only-matching`
  666. flag.
  667. * [BUG #499](https://github.com/BurntSushi/ripgrep/pull/499):
  668. Permit certain flags to override others.
  669. * [BUG #523](https://github.com/BurntSushi/ripgrep/pull/523):
  670. `wincolor`: Re-fetch Windows console on all calls.
  671. * [BUG #523](https://github.com/BurntSushi/ripgrep/issues/524):
  672. `--version` now shows enabled compile-time features.
  673. * [BUG #532](https://github.com/BurntSushi/ripgrep/issues/532),
  674. [BUG #536](https://github.com/BurntSushi/ripgrep/pull/536),
  675. [BUG #538](https://github.com/BurntSushi/ripgrep/pull/538),
  676. [BUG #540](https://github.com/BurntSushi/ripgrep/pull/540),
  677. [BUG #560](https://github.com/BurntSushi/ripgrep/pull/560),
  678. [BUG #565](https://github.com/BurntSushi/ripgrep/pull/565):
  679. Improve zsh completion.
  680. * [BUG #578](https://github.com/BurntSushi/ripgrep/pull/578):
  681. Enable SIMD for `encoding_rs` when appropriate.
  682. * [BUG #580](https://github.com/BurntSushi/ripgrep/issues/580):
  683. Fix `-w/--word-regexp` in the presence of capturing groups.
  684. * [BUG #581](https://github.com/BurntSushi/ripgrep/issues/581):
  685. Document that ripgrep may terminate unexpectedly when searching via
  686. memory maps (which can happen using default settings).
  687. Friends of ripgrep:
  688. I'd like to give a big Thank You to @okdana for their recent hard work on
  689. ripgrep. This includes new features like `--line-regexp`, heroic effort on
  690. zsh auto-completion and thinking through some thorny argv issues with me.
  691. I'd also like to thank @ericbn for their work on improving ripgrep's argv
  692. parsing by allowing some flags to override others.
  693. Thanks @okdana and @ericbn!
  694. 0.5.2 (2017-05-11)
  695. ==================
  696. Feature enhancements:
  697. * Added or improved file type filtering for Nix.
  698. * [FEATURE #362](https://github.com/BurntSushi/ripgrep/issues/362):
  699. Add `--regex-size-limit` and `--dfa-size-limit` flags.
  700. * [FEATURE #444](https://github.com/BurntSushi/ripgrep/issues/444):
  701. Improve error messages for invalid globs.
  702. Bug fixes:
  703. * [BUG #442](https://github.com/BurntSushi/ripgrep/issues/442):
  704. Fix line wrapping in `--help` output.
  705. * [BUG #451](https://github.com/BurntSushi/ripgrep/issues/451):
  706. Fix bug with duplicate output when using `-o/--only-matching` flag.
  707. 0.5.1 (2017-04-09)
  708. ==================
  709. Feature enhancements:
  710. * Added or improved file type filtering for vim.
  711. * [FEATURE #34](https://github.com/BurntSushi/ripgrep/issues/34):
  712. Add a `-o/--only-matching` flag.
  713. * [FEATURE #377](https://github.com/BurntSushi/ripgrep/issues/377):
  714. Column numbers can now be customized with a color. (The default is
  715. no color.)
  716. * [FEATURE #419](https://github.com/BurntSushi/ripgrep/issues/419):
  717. Added `-0` short flag option for `--null`.
  718. Bug fixes:
  719. * [BUG #381](https://github.com/BurntSushi/ripgrep/issues/381):
  720. Include license text in all subcrates.
  721. * [BUG #418](https://github.com/BurntSushi/ripgrep/issues/418),
  722. [BUG #426](https://github.com/BurntSushi/ripgrep/issues/426),
  723. [BUG #439](https://github.com/BurntSushi/ripgrep/issues/439):
  724. Fix a few bugs with `-h/--help` output.
  725. 0.5.0 (2017-03-12)
  726. ==================
  727. This is a new minor version release of ripgrep that includes one minor breaking
  728. change, bug fixes and several new features including support for text encodings
  729. other than UTF-8.
  730. A notable accomplishment with respect to Rust is that ripgrep proper now only
  731. contains a single `unsafe` use (for accessing the contents of a memory map).
  732. The **breaking change** is:
  733. * [FEATURE #380](https://github.com/BurntSushi/ripgrep/issues/380):
  734. Line numbers are now hidden by default when ripgrep is printing to a tty
  735. **and** the only thing searched is stdin.
  736. Feature enhancements:
  737. * Added or improved file type filtering for Ceylon, CSS, Elixir, HTML, log,
  738. SASS, SVG, Twig
  739. * [FEATURE #1](https://github.com/BurntSushi/ripgrep/issues/1):
  740. Add support for additional text encodings, including automatic detection for
  741. UTF-16 via BOM sniffing. Explicit text encoding support with the
  742. `-E/--encoding` flag was also added for latin-1, GBK, EUC-JP
  743. and Shift_JIS, among others. The full list can be found here:
  744. https://encoding.spec.whatwg.org/#concept-encoding-get
  745. * [FEATURE #129](https://github.com/BurntSushi/ripgrep/issues/129):
  746. Add a new `-M/--max-columns` flag that omits lines longer than the given
  747. number of bytes. (Disabled by default!)
  748. * [FEATURE #369](https://github.com/BurntSushi/ripgrep/issues/369):
  749. A new flag, `--max-filesize`, was added for limiting searches to files with
  750. a maximum file size.
  751. Bug fixes:
  752. * [BUG #52](https://github.com/BurntSushi/ripgrep/issues/52),
  753. [BUG #311](https://github.com/BurntSushi/ripgrep/issues/311):
  754. Tweak how binary files are detected and handled. (We are slightly less
  755. conservative and will no longer use memory without bound.)
  756. * [BUG #326](https://github.com/BurntSushi/ripgrep/issues/326):
  757. When --files flag is given, we should never attempt to parse positional
  758. arguments as regexes.
  759. * [BUG #327](https://github.com/BurntSushi/ripgrep/issues/327):
  760. Permit the --heading flag to override the --no-heading flag.
  761. * [BUG #340](https://github.com/BurntSushi/ripgrep/pull/340):
  762. Clarify that the `-u/--unrestricted` flags are aliases.
  763. * [BUG #343](https://github.com/BurntSushi/ripgrep/pull/343):
  764. Global git ignore config should use `$HOME/.config/git/ignore` and not
  765. `$HOME/git/ignore`.
  766. * [BUG #345](https://github.com/BurntSushi/ripgrep/pull/345):
  767. Clarify docs for `-g/--glob` flag.
  768. * [BUG #381](https://github.com/BurntSushi/ripgrep/issues/381):
  769. Add license files to each sub-crate.
  770. * [BUG #383](https://github.com/BurntSushi/ripgrep/issues/383):
  771. Use latest version of clap (for argv parsing).
  772. * [BUG #392](https://github.com/BurntSushi/ripgrep/issues/391):
  773. Fix translation of set globs (e.g., `{foo,bar,quux}`) to regexes.
  774. * [BUG #401](https://github.com/BurntSushi/ripgrep/pull/401):
  775. Add PowerShell completion file to Windows release.
  776. * [BUG #405](https://github.com/BurntSushi/ripgrep/issues/405):
  777. Fix bug when excluding absolute paths with the `-g/--glob` flag.
  778. 0.4.0
  779. =====
  780. This is a new minor version release of ripgrep that includes a couple very
  781. minor breaking changes, a few new features and lots of bug fixes.
  782. This version of ripgrep upgrades its `regex` dependency from `0.1` to `0.2`,
  783. which includes a few minor syntax changes:
  784. * POSIX character classes now require double bracketing. Previously, the regex
  785. `[:upper:]` would parse as the `upper` POSIX character class. Now it parses
  786. as the character class containing the characters `:upper:`. The fix to this
  787. change is to use `[[:upper:]]` instead. Note that variants like
  788. `[[:upper:][:blank:]]` continue to work.
  789. * The character `[` must always be escaped inside a character class.
  790. * The characters `&`, `-` and `~` must be escaped if any one of them are
  791. repeated consecutively. For example, `[&]`, `[\&]`, `[\&\&]`, `[&-&]` are all
  792. equivalent while `[&&]` is illegal. (The motivation for this and the prior
  793. change is to provide a backwards compatible path for adding character class
  794. set notation.)
  795. Feature enhancements:
  796. * Added or improved file type filtering for Crystal, Kotlin, Perl, PowerShell,
  797. Ruby, Swig
  798. * [FEATURE #83](https://github.com/BurntSushi/ripgrep/issues/83):
  799. Type definitions can now include other type definitions.
  800. * [FEATURE #243](https://github.com/BurntSushi/ripgrep/issues/243):
  801. **BREAKING CHANGE**: The `--column` flag now implies `--line-number`.
  802. * [FEATURE #263](https://github.com/BurntSushi/ripgrep/issues/263):
  803. Add a new `--sort-files` flag.
  804. * [FEATURE #275](https://github.com/BurntSushi/ripgrep/issues/275):
  805. Add a new `--path-separator` flag. Useful in cygwin.
  806. Bug fixes:
  807. * [BUG #182](https://github.com/BurntSushi/ripgrep/issues/182):
  808. Redux: use more portable ANSI color escape sequences when possible.
  809. * [BUG #258](https://github.com/BurntSushi/ripgrep/issues/258):
  810. Fix bug that caused ripgrep's parallel iterator to spin and burn CPU.
  811. * [BUG #262](https://github.com/BurntSushi/ripgrep/issues/262):
  812. Document how to install shell completion files.
  813. * [BUG #266](https://github.com/BurntSushi/ripgrep/issues/266),
  814. [BUG #293](https://github.com/BurntSushi/ripgrep/issues/293):
  815. Fix handling of bold styling and change the default colors.
  816. * [BUG #268](https://github.com/BurntSushi/ripgrep/issues/268):
  817. Make lack of backreference support more explicit.
  818. * [BUG #271](https://github.com/BurntSushi/ripgrep/issues/271):
  819. Remove `~` dependency on clap.
  820. * [BUG #277](https://github.com/BurntSushi/ripgrep/issues/277):
  821. Fix cosmetic issue in `globset` crate docs.
  822. * [BUG #279](https://github.com/BurntSushi/ripgrep/issues/279):
  823. ripgrep did not terminate when `-q/--quiet` was given.
  824. * [BUG #281](https://github.com/BurntSushi/ripgrep/issues/281):
  825. **BREAKING CHANGE**: Completely remove `^C` handling from ripgrep.
  826. * [BUG #284](https://github.com/BurntSushi/ripgrep/issues/284):
  827. Make docs for `-g/--glob` clearer.
  828. * [BUG #286](https://github.com/BurntSushi/ripgrep/pull/286):
  829. When stdout is redirected to a file, don't search that file.
  830. * [BUG #287](https://github.com/BurntSushi/ripgrep/pull/287):
  831. Fix ZSH completions.
  832. * [BUG #295](https://github.com/BurntSushi/ripgrep/pull/295):
  833. Remove superfluous `memmap` dependency in `grep` crate.
  834. * [BUG #308](https://github.com/BurntSushi/ripgrep/pull/308):
  835. Improve docs for `-r/--replace`.
  836. * [BUG #313](https://github.com/BurntSushi/ripgrep/pull/313):
  837. Update bytecount dep to latest version.
  838. * [BUG #318](https://github.com/BurntSushi/ripgrep/pull/318):
  839. Fix invalid UTF-8 output bug in Windows consoles.
  840. 0.3.2
  841. =====
  842. Feature enhancements:
  843. * Added or improved file type filtering for Less, Sass, stylus, Zsh
  844. Bug fixes:
  845. * [BUG #229](https://github.com/BurntSushi/ripgrep/issues/229):
  846. Make smart case slightly less conservative.
  847. * [BUG #247](https://github.com/BurntSushi/ripgrep/issues/247):
  848. Clarify use of --heading/--no-heading.
  849. * [BUG #251](https://github.com/BurntSushi/ripgrep/issues/251),
  850. [BUG #264](https://github.com/BurntSushi/ripgrep/issues/264),
  851. [BUG #267](https://github.com/BurntSushi/ripgrep/issues/267):
  852. Fix matching bug caused by literal optimizations.
  853. * [BUG #256](https://github.com/BurntSushi/ripgrep/issues/256):
  854. Fix bug that caused `rg foo` and `rg foo/` to have different behavior
  855. when `foo` was a symlink.
  856. * [BUG #270](https://github.com/BurntSushi/ripgrep/issues/270):
  857. Fix bug where patterns starting with a `-` couldn't be used with the
  858. `-e/--regexp` flag. (This resolves a regression that was introduced in
  859. ripgrep 0.3.0.)
  860. 0.3.1
  861. =====
  862. Bug fixes:
  863. * [BUG #242](https://github.com/BurntSushi/ripgrep/issues/242):…

Large files files are truncated, but you can click here to view the full file