Skip to content

Releases: observerly/astrometry

v0.41.0

17 Jul 11:59
Compare
Choose a tag to compare

What's Changed

🔭 This minor release adds the ability to calculate if any two planetary bodies are in conjunction with each other, e.g., Jupiter and Venus, with the isPlanetaryConjunction() and findPlanetaryConjunction() utilities. This lays the ground work for finding conjunctions between 2 or more planetary bodies, as well as the Moon and other bright astronomic objects, e.g., Sirius and Canopus. These changes will be drip fed through in the next few major releases.

🩵 This release also is the first that will start to report performance benchmarks for the heavier calculations.

Usage of the getAngularSeparation() utility now includes a breaking change from v0.40.0, to make it agnostic to the coordinate system being used, e.g., Equatorial, Horizontal etc. The new API is as follows:

const separation = getAngularSeparation(
    {
      θ: sirius.alt, // or declination ...
      φ: sirius.az // or right ascension ...
    },
    {
      θ: betelgeuse.alt, // or declination ...
      φ: betelgeuse.az  // or right ascension ...
    }
)

Breaking Changes

  • refactor!: amend getAngularSeparation() usage in astrometry module in @observerly/astrometry by @michealroberts in #220

Features

  • feat: add getObliquityOfEcliptic() to earth module in @observerly/astrometry. by @michealroberts in #210
  • feat: add EclipseType enum to @observerly/astrometry by @michealroberts in #215
  • feat: add getNextFullMoon() to moon module in @observerly/astrometry by @michealroberts in #217
  • feat: add conjunction module to @observerly/astrometry by @michealroberts in #218
  • feat: add SphericalCoordinate generic to common module in @opbserverly/astrometry by @michealroberts in #219
  • feat: add isPlanetaryConjunction() utility to conjunction module in @observerly/astrometry by @michealroberts in #221
  • feat: add Interval type to common module in @observerly/astrometry by @michealroberts in #222
  • feat: add findPlanetaryConjunction() utility to conjunction module in @observerly/astrometry by @michealroberts in #223

Improvements

  • fix: improve getLunarPhase() precision around Full Moon & New Moon in @observerly/astrometry by @michealroberts in #216

Chores & Performance

  • feat: add tinybench Bench to workspace root in @observerly/astrometry by @michealroberts in #213
  • chore: bump devDependencies vite => v5.3.3 & vitest => v2.0.2 across workspace in @observerly/astrometry by @michealroberts in #211
  • chore: amend vite.config.ts { build.sourcemap } in @observerly/astrometry by @michealroberts in #212
  • chore: amend jsr.json { version } in workspace root in @observerly/astrometry by @michealroberts in #214

Full Changelog: v0.40.0...v0.41.0

v0.40.0

15 Jun 18:39
Compare
Choose a tag to compare

What's Changed

This release mainly focuses on improvements to the Datetime class, providing both getTT() and getHJD which returns the terrestrial time and the heliocentric Julian date, respectively.

Features

  • feat: add Datetime.getTerrestrialTime() class method to time module in @observerly/astrometry. by @michealroberts in #204
  • feat: add AU_IN_METERS to constants module in @observerly/astrometry. by @michealroberts in #205
  • feat: add getSolarDistance() to sun module in @observerly/astrometry. by @michealroberts in #206
  • feat: add SPEED_OF_LIGHT to constants module in @observerly/astrometry. by @michealroberts in #207
  • feat: add getHeliocentricJulianDate() to sun module in @observerly/astrometry. by @michealroberts in #208
  • feat: add Datetime.getHeliocentricJulianDate() class method to time module in @observerly/astrometry. by @michealroberts in #209

Full Changelog: v0.39.0...v0.40.0

v0.39.0

11 Jun 13:33
Compare
Choose a tag to compare

What's Changed

🔭 This release improves type allocations in a number of modules, making clear type assertions where they were previously missing.

🌌 A number of improvements to the constellations and nancy modules were also made, including the ConstellationName (which provides all 88 (89) IAU constellation names as its own defined type) and NancyRomanRecord types.

