Skip to content

v3.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Oct 13:49
0aa2d6a

✨ Features

  • indexed times, (times [i n] body...) (#827)
  • add generation-2 compressed columns
  • add q-style F32 literals (#911)
  • add nanosecond timespan values (#917)

🐛 Bug fixes

  • drop a late _POSIX_C_SOURCE define in test_link.c (#774)
  • validate CLI integers and cap worker count (#793)
  • reject arguments to snapshot and sync (#795)
  • finalize owned programs and guard serialization (#797)
  • reject arguments to read-only introspection calls (#798)
  • run tasks past the ring in further rounds of the same grain (#805)
  • unsigned key spans, numeric F64 composite order, F32 key test (#806)
  • parted STR/LIST group merge; composite keys at full symbol width (#807)
  • parted avg/var over nulls, binary-agg second operand, keyless emit, merge by position (#815)
  • print an uncaught raise's value, rendered lazily and bounded (#811)
  • implement multi-branch if in both evaluators (#812)
  • abort cancelled batch interns before commit (#825)
  • sort, take, format and serialize parted tables in place (#826)
  • free the superseded generation at reopen instead of retiring it (#832)
  • at keeps a typed vector's type for any integer index (#829)
  • comparisons and and/or/not work element-wise on a LIST (#830)
  • dyadic min/max give the operands' promoted type; LIST results typed (#831)
  • release distinct error values on failure (#834)
  • skip memory flag value in .sys.args (#835)
  • preserve signed zero in constant pool (#836)
  • reverse tables and dictionaries (#837)
  • parted where/take/group fixes; column-free aggregate sources (#833)
  • amend a dotted target in place when its dict chain is sole-owned (#839)
  • sort nullable min groups after aggregation (#843)
  • avoid raw-sum ranking for affine top-N (#844)
  • map, fold and scan box a typed vector one element at a time (#840)
  • reject local targets before global writes (#846)
  • select clang by default and test clang 23 in CI (#845)
  • a cancelled splayed write publishes nothing (#860)
  • affine sum bias counts the non-null rows (#861)
  • LIST cells keep inner nulls and GUIDs, table/dict cells compare by value (#863)
  • eval-level grouping over parted tables, by-dict aliases and LIST keys (#862)
  • print a null symbol as ', not null (#872)
  • take rows from a parted table handle (#867)
  • materialize a lazy result inside the timed span (#868)
  • free nested containers without recursing per level (#874)
  • rebuild the build-info objects when the version or date changes (#875)
  • keep a DATE or TIME atom within 32 bits, as its vector cells are (#879)
  • read a time literal's fraction as a decimal fraction of a second (#885)
  • never follow a link when removing what the store cleans up (#878)
  • apply a parsed float's sign through its bits, not FP negation (#887)
  • decline unary numeric DAG ops on types their builtins reject (#891)
  • break top-N ties on first source row (#892)
  • strlen sum/avg skip the empty string on every route (#888)
  • sorted, taken and parted routes honour a lambda local that hides a column (#889)
  • free the count-distinct where-sample chunk list once (#899)
  • parse F32 and GUID nulls and align F32 casting and printing (#901)
  • finalize parallel null flags only after workers join (#903)
  • preserve WHERE predicate row domains (#908)
  • return ordinary BOOL and U8 values for null inputs (#913)
  • decline temporal div and mod in the select DAG (#906)
  • isolate whole-row reader input domains (#916)
  • decline mixed symbol equality operands (#928)
  • a null atom gives a typed null (#931)
  • a zero divisor gives a null in fused arithmetic (#932)
  • keep the F64 type of a whole-number float bias in sum and avg (#941)
  • use 32-bit TIME in sortedness shortcut (#939)
  • reject non-atom results in flat STR casts (#927)
  • handle delimiters longer than split input (#953)
  • restrict float promotion to I64/F64 atoms (#965)
  • return B8 for symbol prior comparisons (#967)
  • promote both integer atom subtraction operands (#979)
  • distinguish dyadic minmax from reductions (#980)
  • compute TIMESPAN medians through rank kernels (#982)

⚡ Performance

  • reuse already ordered select input (#847)
  • use asof index for null-free symbol keys (#848)
  • answer a dotted name's flat global lookup from a slot filter (#870)
  • build adjacency lists by counting sort instead of sorting all edges (#886)
  • count and scatter edges on the pool when building a CSR (#895)
  • keep integer rounding in the select DAG (#896)
  • batch staged SYM strlen accumulation (#910)
  • take split WHERE rows without a full gather (#907)
  • avoid double rounding bulk growth payloads (#925)
  • keep sizing off reserved-capacity single appends (#938)
  • rank symbols before parallel sortedness checks (#937)
  • avoid repeated parted metadata walks (#936)
  • retain left columns for identity output mappings (#943)
  • skip speculative hashing for minimum chained tables (#942)
  • size the default pool from the CPUs the process may run on (#944)
  • index global binding writes by symbol (#955)
  • memory bounds on small machines, wide dense grouping, compressed-column range reads, trusted own files, per-column symbol files (#964)

📚 Documentation

  • document embedding as a static library (#783)
  • name resolution in queries; take cycles (#817)
  • document every .sys.mem key (#890)
  • explain filter domain barriers and static ranking (#909)
  • describe sequential callbacks and kernel parallelism (#949)
🔧 Maintenance & internal
  • test(app): cover CLI argument errors (#799)
  • build: scope section GC flags to static library (#804)
  • test(heap): measure discarded spill pages against the dirty ones (#857)
  • test: pool read-ahead and pty master-close tests hold on older kernels (#873)
  • test(heap): check the spill discard where a punch cancels no writes (#894)
  • test(mem): replace caller-heap fallback peak proxy with scoped oracles (#915)
  • test(opt): exercise subset invariance on copied row subsets (#914)

Full changelog: v2.11.5...v3.0.1