Summary of important user-visible changes for releases of the io package =============================================================================== io-1.0.19 Release Date: 2012-06-08 Release Manager: Philip Nienhuis =============================================================================== ** Bug fixes: --- getusedrange subfunc getusedrange_jod: str2num applied to indices rather than the substring. Must have been there for > 2 years, only surfaced with jopendocument v 1.3b1 --- oct2xls, oct2ods: cast all numeric types in input array to double as spreadsheets have only double, boolean or character string type. This bug has been there from the very beginning of the spreadsheet functions >8-O --- Support for reading back formulas from .xls spreadsheets using ActiveX/COM ** Compatible with jOpenDocument version 1.3b1 getUsedRange() method added (MUCH faster than the old hack) ** Compatible with odfdom-java-0.8.8-incubator.jar (ODF Toolkit 0.5-incubating) ** Compatible with Apache POI 3.8 final =============================================================================== io-1.0.18 Release Date: 2012-03-22 Release Manager: Philip Nienhuis =============================================================================== ** The following functions have been imported from the miscellaneous package: cell2csv csvconcat xmlread csv2cell csvexplode xmlwrite Their error messages and help messages have been cleaned up a bit. ** Bug fixes: --- odsfinfo: fixed "wrong type argument `cell'" bug when run interactively. --- xlsopen, odsopen: fixed messed up screen output due to UNO usage warning. --- csv2cell: checks if file is empty and if so, return an empty cell. --- xlsopen: better Java detection logic, more informative error messages ** Adapted to internal LibreOffice-3.5-final changes. Some bugs (flashing LO screens) still have to be fixed upstream - see here: https://bugs.freedesktop.org/show_bug.cgi?id=42470 ** Tried OpenXLS-6.0.7.jar. Reads OK, still unusable for writing .xls files. =============================================================================== io-1.0.17 Release Date: 2012-02-27 Release Manager: Philip Nienhuis =============================================================================== ** Bug fixes: --- oct2ods, oct2xls, odswrite default range input arg. These functions may not have worked properly for two years (!) ** Fixed support for odfdom v.0.8.7 (ODS). Note: the OTK interface only works well with xercesImpl.jar 2.9.1 (Sep 14, 2009) ** Many small bug fixes & documentation updated to actual functionality. ** Fixed "seealso" texinfo header string in almost all functions. ** Added formal test scripts to "internal functions" section. =============================================================================== io-1.0.16 Release Date: 2012-01-19 Release Manager: Philip Nienhuis =============================================================================== ** Bug fixing release ** PKG_ADD now expects Java spreadsheet class libs (.jars) in /lib/java (for MinGW) =============================================================================== io-1.0.15 Release Date: 2011-10-02 Release Manager: Philip Nienhuis =============================================================================== io-1.0.15 is primarily a bug fix release and a snapshot / wrap-up of current development status (some still a bit experimental). It mainly comprises: ** A number of bug fixes (incl. some serious ones, notably with .ods/OOo Calc); ** Some mainly cosmetic improvements to existing code; less verbosity; ** pch2mat (reading & transforming Nastran PCH files, contributed by B. Oytun Peksel); ** object2json.m (creating a json description string of objects, contributed by Daniel Torre). This was already silently introduced in io-1.0.14; ** A scripted troubleshooting / classpath setup tool for spreadsheet I/O support (chk_spreadsheet_support.m); ** Experimental OXS support (OpenXLS) for reading Excel xls (BIFF8). OpenXLS is -let's say- a little bit lacking: For reading it is faster than JXL. However, while OXS write support has been coded (and works) I had to disable it as the OXS Java classes won't release the file handle so Octave will hang upon closing :-( I'm stuck with this so I just release it as-is; ** Experimental UNO support, i.e. invoking OpenOffice.org (or clones like LibreOffice) behind the scenes to read spreadsheet files, much like ActiveX/COM for MS-Excel. This is also based on Java. The first time you use UNO, OOo has to be loaded and you'll have to be patient, but once loaded (and in the OS cache) you'll see the pros: --* Very fast; --* Much lower Java memory usage as OOo loads the spreadsheet in its own memory chunk (not Octave's) => much bigger spreadsheet capacity; --* You can read *all* formats supported by OOo: .ods, .xls, .csv, .xlsx, .sxc, .dbf, Lotus wk1, Quattro Pro, ......; and it doesn't really matter whether xlsopen of odsopen is used. Of course all this wonderful stuff comes at a prize: --* After closing the spreadsheet file (odsclose, xlsclose) ALL OOo invocations will be closed, also those started outside Octave. This is due to "the way OpenOffice works" (quoted from OOo dev forum), especially through Java. There are other ways to close OOo but they'll hang Octave; --* The Java UNO classes supplied with e.g. LibreOffice aren't kept quite up-to-date with the main program. As a consequence, with e.g., LibreOffice 3.4 the main LO window will pop up (it can't be hidden). I filed a bug report for this (https://bugs.freedesktop.org/show_bug.cgi?id=40991) but I haven't seen it being picked up yet. Another example: while LO 3.3.1's row capacity was already > 10^6, it took until LO 3.4 before this capacity was implemented in the Java UNO classes. Like with OXS, I'm a bit stuck here - all this has to be fixed upstream. Hint: for older Octave versions (< 3.4.0) you can install io-1.0.15 using the -nodeps flag. You'll then loose the old and buggy textread and csv/dlm-read/write functions but I'd consider that as no big loss.