Raw File
NEWS
===================================================================================================
Changes in version 4.0.0 (April 2024)
+ Use cmake to compile the library. Binary ABI may be broken by this major change in the compilation process. 
  The library remains compatible at the source level: the existing application therefore only needs a recompilation.
+ Add the function calceph_getidbyname and calceph_getnamebyidss.
+ Fix potential crash of fortran-90 interface only, on 32-bit OS, if ephemeris file does not exist.
+ Support frame name with any character except tab, space, comma, parenthese, equal, in the frame SPICE kernel file (files .tf).
+ Fix system error messages to be thread-safe (remove strerror).
+ Fix memory buffer overflow if the number of constants is greater than 400 in the original JPL files.

===================================================================================================
Changes in version 3.5.5 (February 2024)
+ Fix memory leaks when files are closed.
+ Fix heap buffer overflow (read only operation) with text SPICE kernel files.
+ Fix memory crash if the SPICE kernel files contain segments with a size of the directory greater than 100.

===================================================================================================
Changes in version 3.5.4 (December 2023)
+ Fix the documentation about the unsupported segment 19.
+ Fix the window size if requested time is near a boundary for SPICE kernel files containing 
  segments of type 18, compliant with the SPICE specifications.
+ Fix incorrect results for SPICE kernel files containing segments of type 20. 
+ Support the segment 14 in the SPICE kernel file.

===================================================================================================
Changes in version 3.5.3 (September 2023)
+ Fix compilation error with Cython 3.0 or later.
+ Fix compilation error with Python 3.10 or later on some linux distributions.
+ Fix the tests suite with octave, due to a change of the syntax parsing by octave.

===================================================================================================
Changes in version 3.5.2 (March 2023)
+ Fix a possible buffer overflow in the python interface of getfileversion.
+ Fix the undefined external symbol rint with visual C compiler 10.0.
+ Fix the redefinition of vasprintf with the environnment MinGW.

===================================================================================================
Changes in version 3.5.1 (February 2022)
+ Support the incremental assignment in the text SPICE kernel file (files .tpc).
+ Support the relative frames in the frame SPICE kernel file (files .tf).
+ Fix the returned values of calceph_getconstantvs with large SPICE kernels.
+ Fix random crash or double-free error when meta-kernel SPICE kernel files are closed (files .mk).
+ Raise an error inside the function calceph_compute if center != 0 for the target (14,15,16,17), 
  to conform to the documentation.
+ Fix the object name Megaclite (519) from NAIFID_MAGACLITE to NAIFID_MEGACLITE.

===================================================================================================
Changes in version 3.5.0 (August 2021)
+ Add the function calceph_getmaxsupportedorder, calceph_getpositionrecordindex2 and calceph_getorientrecordindex2.
+ Update config.sub and config.guess to support new processors.
+ Fix an incorrect result of calceph_(s)getconstant and calceph_getconstantvd with SPICE text kernel 
  if the current locale has a decimal separator different than the decimal point (e.g. comma)
+ Fix compilation warnings with gcc 11 about pointers and arrays.
+ Fix compilation errors with the android SDK API level < 24.
+ Fix the installation with python 3.10 or later (PEP 632).
+ Reduce the stack size of the arrays for the evaluation with C99 compilers.
+ Change the array size of the function calceph_getfileversion from the value CALCEPH_MAX_CONSTANTNAME
  to CALCEPH_MAX_CONSTANTVALUE, to conform to the documentation and examples.
  Only C and Fortran 2003 are affected by this change : previous header file contains an invalid declaration of the function.
  Few programs may be affected by this change, as the required array has a smaller size : No buffer overflow may appear. 

===================================================================================================
Changes in version 3.4.7 (November 2020)
+ Fix a decode error of the little-endian SPICE kernel files on the big-endian architectures (e.g. processor s390x).
+ Fix the transmission of the flags FCFLAGS to the fortran compilers.

===================================================================================================
Changes in version 3.4.6 (August 2020)
+ Fix a wrong error message about unsupported order for the segment 21.
+ Fix incorrect results for SPICE kernel files containing segments of type 21 with many records 
  (>=100) and improve the accuracy if segments of type 21 contain few records (<100).

===================================================================================================
Changes in version 3.4.5 (June 2020)
+ Fix a random crash of calceph_open_array if one of the file is invalid.
+ f90calceph_seterrorhandler now ignores the parameter userfunc, instead of the requirement to set to 0, 
  if the parameter type is 1 or 2. userfunc can be an empty function. 
  It fixes compilation errors with gcc 10.1.