Features

  • feat: add NancyRomanRecord type to nancy module in @observerly/astrometry. by @michealroberts in #200
  • feat: add isNancyRomanRecord() assertion function to nancy module in @observerly/astrometry. by @michealroberts in #201
  • feat: add ConstellationName type to constellations module in @observerly/astrometry. by @michealroberts in #202

Chores

  • chore: amend type allocations in iers module in @observerly/astrometry. by @michealroberts in #195
  • chore: amend type allocations in precession module in @observerly/astrometry. by @michealroberts in #196
  • chore: amend type allocations in planets module in @observerly/astrometry. by @michealroberts in #197
  • chore: amend type allocations in night module in @observerly/astrometry. by @michealroberts in #198
  • chore: amend type allocations in moon module in @observerly/astrometry. by @michealroberts in #199
  • chore: amend type allocations in constellations module in @observerly/astrometry. by @michealroberts in #203

Full Changelog: v0.38.1...v0.39.0

v0.38.1

03 Jun 14:10
Compare
Choose a tag to compare

What's Changed

🔭 This release fixes known issues in UTC handling across different timezones in the getBodyNextRise() and getBodyNextSet() transit utilities.

Fixes

  • fix: amend { tomorrow } UTC adjustment in getBodyNext() utility functions in transit module in @observerly/astrometry. by @michealroberts in #194

Stability & Tests

  • test: amend getBodyNextRise and getBodyNextSet maximum call stack size tests in @observerly/astrometry. by @michealroberts in #193

Full Changelog: v0.38.0...v0.38.1

v0.38.0

31 May 16:31
Compare
Choose a tag to compare

What's Changed

🌐 This release adds to ability to convert from HorizontalCoordinate to EquatorialCoordinate.

Features

  • feat: add convertHorizontalToEquatorial() to coordinates module in @observerly/astrometry. by @michealroberts in #192

Full Changelog: v0.37.0...v0.38.0

v0.37.0

28 May 14:46
Compare
Choose a tag to compare

What's Changed

This minor release adds inference for a new DateTime() class that extends the native JavaScript Date object with added functionality around handling leap seconds, as well as adding support for calculating refraction adjusted local horizon dips for an observer.

Features

Full Changelog: v0.36.0...v0.37.0

v0.36.0

24 Apr 16:09
Compare
Choose a tag to compare

What's Changed

🔭 This release fixes an important bug found within the getGreenwhichSiderealTime() which returns inaccurate astrometry at the second and millisecond precision.

Features

  • feat: add Maybe = NonNullable | undefined to common module in @observerly/astrometry. by @michealroberts in #181

Fixes

  • fix: amend getGreenwhichSiderealTime() utility to be accurate up to ms in @observerly/astrometry. by @michealroberts in #180

Full Changelog: v0.35.0...v0.36.0

v0.35.0

20 Apr 11:31
Compare
Choose a tag to compare

What's Changed

Features

  • feat: amend usage of isBodyVisible() to use maximum culmination in @observerly/astrometry. by @michealroberts in #179

Full Changelog: v0.34.0...v0.35.0

v0.34.0

07 Apr 13:29
Compare
Choose a tag to compare

What's Changed

isBodyVisible(), which determines if an object is visible if it is ever above the observer's horizon, will now use different logic to determine this which is now more stable for both northern and southern hemisphere stars.

e.g., The maximum altitude a celestial object will reach above the horizon is dependent on the observer's latitude and the object's declination. The formula for this is now:

Screenshot 2024-04-07 at 14 27 22

Improvements

  • refactor: amend isBodyVisible() calculation in transit module in @observerly/astrometry. by @michealroberts in #176

Full Changelog: v0.33.2...v0.34.0

v0.33.2

07 Apr 12:48
Compare
Choose a tag to compare

What's Changed

This patch release fixes a regression introduced in ^v0.32.0 whereby imports we're reporting the following TS error:

Cannot find module '@observerly/*' or its corresponding type declarations. [TS2307]

Fixes

  • fix: amend package.json for better esmodule interop support in @observerly/astrometry. by @michealroberts in #175

Full Changelog: v0.33.1...v0.33.2