[Getdata-commits] SF.net SVN: getdata:[946] trunk/getdata/NEWS
Scientific Database Format
Brought to you by:
ketiltrout
|
From: <ket...@us...> - 2015-04-03 01:53:39
|
Revision: 946
http://sourceforge.net/p/getdata/code/946
Author: ketiltrout
Date: 2015-04-03 01:53:26 +0000 (Fri, 03 Apr 2015)
Log Message:
-----------
Reformat with linewidth=75
Modified Paths:
--------------
trunk/getdata/NEWS
Modified: trunk/getdata/NEWS
===================================================================
--- trunk/getdata/NEWS 2015-04-03 00:14:27 UTC (rev 945)
+++ trunk/getdata/NEWS 2015-04-03 01:53:26 UTC (rev 946)
@@ -3,161 +3,169 @@
Library Changes:
* Literals in format metadata may now have complex form (i.e. include a
- semicolon) when the parameter is purely real. However, a non-zero imaginary
- part is still an error.
+ semicolon) when the parameter is purely real. However, a non-zero
+ imaginary part is still an error.
* gd_free_entry_strings() now NULLs pointers after freeing them.
- * gd_entry() now returns entry metadata when they contain scalar field codes
- which do not exist. In this case the GD_EN_CALC flag in the object will
- not be set. Previously, on such entries, this function would fail with the
- error GD_E_BAD_SCALAR, and return nothing.
+ * gd_entry() now returns entry metadata when they contain scalar field
+ codes which do not exist. In this case the GD_EN_CALC flag in the
+ object will not be set. Previously, on such entries, this function
+ would fail with the error GD_E_BAD_SCALAR, and return nothing.
* gd_rename() now by default updates the target of ALIASes pointing to a
renamed field to point to the new field instead of leaving them dangle.
(But see GD_REN_DANGLE in the API section below).
- * CARRAYs are no longer truncated to GD_MAX_CARRAY_LENGTH elements. Flushing
- metadata to disk will now fail if writing a CARRAY would overflow a format
- file line. (It's platform specific, but format file lines are typically
- permitted to be at least 2**31 bytes long, so such an error usually
- indicates something pathological happening.) The GD_MAX_CARRAY_LENGTH
- symbol has been removed from the GetData header file.
+ * CARRAYs are no longer truncated to GD_MAX_CARRAY_LENGTH elements.
+ Flushing metadata to disk will now fail if writing a CARRAY would
+ overflow a format file line. (It's platform specific, but format file
+ lines are typically permitted to be at least 2**31 bytes long, so such
+ an error usually indicates something pathological happening.) The
+ GD_MAX_CARRAY_LENGTH symbol has been removed from the GetData header
+ file.
- * Write support for bzip2-encoded and lzma-encoded data has been added. LZMA
- write support is only available for .xz files, not the obsolete .lzma
- format. The write support occurs out-of-place, just like how writing
- gzip-encoded data works. See the gzip discussion in the 0.8.0 section below
- for important notes.
+ * Write support for bzip2-encoded and lzma-encoded data has been added.
+ LZMA write support is only available for .xz files, not the obsolete
+ .lzma format. The write support occurs out-of-place, just like how
+ writing gzip-encoded data works. See the gzip discussion in the 0.8.0
+ section below for important notes.
- * A newly-created dirfile is now always opened in read-write mode, ignoring
- the access mode specified in the call. Previously, specifying both
+ * A newly-created dirfile is now always opened in read-write mode, ignor-
+ ing the access mode specified in the call. Previously, specifying both
GD_RDONLY and GD_CREAT in open calls would result in an access mode
(GD_E_ACCMODE) error if the dirfile didn't already exist.
* Many functions which used to silently ignore representation suffixes in
- field codes passed to them no longer do that. Most of these will report
- an error (GD_E_BAD_CODE) if passed a representation suffix. The affected
- functions are: gd_bof, gd_entry, gd_entry_type, gd_eof, gd_flush,
- gd_linterp_tablename, gd_put_carray, gd_put_carray_slice, gd_putdata,
- gd_raw_close, gd_raw_filename, gd_seek, gd_spf, gd_sync, gd_tell.
+ field codes passed to them no longer do that. Most of these will
+ report an error (GD_E_BAD_CODE) if passed a representation suffix. The
+ affected functions are: gd_bof, gd_entry, gd_entry_type, gd_eof,
+ gd_flush, gd_linterp_tablename, gd_put_carray, gd_put_carray_slice,
+ gd_putdata, gd_raw_close, gd_raw_filename, gd_seek, gd_spf, gd_sync,
+ gd_tell.
- * BUG FIX: In addition to the addition of write support mentioned above, a
- number of problems with reading LZMA files has been fixed, which should
- result in fewer segmentaion faults.
+ * BUG FIX: In addition to the addition of write support mentioned above,
+ a number of problems with reading LZMA files has been fixed, which
+ should result in fewer segmentaion faults.
- * BUG FIX: The parser no longer silently appends a closing > to scalar field
- codes that contain an umatched opening < (e.g. "scalar<3"). This is now
- interpreted as a simple field code (which may be rejected later due to the
- presence of the invalid '<' character).
+ * BUG FIX: The parser no longer silently appends a closing > to scalar
+ field codes that contain an umatched opening < (e.g. "scalar<3"). This
+ is now interpreted as a simple field code (which may be rejected later
+ due to the presence of the invalid '<' character).
* BUG FIX: The parser no-longer interprets various numbers as field codes
- when it shouldn't (e.g. when specifying a PHASE shift as "1." instead of
- "1").
+ when it shouldn't (e.g. when specifying a PHASE shift as "1." instead
+ of "1").
- * BUG FIX: When writing scalar field codes to disk which could be interpreted
- as a number (e.g. the field code "1"), the library now forces the
- interpretation of these field codes as codes rather than numbers by
+ * BUG FIX: When writing scalar field codes to disk which could be inter-
+ preted as a number (e.g. the field code "1"), the library now forces
+ the interpretation of these field codes as codes rather than numbers by
appending a scalar index (making, e.g., "1<0>"), which is harmless.
- Previously, these were written as-is, resulting in misinterpretation the
- next time the Dirfile was opened. This only happens with Standards Version
- 8 or later, see the following for earlier versions.
+ Previously, these were written as-is, resulting in misinterpretation
+ the next time the Dirfile was opened. This only happens with Standards
+ Version 8 or later, see the following for earlier versions.
* BUG FIX: If the current Standards Version in effect is 7 or earlier,
ambiguous field codes (e.g., "1"), are now rejected by gd_[m]add() and
gd_alter_entry() with the error GD_E_BAD_CODE, since they can't be
- represented in the metadata on disk. For the behaviour with later Versions,
- and in permissive mode, see the previous.
+ represented in the metadata on disk. For the behaviour with later
+ Versions, and in permissive mode, see the previous.
- * BUG FIX: If performing a metadata update due to renaming fields (perhaps
- by passing GD_REN_UPDB to gd_rename()) results in an invalid field code
- due to affix restrictions, the update now fails (but see GD_REN_FORCE).
- Previously the invalid field code would be stored, leading to errors when
- flushing the modified metadata to disk.
+ * BUG FIX: If performing a metadata update due to renaming fields
+ (perhaps by passing GD_REN_UPDB to gd_rename()) results in an invalid
+ field code due to affix restrictions, the update now fails (but see
+ GD_REN_FORCE). Previously the invalid field code would be stored,
+ leading to errors when flushing the modified metadata to disk.
- * BUG FIX: When performing a metadata update due to a renamed field, the field
- codes containing subfields of the renamed field are now also updated,
- including field codes specifying meta subfields which do not exist.
+ * BUG FIX: When performing a metadata update due to a renamed field, the
+ field codes containing subfields of the renamed field are now also
+ updated, including field codes specifying meta subfields which do not
+ exist.
- * BUG FIX: reading a LINTERP table with fewer than two lines no longer results
- in a segfault on close/discard.
+ * BUG FIX: reading a LINTERP table with fewer than two lines no longer
+ results in a segfault on close/discard.
- * BUG FIX: Several fixes have been made to the sample index encoding (SIE)
- engine, which should now produce properly encoded data when performing
- random writes.
+ * BUG FIX: Several fixes have been made to the sample index encoding
+ (SIE) engine, which should now produce properly encoded data when
+ performing random writes.
- * BUG FIX: gd_alter_raw() and similar no longer fail when asked to re-encode
- the data file of a RAW field which has not been previously accessed.
+ * BUG FIX: gd_alter_raw() and similar no longer fail when asked to re-
+ encode the data file of a RAW field which has not been previously
+ accessed.
* BUG FIX: A previously-read LINTERP table is now always discarded when
- changing table paths with gd_alter_linterp() or similar. Previously these
- obsolete, cached LUTs would sometimes linger, causing incorrect LINTERP
- computation.
+ changing table paths with gd_alter_linterp() or similar. Previously
+ these obsolete, cached LUTs would sometimes linger, causing incorrect
+ LINTERP computation.
API Changes:
- * CLARIFICATION: The macro GD_SIZE() declared in getdata.h is indeed part of
- the public API. It returns the size in bytes of a sample of data of a given
- type (e.g. GD_SIZE(GD_COMPLEX64) returns 8). It has been around since
- GetData-0.3.0, but has only been documented since GetData-0.8.3.
+ * CLARIFICATION: The macro GD_SIZE() declared in getdata.h is indeed part
+ of the public API. It returns the size in bytes of a sample of data of
+ a given type (e.g. GD_SIZE(GD_COMPLEX64) returns 8). It has been
+ around since GetData-0.3.0, but has only been documented since
+ GetData-0.8.3.
* A new data type code, GD_STRING, has been declared. It is needed in
- gd_getdata() calls to retrieve SINDIR data. Purely for convenience, it has
- the property: GD_SIZE(GD_STRING) == sizeof(char*).
+ gd_getdata() calls to retrieve SINDIR data. Purely for convenience, it
+ has the property: GD_SIZE(GD_STRING) == sizeof(char*).
* get_native_type() now returns GD_STRING for string type fields (STRING,
SARRAY, SINDIR). Formerly it would return GD_NULL.
- * The comp_scal member of the gd_entry_t object has been replaced with a flags
- member, containing a flag (GD_EN_COMPSCAL) with the meaning of the former
- comp_scal member. There are also flags for hiddenness (GD_EN_HIDDEN) and
- whether the scalar entry codes in the field definition have been
- dereferenced (GD_EN_CALC).
+ * The comp_scal member of the gd_entry_t object has been replaced with a
+ flags member, containing a flag (GD_EN_COMPSCAL) with the meaning of
+ the former comp_scal member. There are also flags for hiddenness
+ (GD_EN_HIDDEN) and whether the scalar entry codes in the field defi-
+ nition have been dereferenced (GD_EN_CALC).
* gd_[m]add() and gd_alter_entry() can now be used to set or change the
- hiddenness of a field by setting or clearing the GD_EN_HIDDEN bit in the
- supplied gd_entry_t object.
+ hiddenness of a field by setting or clearing the GD_EN_HIDDEN bit in
+ the supplied gd_entry_t object.
* Two new rename flags have been added:
- - GD_REN_DANGLE which indicates the library shouldn't update ALIASes whose
- target has been renamed (instead it will turn them into dangling aliases)
- - GD_REN_FORCE which causes the library to skip updating field codes which
- would be invalid due to affixes instead of failing.
+ - GD_REN_DANGLE which indicates the library shouldn't update ALIASes
+ whose target has been renamed (instead it will turn them into
+ dangling aliases)
+ - GD_REN_FORCE which causes the library to skip updating field codes
+ which would be invalid due to affixes instead of failing.
- * The move_data argument of gd_move() has been replaced with a flags argument
- which accepts the GD_REN_* flags, which have the same meaning as they do
- with gd_rename().
+ * The move_data argument of gd_move() has been replaced with a flags
+ argument which accepts the GD_REN_* flags, which have the same meaning
+ as they do with gd_rename().
- * gd_move_alias() and gd_delete_alias() have been deleted: their functions are
- now performed by gd_move() and gd_delete(), which now operate on the alias
- itself when given the field code to an alias, rather than the field the
- alias points to.
+ * gd_move_alias() and gd_delete_alias() have been deleted: their
+ functions are now performed by gd_move() and gd_delete(), which now
+ operate on the alias itself when given the field code to an alias,
+ rather than the field the alias points to.
* A number of different error codes which indicated the same problem (an
- I/O error returned by the operating system) have been merged into one. The
- error codes GD_E_OPEN, GD_E_TRUNC, GD_E_RAW_IO, GD_E_OPEN_FRAGMENT,
- GD_E_FLUSH are replaced by the new error GD_E_IO. The old symbols remain as
- aliases but are deprecated. There is one exception to this merge: attempts
- to flush metadata lines which are too long are now reported using
- GD_E_LINE_TOO_LONG. Previously, these errors used GD_E_FLUSH.
+ I/O error returned by the operating system) have been merged into one.
+ The error codes GD_E_OPEN, GD_E_TRUNC, GD_E_RAW_IO, GD_E_OPEN_FRAGMENT,
+ GD_E_FLUSH are replaced by the new error GD_E_IO. The old symbols
+ remain as aliases but are deprecated. There is one exception to this
+ merge: attempts to flush metadata lines which are too long are now
+ reported using GD_E_LINE_TOO_LONG. Previously, these errors used
+ GD_E_FLUSH.
- * The error code GD_E_OPEN_LINFILE has also been removed. It has been split
- into two parts:
- - I/O errors resulting from reading the LINTERP table file are now reported
- using GD_E_IO;
- - Syntax errors in the table are reported using the new GD_E_LUT error code.
- GD_E_OPEN_LINFILE remains as a deprecated alias for GD_E_LUT.
+ * The error code GD_E_OPEN_LINFILE has also been removed. It has been
+ split into two parts:
+ - I/O errors resulting from reading the LINTERP table file are now
+ reported using GD_E_IO;
+ - Syntax errors in the table are reported using the new GD_E_LUT error
+ code. GD_E_OPEN_LINFILE remains as a deprecated alias for GD_E_LUT.
- * gd_encoding_support() has been added to permit run-time determination of
- supported encodings.
+ * gd_encoding_support() has been added to permit run-time determination
+ of supported encodings.
- * gd_array_len() is the new name for gd_carray_len(). It now also handles
- STRING and SARRAY field types. The gd_carray_len() name remains in the
- library, but has been marked deprecated.
+ * gd_array_len() is the new name for gd_carray_len(). It now also
+ handles STRING and SARRAY field types. The gd_carray_len() name
+ remains in the library, but has been marked deprecated.
* BUG FIX: If the dirfile path provided cannot be resolved (due to, for
- instance, a symbolic link pointing to a non-existent path), gd_open() and
- friends now return GD_E_OPEN, as documented, instead of GD_E_RAW_IO.
+ instance, a symbolic link pointing to a non-existent path), gd_open()
+ and friends now return GD_E_OPEN, as documented, instead of
+ GD_E_RAW_IO.
* BUG FIX: gd_naliases() now returns an unsigned int, and zero on error,
as documented.
@@ -166,124 +174,132 @@
* PHP bindings have been added.
- * F77 and F95: The bindings no longer raise SIGABRT when the dirfile space is
- exhausted. Instead they simply return an invalid dirfile unit number.
+ * F77 and F95: The bindings no longer raise SIGABRT when the dirfile
+ space is exhausted. Instead they simply return a invalid dirfile unit
+ number.
- * F77: Functions to add fields with named scalar parameters have been added
- (GDASBT GDASCL GDASCP GDASCR GDASLC GDASMX GDASPH GDASPN GDASRC GDASRW
- GDASSB GDASWD), but only for those field types which permit named scalars.
- Similarly, functions for altering field metatdata with named scalars are
- also present (GDLSBT GDLSCL GDLSCP GDLSCR GDLSLC GDLSMX GDLSPH GDLSPN GDLSRC
- GDLSRW GDLSSB GDLSWD). These are provided as an alternative to using GDASCA
- after the fact.
+ * F77: Functions to add fields with named scalar parameters have been
+ added (GDASBT GDASCL GDASCP GDASCR GDASLC GDASMX GDASPH GDASPN GDASRC
+ GDASRW GDASSB GDASWD), but only for those field types which permit
+ named scalars. Similarly, functions for altering field metatdata with
+ named scalars are also present (GDLSBT GDLSCL GDLSCP GDLSCR GDLSLC
+ GDLSMX GDLSPH GDLSPN GDLSRC GDLSRW GDLSSB GDLSWD). These are provided
+ as an alternative to using GDASCA after the fact.
- * IDL: The entry structure parser has been rewritten. It no longer requires
- members which it doesn't need, and is also a lot more lax about numerical
- data types. Notably, it now ignores a supplied COMP_SCAL member. Floating
- point parameters can be specified in either the base name (M, B, A,
- DIVIDEND) or else the member prefixed with 'C' (CM, CB, CA, CDIVIDEND),
- whatever numerical type. The bindings will ingest them appropriately.
- Also, N_FIELDS and POLY_ORD, may be omitted, and will be calculated from the
- supplied data. A scalar IN_FIELDS is treated like an single element array.
+ * IDL: The entry structure parser has been rewritten. It no longer
+ requires members which it doesn't need, and is also a lot more lax
+ about numerical data types. Notably, it now ignores a supplied
+ COMP_SCAL member. Floating point parameters can be specified in either
+ the base name (M, B, A, DIVIDEND) or else the member prefixed with 'C'
+ (CM, CB, CA, CDIVIDEND), whatever numerical type. The bindings will
+ ingest them appropriately. Also, N_FIELDS and POLY_ORD, may be
+ omitted, and will be calculated from the supplied data. A scalar
+ IN_FIELDS is treated like an single element array.
- * PERL: The entry hash parser has been rewritten. It no longer requires keys
- which it doesn't need.
+ * PERL: The entry hash parser has been rewritten. It no longer requires
+ keys which it doesn't need.
- * PERL: alter_entry() now only updates defined elements in the passed entry
- hash.
+ * PERL: alter_entry() now only updates defined elements in the passed
+ entry hash.
* PYTHON: for backwards compatiblity, exceptions now exist for deprecated
- error codes (such as OpenError). These deprecated exceptions are simply
- aliases for the current ones and are never returned by the bindings.
+ error codes (such as OpenError). These deprecated exceptions are
+ simply aliases for the current ones and are never returned by the
+ bindings.
* F95 BUG FIX: fgd_add and fgd_alter_entry no longer ignore named scalar
parameters provided in supplied entry structures.
Miscellaneous:
- * The minimum autotools versions have been bumped. Autoconf-2.65 or newer,
- automake-1.13 or newer, and libtool-2.2.7b or newer are now required to
- rebuild the configure script and associated build environment. NOTE: In
- general, most people building GetData from a source release don't need the
- tools to build GetData; the autotools are only needed if changes need to be
- made to the configure script or Makefile input files provided in the
- release or if building from the repository.
+ * The minimum autotools versions have been bumped. Autoconf-2.65 or
+ newer, automake-1.13 or newer, and libtool-2.2.7b or newer are now
+ required to rebuild the configure script and associated build environ-
+ ment. NOTE: In general, most people building GetData from a source
+ release don't need the tools to build GetData; the autotools are only
+ needed if changes need to be made to the configure script or Makefile
+ input files provided in the release or if building from the repository.
-|==============================================================================|
+|=========================================================================|
New in version 0.8.6:
Library Changes:
* BUG FIX: Computation of LINCOMs with complex valued input fields now
- correctly happens in the complex plane. As a side effect, gd_native_type()
- now also correctly reports such LINCOM fields to be complex valued.
+ correctly happens in the complex plane. As a side effect,
+ gd_native_type() now also correctly reports such LINCOM fields to be
+ complex valued.
- * BUG FIX: The gd_[m]add() functions now ignore zero-length scalar strings.
- Previously they would store these invalid field codes, causing problems
- later.
+ * BUG FIX: The gd_[m]add() functions now ignore zero-length scalar
+ strings. Previously they would store these invalid field codes,
+ causing problems later.
* BUG FIX: Returning complex-valued CARRAYs as purely real now works.
- Previously only the first element requested would be returned, the remaining
- output buffer containing uninitialised data.
+ Previously only the first element requested would be returned, the
+ remaining output buffer containing uninitialised data.
- * BUG FIX: Entry members spf, bitnum, numbits, and period are now completely
- ignored by gd_[m]add() when corresponding named scalars are specified.
- Previously, an invalid value in these members would result in the entry
- being rejected, even though the rest of GetData ignored the invalid, unsued
- value.
+ * BUG FIX: Entry members spf, bitnum, numbits, and period are now com-
+ pletely ignored by gd_[m]add() when corresponding named scalars are
+ specified. Previously, an invalid value in these members would result
+ in the entry being rejected, even though the rest of GetData ignored
+ the invalid, unsued value.
* BUG FIX: The parsing of the \x and \u escape sequences is now correct.
* BUG FIX: A scalar field code specified for the last factor in a POLYNOM
entry is no longer ignored by gd_[m]add().
- * BUG FIX: gd_[m]add() no longer rejects MPLEX fields with negative count_val.
+ * BUG FIX: gd_[m]add() no longer rejects MPLEX fields with negative
+ count_val.
* BUG FIX: DIVIDE fields with complex-valued divisors are now properly
computed.
- * BUG FIX: Complex-valued POLYNOM and RECIP fields are now computed properly
- when the library is built in ANSI C mode.
+ * BUG FIX: Complex-valued POLYNOM and RECIP fields are now computed
+ properly when the library is built in ANSI C mode.
* BUG FIX: gd_alter_entry() no longer corrupts the DIRFILE when modifying
named scalars of MPLEX fields.
- * BUG FIX: Writing complex-valued MPLEX fields no longer corrupts the stored
- data.
+ * BUG FIX: Writing complex-valued MPLEX fields no longer corrupts the
+ stored data.
- * BUG FIX: gd_bof() now returns the correct number (i.e.: zero) when reporting
- the beginning of field of derived fields shifted to before the start of the
- dirfile. Previously, this function incorrectly returned values ranging from
- zero to one less than the samples-per-frame of the requested field.
+ * BUG FIX: gd_bof() now returns the correct number (i.e.: zero) when
+ reporting the beginning of field of derived fields shifted to before
+ the start of the dirfile. Previously, this function incorrectly
+ returned values ranging from zero to one less than the samples-per-
+ frame of the requested field.
* BUG FIX: gd_flush(), gd_sync(), gd_raw_close() no longer segfault when
operating on a LINCOM with only one input field.
* BUG FIX: gd_seek() now works correctly on PHASE fields; previously, the
sign of the PHASE shift was flipped.
- * BUG FIX: gd_seek() now correctly positions the virtual I/O pointer of the
- INDEX field.
+ * BUG FIX: gd_seek() now correctly positions the virtual I/O pointer of
+ the INDEX field.
- * BUG FIX: gd_framenum_subset() now returns the correct value when passed a
- field_end which is beyond the end of field, and then is required to
+ * BUG FIX: gd_framenum_subset() now returns the correct value when passed
+ a field_end which is beyond the end of field, and then is required to
extrapolate outside of the specified frame range.
- * BUG FIX: gd_error_string() now produces the correct string when reporting
- an out-of-range poly_ord encountered by gd_add_polynom() and similar.
+ * BUG FIX: gd_error_string() now produces the correct string when
+ reporting an out-of-range poly_ord encountered by gd_add_polynom() and
+ similar.
- * BUG FIX: gd_[m]alter_spec() no longer ignore co-efficients specified for
- POLYNOM entries.
+ * BUG FIX: gd_[m]alter_spec() no longer ignore co-efficients specified
+ for POLYNOM entries.
- * BUG FIX: gd_alter_encoding() now deletes the internal cache of RAW filenames
- of the affected fragment; previously, these old, cached filenames could lead
- to I/O errors when reading and writing the re-encoded RAW data files.
+ * BUG FIX: gd_alter_encoding() now deletes the internal cache of RAW
+ filenames of the affected fragment; previously, these old, cached
+ filenames could lead to I/O errors when reading and writing the re-
+ encoded RAW data files.
- * BUG FIX: Calling the Legacy API function GetFormat() on a Dirfile with MPLEX
- or WINDOW fields no longer results in a segmentation fault.
+ * BUG FIX: Calling the Legacy API function GetFormat() on a Dirfile with
+ MPLEX or WINDOW fields no longer results in a segmentation fault.
- * BUG FIX: Attempts to read past the EOF of a gzipped field no longer results
- in an I/O error, but successfully returns no data.
+ * BUG FIX: Attempts to read past the EOF of a gzipped field no longer
+ results in an I/O error, but successfully returns no data.
* BUG FIX: The internal recursion counter wasn't being properly reset on
certain error conditions, leading to spurious GD_E_RECURSE_LEVEL errors
@@ -291,8 +307,9 @@
Bindings Changes:
- * F77 and F95 BUG FIX: Named scalar indices are now indexed from one instead
- of zero, like all other array indices are in the Fortran GetData bindings.
+ * F77 and F95 BUG FIX: Named scalar indices are now indexed from one
+ instead of zero, like all other array indices are in the Fortran
+ GetData bindings.
* C++ BUG FIX: Fixed segfault in RawEntry destructor. Reported by S. J.
Benton.
@@ -301,217 +318,226 @@
entries when appropriate, instead of always returning zero. (The
RecipEntry::ComplexScalars() method always returned the correct value.)
- * IDL BUG FIX: The /UPDATEDB flag to gd_rename is no longer ignored; also, the
- /MOVE_DATA flag no longer also acts as if /UPDATEDB had been specified.
+ * IDL BUG FIX: The /UPDATEDB flag to gd_rename is no longer ignored;
+ also, the /MOVE_DATA flag no longer also acts as if /UPDATEDB had been
+ specified.
* PYTHON BUG FIX: The keyword for the "dirfile" parameter in the
getdata.fragment constructor is now properly spelled.
-|==============================================================================|
+|=========================================================================|
New in verison 0.8.5:
Library Changes:
- * BUG FIX: The zzslim encoding framework, which was inadvertantly rendered
- non-compilable in 0.8.4, should once again work. Reported by Matthew
- Hasselfield.
+ * BUG FIX: The zzslim encoding framework, which was inadvertantly
+ rendered non-compilable in 0.8.4, should once again work. Reported by
+ Matthew Hasselfield.
Bindings Changes:
* PYTHON BUG FIX: A spurious debugging message accidentally left in the
0.8.4 release has been expunged.
-|==============================================================================|
+|=========================================================================|
New in version 0.8.4:
Dirfile Changes:
* CLARIFICATION: Inconsistant behaviour in the library, coupled with
- contradictory statements in the Dirfile Standards, has resulted in confusion
- over the meaning of the final, optional, parameter in a MPLEX definition.
- To be clear: this parameter is simply the expected period between successive
- occurances of the "count" value in the index vector. (It is used by GetData
- only to figure out a resonable length for the MPLEX lookback.) The
- following clarifications and corrections have been made to the definition
- of the MPLEX field type in dirfile-format(5):
+ contradictory statements in the Dirfile Standards, has resulted in
+ confusion over the meaning of the final, optional, parameter in a MPLEX
+ definition. To be clear: this parameter is simply the expected period
+ between successive occurances of the "count" value in the index vector.
+ (It is used by GetData only to figure out a resonable length for the
+ MPLEX lookback.) The following clarifications and corrections have
+ been made to the definition of the MPLEX field type in
+ dirfile-format(5):
- - The final, optional parameter has been renamed from "max" to "period".
+ - The final, optional parameter has been renamed from "max" to
+ "period".
- - This parameter indicates not the maximal range of the index vector, as
- previously stated, but the expected number of samples between successive
- occurances of the specified "count" value in the index vector; as before,
- it should be regarded as a hint, and does not place any actual restriction
- on the contents of the index vector.
+ - This parameter indicates not the maximal range of the index vector,
+ as previously stated, but the expected number of samples between
+ successive occurances of the specified "count" value in the index
+ vector; as before, it should be regarded as a hint, and does not
+ place any actual restriction on the contents of the index vector.
- - The incorrect requirement that the "count" parameter be non-negative has
- been deleted.
+ - The incorrect requirement that the "count" parameter be non-negative
+ has been deleted.
- - The incorrect requirement that "count" be less than or equal to "max", if
- "max" is present and non-zero, has been deleted.
+ - The incorrect requirement that "count" be less than or equal to
+ "max", if "max" is present and non-zero, has been deleted.
- - The meaning of an omitted or zero "period", indicating that the spacing of
- "count" in the index vector is unknown or non-uniform, is now explicitly
- stated.
+ - The meaning of an omitted or zero "period", indicating that the
+ spacing of "count" in the index vector is unknown or non-uniform, is
+ now explicitly stated.
- - Different MPLEX fields using the same index vector may specify different
- periods.
+ - Different MPLEX fields using the same index vector may specify
+ different periods.
See also the related library bug fixes below.
Library Changes:
- * BUG FIX: The library no longer incorrectly rejects negative count_val MPLEX
- parameters. Furthermore, a count_val of -1 in gd_alter_entry or
- gd_[m]alter_mplex calls is not a special value: it just sets count_val to
- -1.
+ * BUG FIX: The library no longer incorrectly rejects negative count_val
+ MPLEX parameters. Furthermore, a count_val of -1 in gd_alter_entry or
+ gd_[m]alter_mplex calls is not a special value: it just sets count_val
+ to -1.
* BUG FIX: The library no longer incorrectly rejects MPLEX fields where
count_val is greater than the period (formerly called count_max).
- * BUG FIX: The default MPLEX period, if none is specified, is 2*count_val + 1,
- not simply 2 * count_val, when count_val is greater than 5.
+ * BUG FIX: The default MPLEX period, if none is specified, is
+ 2 * count_val + 1, not simply 2 * count_val, when count_val is greater
+ than 5.
* BUG FIX: Trying to position an I/O pointer to before sample zero with
- gd_seek() now properly fails. Previously it would allow it, causing bizarre
- things to happen later.
+ gd_seek() now properly fails. Previously it would allow it, causing
+ bizarre things to happen later.
- * BUG FIX: Using gd_tell to get the I/O pointer position of a derived field
- with exactly two input fields (MULTIPLY, DIVIDE, MPLEX, WINDOW) now properly
- reports an error in the "multiposition" case (ie. when the two inputs are
- ultimately reading from different locations in the same RAW field).
+ * BUG FIX: Using gd_tell to get the I/O pointer position of a derived
+ field with exactly two input fields (MULTIPLY, DIVIDE, MPLEX, WINDOW)
+ now properly reports an error in the "multiposition" case (ie. when the
+ two inputs are ultimately reading from different locations in the same
+ RAW field).
- * BUG FIX: Trying to read sample zero of a gzipped RAW field the second time
- now works as expected. Previously, the request to reposition the I/O
- pointer back to zero would be ignored by the gzip framework. Reported by
- Alexandra Rahlin.
+ * BUG FIX: Trying to read sample zero of a gzipped RAW field the second
+ time now works as expected. Previously, the request to reposition the
+ I/O pointer back to zero would be ignored by the gzip framework.
+ Reported by Alexandra Rahlin.
* BUG FIX: The field code of a reference field declared in a subfragment
- included with affixes is no longer corrupted by spurious application of the
- affixes when the subfragment's metadata are (re-)written. Reported by Seth.
+ included with affixes is no longer corrupted by spurious application of
+ the affixes when the subfragment's metadata are (re-)written. Reported
+ by Seth.
API Changes:
- * The count_max member of the gd_entry_t object has been renamed to period.
- The corresponding dummy argument in various function prototypes has been
- similarly renamed.
+ * The count_max member of the gd_entry_t object has been renamed to
+ period. The corresponding dummy argument in various function proto-
+ types has been similarly renamed.
Bindings Changes:
- * C++: The Entry and MplexEntry member functions CountMax and SetCountMax have
- been renamed to Period and SetPeriod for consistency with the changes listed
- above. CountMax and SetCountMax are still avaialbe as aliases, but are
- marked deprecated.
+ * C++: The Entry and MplexEntry member functions CountMax and SetCountMax
+ have been renamed to Period and SetPeriod for consistency with the
+ changes listed above. CountMax and SetCountMax are still avaialbe as
+ aliases, but are marked deprecated.
- * IDL BUG FIX: GD_ENTRY structures representing MPLEX fields are now properly
- interpreted. Previously, the underlying gd_entry_t object was being
- incorrectly initialised.
+ * IDL BUG FIX: GD_ENTRY structures representing MPLEX fields are now
+ properly interpreted. Previously, the underlying gd_entry_t object was
+ being incorrectly initialised.
* PYTHON BUG FIX: Numpy arrays returned by dirfile.getdata() are now the
- correct length. Previously they would always be the length requested (or
- the length of the dirfile, if no length was explicitly given) even if fewer
- samples were returned. Extra elements would contain uninitialised memory.
+ correct length. Previously they would always be the length requested
+ (or the length of the dirfile, if no length was explicitly given) even
+ if fewer samples were returned. Extra elements would contain unini-
+ tialised memory.
-|==============================================================================|
+|=========================================================================|
New in version 0.8.3:
Library Changes:
- * BUG FIX: Several bugs on big-ended systems have been fixed. Reported by
- Dinar Valeev.
+ * BUG FIX: Several bugs on big-ended systems have been fixed. Reported
+ by Dinar Valeev.
- * BUG FIX: Adding an entry via gd_[m]add() with a negative CARRAY scalar index
- no longer results in an internal error or worse when the added field is
- later read. Instead, a proper error is returned.
+ * BUG FIX: Adding an entry via gd_[m]add() with a negative CARRAY scalar
+ index no longer results in an internal error or worse when the added
+ field is later read. Instead, a proper error is returned.
* BUG FIX: Changing a CONST field to a real floating point type using
- gd_alter_const() (or similar) no longer results in the value of the field
- being corrupted.
+ gd_alter_const() (or similar) no longer results in the value of the
+ field being corrupted.
- * BUG FIX: A bug in the parser's tokeniser has been fixed to prevent spurious
- "unterminated token" syntax errors. Typically this would only be seen when
- using gd_strtok() to tokenise an (apparently innocuous) user-supplied
- string, but a carefully crafted format file could also be made to get
- gd_open() to produce it.
+ * BUG FIX: A bug in the parser's tokeniser has been fixed to prevent
+ spurious "unterminated token" syntax errors. Typically this would only
+ be seen when using gd_strtok() to tokenise an (apparently innocuous)
+ user-supplied string, but a carefully crafted format file could also be
+ made to get gd_open() to produce it.
Bindings Changes:
* Bindings for MATLAB have been added.
- * The IDL, Perl, and Python bindings no longer require a C99 compiler to be
- built.
+ * The IDL, Perl, and Python bindings no longer require a C99 compiler to
+ be built.
-|==============================================================================|
+|=========================================================================|
New in version 0.8.2:
Library Changes:
- * BUG FIX: A trailing symlink (i.e. situations where a symlink is the last
- element of a path) no longer confuses GetData when the target of the
- symlink: (1) is absolute, or (2) starts with "../". Reported by S. J.
- Benton.
+ * BUG FIX: A trailing symlink (i.e. situations where a symlink is the
+ last element of a path) no longer confuses GetData when the target of
+ the symlink: (1) is absolute, or (2) starts with "../". Reported by
+ S. J. Benton.
- * BUG FIX: Trying to read data from the first sample of an MPLEX no longer
- results in an internal error if the first sample of the index doesn't match
- the target value.
+ * BUG FIX: Trying to read data from the first sample of an MPLEX no
+ longer results in an internal error if the first sample of the index
+ doesn't match the target value.
-|==============================================================================|
+|=========================================================================|
New in version 0.8.1:
Library Changes:
- * gd_dirfilename() now returns a fully canonicalised version of the dirfile
- path.
+ * gd_dirfilename() now returns a fully canonicalised version of the
+ dirfile path.
- * BUG FIX: A segfault when negotiating symbolic links in file paths, typically
- manifesting in gd_open calls, has been fixed.
+ * BUG FIX: A segfault when negotiating symbolic links in file paths,
+ typically manifesting in gd_open calls, has been fixed.
* BUG FIX: gd_strtok now saves a copy of the string passed to it, as the
- documentation suggests it should. Previously it cached the pointer itself.
+ documentation suggests it should. Previously it cached the pointer
+ itself.
- * BUG FIX: A number of minor memory leaks, mostly occurring when the library
- encounters an error, have been fixed.
+ * BUG FIX: A number of minor memory leaks, mostly occurring when the
+ library encounters an error, have been fixed.
* BUG FIX: /HIDDEN directives weren't being written for aliases.
* BUG FIX: The parser now fails properly on /INCLUDEs which specify paths
which don't point to regular files.
- * BUG FIX: Fixed a bug which would result in the parser getting confused over
- the current Standards Version, potentially leading to rejected valid
- dirfiles. Reported by Daniel Flanigan.
+ * BUG FIX: Fixed a bug which would result in the parser getting confused
+ over the current Standards Version, potentially leading to rejected
+ valid dirfiles. Reported by Daniel Flanigan.
- * BUG FIX: gd_alter_entry() and gd_madd_alias() weren't clearing the Dirfile
- error before operation, resulting in them failing erroneously in certain
- situations.
+ * BUG FIX: gd_alter_entry() and gd_madd_alias() weren't clearing the
+ Dirfile error before operation, resulting in them failing erroneously
+ in certain situations.
- * BUG FIX: When including an existing fragment which itself has subfragments,
- gd_include() no longer returns the wrong fragment index.
+ * BUG FIX: When including an existing fragment which itself has subfrag-
+ ments, gd_include() no longer returns the wrong fragment index.
- * WIN32 BUG FIX: On Windows, the parser can now properly handle hexadecimal
- floating point.
+ * WIN32 BUG FIX: On Windows, the parser can now properly handle hexade-
+ cimal floating point.
API Changes:
- * How the API deals with field code affixes has changed. Input vector and
- scalar fields are reported by gd_entry(), &c. now include their prefix and
- suffix, if any, which should remove the need to do manual affix bookkeeping
- when reading metadata. The other side to this change is that when modifying
- metdata (gd_add(), gd_alter_entry(), &c.), supplied field codes must also
- contain the appropriate affixes.
+ * How the API deals with field code affixes has changed. Input vector
+ and scalar fields are reported by gd_entry(), &c. now include their
+ prefix and suffix, if any, which should remove the need to do manual
+ affix bookkeeping when reading metadata. The other side to this change
+ is that when modifying metdata (gd_add(), gd_alter_entry(), &c.),
+ supplied field codes must also contain the appropriate affixes.
- * A new function, gd_linterp_tablename() has been added which returns a fully
- canonicalised version of the look-up table pathname for a LINTERP.
+ * A new function, gd_linterp_tablename() has been added which returns a
+ fully canonicalised version of the look-up table pathname for a
+ LINTERP.
Bindings Changes:
* F77 BUG FIX: A memory leak has been fixed in GDALLC.
-|==============================================================================|
+|=========================================================================|
New in version 0.8.0:
@@ -843,82 +869,85 @@
* IDL BUG FIX: The missing /IGNORE_REFS and /PRETTY_PRINT are now
available in gd_open.
-|==============================================================================|
+|=========================================================================|
New in version 0.7.3:
Library Changes
- * BUG FIX: Passing a zero dividend to alter_crecip() and alter_recip() now
- results in the dividend not changing, per documentation.
+ * BUG FIX: Passing a zero dividend to alter_crecip() and alter_recip()
+ now results in the dividend not changing, per documentation.
- * BUG FIX: GetData wasn't properly computing the module directory, causing
- encodings using external modules to fail with GD_E_UNSUPPORTED.
+ * BUG FIX: GetData wasn't properly computing the module directory,
+ causing encodings using external modules to fail with GD_E_UNSUPPORTED.
- * BUG FIX: Metafield records are now properly stored in the format file for
- Standards Version 8.
+ * BUG FIX: Metafield records are now properly stored in the format file
+ for Standards Version 8.
* BUG FIX: gd_raw_filename() wasn't clearing the Dirfile error before
operation, resulting in it failing erroneously in certain situations.
Utilities Changes:
- * BUG FIX: A potential segmentation fault has been patched in dirfile2ascii.
+ * BUG FIX: A potential segmentation fault has been patched in
+ dirfile2ascii.
-|==============================================================================|
+|=========================================================================|
New in version 0.7.2:
Library Changes
- * If built with modules, the plugin shared objects will now be installed in
- a separate directory (by default "${libdir}/getdata", but see the
+ * If built with modules, the plugin shared objects will now be installed
+ in a separate directory (by default "${libdir}/getdata", but see the
--with-module-dir option in ./configure).
- * BUG FIX: When using modules, a missing plugin no longer results in a lock up
- the second time an attempt is made to find it.
+ * BUG FIX: When using modules, a missing plugin no longer results in a
+ lock up the second time an attempt is made to find it.
- * BUG FIX: GetData now properly processes /INCLUDE directives with absolute
- paths, as the documentation insists it should.
+ * BUG FIX: GetData now properly processes /INCLUDE directives with
+ absolute paths, as the documentation insists it should.
- * BUG FIX: gd_add()ing the first raw field in a dirfile to a subfragment no
- longer results in memory corruption when calling gd_close().
+ * BUG FIX: gd_add()ing the first raw field in a dirfile to a subfragment
+ no longer results in memory corruption when calling gd_close().
API Changes
- * If called with GD_CREAT but no encoding specified, gd_include() now will
- duplicate the encoding of the parent fragment (if any).
+ * If called with GD_CREAT but no encoding specified, gd_include() now
+ will duplicate the encoding of the parent fragment (if any).
Miscellaneous
* The python module install dir can now be changed by passing
--with-python-module-dir to configure.
-|==============================================================================|
+|=========================================================================|
New in version 0.7.1:
Library Changes
- * BUG FIX: When the parser fails in a gd_include() call, the internal list of
- conformant Standards Versions for the loaded dirfile is no longer corrupted.
+ * BUG FIX: When the parser fails in a gd_include() call, the internal
+ list of conformant Standards Versions for the loaded dirfile is no
+ longer corrupted.
* BUG FIX Performing two consecutive reads of the same field in an ASCII
encoded datasources no longer confuses GetData.
- * BUG FIX: Numerous memory leaks have been patched (mostly pin-holes, although
- there are a few, rare but egregious ones).
+ * BUG FIX: Numerous memory leaks have been patched (mostly pin-holes,
+ although there are a few, rare but egregious ones).
API Changes:
* The value(s) of a CONST or CARRAY field added with gd_[m]add() is now
guaranteed to be zero; previously, it was unspecified.
- * BUG FIX: Specifying both GD_VERBOSE and GD_IGNORE_DUPS no longer results in
- spurious "Field code already defined" messages when duplicate fields are
- encountered.
+ * BUG FIX: Specifying both GD_VERBOSE and GD_IGNORE_DUPS no longer
+ results in spurious "Field code already defined" messages when dupli-
+ cate fields are encountered.
- * BUG FIX: Calling gd_delete on a metafield no longer results in a segfault.
+ * BUG FIX: Calling gd_delete on a metafield no longer results in a
+ segfault.
Bindings Changes:
@@ -933,191 +962,199 @@
pad may be specified with '-z', and defaults to 0/NaN. Previously, the
value of uninitialized memory was output.
- * BUG FIX: dirfile2ascii now does what the user intends when presented with
- cart-before-horse arguments, ie. "dirfile2ascii -e field DIRFILE".
+ * BUG FIX: dirfile2ascii now does what the user intends when presented
+ with cart-before-horse arguments, ie. "dirfile2ascii -e field DIRFILE".
Previously this resulted in confusion.
* BUG FIX: dirfile2ascii now accepts field conversion '-u', which was
documented but overlooked in the argument parser.
-|==============================================================================|
+|=========================================================================|
New in version 0.7.0:
Dirfile Changes
* Dirfile Standards Version 8 has been released. It adds three new field
- types: DIVIDE, which computes X/Y for vectors X and Y, RECIP, which computes
- A/X for vector X and scalar A, and CARRAY, which is an array of CONST
- scalars. A few other changes are listed below.
+ types: DIVIDE, which computes X/Y for vectors X and Y, RECIP, which
+ computes A/X for vector X and scalar A, and CARRAY, which is an array
+ of CONST scalars. A few other changes are listed below.
* Like CONST fields, CARRAY elements can be used as parametersin the
definition of other fields. Syntax is 'field<n>', where 'field' is the
- field name and 'n' the element index in the CARRAY (and the angle brackets
- are literal angle brackets). If the '<n>' is omitted, the first element
- (numbered 0) is assumed.
+ field name and 'n' the element index in the CARRAY (and the angle
+ brackets are literal angle brackets). If the '<n>' is omitted, the
+ first element (numbered 0) is assumed.
- * Slashes on reserved words are now mandatory, allowing fields with reserved
- words as names.
+ * Slashes on reserved words are now mandatory, allowing fields with
+ reserved words as names.
- * The long-deprecated single character data type codes have been removed from
- Standards Version 8. (They are still accepted by GetData, which handles
- all previous Standards Versions as well.)
+ * The long-deprecated single character data type codes have been removed
+ from Standards Version 8. (They are still accepted by GetData, which
+ handles all previous Standards Versions as well.)
* The /ENDIAN directive now takes an optional second parameter. The only
- allowed value for this second token is "arm", which indicates that double
- precision floating point data (including double precision complex data) are
- stored in the ARM middle-endian format. Without this, floating point data
- are assumed to have the same byte sex as integer data.
+ allowed value for this second token is "arm", which indicates that
+ double precision floating point data (including double precision
+ complex data) are stored in the ARM middle-endian format. Without
+ this, floating point data are assumed to have the same byte sex as
+ integer data.
Library Changes
- * GetData, including its bindings, is now supported under MacOS X, Cygwin, and
- Win32 using MinGW. In the case of MinGW, this includes linking against the
- Microsoft C Runtime, which isn't POSIX compliant. Users should exercise
- caution when writing to dirfiles in this case.
+ * GetData, including its bindings, is now supported under MacOS X,
+ Cygwin, and Win32 using MinGW. In the case of MinGW, this includes
+ linking against the Microsoft C Runtime, which isn't POSIX compliant.
+ Users should exercise caution when writing to dirfiles in this case.
- * GetData can now be used on ARM processors. As a side-effect, GetData can
- now read and write the middle-ended floating point format used by older ARM
- processors (on any processor, via endianness conversion).
+ * GetData can now be used on ARM processors. As a side-effect, GetData
+ can now read and write the middle-ended floating point format used by
+ older ARM processors (on any processor, via endianness conversion).
- * Some changes have been made to the parser. It now operates in one of two
- modes: pedantic mode, which adheres strictly to one particular Dirfile
- Standards Version, and permissive mode (the default) which is more
- lenient, as the old parser was. Encountering a /VERSION directive will
- switch the parser from permissive to pedantic mode unless told not to (see
- GD_PERMISSIVE below), and will change the particular Standards Version to
- which pedantic mode is adhering.
+ * Some changes have been made to the parser. It now operates in one of
+ two modes: pedantic mode, which adheres strictly to one particular
+ Dirfile Standards Version, and permissive mode (the default) which is
+ more lenient, as the old parser was. Encountering a /VERSION directive
+ will switch the parser from permissive to pedantic mode unless told not
+ to (see GD_PERMISSIVE below), and will change the particular Standards
+ Version to which pedantic mode is adhering.
- * As a result of the previous change, the Standards compliance of the parser
- in strict mode has been greatly increased. This affects allowed characters
- in field names, and field name lengths. The existence or lack thereof of
- the implicit FILEFRAM field (an alias for INDEX) is also affected.
+ * As a result of the previous change, the Standards compliance of the
+ parser in strict mode has been greatly increased. This affects allowed
+ characters in field names, and field name lengths. The existence or
+ lack thereof of the implicit FILEFRAM field (an alias for INDEX) is
+ also affected.
- * Since Standards Versions 4 and earlier were never codified, we've made some
- assumptions as to their behaviour in certain undocumented situtations. Most
- noticably, they still prohibit ASCII control codes (bytes < 0x20) and '/'
- in field names. We also assume these dirfiles have native byte sex, even
- though some early GetData behaviour implied only little-ended data was
- acceptable.
+ * Since Standards Versions 4 and earlier were never codified, we've made
+ some assumptions as to their behaviour in certain undocumented situta-
+ tions. Most noticably, they still prohibit ASCII control codes (bytes
+ 0x01 through 0x1F) and '/' in field names. We also assume these
+ dirfiles have native byte sex, even though some early GetData behaviour
+ implied only little-ended data was acceptable.
* Every Dirfile object now records its current Standards Version, which
- affects functions such as gd_add_spec(). The Version will start out as the
- value of the last /VERSION directive encountered by the parser, or else the
- latest compliant Standards Version. It can be changed (see below).
+ affects functions such as gd_add_spec(). The Version will start out as
+ the value of the last /VERSION directive encountered by the parser, or
+ else the latest compliant Standards Version. It can be changed (see
+ below).
- * When writing metadata to disk, fragments will be written according to the
- current Standards Version of the dirfile object, rather than always using
- the latest version, as before.
+ * When writing metadata to disk, fragments will be written according to
+ the current Standards Version of the dirfile object, rather than always
+ using the latest version, as before.
* The C library now sports an "ANSI C" mode, which allows compilation of
- GetData without a C99-compliant compiler. Some functionality may be lost,
- most prominently, but unsurprisingly, the default (C99) API.
+ GetData without a C99-compliant compiler. Some functionality may be
+ lost, most prominently, but unsurprisingly, the default (C99) API.
- * The artificial maximum line length of 4096 bytes for format metadata has
- been removed. The maximum line length is now 2**31 bytes on 32-bit systems,
- and more on 64-bit systems. This also has the side-effect of removing the
- same length limit which had been applied to field names.
+ * The artificial maximum line length of 4096 bytes for format metadata
+ has been removed. The maximum line length is now 2**31 bytes on 32-bit
+ systems, and more on 64-bit systems. This also has the side-effect of
+ removing the same length limit which had been applied to field names.
* LINTERP tables are no longer required to be sorted. The library will
- sort them, if needed. As a side-effect of this, tables are no longer read
- twice when loading, leading to potential speed-up.
+ sort them, if needed. As a side-effect of this, tables are no longer
+ read twice when loading, leading to potential speed-up.
- * BUG FIX: The library wasn't properly checking that the second and higher
- input fields in LINCOM and MULTIPLY fields were, in fact, vectors, leading
- to possible segfaults.
+ * BUG FIX: The library wasn't properly checking that the second and
+ higher input fields in LINCOM and MULTIPLY fields were, in fact,
+ vectors, leading to possible segfaults.
- * BUG FIX: A memory leak associated with modifying LINCOM metadata has been
- fixed.
+ * BUG FIX: A memory leak associated with modifying LINCOM metadata has
+ been fixed.
* BUG FIX: Using a complex valued vector as the second input field in a
- MULTIPLY wouldn't result in the field being internally flagged as complex,
- leading to loss of the imaginary part in certain situtaitons.
+ MULTIPLY wouldn't result in the field being internally flagged as
+ complex, leading to loss of the imaginary part in certain situtaitons.
- * BUG FIX: Trying to write to a LINTERP via a table which isn't monotonic now
- results in error. Previously, this was allowed, with arbitrary data stored
- to disk.
+ * BUG FIX: Trying to write to a LINTERP via a table which isn't monotonic
+ now results in error. Previously, this was allowed, with arbitrary
+ data stored to disk.
- * BUG FIX: On encountering a line longer than it was prepared to deal with,
- the parser used to get very confused, potentially resulting in bizarre
- behaviour. On the off chance such a line is encountered, GetData will now
- raise GD_E_LINE_TOO_LONG in these cases. (And, since the maxmium line
- length has been increased to at least 2**31 characters, this should only
- occur in pathological situations.)
+ * BUG FIX: On encountering a line longer than it was prepared to deal
+ with, the parser used to get very confused, potentially resulting in
+ bizarre behaviour. On the off chance such a line is encountered,
+ GetData will now raise GD_E_LINE_TOO_LONG in these cases. (And, since
+ the maxmium line length has been increased to at least 2**31 charac-
+ ters, this should only occur in pathological situations.)
* BUG FIX: Deleting a metafield was not being communicated to its parent,
- resulting in differing opinions within the library as to the deleted field's
- exsitence.
+ resulting in differing opinions within the library as to the deleted
+ field's exsitence.
API Changes
- * Due to namespace conflicts with the MacOS X System Library (which contains
- the C Standard Library), a wholesale renaming of public symbols has been
- performed. All public functions, and data types now begin with 'gd_'. All
- public preprocessor macros now begin with 'GD_'. Symbol renaming has
- occurred in the following manner:
+ * Due to namespace conflicts with the MacOS X System Library (which
+ contains the C Standard Library), a wholesale renaming of public
+ symbols has been performed. ...
[truncated message content] |