The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
ChangeLog

*********** release of 0.15.0

20120428
	julian_day.c
		Removed not-needed BSD_SOURCE define
	
	Petr Kubanek

20120111
	utility.c:
	utility.h:
	julian_day.c:
		Fix problems with double redefinition, pointed by Lukasz Michalik
	
	Petr Kubanek

*********** release of 0.14.0

20110730
	airmass.c:
		Added ln_get_alt_from_airmass function

	doc/doxyfile.in,doc/doxyfile
		Generate input doxyfile from doxyfile.in
	
	Petr Kubanek

20090917
	sidereal_time.c:
		Fix problem with double transformation of degrees to hours, pointed by Edward Falk

*********** release of 0.13.0

20090514
	heliocentric_time.h:
	heliocentric_time.c:
	test.c:
		Added heliocentric time corrections calculations.

	Petr Kubanek

20090420
	julian_day.h: 
		Removed "#ifndef __WIN32__" to make ln_get_date_from_timet function available in win32

	ln_types.h:
		Changed tv_sec type from long to time_t to match standard definition
		Clarified field documentation for ln_nutation

	julian_day.c:
		Removed "#ifndef __WIN32__" to make ln_get_date_from_timet function available in win32
		Remove platform-dependent code form ln_get_date_from_sys. The function now simply makes a call to gettimeofday() - a Win32 implementation is supplied in utility.c, and this function is no longer limited to one-second precision under Windows.

	nutation.c:
		Fixed two values in nutation coefficients table
		Fixed method used to compute longitude/obliquity offsets. The general form of the calculation is supposed to be, e.g., coeff*sin(D+M+MM+F+O), not coeff*(sin(D) + sin(M) + sin(MM) + ...)
		Added correct computation for mean ecliptic (Meeus eq 22.2)
		(These fixes also fix ln_get_apparent_sidereal_time, and affect:
			ln_get_solar_equ_coords
			ln_get_solar_ecl_coords
			ln_get_equ_from_ecl (possibly needs true ecliptic rather than mean)
			ln_get_ecl_from_equ (possibly needs true ecliptic rather than mean)
		)

	utility.c:
		Fixed gettimeofday Win32 implementation:
			should not add timezone offset - _ftime_s and gettimeofday both work in terms of seconds since Jan 1 1970, UTC
		Added some explicit casts to remove compile warnings
		Cleaned up implementations of ln_deg_to_hms, ln_rad_to_hms, ln_deg_to_dms, and ln_rad_to_hms
	
	patch provided by Kevin Ivarsen, applied by Petr Kubanek

20090323
	Fixed issues while compling on Sun/Solaris (acosl, round, ..)

	Petr Kubanek

*********** release of 0.12.3

20090114
	Another fix of MS Windows support

	patch provided by Stephane Lamoliatte, applied by Petr Kubanek

20081008
	Fixed MS Windows support

	patch provided by Stephane Lamoliatte, applied by Petr Kubanek

*********** release of 0.12.2

20080516
	Fixed bug #1838539.

	Petr Kubanek

20080413
	Fixed bug #1940972.

	Petr Kubanek

20071127
	Fixed bug #1838359.

	Petr Kubanek

20071115
	Fixed time.h issues.

	Petr Kubanek

20070709
	Fixed bug in julian_day.c, reported by Michael Richmod.

	Petr Kubanek

20070125
	fixed

	[ 1644739 ] DEC coordinate error in ln_get_equ_pm_epoch

	Petr Kubanek

*********** release of 0.12.1

20070117
	Bug-fix of RST.

	-src/rise_set.c

	check_coords function, rewrite H1 checks, fix some nasty bugs which
	were there.
	
	-lntest/test.c

	Additional tests for RST functions (hyp_future_rst_test).
	Fix RST tests - error will be displayed if libnova calculates wrong
	circumpolar value.

	Petr Kubanek

