Version Change Notes
2.15.2.1 CoordinateSharp / 1.1.5.0 CoordinateSharp.Magnetic
- -Adds GEOREF conversions.
- -Adds .NET 7.0 targets.
- -Adds ability to restrict parsable formats.
- -Fixes minor parse bugs related to ECEF and eager loading.
- -Documentation fixes.
2.14.2.1 CoordinateSharp
- -Adds Web Mercator EPSG:3857 conversions.
- -Adds .NET 6.0 targets.
- -Removes obsolete UTM/MGRS boundary check property.
- -Documentation updates to clarify expected ECEF precision.
- -Updates commercial license (does not effect existing lifetime license holders).
2.13.1.1 CoordinateSharp / 1.1.3.0 CoordinateSharp.Magnetic
2.12.1.1 CoordinateSharp / 1.1.2.0 CoordinateSharp.Magnetic
- -Extends UTC Offset validation to -12/+14 to account for countries extending IDL. Crucial update if operating in local times in those areas.
- -CoordinateSharp.Magnetic updated to pull latest version of CoordinateSharp.
2.11.1.1 CoordinateSharp / 1.1.1.0 CoordinateSharp.Magnetic
- -Adjusts MGRS documentation (CoordinateSharp Only).
- -Updates license nomenclature for clarity (no end user impact).
2.10.2.2 CoordinateSharp
- -Adds lunar phase name enumerator.
2.10.1.1 CoordinateSharp
- -Adds distance to boundary feature to
GeoFence
.
- -Add standard Earth Ellipsoid Specification values, allowing users to specify "datum" enums vs entering radius/flattening values if changing earth shape from standard WGS84.
- -Fixes bug causing UTM calculations to not consistently convert when operating outside of WGS84.
- -Adds system specific parsers (ex:
MilitaryGridReferenceSystem.Parse([coordString]);
), allowing more control over string parsing.
2.9.6.1
- -GeoFence efficiency improvements.
2.9.5.1
2.9.4.2
- -Fixes binary serialization issues with new celestial coordinates.
- -Adds publicly available subscribable "CoordinateChanged" event in preparation for new library extensions.
2.9.4.1
- -Fixes UTM parser issue that can occur when Easting and Northing string length are not consistent.
2.9.3.1
- -Fixes UPS parser issue that can occur when Easting and Northing string length are not consistent.
2.9.2.1
- -Fixes subsolar/sublunar degree normalization bug occuring under certain conditions that causes the celstial body to appear in the opposite position. Only effects the new feature added in v2.9.#.#.
2.9.1.3
- -Fixes critical parsing bug with MGRS coordinates at identifiers MN and ME.
- -Adds ability to get solar and lunar coordinates.
- -Prepares library for optional extension packages coming soon (magnetic declination, NodaTime handles).
- -Fixes float point rounding bug causing seconds and decimal minutes to display "60" instead of "0".
2.8.1.1
- -Adds
Condition
property to AltitudeEvents
class, allowing users to determine the sun's rise/set condition for a date at specified altitudes.
- -Adds ability to output UTM/MGRS rounded and centimeter strings.
- -Improves parsers.
- -Adds
CoordinateSharp.Formatters
namespace containing useful mathematical functions to convert things such as radians, degrees, HMS, etc.
- -Completes unit tests port.
2.7.3.2
- -Improves
MGRS_GridBox
marching/scanning algorithms.
- -XML Fixes.
2.7.2.1
- -Exposes
Celestial.SolarNoon
property allowing users to obtain solar noon data points.
- -Adds ability to get time of day from a provided sun altitude and position.
- -Adds ability to get MGRS square identifier corner points for specified MGRS coordinate.
- -Parser/XML Improvements.
2.7.1.1
- -Adds solstice and equinox information to the
Celestial
class. NOTE: This change could cause a very minor change in performance. You may turn off eager loading of solstice/equinox information via a new extension if the performance change is outside desired limits.
- -Adds a
Solstice_Equinox
eager loading extension to allow the new solstice and equinox logic to be turned off.
- -Fixes bug causing MGRS Polar to Geodetic conversions to ignore eager loading specifications.
- -Fixes bug causing MGRS to eager load on
Coordinate
initialization even when MGRS eager load extension has been turned off.
- -Adjusts output string logic to account for .NET 3.X round-tripping 0 change.
2.6.2.1
- -Fixes parser bug occurring with MGRS parses that have less than 1 meter precision.
2.6.1.1
- -Adds a strong named key to the assembly allowing for use in strong named applications.
2.5.2.1
- -Adds ability to get solar and lunar, next/last rise and set events via static methods. These methods will guarantee a
DateTime
returns.
- -Adds standard parse methods that will throw exceptions upon failure.
2.5.1.1
- -Adds new
GlobalSettings
static class which will allow users to specify application wide eager loading EagerLoad
and coordinate format CoordinateFormatOptions
settings.
- -Adds new
GeoFence.Drawer
class which will give users the ability to draw continuous lines/shapes by specifying a distance and bearing shift and each arrived point.
2.4.3.1
- -Adds
EagerLoad
overload to all Coordindate.TryParse()
methods to improve efficiency.
- -Adds ability to over-project UTM and MGRS grid zones.
- -XML fixes.
2.4.2.1
- -Adds .NET Standard 2.1 for .NET Core 3.0 support.
- -Updates Nuget package icon to new Nuget pack standard.
2.4.1.1
- -Adds Universal Polar Stereographic (UPS) to UTM system to allow polar region use.
- -Adds MGRS Polar to MGRS system to allow polar region use.
- -Deprecates
WithinCoordinateSystemBounds
properties for UTM/MGRS systems. This change is possibly breaking for people who rely
on this property to determine UTM/MGRS boundaries.
2.3.1.1
- -Coordinates may now operate in local / UTC offset time.
- -Greatly improves local time conversion performance. Benchmarks now match UTC calculation benchmarks.
- -Simplifies local time conversion calls.
- -Deprecates legacy local time calls.
- -Reduces GeoDate property change overhead.
- -Minor
EagerLoad
extension improvements.
- -Parser improvements. Geodetic coordinates will now successfully parse if latitudes are before longitudes in string. UTM single strings will now parse.
- -Developer Guide, Celestial section changes to match new and improved methods.
- -License modification to allow for free commercial use license issuance for certain use cases.
- -Split license packed with Nuget package.
- -Removes .pdb files from pack.
2.2.2.1
- -EagerLoading extension properties added to allow for finer performance tweaks.
- -Performance tips and examples added to website.
2.2.1.1
- -UTM available precision increased.
- -MRGS Parser bug fix.
- -MRGS Parser improvement (single string format now available).
2.1.1.1
- -License changed from MIT to Split AGPL 3.0/Commercial Use.
- -Removed ComponentModel actions from all classes except Coordinate/CoordinatePart to reduce overhead.
- -Removed depracated items.
- -Added local time conversion solar/lunar only options to increase performance during bulk conversions.
- -Added new Coordinate moving/shifting features.
- -MGRS/UTM nomenclature and constructor changes.
- -Improved Coordinate parsers.
- -Major code restructure.
- -Improved documentation.
- -Improved testing.
- -MGRS/UTM Signed Degree Conversions added for efficiency.
- -Version control process change.
1.1.5.2
- -Fixes issues with distance bearing reversing in certain regions.
1.1.5.1
- -Begins deprecation of legacy constructors and properties in preparation of v2.1.1.1.
- -Fixes issue with EagerLoading of ECEF values during assigment to
Coordinate.CoordinatePart.
- -Converts
Celestial
properties and CoordinatePart.Parent
from user mutable to user immutable.
1.1.4.6
- -Adds
ECEF
class and conversions.
- -Adds `CartesianType' enum for `TryParse()` to allow user to determine what type of Cartesian to parse in.
- -Splits datum from `UTM` to `Coordinate` (for distance calculations), `UTM` for UTM/MGRS conversions and `ECEF` for ECEF conversions.
- -Fixes null reference exception occurring when moving a coordinate while EagerLoading for UTM is turned off.
- -Adds `Parse_Format_Type` enumerator to `Coordinate` so users can determine what format a Coordinate was parsed from.
- -General parser improvements
- -Code refactoring.
1.1.4.5
- -Adds
IsSunUp
and IsMoonUp
properties to the Celestial
class.
- -Removes static variables from eclipse calculations in order to assist in MultiThreaded environments.
- -Updates Nuget Package License info
- -Code refactoring.
1.1.4.4
- -Fixes issue with UTM_MGRS EagerLoad not being set when using flags.
1.1.4.2
- -Fixes buffer overflow issue occurring in certain environments due to debug settings.
1.1.4.1 (Possibly Breaking)
- -Fixes the elusive
FormatException
occurring under heavy server loads / unit tests.
- -Adds ability to pass enum flags to the
EagerLoading
constructor.
- -Adds
WithinCoordinateSystemBounds
property to UTM and MGRS. Used to determine if a conversion from Lat/Long is within the UTM/MGRS systems limitations.
- -Adjusts
ToString()
property of UTM and MGRS. If conversion from Lat/Long is outside the limitations of the UTM/MGRS system, ToString()
will return an emtpy string
. Possibly breaking if a UTM/MGRS string is expected at all times.
1.1.3.9 (Possibly Breaking)
- -Fixes issues with
EagerLoading
causing null exceptions. This is possibly breaking if workarounds of the issue were put in place.
- -Adds ability to pass true/false to all
EagerLoading
properties during initialization.
- -Code readabiity updates.
1.1.3.8
- -Adds
GeoFence
feature. You may now specifiy geographic boundaries and determine if Coordinate
is within or near boundaries.
- -Fixes
CoordinatePart.TryParse()
bug occurring with Decimal Degree formats.
- -Adds overload to
Distance
that allows initialization with a specified measurement type.
- -Adds automated test project to solution.
1.1.3.7
- -Fixes Sun Altitude/Azimuth bug
1.1.3.6
- -Adds
TryParse()
method to CoordinatePart
- -
CoordinatePart.Parent
now automatically adjusts when CoordinatePart
is set to Coordinate.Latitude
or Coordinate.Longitude
1.1.3.5
- -Fully Ported to .NET Standard 2.0, 1.4 & 1.3. Multi-Runtime targeting still allows for .NET 4.0.
- -Adds additional solar properties (astronomical twilight and bottom of solar disc times).
- -Improves solar accuracy.
- -Improves Parser (More accepted formats. May now parse with GeoDate).
1.1.3.4
- -Removes references causing .NET standard incompatibility warnings.
1.1.3.3
- -Adds
TryParse()
method to Coordinate
. Coodinates may now be created from strings.
- -Logo change.
- -Updates XML documentation and migrates to website.
1.1.3.2
- -Exposes moon altitude and azimuth properties.
- -Further increases lunar accuracy.
1.1.3.1
- -Celestial.Assistant.cs added to reduce class file size.
- -Adds ability to get Moon's Perigee and Apogee information based on date.
- -Improved accuracy of lunar properties.
- -Converted
MoonDistance
property from double?
to Distance
.
- -Updated Julian conversion for more accuracy when dates occur before Gregorian.
- -Exposed Julian conversion for users to access.
- -Removed scheduled obsolete properties.
- -Adjusted string conversion in eclipse calculations to account for different thread culture.
- -Fixed issue with
MoonCondition
signaling a moon set when none occurs.
- -Adds ability to create
Celestial
object with local times.
- -Fixes issue with zodiac signs not populating in July.
- -Fixes binding issue with out of range Degrees.
- -Fixes value notification issue.
- -Fixes Additional Solar Time day skip occurring at certain latitudes.
1.1.2.8
- -Fixed issue with CoordinatePart Longitude validation.
1.1.2.7
- -Fixed Digraph validation error for new MGRS objects initialized with W,X,Y,Z Digraphs.
- -Allows serialization of objects.
1.1.2.6
- -Added ability to move coordinate based on distance and bearing / target and distance.
- -Added various properties to distance class.
- -Added option to calculate distance based on Haversine (Sphere) or Vincenty (Ellipsoid).
- -Expanded eclipse tables to 1601-2600.
- -Eclipse calculations now account for turn of century leap year skips.
- -Fixed bug with Degree Decimal Minute formatted strings sometimes returning 60 minutes instead of rounding up to the next degree.
1.1.2.5
- -Added ability to convert to/from Cartesian
- -Added ability to calculate distance between two points (Haversine Formula)
- -Added ability to get radians from
CoordinatePart
class
- -Added Solar/Lunar eclipse information to
Celestial
class
- -Expanded eager loading options
1.1.2.4
- -Added ability to pass custom datum for UTM and MGRS conversions
- -Adjusted UTM conversion formula to be more readable
1.1.2.3
- -Makes AdditionalSolarTimes nullable (fixes issue #24)
1.1.2.2
1.1.2.1
- -Added UTM to Lat/Long conversion.
- -Added MGRS(NATO UTM) to Lat/Long conversion.
- -Added sun altitude and azimuth properties.
- -Added additional solar times.
- -Added additional moon illumination properties.
- -Added astrological sign properties.
- -XML documentation added to assembly.
- -Added UTC time integrity to calculations.
- -Minor bug fixes.