If you are upgrading: please see UPGRADING.md.
- Fix constant name typo (#245)
- Fix matrix multiplication order in Apparent frame (#250)
- Remove spurious N·P from observer ECEF-to-TOD transformation (#251)
- Apply aberration in GCRS before precession/nutation rotation (#253)
- Fix Moon magnitude (#254)
- Fix astrometric position for Deep Sky Objects (#272)
- Defer Solar System body computations lazily (#244)
- Integrate
iersgem for Delta T and GMST (#249) - Add IERS polar motion correction to observer ECEF-to-TOD transformation (#252)
- Fall back to polynomial GMST for dates outside IERS EOP range (#255)
- Add ICRS frame bias to precession matrix (#257)
- Extract
EarthRotationclass fromObserver(#260) - Add TEME reference frame for satellite tracking (#261)
- Add ECEF to geodetic conversion (WGS-84) (#262)
- Memoize per-instant conversions on
Instant(#268) - Add
ReferenceFrame#separation_fromfor angular separation (#269) - Introduce
Center,BodyandPositiondomain objects (#270) - Add planetary phenomena (#271)
- Add lunar libration, position angle of axis and bright limb (#273)
- Add
Astronoby::Orientationfor arcsecond lunar libration (#279) - Add Lunar eclipses (#280)
- Add
Astronoby::Duration(#281)
- Optimize nutation loop by eliminating array allocations (#246)
- Reuse single Nutation instance in observer matrix computation (#247)
- Memoize Observer geodetic computation methods (#248)
- Update documentation with recent values (#256)
- Update referential frames documentation (#258)
- YARD documentation update (#259)
- Update zlib, JSON and ERB for security reasons
- Add references to README
- Bump actions/checkout from 5 to 7 by @dependabot (#239, #276)
- Bump rubyzip from 3.2.1 to 3.4.0 by @dependabot (#237, #267, #275)
- Bump irb from 1.15.2 to 1.17.0 by @dependabot (#242)
- Bump standard from 1.51.1 to 1.55.0 by @dependabot (#243, #274)
- Bump rake from 13.3.1 to 13.4.2 by @dependabot (#264)
- Bump ephem from 0.4.1 to 0.5.0 by @dependabot (#278)
- Upgrade default Ruby to 4.0.5 (#277)
- Minimum Ruby version bumped to 3.2.0 (#249)
- Delta T and GMST now use IERS data (#249)
- Defer Solar System body computations lazily (#244)
SolarSystemBody#ephemis now publicly accessible (#244)ReferenceFrame#center_identifierreplaced by#center(#270)Sun#equation_of_timenow returns aDuration(#281)
Full Changelog: https://github.com/rhannequin/astronoby/compare/v0.9.0...v0.10.0
If you are upgrading: please see UPGRADING.md.
- Add
#approaching_primary?and#receding_from_primary?to solar system bodies (#211) - Calculate apoapsis and periapsis events (#213)
- Improve precision of ΔT (#219)
- Deep Sky Object: Compute astrometric position (#217)
- Deep Sky Object: Compute apparent position (#220)
- Deep Sky Object: Handle velocities properly (#222)
- Deep Sky Object: Compute topocentric position (#226)
- Deep Sky Object: difference between the body and the position (#227)
- Deep Sky Object: Add support for RiseTransitSetCalculator (#228)
- Drop
Astronoby::Apparent#angular_diameter(#221) - Bump rubyzip from 3.0.2 to 3.2.1 by @dependabot (#210, #215, #223, #233)
- Bump standard from 1.50.0 to 1.51.1 by @dependabot (#212, #214)
- Be proud about the precision achieved (#218)
- Use local apparent instead of local mean sidereal time for hour angle (#225)
- Bump rspec from 3.13.1 to 3.13.2 by @dependabot (#229)
- Bump benchmark from 0.4.1 to 0.5.0 by @dependabot (#230)
- Add documentation for deep-sky objects (#232)
- Bump rake from 13.3.0 to 13.3.1 by @dependabot (#235)
- Drop
Astronoby::Apparent#angular_diameter(#221) - Use local apparent instead of local mean sidereal time for hour angle (#225)
Full Changelog: https://github.com/rhannequin/astronoby/compare/v0.8.0...v0.9.0
If you are upgrading: please see UPGRADING.md.
- Introduce performance benchmark (#183)
- Cache positions in RTS calculator (#182)
- Internal global LRU cache (#186)
- Global configuration (#187)
- Compute the constellation a body is in (#199)
- Add
#phase_angleand#illuminated_fractionto planets (#200) - Apparent magnitude (#201)
- Add #events_between to TwilightCalculator with better accuracy (#204)
#angular_diameteron Solar System bodies (#207)- Fix constellation boundaries near 24h right ascension (#209)
- Bump standard from 1.49.0 to 1.50.0 by @dependabot (#177)
- Bump ephem from 0.3.0 to 0.4.1 by @dependabot (#181, #191)
- Bump irb from 1.14.3 to 1.15.2 by @dependabot (#184)
- Bump rspec from 3.13.0 to 3.13.1 by @dependabot (#188)
- Bump benchmark from 0.4.0 to 0.4.1 by @dependabot (#189)
- Bump rake from 13.2.1 to 13.3.0 by @dependabot (#190)
- Bump matrix from 0.4.2 to 0.4.3 by @dependabot (#193)
- Update rubyzip requirement from ~> 2.3 to ~> 3.0 by @dependabot (#194)
- Bump rubyzip from 3.0.0 to 3.0.2 by @dependabot (#202, #206)
- Exclude benchmarks from release (#196)
Epochrefactoring intoJulianDate(#197)- Support Ruby 3.4.4 (#198)
- Bump actions/checkout from 4 to 5 (#203)
- Internal documentation (#205)
Epochrefactoring intoJulianDate(#197)#angular_diameteron Solar System bodies (#207)- Rename "epoch" (#208)
Full Changelog: https://github.com/rhannequin/astronoby/compare/v0.7.0...v0.8.0
If you are upgrading: please see UPGRADING.md.
- Fix Moon monthly phase events calculation by @valeriy-sokoloff in (#124)
- Add
Instantvalue object (#121) - Introduce barycentric position of Solar System major bodies (#127)
- Introduce Astrometric position for planets (#129)
- Rename Barycentric into Geometric (#130)
- Rename IRCF and remove module Position (#131)
- Geometric and Astrometric reference frames with coordinates (#132)
- Ecliptic coordinates for Geometric and Astrometric reference frames (#134)
- Add Geometric and Astrometric positions for
SunandMoon(#135) - Implement new aberration correction (#136)
- Precession matrix for 2006 P03 model (#137)
- Introduce
MeanOfDatereference frame (#138) - New nutation model (#141)
- Light deflection correction (#142)
- Introduce
Apparentreference frame (#143) - Introduce
Topocentricreference frame (#145) - Improve Vector integration with value objects (#146)
- Handle refracted topocentric horizontal coordinates (#147)
- Add
#angular_diameterto apparent and topocentric reference frames (#149) - Introduce new calculator for rising, transit and setting times (#148)
- Clean code after Ephem refactoring (#152)
- Improve
RisingTransitSettingEventsCalculator(#155) - Simplify
RisingTransitSettingEventsCalculator(#156) - Lazy-load reference frames (#157)
- Overall performance improvements (#163)
- Add support for IMCCE INPOP by @JoelQ and @rhannequin (#166)
- Update INPOP excerpt in spec data (#167)
- Introduce a better rise/transit/set calculator (#168)
- Drop
Astronoby::Observer#observe(#174)
- Bump standard from 1.42.1 to 1.49.0 by @dependabot (#123, #128, #150, #165)
- Bump rubyzip from 2.3.2 to 2.4.1 by @dependabot (#120)
- Add more tests for Julian Date conversion (#122)
- Upgrade main Ruby version and supported ones (#125)
- Update email address and gem description (#126)
- Increase precision of mean obliquity (#133)
- Add supported Rubies (#139)
- Set Ruby 3.4.2 as default version (#140)
- Fix dependency secutiry patch (#151)
- Improve HMS/DMS formats (#153)
- Use excerpts ephemerides for specs of Sun and Moon (#154)
- Add link to deprecated documentation (#160)
- Default Ruby 3.4.3 and support recent rubies (#169)
- Better Moon phases test coverage (#172)
- Optimize Observer with GMST from Instant (#173)
- Update README about documentation location (#175)
- Add GitHub Actions permissions (#176)
- @valeriy-sokoloff made their first contribution in #124
- @JoelQ made their first contribution in #166
Full Changelog: https://github.com/rhannequin/astronoby/compare/v0.6.0...v0.7.0
If you are upgrading: please see UPGRADING.md.
- Fix
ObservationEventsinfinite loop in (#110) - Fix observation events times with local time dates in (#105)
- Fix
IncompatibleArgumentsErroron Moon's observation events in (#111)
- Add
Astronoby::Moon#current_phase_fractionin (#115) - Add sources and results for comparison in (#114)
- Bump standard from 1.36.0 to 1.39.2 by @dependabot in (#95)
- Bump standard from 1.39.2 to 1.40.0 by @dependabot in (#96)
- Bump dependencies in (#100)
- Move dependencies to development ones in (#99)
- Bump standard from 1.40.0 to 1.41.1 by @dependabot in (#104)
- Bump standard from 1.41.1 to 1.42.0 by @dependabot in (#107)
- Bump standard from 1.42.0 to 1.42.1 by @dependabot in (#108)
- Bump dependencies in (#116)
- Add supported Ruby versions in (#117)
Full Changelog: https://github.com/rhannequin/astronoby/compare/v0.5.0...v0.6.0
If you are upgrading: please see UPGRADING.md.
- Make
Sun#mean_anomalypublic (#72) - Moon ecliptic coordinates (#73)
- Moon apparent geocentric equatorial coordinates (#75)
- Moon horizontal coordinates (#76)
- Assume Moon's equatorial coordinates are geocentric (#77)
- Use observer object for geocentric parallax (#79)
- Moon's phase angle and illuminated fraction (#80)
- Monthly Moon phases (#82)
- Rationalize negative degree angles (#83)
- Factorize Moon phases periodic terms (#85)
- Introduce observation events for Moon (#86)
- Create FUNDING.yml (#70)
- Bump standard from 1.35.1 to 1.36.0 (#71)
- Bump rexml from 3.2.6 to 3.2.8 (#74)
- Expand the number of tested Ruby versions (#84)
- Add Ruby 3.1.6 and 3.3.2 coverage (#88)
- Improve and update documentation (#87)
- Update UPGRADING.md (#89)
Full Changelog: https://github.com/rhannequin/astronoby/compare/v0.4.0...v0.5.0
If you are upgrading: please see UPGRADING.md.
- Fix ecliptic to equatorial epoch (#56)
- Add twilight times (#49)
- Add interpolation method (#52)
- Add decimal_hour_to_time util (#53)
- Calculate leap seconds for an instant (#54)
- Add
Angle#-@(#55) - Enable equivalence and hash equality to
Observer(#57) - Twilight events dedicated class (#61)
- Upgrade bundler from 2.3.11 to 2.5.7 by @dorianmariecom (#45)
- Drop
BigDecimal(#46) - Bump rake from 13.1.0 to 13.2.0 (#47)
- Increase Ruby versions support (#48)
- Bump rake from 13.2.0 to 13.2.1 (#51)
- Dedicated constants class (#62)
- Improve accuracy of equation of time (#63)
- Twilight times better accuracy (#65)
- Update UPGRADING.md (#66)
- release: Bump version to 0.4.0 (#67)
- More accurate rising, transit and setting times (#50)
- Observation events dedicated and centralized class (#60)
- Change
Astronoby::Sunconstructor (#64)
- @dorianmariecom made their first contribution in #45
Full Changelog: https://github.com/rhannequin/astronoby/compare/v0.3.0...v0.4.0
If you are upgrading: please see UPGRADING.md.
- breaking: Difference between true and apparent ecliptic and equatorial coordinates (#41)
- breaking: Rename
Angle::as_*intoAngle::from_*(#43)
If you are upgrading: please see UPGRADING.md.
- Angle comparison (#21)
- Add
#distanceand#angular_sizetoAstronoby::Sun(#30) - Add geocentric parallax
Astronoby::GeocentricParallax(#31) - Ability to calculate equinoxes and solstices times (#32)
- Round rising and setting times to the second ([#38])
- Provide sunrise and sunset times (#35)
- Provide sunrise and sunset azimuths (#39)
- Ability to calculate the equation of time (#40)
- breaking: Accurate setting and rising times for punctual bodies (#29)
- breaking: Drop
Astronoby::Util::Timein favor ofAstronoby::GreenwichSiderealTimeandAstonoby::LocalSiderealTime(#36)
- Add Dependabot for Bundler and GitHub Actions (#24)
- Add bundler-audit GitHub Action (#25)
- Bump actions/checkout from 3 to 4 (#26)
- Bump standard from 1.29.0 to 1.35.1 (#27, #37)
- Bump rspec from 3.12.0 to 3.13.0 (#28)
- Support angles in hours
- Support coordinates
Astronoby::Coordinates::HorizontalAstronoby::Coordinates::EquatorialAstronoby::Coordinates::Ecliptic
- Add new body
Astronoby::Sun - Add
Astronoby::Aberration - Add
Astronoby::Epoch - Add
Astronoby::MeanObliquity - Add
Astronoby::TrueObliquity - Add
Astronoby::Nutation - Add
Astronoby::Precession - Add
Astronoby::Refraction - Add utils
Astronoby::Util::AstrodynamicsAstronoby::Util::TimeAstronoby::Util::Trigonometry
- Add
Astronoby::Angle - Support angles in degrees and radians