20070117
	Future functions, which calculated next rises.
	
	-src/rise_set.c
	-src/libnova/rise_set.h

	Add _next_rst_future functions.

	-src/elliptic_motion.c
	-src/libnova/elliptic_motion.h
	-src/parabolic_motion.c
	-src/libnova/parabolic_motion.h
	-src/hyperbolic_motion.c
	-src/libnova/hyperbolic_motion.h

	Add _next functions (and their variants).

	-lntest/test.c

	Add test for new functions (ell_rst_test, body_future_rst_test
	functions).

	Petr Kubanek

20070116
	libnova is now ported to Win32 with the following changes.

	-src/julian_day.c

	Added preprocessing directive for POSIX header (sys/time.h) exclusion	for Win32 compilation.
	Changed ln_get_date_from_sys to be compatible with Win32.

	-src/misc.c

	Added preprocessing directive for POSIX header (unistd.h) exclusion for Win32 compilation.
	Changed libnova.h include to libnova/libnova.h.

	-src/utility.c

	Added preprocessing directive for POSIX header (unistd.h) exclusion for Win32 compilation.
	Added functions gettimeofday, gmtime_r, and strtok_r to substitute for their POSIX coupterparts.
	Added functions cbrt, nan, and round to subsistute, in C89, for their C99 counterparts.

	-src/libnova/ln_types.h

	Added definitions of struct timeval and struct timezone to subtitute in Win32 for their POSIX counterparts.

	-src/libnova/utility.h
	
	Added include of time.h.
	Added declarations of new functions noted in this change under src/utility.c

	Daniel Schultze

20070116
	-src/rise_set.c
	-src/libnova/rise_set.h

	Add various _next_ & _horizon functions.
	Add ln_get_motion_body_rst_horizon function.
	Fix dynamic time diffs in rst functions - remove dynamical time
	correction from object_rst, where it's not needed, use it only for
	nr, nt and ns corrections (interpolation coeficient) in body &
	motion_body variants.
	Add dm corrections for object calculation, as 0.01 is ~ 10 minutes.

	-src/elliptic_motion.c
	-src/libnova/elliptic_motion.h
	-src/parabolic_motion.c
	-src/libnova/parabolic_motion.h
	-src/hyperbolic_motion.c
	-src/libnova/hyperbolic_motion.h

	Change _rst calculation to use generic motion_body code.
	Add _horizont functions.

	-lntest/test.c

	Change Arcturus test times.
	Add test for Venus RST.
	Add tests for _next functions.

	Petr Kubanek

20070115
	-lntest/test.c

	Add test for Venus RST.

	Petr Kubanek

20070112
	-src/rise_set.c
	-src/libnova/rise_set.h

	Replace "horizont" with correct "horizon" (typo).
	Add ln_get_object_rst_horizon function.

	-src/solar.c
	-src/libnova/solar.c
	-src/mercury.c
	-src/venus.c
	-src/lunar.c
	-src/libnova/lunar.h
	-src/mars.c
	-src/jupiter.c
	-src/saturn.c
	-src/urans.c
	-src/neptune.c
	-src/pluto.c

	Replace "horizont" with correct "horizon" (typo).

	-src/elliptic_motion.c
	-src/parabolic_motion.c
	-src/hyperbolic_motion.c

	Return -1 when object is never visible.

	Petr Kubanek

20060901
	-src/transform.h
	
	Change code how az is calculated if dec = +- 90.

	-lntest/test.c

	Add tests for ln_get_hrz_from_equ when dec = +- 90.

	Petr Kubanek

20060611
	-lntest/test.c

	Add TNO test, which explain MPO Epoch (which have anomaly, and hence
	to fit to Libnova perihelion-pass epoch, M/n have to be substracted)

	-src/elliptic_motion.c

	Change atan2 to asin, and put correct parameters.
	Petr Kubanek

20060316
	-src/dynamical_time.c
	-src/utility.c
	-lntest/test.c

	Updated dynamical time constants from US Navy.
	Fixed bug in interpolation.

	Fix suppilied by HG Zaunick
	Liam Girdwood

*********** release of 0.12.0

20060215
	-src/julina_day.c
	-src/libnova/julian_day.h

	Add ln_get_date_from_timet and ln_get_date_from_tm functions.

	Petr Kubanek

20060117
	-src/rise_set.c

	Bug fixed error at calculation whenever circumpolar object is always
	above or bellow horizont.

	-lntest/test.c

	Add tests for ln_get_object_rst function.

	Petr Kubanek