===================================================================================================
Changes in version 3.4.4 (April 2020)
+ Fix a regression introduced in 3.4.3 (remove a recursion with SPICE kernel files).

===================================================================================================
Changes in version 3.4.3 (April 2020)
+ Remove a recursion to read the segments of the SPICE kernel files. It reduces the usage of the stack. 
+ Fix the installation of python package under Anaconda

===================================================================================================
Changes in version 3.4.2 (January 2020)
+ Add a missing makefile for windows system using the Visual C++ compiler. 
+ Support SPICE kernels larger than 4GBytes. 

===================================================================================================
Changes in version 3.4.1 (November 2019)
+ Improve the execution time of calceph_open and calceph_open_array if the spice kernels contains a large number of bodies.
+ Update config.sub and config.guess to support arm processors.

===================================================================================================
Changes in version 3.4.0 (August 2019)
+ Add the function calceph_isthreadsafe.
+ Multiple threads can now access the same ephemeris descriptor if the function calceph_isthreadsafe returns 1. 
+ Fortran and C examples (f2003parallel.f, cparallel.c), written using OpenMP, are available in the folder examples.
+ Fix an error if multiple SPICE kernels are loaded for the same objects over different time-span.
+ Fix the MinGW Makefiles if the variable MAKE contains spaces.
+ Support the segment 5 and 18 in the SPICE kernel file.
+ Support the euler angles for the orientation stored in a text PCK files
  (BODY..._POLE_RA, BODY..._POLE_DE, BODY..._POLE_PM, BODY..._NUT_PREC_...).
+ Support the frame 17 (ECLIPJ2000) in the SPICE kernel file.
+ Add the utilities calceph_queryposition and calceph_queryorientation.

===================================================================================================
Changes in version 3.3.1 (February 2019)
+ Fix the installation with python 3.7.0 or later.
+ Fix the installation with python and pip on Windows operating system.
+ Add the missing file pythonapi/src/Makefile.mingw for the environnment MinGW.

===================================================================================================
Changes in version 3.3.0 (January 2019)
+ Add the functions calceph_sgetfileversion and calceph_getfileversion.
+ Fix a regression to open some old JPL DE format files.
+ Fix a compiler warning in the file util.c.
+ Support the segments 8, 9, 17 and 21 in the SPICE kernel file.
+ Check the validity of the number of constants in the original INPOP/DE files.
+ For the Python interface, the functions compute??? and orient??? supports a list or numpy's array for the time parameters.

===================================================================================================
Changes in version 3.2.0 (October 2018)
+ Fix the creation of the dynamic library with msys/mingw on Windows.
+ Fix the returned values of the functions f90calceph_getconstantvd and f90calceph_getconstantvs.
+ Fix a compilation warning with the GNU C compilers 8.0 or later.
+ Support the original JPL files with TT-TDB or with a large number of constants.
+ Support the IAU 1980 Nutation Angles of the JPL files.
+ Add the NAIF identification numbers for DIA, KERBEROS, STYX and SIDING SPRING.
+ Add the option installnodoc to the command make.

===================================================================================================
Changes in version 3.1.0 (May 2018)
+ Fix a compilation problem with MinGW if the terminal cmd.exe is used.
+ Fix a wrong function name open_array instead of open in the documentation of the Python interface.
+ Fix the return value of the functions calceph_orient_xxx when the unit CALCEPH_UNIT_RAD is not provided.
+ Add the Mex interface compliant with Octave 4.0+ and Matlab 2017+.
+ Add the functions calceph_getconstantsd, calceph_getconstantvd and calceph_getconstantss and calceph_getconstantvs.
+ The return value of the function calceph_(s)getconstant(index) is the number of values associated to the constant.
+ Display a better message for the unsupported old spice kernel (NAIF/DAF)

===================================================================================================
Changes in version 3.0.0 (February 2018)
+ Update the license CeCILL v2.0 to CeCILL v2.1.
+ Fix a decode error for SPICE kernels with a big-endian format.
+ Add the functions calceph_gettimescale and calceph_gettimespan.
+ Add the functions calceph_getpositionrecordcount and calceph_getpositionrecordindex.
+ Add the functions calceph_getorientrecordcount and calceph_getorientrecordindex.
+ Add the functions calceph_sgettimescale and calceph_sgettimespan.
+ Support INPOP file format 3.0 (add angular momentum due to the rotation in the binary file).
+ Use sphinx-doc to produce the documentation.

===================================================================================================
Changes in version 2.3.2 (January 2017)
+ Fix the return value of the function calceph_getconstant if the constant name "AU" or "EMRAT" is not available.
+ Fix the documentation for the fortran interface of the function calceph_prefetch.
+ Fix the return value of the function calceph_orient_unit if the frame SPICE kernel file is missing.

