Skip to content

Releases: apjanke/octave-tablicious

0.4.3

06 Jul 20:05
Compare
Choose a tag to compare

Changes:

  • Fix "[foo (...)]" syntax-ish errors in some functions.
    • Affected datetime, calendarDuration, localdate, splitapply, mustBeCellstr, and some display functions using tblish.internal.mycombvec.
  • table
    • Correctly handle nested tables in some cases ()- and {}-indexed assignments, when indexing in to those nested tables.
    • Fix assignment to some table.Properties.<X> pseudo-properties.
    • Apply object validation after more mutation operations.
  • Fix variable number display in table.summary.
  • Fix duration constructor bug that returned NaNs in cellstr row vectors. (#134)

0.4.2

07 Feb 17:23
Compare
Choose a tag to compare

0.4.2 (2024-02-07)

  • Add end override methods to string, datetime, etc. so x(end) indexing works correctly.
  • table
    • table: summary: omit NaNs from mean(), include NaN counts.
    • table: Fix rownames, broken by bad internal .Properties reference.
  • categorical.summary: include frequencies in output

Documentation

  • Alphabetize methods under classes in alphabetical index.

0.4.1

07 Feb 15:27
Compare
Choose a tag to compare

0.4.1 (2024-02-07)

Quick bugfix to 0.4.0 to fix an embarrassing string bug.

Bug Fixes

  • string:
    • string: Fix missing trailing newline in string display in string.disp.
    • string: Add + operator overload that does string concatenation.

0.4.0

07 Feb 14:57
Compare
Choose a tag to compare

Version 0.4.0 (2024-02-07)

Breaking Changes

  • Remove (fill,rm,standardize)missing functions, deferring to the Statistics package.
  • table arrays:
    • table: Have fieldnames (obj) expose variable and dimension names and Properties, instead of the internal implementation properties.
    • table: Remove grpstats method and replace with tblish.table.grpstats() function, to avoid overriding or interacting with Statistics' grpstats() function.
    • table: Deprecate rows, columns methods.
  • `datetime:
    • Deprecate .dnums property access.
      • This was only public for debugging purposes during initial development, and not intended to be part of the public API. The datenum method is the supported way to get datenums here.
  • Fix string.missing() to actually return a missing value, instead of "".
  • Make internal-use properties on the main classes Access = private, now that the code is a little more mature.

Changed

  • Require Octave 7.x or later.
  • Fix Octave 7.x and 8.x compatibility in installation and package loading.
  • table arrays:
    • table: Fix "preallocation" constructor to use 0s and ""s for fill values, unless missings are requested using an alternate pseudotype. (For compatibility with Matlab.)
    • table: Fix some advanced ()- and {}-indexing cases, including some related to multi-variable subscripting, multi-column table variables, multi-column RHS inputs, and the combination of the three.
    • table: Remove reshape, resize, vec, hasrownames, and size_equal methods.
    • table: Make congruentize a private function.
    • Add istable, istimetable, and istabular functions.
  • Fix x(ix) = [] element deletion for string, datetime, table, and other classes.
  • Add idempotent one-arg constructor forms for string, datetime, categorical. (But not table.)
  • Add NaS, NaC, and todatetime functions.
  • Make head and tail functions instead of methods on table.
  • Add string.ne method.
  • Fix concatenation of @missing arrays.
  • Rename +tablicious package to +tblish; merge +octave package into +tblish.
  • Move +table_examples package to +tblish/+examples.
  • Move the sizeof() override methods to a tblish.sizeof() function to avoid shadowing core Octave's sizeof, until I understand if it's intended to support extension by classdefs.
  • Fix the doco generation, including publishing to GitHub Pages.

Internal

  • Convert code style to GNU Octave code style, mostly.
  • Move mustBe* functions to a validators/ subdirectory, just for tidiness.
  • Revamp doc-generation tools.
  • Add experimental MP-Test based unit tests to supplement BISTs, for detailed testing of table behavior.

0.3.7

06 Jan 02:50
Compare
Choose a tag to compare
  • Fix installation under Octave 7.x. (#91)
  • Fix orphaned sections in documentation.
  • Add table.size_equal method. (#81)
  • Add string.empty static method.

Internal refactoring:

  • Rearrange doco files so the main source file is named *.texi and its extension is recognized by editors.

0.3.6

05 Jul 09:15
Compare
Choose a tag to compare

Bugfix release.

  • Fix multi-argout calling form of table.size. (Thanks, @rdzman!)
  • Fix table dot-indexing assignment by having table.numel always return 1.
  • Support arbitrary strings as variable names (#82).

Version 0.3.5

30 Jan 20:45
Compare
Choose a tag to compare
  • Fix compiler warnings on systems with 32-bit octave_idx_type

Version 0.3.4

29 Jan 01:52
Compare
Choose a tag to compare
  • Octave 6.x compatibility: move some mustBe* validators into compatibility shims

Version 0.3.3

28 Jan 23:05
Compare
Choose a tag to compare
  • Re-build to fix distribution metadata/DESCRIPTION

Version 0.3.2

28 Jan 22:25
Compare
Choose a tag to compare

Version 0.3.2 (2020-01-28)

  • sprintf and fprintf support for datetime, categorical, and other classes
  • Added ChangeLog in CHANGES.txt
  • Octave 6.x compatibility fix