20060110
	-src/precession.c

	Changed to long double, use l goniometric functions

	-src/proper_motion.c

	Code cleanup.

	-src/transform.c

	Solve B1950 and J2000 issues in galactic coordinates transformation.

	Add tests.

	Petr Kubanek

20051128
	-configure.in
	
	Removed doxygen.in reference from configure

20051128
	-src/precession.c

	Fixed doxygen warning in precession.
	

20051020
	[#1315356] applied

	Petr Kubanek

20050925 
	-src/utility.c

	Fixed bug in degrees --> dms overflows

20050922
	-src/precession.c

	Return ln_range_degrees of ra, otherwise we can get < 0 ra from prec2
	function.

	Petr Kubanek

20050914
	-src/airmass.h
	-src/libnova/airmass.h

	Airmass code

	Petr Kubanek

20050908
	-src/parallax.c
	-src/libnova/parallax.h

	Add Parallax routines (Ch. 39).

	Petr Kubanek

20050906
        -src/precession.c

	Add ln_get_equ_prec2 to calculate precission between arbitary dates.

	-src/libnova/ln_types.h

	JD2000 #define.

	Petr Kubanek

20050717
	-src/rise_set.c
	-src/libnova/rise_set.h

	Add LN_SIDEREAL_DAY_SEC and LN_SIDEREAL_DAY_DAY #defines, fix error
	in ln_get_object_next_rst (infinite loop in while on some special
	occasions).

	Petr Kubanek

*********** release of 0.11.0

20050705
	- *
	
	Updated copyright and LGPL.

20050704
	-src/julian_day.c
	
	Bug fix for ln_zonedate_to_date, not setting date ptr.

20050616
	-src/julian_day.c
	
	Bug fix for rounding error in time_t to JD and vice versa. 

20050609

	- src/julian_day.c
	- lntest/test.c

	Bug fix ln_date_to_zonedate, added tests for
	ln_date_to_zonedate.
	
20050609

	-src/libnova/ln_types.h
	-src/utility.h
	-ln_test/test.c
	
	Added neg bit in ln_dms for small > -1 neg angles. Not sure why
	this had got back in ?

20050609

	- src/libnova/proper_motion.h
	- src/proper_motion.c

	Added variable epoch proper motion func and added units to documentation. 


20050607
	- src/libnova/ln_types.h
	- src/libnova/julian_day.c
	- src/julian_day.c
	- examples/lunar.c
	- examples/sun.c
	- examples/mars.c
	- examples/asteroid.c
	- lntest/test.c

	Added ln_zonedate & supporting functions, change examples,
	added test to lntest.

	- lntest/test.c

	Call usleep between sucessive calls to get_jd (so ./test
	should pass on fast CPU as well).

	- debian/*

	Added Debian build directory.

	Petr Kubanek

20050506
	- src/refraction.c
	
	Fixed bug in refraction calculation.
	
	Radu Corlan

20050503
	- src/libnova/ln_types.h, src/utility.h

	Removed bitfields

	lg


20040712
	- src/transform.c, src/libnova/ln_types.h, src/libnova/transform.h

	Beta Galactics Coordinates support.

	Petr Kubanek

20040712
	-numerous
	
	Refactored sun -> solar in API
	
	lg


*********** release of 0.10.1

20040906
	-src/libnova/solar.h
	
	Removed private function from header

	Liam Girdwood

20040906
	- src/julian_day.c
	
	Fixed micro second overflow bug in ln_get_date_from_sys

	Liam Girdwood


************* release of 0.10.0

20042905
	- Added logo
	
	Edward Rands, Liam Girdwood


20042805
	-src/hyperbolic.c, src/libnova/hyperbolic.h, src/libnova/solar.h

	Fixed doxygen typos
	
	Liam Girdwood
	
20042005
	-src/hyperbolic.c, src/libnova/hyperbolic.h
	
	Added hyperbolic motion of bodies
	
	Petr Kubanek

20040205
	-src/utility.c
	
	Added overflow detection in *_to_hms(), *_to_dms()

20040105
	-src/transform.c
	-examples/transforms.c
	
	Fixed quadrant range bug and added transform example

20041904
	-src/utility.c
	
	Simplify some basic conversions.
	
	Juan Carlos Remis 

20041704
	-examples/sun.c
	
	Fixed typo in example code
	
	Liam Girdwood

20041804
	-src/elliptic_motion.c
	-src/parabolic_motion.c
	
	Change RST to use IAU longitudes.
	
	Liam Girdwood

20041704
	-src/rise_set.c
	
	Change RST to use IAU longitudes.
	
	Liam Girdwood

20041004
	-src/rise_set.c

	Fixed bug with correct side of
	angles passed to ln_interpolate3
	in ln_get_body_rst_horizont

	Petr Kubanek

20041003
	-src/aberration.c
	-src/nutation.c
	-src/transform.c
	-src/precession.c
	-src/utility.c
	-lntest/test.c
	
	Used long doubles internally.
	Fixed bug in ln_dms negative bit.
	
	Liam Girdwood

20040703
	-src/*.c
	-src/libnova/*.h
	-lntest/*.c
	-examples/*.c
	
	Created new API with ln_ prefix.
	All headers are now in src/libnova/ and are installed in 
	$(prefix)/libnova/
	
	Liam Girdwood, Peter Williams

20042001
	-src/transform.c
	-src/libnova.h
	-lntest/test.c
	
	Changed from longitude measurement from Meeus positively westwards to the
	IAU's positively eastwards.

	Liam Girdwood, Guillermo Ballester Valor


20033008

	-src/julian_day.c
	
	Added Win32 timezone functionality
	
	Liam Girdwood, Pablo Martikian

	-src/libnova.h
	-src/rise_set.c
	-src/elliptic_motion.c
	
	Removed inlines due to build problems on some compilers
	
	Pablo Martikian

	-src/transform.c
	
	Removed unintentional debug from CVS
	
	Liam Girdwood
	
	-src/libnova.c
	
	Added #define VERSION for building on Windows
	
	Pablo Martikian

20032508
	-src/*.c *.h
	
	Corrected GNU licence to use LGPL 
	
	Liam Girdwood

20032403
	-src/julian_day.c
	
	Fixed local to UT transformations
	
	Liam Girdwood

20032003
	-src/misc.c
	
	Mac OSX does not have malloc.h as it's included in stdlib.h

	Paul Ray

	-examples/asteroid.c
	-examples/Makefile.am
	
	added asteroid example code based on MPCORB data for Pallas.

	-src/elliptic motion.c
	
	removed an unintentional change.

	-src/libnova.h
	-src/elliptic_motion.c
	
	added get_ell_last_perihelion()
	
	Liam Girdwood
	
20031808
	-src/libnova.h
	-src/julian_day.c
	
	Added MPC date format to ln_date conversion.
	
	Liam Girdwood

20031708
	-src/rise_set.c
	-src/julian_day.c
	-src/transform.c
	
	Fixed doxygen warnings

	-lntest/lntest.c
	Updated test's to use dynamical time diff in nutation.
	
	-src/Makefile.am
	-src/libnova.h
	-src/angular_separation.c
	-lntest/test.c
	
	Added angular separation and position angle functions.
	
	Liam Girdwood

20031508
	-src/lunar.*
	
	Removed build warnings
	
	Liam Girdwood

20031308
	-src/julian_day.c
	
	Fixed divide by hours bug in get_julian_local_date()
	to divide by seconds
	
	Pablo Martikian, Liam Girdwood

	-src/mercury.c
	-src/venus.c
	-src/earth.c
	-src/mars.c
	-src/jupiter.c
	-src/saturn.c
	-src/uranus.c
	-src/neptune.c
	-src/pluto.c
	-src/elliptic_motion.c
	-src/parabolic_motion.c
	-src/solar.c
	
	Removed unused variable JD in get_rect_from_helio()
	
	Pablo Martikian, Liam Girdwood

	-src/misc.c
	Fixed uninitialised variable in interpolate5
	
	Pablo Martikian, Liam Girdwood

	-src/nutation.c
	Removed build warnings.
	Uses JD + delta T Chap 22, equ 22.1
	
	Liam Girdwood, Pablo Martikian

20031208
	-src/aberration.*
	-src/misc.c
	Removed build warnings
	
	Pablo Martikian, Liam Girdwood

	-src/libnova.h
	Add extra M_PI_* #defines for windows
	
	Pablo Martikian
	
	-configure.in
	Added -Wall build option
	
	Liam Girdwood

20033007
	-src/julian_day.c
	FreeBSD does not have variable timezone.
	
	Kirill Ponomarew, Liam Girdwood
	
20032907
	-src/julian_day.c
	Fixed return at line 320
	
	Petr Kubanek

**** Release 0.8.0 ****

20032807
	-examples/*
	Added some examples.
	
	Liam Girdwood

20032703
	-src/lunar.c
	Fixed some documentation errors in lunar phase and disk.
	
	Kimura Fuyuku, Liam Girdwood

20032703
	-src/julian_day.c
	Fixed bug stopping get_julian_day() changing parameter.
	
	Kimura Fuyuku, Liam Girdwood

20032803
	-src/libnova.h, libnova.c
	Added sign member to struct ln_dms to represent small negative angles.
	
	John R. Thorstensen, Liam Girdwood


**** Release 0.7.0 ****

20032203
	-src/lunar.c, libnova.h
	Added Lunar longitudes for ascending node and perigee.
	
	Liam Girdwood

20030303
	-src/libnova.h
	typo - cant spell jupiter at line 1148
	
	Arsita Chetan, Liam Girdwood

20030226
	-src/mercury.c - pluto.c, transform.c, solar.c, lunar.c
	replaced atan() with atan2() to remove quadrant errors.
	
	Asrita Chetan, Liam Girdwood

20030226
	-src/transform.c
	ra not in correct quadrant for hrz<->equ coords transformation
	
	Asrita Chetan, Liam Girdwood


20030224
	-macros/libnova-check.m4
	fixed compilation problem with gcc 3.2
	
	-macros/Makefile.am
	Added install rule for libnova-check.m4
	Removed unused macros
	
	Liam Girdwood

20030126
	-src/parabolic_motion.c, src/elliptic_motion.c
	Put true anomaly in correct quadrant.
	
	-* Various
	Doxygen documentation updates.
	
	-src/mercury - pluto.c
	Added Heliocentrcic rectangular coords.
	
	Liam Girdwood

20030123
	-ln_test/test.c
	Fixed parabolic tests
	Added test results
	
	Liam Girdwood

20030118
	-src/mercury .. pluto.c, lunar.c, parabolic_motion.c, elliptic_motion.c
	Fixed error in calculation of JD_UT for rise,transit, set times.

	Petr Kubanek, Liam Girdwood

20030117
	-src/parabolic_motion.c
	Change true anomaly to degrees.
	Fixed object elongation.
	
	-src/elliptic_motion.c
	added get_ell_body_elong();
	
	Liam Girdwood

20030117
	-src/rise_set.c, src/libnova.h
	Added get_object_next_rst function.

	Petr Kubanek

20030116

	-src/parabolic_motion.c, src/elliptic_motion.c
	Heliocentric and geocentric position functions
	had wrong names
	
	Fix by Herbert Straub, Liam Girdwood


20030107
	-src/lunar.c in get_lunar_ecl_coords ()
	Put longitude in correct quadrant.
	
	Fix supplied by Danie Malan

20030103
	- src/transform.c in get_hrz_from_equ ()

	Algorithm changed to one, which use atan2 instead of atan function
	and thus returns 0..2PI for Azimuth instead of -pi/2..pi/2

	- src/julian_day.c in get_julian_day ()
	
	Correct check for 4th October 1582 (Julian/Gregorian calendar)

	Petr Kubanek <petr@lascaux.asu.cas.cz>

20022911 - src/julian_day.c in get_timet_from_julian ()
	
	Spurious errors were caused by loctime.tm_isdst not
	being initialised to 0.  
	
	Fix supplied by Petr Kubanek <petr@lascaux.asu.cas.cz>


****** Release 0.6.0 ********