Breaking
- Stopping to serialize moonblade lists either as joined by some separator or JSON. This was awkard, error-prone & potentially lossy. Use the
joinfunction manually to format output when required. - As per previous point, dropping
xan scrape --sep. - Dropping implicit unary function calls in moonblade pipelines. This feature was not well-known, confusing (an indentifier, could be understood as a call in a pipeline, only if not in first position...), and mostly useless now that moonblade has had a proper dot operator.
xan plot -A/--aggregatedoes not take an expression anymore but has an automatic selection of two modes:sumandmean. It should also be faster.- Renaming the
indexfunction asrow_indexfor clarity. xan agg -C/--along-columns & -M/--along-matrix&xan groupby -C/--along-columns & -M/--along-matrixwill not map current column index to the result of theindex()function. Thecol_index()can be now used instead for this very purpose.xan window -g/--groupbydoes not require the file to be sorted anymore. This means using-g/--groupbywill now require the whole file to be buffered into memory by the command. The old behavior can still be used through the-S/--sortedflag, thus aligning thexan windowcommand with the rest of the tool.row_indexwill now error if the expression has no concept of row index, instead of returning nothing.xan parallel -z/--compressnow take the desired compression (eithergziporzstd).- Retiring the
xan grepcommand in favor ofxan search -Z/--fast-parser. xan tokenize --keepshort flag becomes-kinstead of-Kto harmonize with other commands.- Retiring the
xan flatmapcommand in favor ofxan explode -e. - Retiring the
xan fuzzy-joincommand in favor of a consolidatedxan joincommand. - Changing
xan from -f txt -c <name>default tolineinstead ofvalue. - Renaming
xan join -L/--prefix-left & -R/--prefix-rightshort flags to-l&-rrespectively to avoid colliding with the added-R/--reverseflag that can be used for merge joins. - Dropping
xan plot -B/--bars. It never worked very well and its use-case will be redirected toxan spark. - Changing
xan heatmap --widthshort flag from-wto-Wso that adding a-H/--heightflag remain consistent and avoids clashing with-h/--help. - Dropping
xan heatmap --show-gradientsin favor ofxan help gradients. - Renaming
xan search -A/--allflag to--every-columnfor clarity and avoid clash with-A/--after-context. - Dropping
xan sort -U/--unstable. It was never used and the performance boost it supposedly provides cannot be observed.
Features
- Adding
xan parallel --dont-chunk. - Adding nullary
col,col_index&headervariants, to work with expression applied in series to multiple columns at once. - Adding
prev_col&next_colfunctions. - Adding
xan (search|filter) -B/--before-context & -A/--after-context. - Adding
xan window -O/--overwrite. - Adding
xan map -C/--along-columns. - Adding
xan window -C/--along-columns. - Adding
xan cat rows --raw, -P/--preprocess & -H/--shell-preprocess. - Improving
xan selectDSL star selectors. You can now do stuff likevec_*_count,*[1],vec_*[1]etc. xan p -H/--shell-preprocessnow works on Windows.- Adding native
zshcompletions (@apcamargo). - Adding
xan dedup --u32. - Adding
xan explode -e/--evaluate, -f/--evaluate-file, --pad & -k/--keep. xan to npyis now able to stream.- Adding
xan parallel top&xan top -p/--parallel, -t/--threads. - Adding
xan network edgelist --range. - Adding
xan network nodelist. - Adding the
xan runcommand. - Adding
xan view --name. - Adding
xan join -S/--sorted, -R/--reverse & -N/--numeric. - Adding
xan parallel --run&xan cat rows --run. - Adding
xan to md -l/--limit. - Adding the
xan sparkcommand. - Adding
xan stats -R/--report, --color, --cols, --sep. - Adding
xan (freq|p freq) -X/--approx-algo. - Adding
xan plot -D/--density-gradient, --density-scale, --hide-legend, --hide-x-axis, --hide-y-axis, --hide-all & -Q/--square. xan separatewill now avoid emitting columns with an empty name given to--into.- Adding
xan separate --txt & --F/--filter. - Adding
pow&sqrtscales.
Fixes
- Fixing issues related to nested lambdas in expressions.
- Fixing
xan renameconsistency regarding CRLF newlines and first row normalization when using-n/--no-headers. - Fixing
xan map --overwrite --filter. - Fixing
leadwindow function when there is not enough rows ahead. - Fixing
xan network --formatnot being validated early enough. - Fixing
xan explode -D/--drop-emptywhen selecting multiple columns. - Fixing
xan merge -urow precedence. - Fixing
xan join -D/--drop-keyautomatic selection when using--full. - Fixing granularity inference of
xan plot -T. - Fixing
xan from -f (json|ndjson)to emit empty outputs from empty inputs. - Fixing
xan headerslayout when input files have a very large number of columns (>= 1000). - Fixing arity validation of
top,argtop,most_common&most_common_countsaggregation functions.
Performance
- moonblade expressions are now faster overall and allocate more cautiously, thus saving memory.
- Improving performance of
xan transform,xan flatmap,xan agg&xan groupby. - Improving performance of
xan rename. - Faster
xan range. - Faster
xan parallel -H/--shell-preprocess. - Faster
xan tokenize words. - Adding fast path for
xan explodewhen only a single column is selected. - Faster
xan sort -e.
Quality of Life
xan plotwill now display<empty>label in legends.xan cat rowswill now error when input have inconsistent columns.- Automatic column alignement with
xan to md. xan fromnow consider.logfiles as text lines.