forked from beyondgrep/ack2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
326 lines (224 loc) · 9.75 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
History file for ack. http://beyondgrep.com/
NEXT
====================================
[FIXES]
The -l and -c flags would sometimes return inaccurate results due to
a bug introduced in 2.14. Thanks to Elliot Shank for the report! (GH #491)
[ENHANCEMENTS]
Many optimizations and code cleanups. Thanks, Stephan Hohe.
Added --hpp option for C++ header files. Thankis, Steffen Jaeckel.
2.14 Wed Sep 3 22:48:00 CDT 2014
====================================
[FIXES]
The -s flag would fail to suppress certain warnings. Thanks, Kassio
Borges. (GitHub ticket #439)
The -w flag would fail to work properly with regex features such as
alternation. Thanks to Ed Avis for the report (GitHub ticket #443)
The -g flag should now work faster on larger codebases. Thanks to
Manuel Meurer for the report (GitHub ticket #458)
[ENHANCEMENTS]
ack now ignores JavaScript and CSS source maps. Thanks, Chris
Rebert.
ack now ships with customized shell completion scripts for bash and zsh.
2.13_06 Sat Jan 25 23:36:09 CST 2014
====================================
[FIXES]
More fixes for Windows tests. Thanks to GitHub user @ispedals.
[ENHANCEMENTS]
Add docs for available colors in ack.
2.13_05 Thu Jan 9 22:41:33 CST 2014
====================================
[FIXES]
More whack-a-mole with Windows failures. This time, it's POSIX::mkfifo
dying on Windows instead of returning undef like the docs implied,
or at least that I inferred.
[ENHANCEMENTS]
--create-ackrc keeps the comments that describe each of the options,
and it shows the ack version number.
2.13_04 Sat Jan 4 11:17:28 CST 2014
====================================
[FIXES]
Fixed incorrect deduping of config files under Windows. Thanks,
Denis Howe.
2.13_03 Thu Jan 2 22:23:03 CST 2014
====================================
[FIXES]
More build fixes for Windows. Windows config finder fixes from
James McCoy.
t/ack-named-pipes.t uses POSIX::mkfifo instead of the external
command, which should be more portable. Thanks, Pete Krawczyk.
[ENHANCEMENTS]
Now ignores Cabal (Haskell) sandboxes. Thanks, Fraser Tweedale.
Added filetypes for Jade, Smarty and Stylus. Thanks, Raúl Gundín.
2.13_02 Fri Dec 27 12:54:27 CST 2013
====================================
[FIXES]
The building of ack-standalone relied on the output of `perldoc
-l`, which I apparently can't rely on having been installed. I've
changed the way that the squash program finds File::Next.
2.13_01 Wed Dec 25 13:36:08 CST 2013
====================================
So this is Christmas
And what have you done
I'm sitting here hacking
On ack 2.13_01
-- via Pete Krawczyk
[FIXES]
Issue #313: ack would fail when trying to check files for readability
on some networked filesystems, or on Mac OS X with ACLs. Now it
uses the filetest pragma. Thanks, Jonathan Perret.
[INTERNALS]
ack's entire test suite now runs under Perl's -T taint flag. We'll
build more security tests on top of this.
Added some checks to the squash program that I hope will turn up
errors in the Windows builds.
2.12 Tue Dec 3 07:05:02 CST 2013
====================================
[SECURITY FIXES]
This verison of ack prevents the --pager, --regex and --output
options from being used from project-level ackrc files. It is
possible to execute malicious code with these options, and we want
to prevent the security risk of acking through a potentially malicious
codebase, such as one downloaded from an Internet site or checked
out from a code repository.
The --pager, --regex and --output options may still be used from
the global /etc/ackrc, your own private ~/.ackrc, the ACK_OPTIONS
environment variable, and of course from the command line.
[ENHANCEMENTS]
Now ignores Eclipse .metadata directory. Thanks, Steffen Jaeckel.
[INTERNALS]
Removed the Git revision tracking in the --version.
2.11_02 Sun Oct 6 12:39:21 CDT 2013
====================================
[FIXES]
2.11_01 was mispackaged. This fixes that.
2.11_01 Sun Sep 29 13:15:41 CDT 2013
====================================
[FIXES]
Fixed a race condition in t/file-permission.t that was causing
failures if tests were run in parallel.
2.10 Tue Sep 24 16:24:11 CDT 2013
====================================
[ENHANCEMENTS]
Add --perltest for *.t files.
Added Matlab support. Thanks, Zertrin.
[FIXES]
Fix the test suite for Win32. Many thanks to Christian Walde for
bringing the severity of this issue to our attention, as well as
providing a Win32 development environment for us to work with.
Fixed Win32-detection in the Makefile.PL. Thanks, Michael Beijen
and Alexandr Ciornii.
More compatibility fixes for Perl 5.8.8.
2.08 Thu Aug 22 23:11:45 CDT 2013
====================================
[ENHANCEMENTS]
ack now ignores CMake's build/cache directories by default. Thanks,
Volodymyr Medvid.
Add shebang matching for --lua files.
Add documentation for --ackrc.
Add Elixir filetype.
Add --cathy option. Thanks to Joe McMahon.
Add some helpful debugging tips when an invalid option is found.
Thanks to Charles Lee.
Ignore PDF files by default, because Perl will detect them as text.
Ignore .gif, .jpg, .jpeg and .png files. They won't normally be
selected, but this is an optimization so that ack doesn't have to
open them to know.
[FIXES]
Ack's colorizing of output would get confused with multiple sets
of parentheses. This has been fixed. (Issue #276)
Ack would get confused when trying to colorize the output in
DOS-format files. This has been fixed. (Issue #145)
2.06
====================================
This mistake of an upload lived for only about 15 minutes.
2.05_01 Tue May 28 10:12:04 CDT 2013
====================================
[ENHANCEMENTS]
We now ignore the node_modules directories created by npm. Thanks,
Konrad Borowski.
--pager without an argument implies --pager=$PAGER.
--perl now recognizes Plack-style .psgi files. Thanks, Ron Savage.
Added filetypes for Coffescript, JSON, LESS, and Sass.
[FIXES]
Command-line options now override options set in ackrc files.
ACK_PAGER and ACK_PAGER_COLOR now work as advertised.
Fix a bug resulting in uninitialized variable warnings when more
than one capture group was specified in the search pattern.
Make sure ack is happy to build and test under cron and other
console-less environments.
Colored output is now supported and on by default on Windows.
2.04 Fri Apr 26 22:47:55 CDT 2013
====================================
ack now runs on a standard Perl 5.8.8 install with no module updates.
The minimum Perl requirement for ack is now explicitly 5.8.8. Anything
before 5.8.8 will not work, and we've added checks. Thanks, Michael
McClimon.
[FIXES]
ack was colorizing captured groups even if --nocolor was given.
Thanks, Dale Sedivic.
[ENHANCEMENTS]
The --shell file type now recognizes the fish shell.
We now ignore minified CSS or Javascript, in the form of either *.css.min
or *.min.css, or *.js.min or *.min.js.
Added support for the Dart language.
ack 2.02 was much slower than ack 1.96, up to 8x slower in some cases.
These slowdowns have been mostly eliminated, and in some cases ack 2.04
is now faster than 1.96.
2.02 Thu Apr 18 23:51:52 CDT 2013
====================================
[ENHANCEMENTS]
The firstlinematch file type detection option now only searches the
first 250 characters of the first line of the file. Otherwise, ack
would read entire text files that were only one line long, such as
minified JavaScript, and that would be slow. Thanks, Michael
McClimon.
[DOCUMENTATION]
Many clarifications and cleanups. Thanks, Michael McClimon.
2.00 Wed Apr 17 22:49:41 CDT 2013
====================================
The first version of ack 2.0.
# Incompatibilities with ack 1.x
ack 2 makes some big changes in its behaviors that could trip up
users who are used to the idiosyncracies of ack 1.x. These changes
could affect your searching happiness, so please read them.
* ack's default behavior is now to search all files that it identifies
as being text. ack 1.x would only search files that were of a file
type that it recognized.
* Removed the `-a` and `-u` options since the default is to search
all text files.
* Removed the `--binary` option. ack 2.0 will not find and search
through binary files.
* Removed the `--skipped` option.
* Removed the `--invert-file-match` option. `-v` now works with
`-g`. To list files that do not match `/foo/`
ack -g foo -v
* `-g` now obeys all regex options: `-i`, `-w`, `-Q`, `-v`
* Removed the `-G` switch, because it was too confusing to have two
regexes specified on the command line. Now you use the `-x` switch
to pipe filenames from one `ack` invocation into another.
To search files with filename matching "sales" for the string "foo":
ack -g sales | ack -x foo
# New features in ack 2.0
ack 2.0 will:
* By default searches all text files, as identified by Perl's `-T` operator
* We will no longer have a `-a` switch.
* improved flexibility in defining filetype selectors
* name equality ($filename eq 'Makefile')
* glob-style matching (`*.pl` identifies a Perl file)
* regex-style matching (`/\.pl$/i` identifies a Perl file)
* shebang-line matching (shebang line matching `/usr/bin/perl/`
identifies a Perl file)
* support for multiple ackrc files
* global ackrc (/etc/ackrc)
* https://github.com/petdance/ack/issues/#issue/79
* user-specific ackrc (~/.ackrc)
* per-project ackrc files (~/myproject/.ackrc)
* you can use --dump to figure which options are set where
* all inclusion/exclusion rules will be in the ackrc files
* ack 2.0 has a set of definitions for filetypes, directories to
include or exclude, etc, *but* these are only included so you don't
need to ship an ackrc file to a new machine. You may tell ack to
disregard these defaults if you like.
* In addition to the classic `--thpppt` option to draw Bill the
Cat, `ack --bar` will draw (of course) Admiral Ackbar.