source: trunk/NEWS @ 1822

Revision 1730, 16.4 KB checked in by Tobias Richter, 7 months ago (diff)

refs #290

external linking works fine now

Only the reporting NXinquirefile and NXisexternalgroup need to be
tweaked to report correctly with external links.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Version 4.3.0
2=============
3
4If creating an external link you are no longer supposed to create the group
5beforehand. As HDF5 can handle groups natively, that is counterproductive
6and we would have to remove the empty group again (hoping that it is actually
7empty that is). It is easier to create the group in the API if required.
8
9Version 4.2.0
10=============
11
12For the latest information see
13
14    http://www.nexusformat.org/Nexus_42_Release_Notes
15
16==System Requirements==
17'''MXML XML Parsing Library'''
18
19Version 2.2.2 or higher of mxml is required. Earlier versions have a bug and the XML API will not work. This package can be downloded in [http://www.easysw.com/~mike/mxml/software.php both source and binary rpm form] and is also available as part of [http://fedoraproject.org/wiki/Extras/UsingExtras Fedora Extras]. IMPORTANT NOTE: Debian also provides the mxml package, but it based on 2.0 and will not work properly.
20
21'''Python Interface'''
22You will need both the numpy and ctypes modules to be available.  These are provided in both the Fedora and EPEL repositories.
23
24==Building Notes==
25===NAG F90/F95 Compiler===
26The NAG compiler needs the '''-mismatch''' flag to be specified or else it will not compile NXmodule.f90 This is achieve by running configure with the '''FCFLAGS''' environment variable set to contain the flag e.g.
27<pre>
28env FCFLAGS="-mismatch" ./configure --with-f90=f95
29</pre>
30===HDF4 on Intel Macs===
31There is a problem with the include file, hdfi.h (normally in /usr/local/include).  See http://coastwatch.noaa.gov/helparc/software/msg00069.html for details of the modifications necessary to fix it.
32
33==New Features==
34===C++ Interface===
35See the [http://download.nexusformat.org/doxygen/html/classNeXus_1_1File.html doxygen documentation] and
36[http://svn.nexusformat.org/code/branches/4.2/test/napi_test_cpp.cxx NeXus API test program]
37
38===C++ Stream Like interface===
39The idea is to provide an IOSteam like interface and allow you to type
40<pre>
41    // create an entry and a data item
42    File nf(fname, NXACC_CREATE);
43    nf << Group("entry1", "NXentry") << Data("dat1", w, "int_attr", 3);
44    nf.close();
45
46    File nf1(fname, NXACC_RDWR);
47    // add a double_attr to an existing setup
48    nf1 >> Group("entry1", "NXentry") >> Data("dat1") << Attr("double_attr", 6.0);
49    nf1.close();
50
51    // read back data items
52    File nf2(fname, NXACC_READ);
53    nf2 >> Group("entry1", "NXentry") >> Data("dat1", w1, "int_attr", i, "double_attr", d);
54    // alternative way to read d1
55    nf2 >> Data("dat1") >> Attr("double_attr", d1);
56</pre>
57See also the [http://svn.nexusformat.org/code/branches/4.2/test/napi_test_cpp.cxx NeXus API test program]
58
59===IDL Interface===
60There is a new interface to RSI's Interactive Data Language, IDL for NeXus. This
61interface has to be considered beta. Nevertheless it is working most of the time.
62Known issues include:
63* Compressed reading and writing do not work for HDF-4 files, probably because of a library version conflict on libz.
64* There is an issue using NXgetslab on 64 bit operating systems; expect a fix for this pretty soon.
65
66===Python Interface===
67There is now, thanks to Paul Kienzle, a supported interface for the python scripting language. Arrays are stored in numpy arrays and thus allow for efficient data manipulations.
68
69==Changed Features==
70
71==Known Issues==
72See the comments on the IDL interface.
73
74==Miscellaneous bug fixes==
75The following items are bugs reported in previous releases and resolved in
76the 4.2 release.
77
78==Upcoming Features==
79
80Version 4.1.0
81=============
82
83For the latest information see
84
85    http://www.nexusformat.org/Nexus_41_Release_Notes
86
87==System Requirements==
88'''MXML XML Parsing Library'''
89
90Version 2.2.2 or higher of mxml is required. Earlier versions have a bug and the XML API will not work. This package can be downloded in [http://www.easysw.com/~mike/mxml/software.php both source and binary rpm form] and is also available as part of [http://fedoraproject.org/wiki/Extras/UsingExtras Fedora Extras]. IMPORTANT NOTE: Debian also provides the mxml package, but it based on 2.0 and will not work properly.
91
92==Building Notes==
93===NAG F90/F95 Compiler===
94The NAG compiler needs the '''-mismatch''' flag to be specified or else it will not compile NXmodule.f90 This is achieve by running configure with the '''FCFLAGS''' environment variable set to contain the flag e.g.
95<pre>
96env FCFLAGS="-mismatch" ./configure --with-f90=f95
97</pre>
98===HDF4 on Intel Macs===
99There is a problem with the include file, hdfi.h (normally in /usr/local/include).  See http://coastwatch.noaa.gov/helparc/software/msg00069.html for details of the modifications necessary to fix it.
100
101==New Features==
102* New types NX_INT64 and NX_UINT64 to suppport 64 bit integers (only available in HDF5 and XML) [http://trac.nexusformat.org/code/ticket/87 details].
103* Python bindings are now included in the Windows install kit [http://trac.nexusformat.org/code/ticket/86 details]
104
105==Miscellaneous bug fixes==
106The following items are bugs reported in previous releases and resolved in
107the 4.1 release.
108* The Fortran 90 part of testsuite failed with the Absoft compiler on MacOSX (it passed with g95 and gfortran (4.2)) [http://trac.nexusformat.org/code/ticket/68 details here]
109* NXputattr assumed NULL termination of NX_CHAR attributes, which is usually the case in C but not true for JAVA. A workaround is to add '\0' manually [http://trac.nexusformat.org/code/ticket/83 bug report]
110* pkgconfig issue [http://trac.nexusformat.org/code/ticket/84 bug report]
111* Build issue with MXML-2.3 [http://trac.nexusformat.org/code/ticket/91 bug report]
112* XML buffer resizing performance issue [http://trac.nexusformat.org/code/ticket/92 bug report]
113* Documentation is now installed to "datadir" (/usr/share) [http://trac.nexusformat.org/code/ticket/93 bug report]
114
115Version 4.0.0
116=============
117
118For the latest information see
119
120    http://www.nexusformat.org/Nexus_4_Release_Notes
121
122==System Requirements==
123'''MXML XML Parsing Library'''
124
125Version 2.2.2 of mxml is required. Earlier versions have a bug and the XML API will not work. This package can be downloded in [http://www.easysw.com/~mike/mxml/software.php both source and binary rpm form] and is also available as part of [http://fedoraproject.org/wiki/Extras/UsingExtras Fedora Extras]. IMPORTANT NOTE: Debian also provides the mxml package, but it based on 2.0 and will not work properly.
126
127==Building Notes==
128===NAG F90/F95 Compiler===
129The NAG compiler needs the '''-mismatch''' flag to be specified or else it will not compile NXmodule.f90 This is achieve by running configure with the '''FCFLAGS''' environment variable set to contain the flag e.g.
130<pre>
131env FCFLAGS="-mismatch" ./configure --with-f90=f95
132</pre> 
133==New Features==
134The following items are features added to the NeXus API to provide new
135functionality to the core library or to assist in the build process.
136*Extended XML-API to handle unlimited dimensions
137*Add building of Doxygen documentation
138*Add support for two dimensional character arrays (HDF4 and HDF5 only)
139*Added group attribute support to HDF4 (2006/05/02). Requires HDF4 version (???)
140*Add NXmakenamedlink (2007/01/09) to all three file formats (external linking)
141*Add NXprintlink
142*Improved link testing in test suite
143*API can now read generic HDF5 files, such as those produced by matlab
144*Add facility to enable/disable error reporting
145*New NXsummary tool for summarising contentes of a NeXus file
146*Fortran 90 API now works with gfortran 4.2 and above as well as with G95
147*PYTHON and TCL bindings provided via a [http://www.swig.org/ SWIG interface]
148*Additional NXtranslate translators: SPEC, ESRF-EDF
149
150==Changed Features==
151The following aspects of the API have changed in a potentially non-backward compatible way
152*The JAVA API now uses org.nexusformat rather than gov.anl.neutron.nexus
153
154==Known Issues==
155* The Fortran 90 part of testsuite fails with the Absoft compiler on MacOSX (it passes with g95 and gfortran (4.2)) [http://trac.nexusformat.org/code/ticket/68 details here]
156
157==Miscellaneous bug fixes==
158The following items are bugs reported in the 3.x releases and resolved for
159the 4.0 release.
160*Leading and trailing whitespace is stripped from char data on a read; this can be disabled by passing the NXACC_NOSTRIP option to NXopen
161*Fix problems with MXML (what problems?)
162*Improve test procedures when not all libraries are present
163*Correct sourcepath for javadoc
164*Updated makefiles for swig bindings (python, tcl)
165
166Changes in Version 3.0.0
167========================
168
169- GNU Autotools are now used for building the API and programs
170
171- XML files can be written by the NeXus API by specifying NXACC_XML to NXopen
172
173- The NXtoXML, NXtoNX4 and NXtoNX5 utilities have been combined into a single utility nxconvert. To make a DTD definition file use nxtodtd
174
175- New utilities nxdir and nxtranslate
176
177- g95 compiler supported by FORTRAN90 bindings. To specify another
178  compiler use the  --with-f90   option of configure
179
180Changes in Version 2.0.0
181========================
182
183- NeXus library updated to allow the reading and writing of HDF5 files
184  using the same API calls.  In creating a file, use NXACC_CREATE4 for
185  HDF4 and NXACC_CREATE5 for HDF5.  As long as both HDF4 and HDF5
186  libraries are linked, the API will read both HDF4 and HDF5 files
187  transparently.
188
189- The Makefiles have been reorganized to allow HDF4 and/or HDF5 files to
190  be linked into the NeXus library, with compile and link options stored
191  in "makefile_options".
192
193- Rearranged the NeXus libraries so that libNeXus.a contains the standard
194  C and F77 interfaces and libNeXus90.a contains the C and F90 interfaces.
195
196- Added the routine NXsameID to the C interface to compare the ID of
197  NeXus groups and data sets.
198
199- Added NXtoXML and NXtoDTD, utilities that translate a NeXus file to
200  XML, respectively with and without the data.  Note that NXtoDTD does not
201  produce a true XML DTD file.  Instead, it produces a metaDTD as defined
202  on the NeXus web pages (although it will lack proper annotation).
203
204- Changed NXUmodule.f90 so that NXUfindaxis uses the two accepted methods
205  of defining dimension scales, i.e. adding the "axis" attribute to the
206  axis data or adding the "axes" attribute to the signal data
207
208Changes in Version 1.3.3
209========================
210
211- Added NXflush routine to flush data to the output file.
212
213- Added support for unlimited dimensions.
214
215- Used the NX_EXTERNAL macro to prefix callable NeXus functions and defined
216  this to do the appropriate DLL import/export operation on Windows.
217  README.WIN32 has been updated with instructions on how to make and
218  use a NEXUS.DLL.
219
220- NeXus errors now directed to MessageBox() in a Windows DLL.
221
222- Modified timezone selection to use difftime/gmtime method on all
223  systems except VMS 6.2 (where gmtime() always returns NULL).
224 
225- Corrected spurious overflow errors in NXGETCHARDATA.
226
227- Added some unix-style commands, e.g. ls, cd, cat, as equivalents of
228  standard commands in NXbrowse.
229
230Changes in Version 1.3.2
231========================
232
233- NXbrowse now reads a filename as command line argument and only prompts if
234  none is specified.
235
236- Added "dump <data_name> <file_name>" command to NXbrowse, which dumps a
237  NeXus data array into an ASCII file.
238 
239- Added a toggle command to NXbrowse, called "byteaschar", which forces
240  NX_INT8, NX_UINT8 variables to be printed as character strings.  This is
241  for backward compatibility with files created before the definition of the
242  NX_CHAR data type.  8-byte global attributes will be treated as characters
243  when the program begins, but, after that, the default is to treat NX_INT8
244  and NX_UINT8's as integers.
245 
246- Introduced proper typecasts for dimensions in data access routines.  This
247  is to correct problems with systems that do not have 4-byte int's.
248
249- Added in the CALLING_STYLE macro to napi.h to allow correct calling of the
250  FORTRAN interface under WINDOWS.  Corrected definition of NXcompress() on
251  PC.
252 
253- Added README.WIN32 to distribution discussing WINDOWS-specific compilation.
254
255
256Changes in Version 1.3.1
257========================
258
259- Added NXgetgroupinfo, NXinitgroupdir, NXgetattrinfo, and NXinitattrdir
260  to the core C and F77 API's.  They were already present in the F90 API.
261
262- Updated the above routines in NXmodule.f90 so that they called the C
263  versions directly.  This removes the need for the F90 code to know the
264  internal details of the NXhandle C struct.
265
266- Released a new version of NXbrowse written in ISO C.  It is the version
267  that is now installed with the "make NXbrowse" command (on unix systems).
268  The ordering of array indices uses the C convention i.e. it is reversed
269  from the original F90 version.
270
271- Corrected the calculation of time zone offsets when compiled by
272  Metrowerks CodeWarrior for PowerPC Macs.
273
274Changes in Version 1.3.0
275========================
276
277- Added NXcompress to the C, F77, and F90 API's. Compression works only with
278  Release 3 of the HDF-4.1 libraries or better. Note: on my DigitalUnix 4.0D
279  installation I had to link against the jpeg library supplied with HDF
280  directly due to a conflict with a system shared library. Replace -ljpeg
281  by $HDFROOT/lib/libjpeg.a.
282
283- Added NXUsetcompress to F90 utility API to set default compression
284  parameters, and added call to NXcompress in NXUwritedata.
285
286- Changed attribute arguments in the F90 routine NXUwriteglobals to optional.
287
288Changes in Version 1.2.1
289========================
290
291- Released NeXus API under the terms of the GNU Lesser General Public
292  License.
293
294Changes in Version 1.2.0
295========================
296
297- NXGETCHARDATA, NXGETCHARATTR, NXPUTCHARDATA and NXPUTCHARATTR added
298  to Fortran 77 interface to correct problems with handling character data
299  and attributes.
300
301- Reversed dimension order and adjusted starting indices in NXGETSLAB
302  and NXPUTSLAB in Fortran 77 interface for improved compatibility with the
303  C interface.
304
305- All SDSes created with the DFTAG_NDG tag, rather than DFTAG_SDG,
306  which is now deprecated by HDF.
307
308- Expanded number of NeXus routines and data types checked by the test
309  programs "napi_test.c", "napif_test.f" and "NXtest.f90".
310 
311- Excluded null terminator from string length check in REPLACE_STRING to
312  prevent error messages when the string is exactly the right length.
313
314- Added definitions of NX_MAXRANK (max. no. of dataset dimensions = 32) to
315  and NX_MAXNAMELEN (max. length of dataset name = 64) to header files.
316
317- Made NXIReportError globally visible.
318
319- Improved determination of local time zone when writing the global file
320  attribute "file_time".
321
322- Added option to NXbrowse.f90 to allow display of individual array elements
323  of the specified index.
324
325- Added check for __ABSOFT macro in "napi.h" to make compatible with
326  Absoft Pro Fortran for Linux.
327
328- Add __stdcall definition to C prototypes under WIN32 so they can link
329  to FORTRAN.
330
331Changes in Version 1.1.0
332========================
333
334- First appearance of the Fortran 90 API.
335
336- Added reading and writing of non-character attributes to the Fortran 77
337  interface.
338
339- Corrected problems with linking groups by making NXgetgroupID
340  and NXmakelink use the HDF tag/ref pair in NXlink structures.
341
342- Added VMS build file MAKE_VMS.COM.
343
344- Added NEXUS_VERSION CHARACTER constant to NAPIF.INC, with value as defined
345  in napi.h.
346
347- Made the Fortran 77 interface treat both NX_UINT8 and NX_CHAR as strings, for
348  consistency with the C implementation and also for backward compatability
349  reasons.
350
351- Fixed memory leak on Fortran 77 side on NXclose.
352
353- NXdict added to the normal distribution.
354
355- Added casts to HDF API calling parameters to eliminate type-mismatch
356  compiler warnings.
357
358- Modified time creation functions to handle non-working gmtime()
359  function on VMS 6.2.
360
361
362Changes in Version 1.0.0
363========================
364
365- Reversed array dimensions on going from C to FORTRAN, so that the
366  "fastest varying index" is kept consistent.
367
368- Incorporated fixes suggested by Markus Zolliker (markus.zolliker@psi.ch)
369  for the following problems with the FORTRAN interface:
370
371  (1) NXopen ends with a "Segmentation fault" if the file is not HDF.
372  (2) NXgetentry gives an error message when NAME and CLASS are not
373    initialised to blank.
374
375- Changed "data" from char* to void* in NXgetattr.
376
377- Changed value for NXACC_CREATE to be DFACC_CREATE rather than DFACC_ALL
378  in NAPIF.INC for consistency with C interface.
379
380- Added the following global attributes :
381  NeXus_version - updated whenever a file is opened "read/write", so it
382                  will always contain the latest version of the interface
383                  the file was written with
384  file_name     - set on file creation, then left unchanged
385  file_time     - set on file creation, then left unchanged
386
387$Id$
Note: See TracBrowser for help on using the repository browser.