mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-08-03 13:42:06 -07:00
Compare commits
5 Commits
grep-0.1.8
...
ag/changel
Author | SHA1 | Date | |
---|---|---|---|
|
f3146f8316 | ||
|
56341973ee | ||
|
a431160d4c | ||
|
5d15f49f0c | ||
|
7718ee362e |
132
CHANGELOG.md
132
CHANGELOG.md
@@ -1,3 +1,135 @@
|
|||||||
|
0.8.0 (2017-02-11)
|
||||||
|
==================
|
||||||
|
This is a new minor version releae of ripgrep that satisfies several popular
|
||||||
|
feature requests (config files, search compressed files, true colors), fixes
|
||||||
|
many bugs and improves the quality of life for ripgrep maintainers. This
|
||||||
|
release also includes greatly improved documentation in the form of a
|
||||||
|
[User Guide](GUIDE.md) and a [FAQ](FAQ.md).
|
||||||
|
|
||||||
|
This release increases the **minimum supported Rust version** from 1.17 to
|
||||||
|
1.20.
|
||||||
|
|
||||||
|
**BREAKING CHANGES**:
|
||||||
|
|
||||||
|
Note that these are all very minor and unlikely to impact most users.
|
||||||
|
|
||||||
|
* In order to support configuration files, flag overrides needed to be
|
||||||
|
rethought. In some cases, this changed ripgrep's behavior. For example,
|
||||||
|
in ripgrep 0.7.1, `rg foo -s -i` will perform a case sensitive search
|
||||||
|
since the `-s/--case-sensitive` flag was defined to always take precedence
|
||||||
|
over the `-i/--ignore-case` flag, regardless of position. In ripgrep 0.8.0
|
||||||
|
however, the override rule for all flags has changed to "the most recent
|
||||||
|
flag wins among competing flags." That is, `rg foo -s -i` now performs a
|
||||||
|
case insensitive search.
|
||||||
|
* The `-M/--max-columns` flag was tweaked so that specifying a value of `0`
|
||||||
|
now makes ripgrep behave as if the flag was absent. This makes it possible
|
||||||
|
to set a default value in a configuration file and then override it. The
|
||||||
|
previous ripgrep behavior was to suppress all matching non-empty lines.
|
||||||
|
* In all globs, `[^...]` is now equivalent to `[!...]` (indicating class
|
||||||
|
negation). Previously, `^` had no special significance in a character class.
|
||||||
|
* For **downstream packagers**, the directory hierarchy in ripgrep's archive
|
||||||
|
releases has changed. The root directory now only contains the executable,
|
||||||
|
README and license. There is now a new directory called `doc` which contains
|
||||||
|
the man page (previously in the root), a user guide (new), a FAQ (new) and
|
||||||
|
the CHANGELOG (previously not included in release). The `complete`
|
||||||
|
directory remains the same.
|
||||||
|
|
||||||
|
Feature enhancements:
|
||||||
|
|
||||||
|
* Added or improved file type filtering for
|
||||||
|
Apache Avro, C++, GN, Google Closure Templates, Jupyter notebooks, man pages,
|
||||||
|
Protocol Buffers, Smarty and Web IDL.
|
||||||
|
* [FEATURE #196](https://github.com/BurntSushi/ripgrep/issues/196):
|
||||||
|
Support a configuration file. See
|
||||||
|
[the new user guide](GUIDE.md#configuration-file)
|
||||||
|
for details.
|
||||||
|
* [FEATURE #261](https://github.com/BurntSushi/ripgrep/issues/261):
|
||||||
|
Add extended or "true" color support. Works in Windows 10!
|
||||||
|
[See the FAQ for details.](FAQ.md#colors)
|
||||||
|
* [FEATURE #539](https://github.com/BurntSushi/ripgrep/issues/539):
|
||||||
|
Search gzip, bsip2, lzma or xz files when given `-z/--search-zip` flag.
|
||||||
|
* [FEATURE #544](https://github.com/BurntSushi/ripgrep/issues/544):
|
||||||
|
Add support for line number alignment via a new `--line-number-width` flag.
|
||||||
|
* [FEATURE #654](https://github.com/BurntSushi/ripgrep/pull/654):
|
||||||
|
Support linuxbrew in ripgrep's Brew tap.
|
||||||
|
* [FEATURE #673](https://github.com/BurntSushi/ripgrep/issues/673):
|
||||||
|
Bring back `.rgignore` files. (A higher precedent, application specific
|
||||||
|
version of `.ignore`.)
|
||||||
|
* [FEATURE #676](https://github.com/BurntSushi/ripgrep/issues/676):
|
||||||
|
Provide ARM binaries. **WARNING:** This will be provided on a best effort
|
||||||
|
basis.
|
||||||
|
* [FEATURE #709](https://github.com/BurntSushi/ripgrep/issues/709):
|
||||||
|
Suggest `-F/--fixed-strings` flag on a regex syntax error.
|
||||||
|
* [FEATURE #740](https://github.com/BurntSushi/ripgrep/issues/740):
|
||||||
|
Add a `--passthru` flag that causes ripgrep to print every line it reads.
|
||||||
|
* [FEATURE #785](https://github.com/BurntSushi/ripgrep/pull/785):
|
||||||
|
Overhaul documentation. Cleaned up README, added user guide and FAQ.
|
||||||
|
* [FEATURE 7f5c07](https://github.com/BurntSushi/ripgrep/commit/7f5c07434be92103b5bf7e216b9c7494aed2d8cb):
|
||||||
|
Add hidden flags for convenient overrides (e.g., `--no-text`).
|
||||||
|
|
||||||
|
Bug fixes:
|
||||||
|
|
||||||
|
* [BUG #553](https://github.com/BurntSushi/ripgrep/issues/553):
|
||||||
|
Permit flags to be repeated.
|
||||||
|
* [BUG #633](https://github.com/BurntSushi/ripgrep/issues/633):
|
||||||
|
Fix a bug where ripgrep would panic on Windows while following symlinks.
|
||||||
|
* [BUG #649](https://github.com/BurntSushi/ripgrep/issues/649):
|
||||||
|
Fix handling of `!**/` in `.gitignore`.
|
||||||
|
* [BUG #663](https://github.com/BurntSushi/ripgrep/issues/663):
|
||||||
|
**BREAKING CHANGE:** Support `[^...]` glob syntax (as identical to `[!...]`).
|
||||||
|
* [BUG #693](https://github.com/BurntSushi/ripgrep/issues/693):
|
||||||
|
Don't display context separators when not printing matches.
|
||||||
|
* [BUG #705](https://github.com/BurntSushi/ripgrep/issues/705):
|
||||||
|
Fix a bug that prevented ripgrep from searching OneDrive directories.
|
||||||
|
* [BUG #717](https://github.com/BurntSushi/ripgrep/issues/717):
|
||||||
|
Improve `--smart-case` uppercase character detection.
|
||||||
|
* [BUG #725](https://github.com/BurntSushi/ripgrep/issues/725):
|
||||||
|
Clarify that globs do not override explicitly given paths to search.
|
||||||
|
* [BUG #742](https://github.com/BurntSushi/ripgrep/pull/742):
|
||||||
|
Write ANSI reset code as `\x1B[0m` instead of `\x1B[m`.
|
||||||
|
* [BUG #747](https://github.com/BurntSushi/ripgrep/issues/747):
|
||||||
|
Remove `yarn.lock` from YAML file type.
|
||||||
|
* [BUG #760](https://github.com/BurntSushi/ripgrep/issues/760):
|
||||||
|
ripgrep can now search `/sys/devices/system/cpu/vulnerabilities/*` files.
|
||||||
|
* [BUG #761](https://github.com/BurntSushi/ripgrep/issues/761):
|
||||||
|
Fix handling of gitignore patterns that contain a `/`.
|
||||||
|
* [BUG #776](https://github.com/BurntSushi/ripgrep/pull/776):
|
||||||
|
**BREAKING CHANGE:** `--max-columns=0` now disables the limit.
|
||||||
|
* [BUG #779](https://github.com/BurntSushi/ripgrep/issues/779):
|
||||||
|
Clarify documentation for `--files-without-match`.
|
||||||
|
* [BUG #780](https://github.com/BurntSushi/ripgrep/issues/780),
|
||||||
|
[BUG #781](https://github.com/BurntSushi/ripgrep/issues/781):
|
||||||
|
Fix bug where ripgrep missed some matching lines.
|
||||||
|
|
||||||
|
Maintenance fixes:
|
||||||
|
|
||||||
|
* [MAINT #772](https://github.com/BurntSushi/ripgrep/pull/772):
|
||||||
|
Drop `env_logger` in favor of simpler logger to avoid many new dependencies.
|
||||||
|
* [MAINT #772](https://github.com/BurntSushi/ripgrep/pull/772):
|
||||||
|
Add git revision hash to ripgrep's version string.
|
||||||
|
* [MAINT #772](https://github.com/BurntSushi/ripgrep/pull/772):
|
||||||
|
(Seemingly) improve compile times.
|
||||||
|
* [MAINT #776](https://github.com/BurntSushi/ripgrep/pull/776):
|
||||||
|
Automatically generate man page during build.
|
||||||
|
* [MAINT #786](https://github.com/BurntSushi/ripgrep/pull/786):
|
||||||
|
Remove use of `unsafe` in `globset`. :tada:
|
||||||
|
* [MAINT e9d448](https://github.com/BurntSushi/ripgrep/commit/e9d448e93bb4e1fb3b0c1afc29adb5af6ed5283d):
|
||||||
|
Add an issue template (has already drastically improved bug reports).
|
||||||
|
* [MAINT ae2d03](https://github.com/BurntSushi/ripgrep/commit/ae2d036dd4ba2a46acac9c2d77c32e7c667eb850):
|
||||||
|
Remove the `compile` script.
|
||||||
|
|
||||||
|
Friends of ripgrep:
|
||||||
|
|
||||||
|
I'd like to extend my gratitude to
|
||||||
|
[@balajisivaraman](https://github.com/balajisivaraman)
|
||||||
|
for their recent hard work in a number of areas, and in particular, for
|
||||||
|
implementing the "search compressed files" feature. Their work in sketching out
|
||||||
|
a specification for that and other work has been exemplary.
|
||||||
|
|
||||||
|
Thanks
|
||||||
|
[@balajisivaraman](https://github.com/balajisivaraman)!
|
||||||
|
|
||||||
|
|
||||||
0.7.1 (2017-10-22)
|
0.7.1 (2017-10-22)
|
||||||
==================
|
==================
|
||||||
This is a patch release of ripgrep that includes a fix to very bad regression
|
This is a patch release of ripgrep that includes a fix to very bad regression
|
||||||
|
18
Cargo.lock
generated
18
Cargo.lock
generated
@@ -92,7 +92,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "globset"
|
name = "globset"
|
||||||
version = "0.2.1"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -114,10 +114,10 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ignore"
|
name = "ignore"
|
||||||
version = "0.3.1"
|
version = "0.4.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"globset 0.2.1",
|
"globset 0.3.0",
|
||||||
"lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -231,9 +231,9 @@ dependencies = [
|
|||||||
"bytecount 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytecount 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"clap 2.29.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clap 2.29.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"encoding_rs 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"encoding_rs 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"globset 0.2.1",
|
"globset 0.3.0",
|
||||||
"grep 0.1.8",
|
"grep 0.1.8",
|
||||||
"ignore 0.3.1",
|
"ignore 0.4.0",
|
||||||
"lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@@ -242,7 +242,7 @@ dependencies = [
|
|||||||
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"regex 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"regex 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"same-file 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"same-file 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"termcolor 0.3.3",
|
"termcolor 0.3.4",
|
||||||
"winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -274,9 +274,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "termcolor"
|
name = "termcolor"
|
||||||
version = "0.3.3"
|
version = "0.3.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"wincolor 0.1.5",
|
"wincolor 0.1.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -359,7 +359,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wincolor"
|
name = "wincolor"
|
||||||
version = "0.1.5"
|
version = "0.1.6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
@@ -36,9 +36,9 @@ members = ["grep", "globset", "ignore", "termcolor", "wincolor"]
|
|||||||
atty = "0.2.2"
|
atty = "0.2.2"
|
||||||
bytecount = "0.3.1"
|
bytecount = "0.3.1"
|
||||||
encoding_rs = "0.7"
|
encoding_rs = "0.7"
|
||||||
globset = { version = "0.2.1", path = "globset" }
|
globset = { version = "0.3.0", path = "globset" }
|
||||||
grep = { version = "0.1.8", path = "grep" }
|
grep = { version = "0.1.8", path = "grep" }
|
||||||
ignore = { version = "0.3.1", path = "ignore" }
|
ignore = { version = "0.4.0", path = "ignore" }
|
||||||
lazy_static = "1"
|
lazy_static = "1"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
log = "0.4"
|
log = "0.4"
|
||||||
@@ -47,7 +47,7 @@ memmap = "0.6"
|
|||||||
num_cpus = "1"
|
num_cpus = "1"
|
||||||
regex = "0.2.4"
|
regex = "0.2.4"
|
||||||
same-file = "1"
|
same-file = "1"
|
||||||
termcolor = { version = "0.3.3", path = "termcolor" }
|
termcolor = { version = "0.3.4", path = "termcolor" }
|
||||||
|
|
||||||
[dependencies.clap]
|
[dependencies.clap]
|
||||||
version = "2.29.4"
|
version = "2.29.4"
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "globset"
|
name = "globset"
|
||||||
version = "0.2.1" #:version
|
version = "0.3.0" #:version
|
||||||
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
||||||
description = """
|
description = """
|
||||||
Cross platform single glob and glob set matching. Glob set matching is the
|
Cross platform single glob and glob set matching. Glob set matching is the
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ignore"
|
name = "ignore"
|
||||||
version = "0.3.1" #:version
|
version = "0.4.0" #:version
|
||||||
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
||||||
description = """
|
description = """
|
||||||
A fast library for efficiently matching ignore files such as `.gitignore`
|
A fast library for efficiently matching ignore files such as `.gitignore`
|
||||||
@@ -19,7 +19,7 @@ bench = false
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
crossbeam = "0.3"
|
crossbeam = "0.3"
|
||||||
globset = { version = "0.2.1", path = "../globset" }
|
globset = { version = "0.3.0", path = "../globset" }
|
||||||
lazy_static = "1"
|
lazy_static = "1"
|
||||||
log = "0.4"
|
log = "0.4"
|
||||||
memchr = "2"
|
memchr = "2"
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "termcolor"
|
name = "termcolor"
|
||||||
version = "0.3.3" #:version
|
version = "0.3.4" #:version
|
||||||
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
||||||
description = """
|
description = """
|
||||||
A simple cross platform library for writing colored text to a terminal.
|
A simple cross platform library for writing colored text to a terminal.
|
||||||
@@ -17,4 +17,4 @@ name = "termcolor"
|
|||||||
bench = false
|
bench = false
|
||||||
|
|
||||||
[target.'cfg(windows)'.dependencies]
|
[target.'cfg(windows)'.dependencies]
|
||||||
wincolor = { version = "0.1.3", path = "../wincolor" }
|
wincolor = { version = "0.1.6", path = "../wincolor" }
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "wincolor"
|
name = "wincolor"
|
||||||
version = "0.1.5" #:version
|
version = "0.1.6" #:version
|
||||||
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
authors = ["Andrew Gallant <jamslam@gmail.com>"]
|
||||||
description = """
|
description = """
|
||||||
A simple Windows specific API for controlling text color in a Windows console.
|
A simple Windows specific API for controlling text color in a Windows console.
|
||||||
|
Reference in New Issue
Block a user