===================================================================================================
Changes in version 2.3.1 (November 2016)
+ Fix the compilation warnings with the Pelles compiler.
+ Fix the compilation warnings with the C89 standard.
+ Fix the compilation warnings with the GNU C compilers.
+ Fix the documentation for the constant CALCEPH_VERSION_STRING.

===================================================================================================
Changes in version 2.3.0 (September 2016)
+ Add the Python interface compliant with python 2.6+ and python 3.
+ Add the preprocessor macro CALCEPH_VERSION_STRING.
+ Add the function calceph_getversion_str.
+ Add the function calceph_compute_order and calceph_orient_order.
+ Fix the return value of the functions calceph_compute_xxx when the reference frame is not available in the spice kernel files.
The function should produce an error  and return 0 (before the function performed no computation but it returned 1).

===================================================================================================
Changes in version 2.2.5 (July 2016)
+ Support the segment 1, 12 and 13 in the SPICE kernel file.
+ Fix an incorrect result if CALCEPH_UNIT_DAY is provided to calceph_compute_unit 
and the target is TCG-TCB or TT-TDB.
+ Support the numerical constants declared without parenthesis in the text kernel files (.tpc).

===================================================================================================
Changes in version 2.2.4 (August 2015)
+ Update the version number of the dynamic library.

===================================================================================================
Changes in version 2.2.3 (June 2015)
+ Add the predefined constants for calceph version in the fortran interface.
+ Fix the build chain if calceph is compiled from another folder.

===================================================================================================
Changes in version 2.2.2 (october 2014)
+ Support the compilation in the standard C89.

===================================================================================================
Changes in version 2.2.1 (September 2014)

+ Remove debug informations that are printed when errors occur in calceph_?compute_???.
+ Support the Portland compilers.
+ Fix the info documentation.
+ Report an error if no asteroid is available in an ephemeris file with 
  the INPOP file format (instead of a crash).

===================================================================================================
Changes in version 2.2.0 (March 2014)

+ Support the new segments 20, 102, 103 and 120 in the SPICE kernel file.
+ Support the NAIF identification numbers.
+ Add the function calceph_orient_unit and calceph_prefetch.


===================================================================================================
Changes in version 2.1.0 (June 2013)

+ Fix a bug in calceph_getconstant and calceph_sgetconstant with an invalid name
+ Remove the nul character  in the name of the constant returned by the function
  (f90)calceph_(s)getconstantindex when the Fortran interface is used.

===================================================================================================
Changes in version 2.0.0 (February 2012)

+ Add the function calceph_open_array and calceph_compute_unit.
+ Add the tools calceph_inspector to show details about ephemeris file.
+ Support the SPICE kernel file (SPK with segment 2 or 3, text and binary PCK, meta kernel, basic frame kernel).
+ Improve the performances
+ Correct the Fortran 2003 interface for calceph_sgetconstantindex.
+ Add the constant 17 to get TCG-TCB from TCB ephemeros file.
+ Fix memory leaks in calceph_open when errors occur.
+ Supports INPOP file format 2.0 (add asteroids in the binary file and supports TCB ephemeris file).

===================================================================================================
Changes in version 1.2.0 (May 2011)

+ Change the licensing : triple licenses to support integration in BSD software
+ Remove explicit dependencies on the record size for DExxx. 

===================================================================================================
Changes in version 1.1.2 (March 2011)

+ Fix a warning with oracle studio compiler 12.
+ Fix a bug with gcc on solaris in 64 bit mode.
+ Fix the copyright statements.

===================================================================================================
Changes in version 1.1.1 (November 2010)

+ Fix a compilation error in util.h  and a warning with the sun studio compilers.

===================================================================================================
Changes in version 1.1.0 (November 2010)

+ Add the function calceph_seterrorhandler for the custom error handlers.

===================================================================================================
Changes in version 1.0.3 (May 2010)

+ Support the JPL ephemeris file DE423.

===================================================================================================
Changes in version 1.0.2 (January 2010)

+ Fix memory leaks in the fortran-90 interface.


===================================================================================================
Changes in version 1.0.1 (October 2009)

+ Support the large binary ephemeris files (>2GB) on 32-bit operating systems.
+ Fix the documentation of the function f90calceph sopen.
+ Fix an invalid open mode on Windows operating systems.
+ Report accurately the I/O error.


===================================================================================================
Changes in version 1.0.0 (May 2009)

+ Initial release
back to top