- Added `toUtmGridAtMeridian` for flexible UTM projections with an arbitrary central meridian.
- Updated `DistanceCalculator` to use midpoint-based central meridian for accurate planar distance computations.
- Introduced longitude normalization utilities to improve handling of antimeridian crossings.
- Introduced `DistanceCalculator` for 2D and 3D distance computation between coordinates and map grids.
- Added support for various calculation methods: Haversine, spherical law of cosines, and extended UTM Euclidean.
- Implemented the `Distance`, `DistanceCalculationMethod`, and `DistanceDimension` classes for structured result handling and flexible computation options.
- Extended `CoordinateConverter` for UTM projection enhancements, including forced zone and latitude band support.
- Updated `BalloonLiveParser` and `GridCoordinate` to accommodate new distance models and UTM latitude band handling.
- Fully implement `BalloonLiveParser` to parse Balloon Live (IGC dialect) files, handling headers, B, K, and E records.
- Update `Track`, `Declaration`, and `MarkerDrop` models with Lombok for simplified field management.
- Refactor `Main` class to include necessary imports and clean unused code.
- Introduced `toGrid` method enabling projection of geographic coordinates to grid coordinates with altitude source handling.
- Added `toCoordinate` method for inverse projection, converting grid coordinates back to geographic coordinates.
- Improved internal handling of altitude and ellipsoidal height for transformations.
- Introduced `CoordinateConverter` for high-precision datum and map grid transformations using Helmert and advanced projection algorithms.
- Added `GeographicCoordinate`, `GridCoordinate`, and `ProjectionMethod` classes to represent and manage coordinate data.
- Enhanced `MapGrid` with specific grid definitions and parameters.
- Updated `BalloonLiveParser` to include reference coordinate handling.
- Added `MapGrid` enum to define grid types and associated projection methods.
- Added `MapDatum` enum to represent geodetic datums with relevant parameters and calculations.
- Deleted the `MapProjection` interface and all related implementations (`SwissGridProjection`, `SwissGridVariant`, `UtmProjection`, and `UtmResult`).
- Removed supporting classes
- Introduced `MapProjection` interface for handling coordinate projections and unprojections.
- Added `SwissGridProjection` and `SwissGridVariant` for Swiss coordinate systems.
- Implemented `UtmProjection` and `UtmResult` for UTM coordinate systems, including hemisphere and zone handling.
- Created supporting classes such as `GeodeticDatum`, `MapDate`, and projection-specific result types for extensibility.
- Extended `BalloonLiveParser` and added `TrackParser` interface to structure track parsing functionality.
- Added `TaskJDG`, `TaskPDG`, and a re-implemented `TaskHWZ` class, enhancing task abstraction with rule, abbreviation, and serialization methods.
- Introduced `Pilot`, `Track`, `MarkerDrop`, and `Declaration` classes for detailed flight representation.
- Made structural improvements across several classes for better clarity and maintainability.
- Added `TaskHWZ` and `PublicationTask` classes with initial structure.
- Introduced `PublicationState` enum for task publication states and enhanced `Task` model with abstract methods, `flight`, and `scoringPeriodEnd` fields.
- Extended `TaskStatus`, `FlightStatus`, and `ContactType` enums with new values.
- Updated `Flight`, `FlightPublicData`, and their relationships with new fields like `competition`, `separationAltitudeOverride`, and additional notes.
- Added `Altitude` record for unified altitude representation with conversions between meters and feet.
- Updated `Coordinate` and `TrackCoordinate` to use `Altitude` instead of raw altitude values.
- Introduced `FlightStatus` enum for distinguishing flight stages.
- Enhanced `Task` with a `scoringPeriodeEnd` field and added altitude-related updates to `Competition`.
- Introduced `AltitudeSource` enum to specify altitude data sources (GPS, Barometric).
- Added `Task` class with task number field and fluent accessor annotations using Lombok.
- Updated `Competition` class to include the `altitudeSource` field.
- Added `Flight`, `FlightType`, `FlightPublicData`, `FlightScoringData` classes for representing flight details.
- Introduced `Daytime` enum for specifying flight time periods.
- Established relationships between flight-related classes for improved data organization.
- Created `Competition`, `CompetitionType`, and `CompetitionContact` classes for representing competition details.
- Implemented `Coordinate`, `TrackCoordinate`, and `PositionValid` for geographical data handling.
- Added `ContactType` enum for competition contact categorization.
- Removed the `priority` method from `Provider` interface and its implementations.
- Introduced a `dependsOn` method for defining dependencies between Providers.
- Implemented a topological sorting mechanism in `ProviderManager` to handle Provider initialization order based on dependencies.
- Included validation for self-dependencies and unknown dependencies.
- Upgraded Gradle to 9.5.0 and enhanced wrapper properties with network timeout, retries, and URL validation settings.
- Updated dependencies to newer versions of lombok and simple libraries.
- Refined `gradlew` and `gradlew.bat` scripts for better error handling, compliance, and performance.