summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: 34a2cda4c99a72d5c186b385e2b93df8dd8f36bd (plain)
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
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
2014-06-09  Nicolas Williams  <nico@cryptonector.com>

	Add libm.h to dist file list

	Add note about cmd.exe quoting

	Building docs fails on powerpc (#349)

2014-06-08  Nicolas Williams  <nico@cryptonector.com>

	Update site news

	Also fix configure.ac to use git describe --tags

	Fix scripts/version: use git describe --tags ...
	After tagging as 1.4 scripts/version was still producing jq-1.3-....

	Add `indices(s)`, improve `index(s)`, `rindex(s)`
	Now these deal with arrays as input and `s` being an array or a scalar.

	Improve `index` and `rindex` examples

	Remove reference to `getpath` from docs

	Document `index` and `rindex` (#389)

2014-06-07  Santiago Lapresta  <santiago.lapresta@gmail.com>

	Added `join` function

2014-06-07  Nicolas Williams  <nico@cryptonector.com>

	String * number should be commutative

2014-06-04  Nicolas Williams  <nico@cryptonector.com>

	Add cross-compilation notes to README
	A detailed set of instruction as to how to setup a cross-compilation
	environment for OS X and Win32/64 would be nice.

	Add -j option to scripts/crosscompile

	Add flags argument to jv_parser_new()
	For extensibility.  We might add streaming parser options, even binary
	JSON encoding options.

2014-06-02  Nicolas Williams  <nico@cryptonector.com>

	Fix tests failures on Windows
	And Solaris 8 and 9 too, no doubt.  The problem was that non-standard
	vsnprintf()s that return -1 when the buffer is too small were not
	properly supported.

2014-05-20  Santiago Lapresta  <santiago.lapresta@gmail.com>

	Documented `del` command

2014-05-11  Santiago Lapresta  <santiago.lapresta@gmail.com>

	Added texts/examples to unique_by function

	Added unique_by function

2014-04-17  Nicolas Williams  <nico@cryptonector.com>

	Make pthread tls configurable for Mingw build
	For the Mingw build we don't want to pull in the pthread DLL just
	because we can autodetect pthread support.  That would make the jq.exe
	binary not self-contained.

2014-04-16  Nicolas Williams  <nico@cryptonector.com>

	Add autoconf checks for pthreads; fix #340

2014-03-20  Jingwen Owen Ou  <jingweno@gmail.com>

	Add link to jqplay

2014-03-13  Nicolas Williams  <nico@cryptonector.com>

	Fix for #303 in the sources

2014-03-13  Santiago Lapresta  <santiago.lapresta@gmail.com>

	Added `arrays` and other filters
	Arrays, objects, numbers, strings, booleans, nulls, values (non-nulls)
	-- these builtins filter out those inputs that don't match the name of
	the builtin.

	This fixes #322 and #324.

2014-03-07  Filippo Valsorda  <filippo.valsorda@gmail.com>

	Add a recursive object merge strategy and bind it to *
	This commit adds a jv_object_merge_recursive function, that performs
	recursive object merging, and binds it to multiply when applied to
	two objects.

	Closes #320

2014-03-06  Nicolas Williams  <nico@cryptonector.com>

	Make libm tests more portable

2014-02-26  Andrew Rodland  <andrew@cleverdomain.org>

	Repair jv_show

2014-02-26  Andrew Rodland  <andrew@cleverdomain.org>

	Make jq --raw-output --unbuffered work
	--unbuffered was only affecting the normal output case, not the --raw-output case. Make the two of them play together.

	This also makes sure that the output is flushed *after* printing the newline, so a consumer doesn't lag a line behind.

2014-02-21  Nicolas Williams  <nico@cryptonector.com>

	Add cbrt (cube root)

	Add missing trig functions and barebones test

	Remove non-standard exp10()

2014-02-21  Mike McCabe  <mccabe@archive.org>

	Initial add of math functions.

2014-02-20  Nicolas Williams  <nico@cryptonector.com>

	Add `?`, `.[]?`, and `..` operators
	Make XPath-like `//a/b` recursive structure traversal easier in jq,
	which then becomes:

	    ..|.a?.b?

	The `?` operator suppresses errors about . not being an array or object.
	The `..` operator is equivalent to calling the new `recurse_down`
	built-in, which in turn is equivalent to

	    recurse(.[]?)

	Note that `..a` is not supported; neither is `...a`.  That could be add
	added, but it doesn't seem worth the trouble of saving the need to type
	a '|'.

2014-02-16  Santiago Lapresta  <santiago.lapresta@gmail.com>

	Added `all` and `any` builtins

2014-01-25  polyester  <paul@cleanclothes.org>

	work with newer versions of automake
	when using a newer automake, the autoreconf step fails with warnings:
	"linking libtool libraries using a non-POSIX archiver requires 'AM_PROG_AR' in 'configure.ac' "

	This happens for instance on ubuntu 13.10.
	Doing just that, adding 'AM_PROG_AR' to configure.ac fixes the problem.

2014-01-01  Nicolas Williams  <nico@cryptonector.com>

	Fix #201; check that bison accepts --warnings

2013-12-27  Joe Littlejohn  <joe.littlejohn@nokia.com>

	Fix rpm build (`make rpm`)
	* Re-add VERSION as it's required for `./setup superclean`
	  and `make rpm`.
	* Add *.rpm to git ignore, we never want them under version control.

2013-12-27  Filippo Giunchedi  <fgiunchedi@gmail.com>

	include additional files in jq.spec
	this will probably need changing upon SONAME bump

	fix rpm Makefile target and prerequisites
	depend on dist and the specfile, plus use automake's variables

2013-12-26  Nicolas Williams  <nico@cryptonector.com>

	Document --version

2013-12-26  Nicolas Williams  <nico@cryptonector.com>

	Add jv_dumpf() and jv_show()
	jv_dumpf() takes a FILE *.

	jv_show() is intended for use in debuggers, so it dumps the jv to stderr
	and it does not jv_free() the jv, so it's safe to
	"call jv_show(some_jv, -1)" in a debugger.  If flags == -1 then the jv
	will be shown pretty-printed and in color.

2013-12-26  Nicolas Williams  <nico@cryptonector.com>

	Document .foo.bar in manual

	Document exit numbers

	Normalize errors for -e

2013-12-25  Nicolas Williams  <nico@cryptonector.com>

	Fix doc typos (.[foo] wanted to be .["foo"])

	Add note to jq.1 about shell quoting

2013-12-20  Philipp Hagemeister  <phihag@phihag.de>

	Ignore the config/test-driver file
	This file is automatically generated and does not need to be committed.

	Fix @uri example
	Previously, the @uri example didn't match the actual behavior of the current jq, as exclamation marks do not need to be encoded in URIs.
	Replace the example with an input that needs encoding, and is encoded by jq.

2013-12-17  Stephen Dolan  <mu@netsoc.tcd.ie>

	Allow negated object values without parens. Fixes #247

2013-12-17  Nicolas Williams  <nico@cryptonector.com>

	Fix memmem() error

2013-12-13  Rémy Léone  <remy.leone@gmail.com>

	Adding a .travis.yml file to use the travis-ci.org
	From wikipedia:

	Travis CI is a hosted, distributed continuous integration service used
	to build and test projects hosted at GitHub.

	Travis CI is configured by adding a file named .travis.yml, which is a
	YAML format text file, to the root directory of the GitHub repository.

	Travis CI automatically detects when a commit has been made and pushed
	to a GitHub repository that is using Travis CI, and each time this
	happens, it will try to build the project and run tests. This includes
	commits to all branches, not just to the master branch. When that
	process has completed, it will notify a developer in the way it has been
	configured to do so — for example, by sending an email containing the
	test results (showing success or failure), or by posting a message on an
	IRC channel. It can be configured to run the tests on a range of
	different machines, with different software installed (such as older
	versions of a programming language, to test for compatibility).

2013-12-13  Stephen Dolan  <mu@netsoc.tcd.ie>

	Make the testsuite run on machines without valgrind

	Format more integers as integers, not scientific notation.
	jq is now willing to put up to 15 zeros after an integer before
	moving to scientific notation.

2013-12-11  Nicolas Williams  <nico@cryptonector.com>

	Complete more-arity feature not complete
	And test

2013-12-10  David R. MacIver  <david@drmaciver.com>

	convert range bounds to integers in a way that avoids undefined behaviour

	add checking of numeric indices to an array to see if they can reasonably be considered integers. Avoid undefined behaviour if out of bounds

2013-12-09  David R. MacIver  <david@drmaciver.com>

	some functions were missing prototypes. Add them

2013-12-08  David R. MacIver  <david@drmaciver.com>

	These vfprintfs are being used as if they were printfs. Fix that

	consistent use of goto out in main

2013-12-08  Stephen Dolan  <mu@netsoc.tcd.ie>

	Refactor jv structure.
	New structure layout is simpler and also faster.  In particular, it's
	now small enough to be passed in registers on amd64.

	Make testsuite not leak when compiled with -DNDEBUG.

2013-12-08  David R. MacIver  <david@drmaciver.com>

	test for losing memory on compile errors

	args to jq_compile_args were not getting freed when there were errors in the compile

2013-12-06  Nicolas Williams  <nico@cryptonector.com>

	Fix double-free typo in print_error()

	Fix manual.yml

2013-12-04  Nicolas Williams  <nico@cryptonector.com>

	Conditionally #define _GNU_SOURCE in compile.c

	Add tests for string index by string and builtins

	Add index and rindex builtins

	Add index strings by string; return string indexes
	    % jq '.[","]'
	    "a,bc,def,ghij,klmno"
	    [1,4,8,13]
	    %

	Make length return abs value of numeric inputs

	Add callback interface for errors
	Printing to stderr is not the right answer for a library.

	Add jv_string_vfmt()

	Document ltrimstr and rtrimstr

	Test ltrimstr and rtrimstr functions

	Add ltrimstr and rtrimstr functions

	Document -e / --exit-status argument

	Add -e | --exit-status CLI option

	Document tojson and fromjson builtins

	Test tojson and fromjson

	Add tojson and fromjson builtins

	Document split function

	Document string multiplication and division

	Document string functions and slicing

	Test string slicing

	Add string slicing

	Add tests for string division/splitting

	Add string division by string (split on separator)

	Test starts/endswith and string multiplication

	Add string multiplication by number

	Add startswith/endswith

	Add explode/implode jq functions to match jv API

	Use uint32_t for codepoint in  jv_string_append_codepoint()

	Add jv string utility functions
	    jv_string_empty()
	        -> return an empty string with given allocated length (for fast
	           appends)
	    jv_string_append_codepoint
	        -> append a single codepoint (int) to the given string
	    jv_string_explode
	        -> return an array of codepoints making up a string
	    jv_string_implode
	        -> return the UTF-8 encoding of an array of codepoint numbers

	Support more arguments for defs

2013-12-04  Stephen Dolan  <mu@netsoc.tcd.ie>

	Preserve insertion order in objects. Closes #169.

2013-11-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a few more test cases (from the man page)

2013-11-08  Stephen Dolan  <mu@netsoc.tcd.ie>

	Add a --unbuffered option. Closes #206

2013-11-07  Peter van Dijk  <peter@7bits.nl>

	count should be length
	Example refers to a count function, which does not exist. Replacing it with length works.

2013-11-07  Stephen Dolan  <mu@netsoc.tcd.ie>

	Fix a crash on group_by of empty list. Fixes #208.

2013-10-16  Ryoichi KATO  <ryo1kato@gmail.com>

	Docs: add description of --from-file option

2013-10-06  Juan Guerrero  <juan.guerrero.lozano@gmail.com>

	Fix typo on error message

2013-09-19  Kenny Shen  <kenny.shen@zalora.com>

	Add missing -i flag in build instructions

2013-09-14  Michael Daines  <michael@mdaines.com>

	Add test showing calculation of standard deviation

2013-09-13  Mike Daines  <michael@mdaines.com>

	Fix typo

2013-09-11  Michael Daines  <michael@mdaines.com>

	Add sqrt operator

2013-09-04  Jack Pearkes  <jackpearkes@gmail.com>

	docs: update the tutorial to use GitHub's API

2013-09-01  Ankur  <ankz.kothari@gmail.com>

	Call AM_INIT_AUTOMAKE once only
	Fixes build with automake-1.14

2013-08-19  Joe Littlejohn  <joe.littlejohn@nokia.com>

	Fix Makefile after refactoring of stacks in 05d90517b02

2013-06-23  Stephen Dolan  <mu@netsoc.tcd.ie>

	Remove #includes from jv.h

	Fix the jv_parser interface.

	Use libtool's built-in symbol exporting rather than a mapfile.

	Move gen_utf8_tables to scripts

	Move libtool m4 junk to config/ and delete some autogenerated files.

	Remove Autoconf-generated config.h.

2013-06-22  Stephen Dolan  <mu@netsoc.tcd.ie>

	Build libjq only once, and link it statically to ./jq
	This means ./jq is a real binary rather than a libtool turd.

	Fix distcheck.
	Update list of files to be distributed.

	Utf8 fixes. Closes #161

	Reject all overlong UTF8 sequences.

	Fix various UTF8 parsing bugs.
	In particular, parse bad UTF8 by replacing the broken bits with U+FFFD
	and resychronise correctly after broken sequences.

	Fix example in manual for `floor`. See #155.

2013-06-21  Nicolas Williams  <nico@cryptonector.com>

	Document floor

	Add floor operator

	Document mod

	Add mod (and setmod) operators

	Update .gitignore

	Add libjq autoconf goo

	Quiet setup.sh re: tmp dir

2013-06-21  Stephen Dolan  <mu@netsoc.tcd.ie>

	Move cfunction invocation code to the interpreter loop.

2013-06-18  Nicolas Williams  <nico@cryptonector.com>

	Fix serious bug in handling of --argfile

	Fix leaks in jv_load_file()

2013-06-17  Stephen Dolan  <mu@netsoc.tcd.ie>

	Fold opcode.{c,h} into bytecode.{c,h}

	Simplify block functions for variables

	Saner build instructions in README.md
	Closes #144

	Remove some initialise-to-zero code.
	This lets valgrind find more bugs - if a field isn't given a
	well-defined value valgrind will now find it instead of seeing it
	set to zero with memset.

2013-06-17  Nicolas Williams  <nico@cryptonector.com>

	Remove accidentally introduced use of fopen "e"

2013-06-16  Stephen Dolan  <mu@netsoc.tcd.ie>

	Merge pull request #114 from nicowilliams/nomem_handler
	Add jv_nomem_handler()

2013-06-16  Nicolas Williams  <nico@cryptonector.com>

	Remove last remnant of main.h

2013-06-15  Nicolas Williams  <nico@cryptonector.com>

	Allow --run-tests to take a file argument

	Fixup API to get closer to a libjq

2013-06-15  Nicolas Williams  <nico@cryptonector.com>

	Move slurp_file() into library as jv_load_file()
	Needed as part of creating a libjq.

2013-06-14  Stephen Dolan  <mu@netsoc.tcd.ie>

	Clean up lots of stack and frame logic.
	Move frame defs to execute.c

2013-06-13  Stephen Dolan  <mu@netsoc.tcd.ie>

	Simplify frame logic.

	Unify all stacks. Passes tests, but needs cleanup.

2013-06-11  Stephen Dolan  <mu@netsoc.tcd.ie>

	Support ."foo" syntax for accessing fields. See #141.

2013-06-09  Stephen Dolan  <mu@netsoc.tcd.ie>

	Unify frame and data stacks

2013-06-05  Stephen Dolan  <mu@netsoc.tcd.ie>

	Speed up cached configure (./configure -C)

	Clean up flex lines in build

	Lex and parse .foo better.
	'.as' is now valid, '. foo' is now invalid. See #141.

2013-06-04  Markus Lanthaler  <mark_lanthaler@gmx.net>

	Update README.md
	Update the link to the documentation. All GitHub pages are now using the github.io domain.

2013-06-03  Stephen Dolan  <mu@netsoc.tcd.ie>

	Make jq --version print to stdout, not stderr

	Better error handling for .foo case in parser. See #141.

	Let the parser rather than the lexer handle invalid characters.

	Add command-line option to sort object keys.
	Closes #79.

	Clean up Makefile.am (distcheck, rebuild version.h less often)

2013-05-31  Brendan Macmillan  <melbourne.research@gmail.com>

	Stop warning on fgets, simple version

	Stop warning on fgets, complex version

2013-05-31  Stephen Dolan  <mu@netsoc.tcd.ie>

	Squash a warning on some GCC versions

2013-05-29  Stephen Dolan  <mu@netsoc.tcd.ie>

	Support for printing object keys in sorted order.
	No command-line option to enable this yet. See #79.

2013-05-29  Brendan Macmillan  <melbourne.research@gmail.com>

	Bugfix multiline off-by-one (locfile.c)

	locfile.h -> locfile.h + locfile.c
	clean up includes of a few files

	Hack bugfix for multiline off-by-one (locfile.c)

	Load library from ~/.jq

2013-05-24  Stephen Dolan  <mu@netsoc.tcd.ie>

	Make jq --version report an actual git revision.
	Closes #129.

2013-05-23  Nicolas Williams  <nico@cryptonector.com>

	Add --argfile variant of --arg (issue #117)
	This is useful when one has a database (in JSON form) to query using jq
	input data.

	    % echo '{"a":1, "c":5}' > db.json
	    % echo '"c"'|./jq --argfile f /tmp/a '$f[.]'
	    5
	    % echo '"a"'|./jq --argfile f /tmp/a '$f[.]'
	    1
	    % echo '"b"'|./jq --argfile f /tmp/a '$f[.]'
	    null
	    %

2013-05-23  Stephen Dolan  <mu@netsoc.tcd.ie>

	'make clean' won't delete jq.1 if it can't be rebuilt.
	See #131