Skip to content

Releases: itchyny/gojq

v0.4.0

20 Jul 04:49
Compare
Choose a tag to compare
  • improve performance significantly
  • rewrite from recursive interpreter to stack machine based interpreter
  • allow debugging with make install-debug and export GOJQ_DEBUG=1
  • parse built-in functions and generate syntax trees before compilation
  • optimize tail recursion
  • fix behavior of optional operator
  • fix scopes of arguments of recursive function call
  • fix duplicate function argument names
  • implement setpath function

v0.3.0

04 Jun 15:34
Compare
Choose a tag to compare
  • implement reduce, foreach, label, break syntax
  • improve binding variable syntax to bind to an object or an array
  • implement string interpolation
  • implement object index by string (."example")
  • implement various functions (add, flatten, min, min_by, max,
    max_by, sort, sort_by, group_by, unique, unique_by, tostring,
    indices, index, rindex, walk, transpose, first, last, nth,
    limit, all, any, isempty, error, builtins, env)
  • implement math functions (sin, cos, tan, asin, acos, atan,
    sinh, cosh, tanh, asinh, acosh, atanh, floor, round,
    rint, ceil, trunc, fabs, sqrt, cbrt, exp, exp10, exp2,
    expm1, frexp, modf, log, log10, log1p, log2, logb,
    gamma, tgamma, lgamma, erf, erfc, j0, j1, y0, y1,
    atan2/2, copysign/2, drem/2, fdim/2, fmax/2, fmin/2, fmod/2,
    hypot/2, jn/2, ldexp/2, nextafter/2, nexttoward/2, remainder/2,
    scalb/2, scalbln/2, pow/2, yn/2, fma/3)
  • support object construction with variables
  • support indexing against strings
  • fix function evaluation for recursive call
  • fix error handling of // operator
  • fix string representation of NaN and Inf
  • implement -R flag for reading input as raw strings
  • implement -c flag for compact output
  • implement -n flag for using null as input value
  • implement -r flag for outputting raw string
  • implement -s flag for reading all inputs into an array

v0.2.0

06 May 12:19
Compare
Choose a tag to compare
  • implement binding variable syntax (... as $var)
  • implement try catch syntax
  • implement alternative operator (//)
  • implement various functions (in, to_entries, startswith, endswith, ltrimstr, rtrimstr, combinations, ascii_downcase, ascii_upcase, tojson, fromjson)
  • support query for object indexing
  • support object construction with variables
  • support indexing against strings

v0.1.0

02 May 14:42
Compare
Choose a tag to compare
  • implement binary operators (+, -, *, /, %, ==, !=, >, <, >=, <=, and, or)
  • implement unary operators (+, -)
  • implement booleans (false, true), null, number and string constant values
  • implement empty value
  • implement conditional syntax (if then elif else end)
  • implement builtin functions (length, utf8bytelength, not, keys, has, map, select, recurse, while, until, range, tonumber, type, arrays, objects, iterables, booleans, numbers, strings, nulls, values, scalars, reverse, explode, implode, join)
  • support function declaration
  • support iterators in object keys
  • support object construction shortcut
  • support query in array indices
  • support negative number indexing against arrays
  • support json file name arguments

v0.0.1

14 Apr 14:40
Compare
Choose a tag to compare
  • Initial release