changes.xml 216 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8" ?>
Luc Maisonobe's avatar
Luc Maisonobe committed
2
<!-- Copyright 2002-2022 CS GROUP
3
  Licensed to CS GROUP (CS) under one or more
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  CS licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<document>
  <properties>
    <title>Orekit Changes</title>
  </properties>
  <body>
23
    <release version="11.3" date="TBD" description="TBD">
24
25
26
      <action dev="maxime" type="update" issue="955">
        Added method to get measurement types.
      </action>
27
28
29
      <action dev="bryan" type="add" issue="901">
        Added additional state provider for covariance matrix propagation.
      </action>
30
31
32
      <action dev="vincent" type="update" issue="956">
        Migrated all tests from JUnit4 to JUnit5.
      </action>
33
34
35
36
      <action dev="evan" type="add">
        Added constructor to AggregateBoundedPropagator for more control over which
        propagator is used.
      </action>
37
38
39
      <action dev="greyskyy" type="add">
        Added waypoint interpolation of PVCoordinatesProvider.
      </action>
40
41
42
      <action dev="evan" type="add" issue="954">
        Added method to round DateTimeComponents for custom formatting.
      </action>
43
    </release>
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
    <release version="11.2.1" date="2022-08-01"
             description="Version 11.2.1 is a patch release of Orekit.
             It fixes issues related to the parsing and writing of CCSDS CDM files.
             It also fixes issues related to date management.
             Finally it includes some improvements in the class documentation">
      <action dev="gc" type="fix" issue="945">
        Fixed documentation issue, RTNCovariance constructor initializes the covariance matrix with NaN.
      </action>
      <action dev="gc" type="fix" issue="944">
        Fixed wrong parsing of Area_DRG and Area_SRP from CDM.
      </action>
      <action dev="gc" type="fix" issue="942">
        Fixed N/A value not recognized for field MANEUVERABLE when parsing CDMs.
      </action>
      <action dev="luc" type="fix" issue="939">
        Fixed negative offset when shifting an AbsoluteDate.
      </action>
      <action dev="luc" type="fix" issue="935">
        Fixed internal error on DateEvent capture events in v11.1.2.
      </action>
    </release>
65
66
67
68
69
70
71
72
73
74
75
76
    <release version="11.2" date="2022-06-20"
             description="Version 11.2 is a minor release of Orekit.
             It includes both new features and bug fixes. New features introduced
             in 11.2 are: the Hatch filter for GNSS measurements smoothing, the parsing
             and writing of CCSDS CDM in both KVN and XML formats, the parsing of SOLFSMY
             and DTC data for JB2008 atmospheric model, the parsing of EOP in Sinex
             files, new measurements for orbit determination: TDOA, bi-static range and
             range rate, support for ITRF 2020 version, the computation of mean orbital
             parameters in the sense of Eckstein-Hechler or Brouwer-Lyddane models. It
             also includes an update of the CCSDS ODM format to latest draft version and an
             improvement of the frame transformation.
             See the list below for a full description of the changes.">
77
78
79
      <action dev="bryan" type="update">
        Added possibility to custom analytical mean parameters conversion.
      </action>
80
81
82
      <action dev="louis" type="add" issue="666">
        Added Hatch filters for smoothing of GNSS measurements.
      </action>
83
84
85
      <action dev="bryan" type="update" issue="895">
        Allowed parsing of SP3 files without EOF key.
      </action>
86
87
88
      <action dev="gc" type="add" issue="790">
        Added writing of velocity record in CPF file writers.
      </action>
89
90
91
      <action dev="bryan" type="update" issue="804">
        Added support for loading EOP from Sinex files.
      </action>
92
93
94
      <action dev="luc" type="fix" issue="936">
        Raised a too stringent convergence threshold in Eackstein-Hechler model.
      </action>
95
96
97
      <action dev="bryan" type="add" issue="932">
        Added a way to compute mean parameters in Brouwer-Lyddane model.
      </action>
98
99
100
      <action dev="markrutten" type="add" issue="922">
        Added bistatic range measurement.
      </action>
101
102
103
104
      <action dev="luc" type="add" issue="933">
        Added a way to compute mean parameters in Eckstein-Hechler model.
      </action>
      <action dev="luc" type="update" issue="934">
105
106
        Updated CCSDS ODM to latest draft version (pink book).
      </action>
107
      <action dev="luc" type="fix" issue="930">
108
109
        Prevents zero max check intervals in maneuvers triggers detectors.
      </action>
110
       <action dev="luc" type="add">
111
112
        Added detection of non-positive max check interval and threshold.
      </action>
113
114
115
      <action dev="luc" type="add" issue="929">
        Allow additional derivatives providers to update main state derivatives.
      </action>
116
      <action dev="luc" type="fix" issue="928">
117
118
        Fixed indexing error when estimating a subset of orbital parameters.
      </action>
119
      <action dev="luc" type="update" issue="925">
120
121
        Don't loose additional derivatives when generating ephemeris.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
122
123
124
      <action dev="gc" type="fix" issue="889">
        Fixed unexpected behavior of two tests in OrekitMessagesTest.
      </action>
125
126
127
      <action dev="mvanel" type="add" issue="777">
        Added support for parsing and writing CDM files in both KVN and XML formats.
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
128
129
130
      <action dev="luc" type="add" issue="918">
        Added support for ITRF-2020.
      </action>
131
132
133
      <action dev="pascal" type="add" issue="911">
        Added TDOA and bistatic range rate measurements.
      </action>
134
135
136
      <action dev="bryan" type="add" issue="900">
        Added init method in {Field}AdditionalStateProvider.
      </action>
137
138
139
      <action dev="louis" type="add" issue="888">
        Added J2-contribution for relativistic clock correction.
      </action>
140
141
142
      <action dev="evan" type="update">
        Allow creating Geoid without default data context.
      </action>
143
144
145
      <action dev="louis" type="add" issue="759">
        Added data loaders for Space Environment's JB2008 data.
      </action>
146
147
148
      <action dev="bryan" type="add" issue="898">
        Added static method to create a BodyFacade from a CenterName.
      </action>
Evan Ward's avatar
Evan Ward committed
149
150
151
152
      <action dev="evan" type="update" issue="903">
        Added Frame.getStaticTransformTo(...) and supporting methods to improve
        performance.
      </action>
153
    </release>
154
155
156
157
158
159
    <release version="11.1.2" date="2022-04-27"
             description="Version 11.1.2 is a patch release of Orekit.
             It fixes issues related to the parsing and writing of CCSDS and ILRS files.
             It also fixes issues in ECOM2 solar radiation pressure model, event bracketing,
             ephemeris generation, and NTW local orbital frame.
             Finally it includes some improvements in the class documentation">
160
161
162
      <action dev="luc" type="fix" issue="917">
        Fixed missing tags in XML generation by EphemerisWriter.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
163
164
165
      <action dev="louis" type="fix" issue="886">
        Fixed rollover in CRD parser.
      </action>
166
167
168
169
      <action dev="louis" type="fix" issue="786">
        Fixed NaNs when constructing Keplerian orbit from PV
        computed from KeplerianOrbit.
      </action>
170
      <action dev="louis" type="fix" issue="826">
171
        Fixed ephemeris generation using PropagatorParallelizer.
172
      </action>
173
174
175
      <action dev="luc" type="fix" issue="921">
        Fixed event bracketing problem induced by numerical noise at end of search interval.
      </action>
176
177
178
      <action dev="luc" type="fix" issue="919">
        Fixed ephemeris generation with several derivatives providers.
      </action>
179
180
181
      <action dev="maxime" type="fix" issue="909">
        Fixed wrong implementation of NTW LOF frame.
      </action>
182
183
184
      <action dev="bryan" type="fix" issue="910">
        Fixed eD and eY equation in ECOM2 model.
      </action>
185
186
187
      <action dev="pascal" type="fix" issue="908">
        Fixed unmanaged comment in OMM.
      </action>
Pascal Parraud's avatar
Pascal Parraud committed
188
189
190
      <action dev="pascal" type="fix" issue="906">
        Fixed unmanaged units in OMM.
      </action>
191
192
193
      <action dev="evan" type="fix" issue="882">
        Fix StreamingOemWriter in ITRF and without optional fields.
      </action>
194
195
196
      <action dev="evan" type="fix" issue="912">
        Fix StreamingOemWriter without acceleration.
      </action>
197
198
199
200
      <action dev="luc" type="fix" issue="184">
        Fixed non-bracketing issue when RESET_STATE slightly moves an event at the start
        of a step and another regular event happens in the first half of the same step
      </action>
Pascal Parraud's avatar
Pascal Parraud committed
201
    </release>
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
    <release version="11.1.1" date="2022-03-17"
             description="Version 11.1.1 is a patch release of Orekit.
             It fixes issues related to the parsing of SP3 and Rinex files. It also takes
             additional derivatives into account in {Field}SpacecraftState.shiftedBy method.
             Finally it includes some improvements in the class documentation">
      <action dev="lars" type="add" issue="896">
        Added Git configuration instructions in contributing guide.
      </action>
      <action dev="lars" type="fix" issue="897">
        Corrected wrong path in release guide.
      </action>
      <action dev="bryan" type="fix" issue="894">
        Fixed dead link in contributing guidelines.
      </action>
      <action dev="bryan" type="fix" issue="698">
        Added missing BDS-3 signal for Rinex 3.04.
      </action>
      <action dev="bryan" type="fixed" issue="892">
        Removed check of not supported keys in RinexLoader.
      </action>
      <action dev="lirw1984" type="update" issue="895">
223
224
        Enhanced parsing of SP3 files.
      </action>
225
226
227
228
      <action dev="luc" type="add" issue="902">
        Take additional derivatives into account in {Field}SpacecraftState.shiftedBy.
      </action>
    </release>
229
230
231
232
233
234
235
236
237
238
239
    <release version="11.1" date="2022-02-14"
             description="Version 11.1 is a minor release of Orekit.
             It includes both new features and bug fixes. New features introduced
             in 11.1 are: the estimation of maneuver start/stop time, the Brouwer-Lyddane
             orbit propagation model with Warren Phipps’ correction for the critical
             inclination of 63.4° and the perturbative acceleration due to atmospheric
             drag, the Extended Semi-analytical Kalman Filter, a new API for
             State Transition Matrix and Jacobian matrices computation, orbit
             determination  using analytical propagation models, parsing of ICGEM V2.0 format.
             This release includes important fixes in CCSDS files, TimeSpanMap, and
             display of dates. See the list below for a full description of the changes.">
240
241
242
243
244
      <action dev="luc" type="fix" issue="722">
        Prefer values from Bulletin B rather than Bulletin A if both are present
        in rapid data column format. This handling of priority was already in
        place for XML file, but not for column format.
      </action>
245
246
247
248
249
      <action dev="luc" type="fix" issue="448">
        Added support for ICGEM V2.0 format for piecewise gravity fields
        that contain discontinuities around major earthquakes, like
        Eigen 6S4 V2.
      </action>
250
251
252
253
      <action dev="andrewsgoetz" type="add">
        Added Automatic-Module-Name "org.orekit" to JAR manifest to improve usability
        of Orekit by modular Java projects.
      </action>
254
255
256
      <action dev="julie,bryan,maxime" type="add" issue="823">
        Added the Extended Semi-analytical Kalman Filter.
      </action>
257
258
259
      <action dev="luc" type="fix" issue="875">
        Allow empty comments in CCSDS messages
      </action>
260
261
262
      <action dev="luc" type="fix" issue="884">
        Deprecated TimeSpanMap.getTransitions()
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
263
      <action dev="luc" type="fix" issue="832,885">
264
265
        Allow to enter the same transition date in TimeSpanMap several times
      </action>
266
267
      <action dev="luc" type="fix" issue="833">
        Added a way to erase all earlier/later transitions when adding an entry
268
        and added addValidBetween to TimeSpanMap.
269
      </action>
270
271
      <action dev="bryan" type="add">
        Added a new and simpler API for State Transition Matrix and Jacobian
Bryan Cazabonne's avatar
Bryan Cazabonne committed
272
        matrix computation for analytical orbit propagators.
273
      </action>
274
275
276
      <action dev="bryan" type="fix" issue="878">
        Fixed writing of ITRF frames before 2000 when generating CCSDS files.
      </action>
277
278
279
      <action dev="luc" type="fix" issue="836">
        Use the orbit normalization feature to reduce discontinuities across impulsive maneuvers.
      </action>
280
281
282
      <action dev="luc" type="add">
        Added an orbit normalization feature.
      </action>
283
284
285
286
287
      <action dev="evan" type="add" issue="881">
        Add AbsoluteDate.toStringWithoutUtcOffset(TimeScale, int) and
        DateTimeComponents.toStringWithoutUtcOffset(int, int) to emulate
        AbsoluteDate.toString() from Orekit 10.
      </action>
288
289
290
      <action dev="evan" type="fix" issue="880">
        Fix UTC offset in DateTimeComponents.toString(int, int)
      </action>
291
292
293
      <action dev="luc" type="fix" issue="849">
        Added detector to FieldEventHandler.init arguments list.
      </action>
294
295
296
      <action dev="luc" type="fix" issue="837">
        Added getters for raw detectors in event shifter, slope filter and predicate filter.
      </action>
297
298
299
      <action dev="bryan" type="fix" issue="874">
        Fixed initialization of maneuver trigger events when using EventBasedManeuverTriggers.
      </action>
300
301
302
303
      <action dev="luc" type="fix" issue="872">
        Fixed multiple detection of events when using propagate(start, target) with
        integration-based propagators.
      </action>
304
305
306
      <action dev="bryan" type="add" issue="871">
        Added atmospheric drag effect for Brouwer-Lyddane model.
      </action>
307
308
309
      <action dev="bryan" type="add" issue="869">
        Allowed Brouwer-Lyddane model to work for the critical inclination.
      </action>
310
311
312
      <action dev="bryan" type="fix" issue="867">
        Fixed handling of multiple historical eccentricities for a same station.
      </action>
313
314
315
      <action dev="bryan" type="fix" issue="868">
        Fixed writing of whitespace characters in CPF writer.
      </action>
316
317
318
      <action dev="bryan" type="fix" issue="864">
        Fixed BStar estimation in TLE-based orbit determination.
      </action>
319
320
321
      <action dev="mvanel" type="add" issue="653">
        Added Brouwer-Lyddane orbit propagator.
      </action>
322
      <action dev="luc" type="add" issue="865">
323
324
        Added derivatives with respect to maneuvers start/stop dates
        or median date/duration.
325
      </action>
326
327
328
      <action dev="luc" type="add" >
        Added observers for maneuvers triggers.
      </action>
329
330
331
      <action dev="luc" type="fix" issue="853">
        Added field-based init method in ForceModel and DSSTForceModel.
      </action>
332
333
334
      <action dev="luc" type="fix" >
        Added ParameterDrivenDateIntervalDetector and FieldParameterDrivenDateIntervalDetector.
      </action>
335
336
337
      <action dev="luc" type="add" >
        Added DateDriver to drive dates using a ParameterDriver.
      </action>
338
339
340
      <action dev="luc" type="fix" issue="848">
        Allow backward propagation in EventBasedManeuverTriggers.
      </action>
341
342
343
344
      <action dev="luc" type="add" >
        Added IntervalEventTrigger and StartStopEventsTrigger to streamline
        several ways to trigger maneuvers.
      </action>
345
346
347
348
349
      <action dev="luc" type="add" >
        When propagating with integrated additional equations, the generated
        spacecraft states now also contain both state and derivatives
        managed by the equations.
      </action>
350
351
352
353
      <action dev="luc" type="add" >
        Replaced AdditionalEquations by AdditionalDerivativesProvider with
        support for dimension retrieval and yield feature between providers.
      </action>
354
355
356
      <action dev="luc" type="add" issue="856">
        Added a new and simpler API for State Transition Matrix and Jacobian
        matrix computation. This new API is for now only used with NumericalPropagator
357
358
        and DSSTPropagator (both in batch least squares and in Kalman filter), but it
        is expected to be generalized to analytical propagators as well when it is
359
360
        stabilized.
      </action>
361
362
363
364
365
      <action dev="luc" type="add" >
        Added DoubleArrayDictionary and FieldArrayDictionary as replacements
        for HashMap when the number of keys is very small (such as in spacecraft
        states).
      </action>
366
      <action dev="luc" type="add">
367
368
        Manage dependencies between additional states in propagators using a yield
        feature between providers.
369
      </action>
370
      <action dev="luc" type="add" >
371
372
        SpacecraftState now handle derivatives of additional states.
      </action>
373
374
375
      <action dev="luc" type="add" issue="862">
        PropagatorParallelizer now preserves existing step handlers in the propagators it runs.
      </action>
user's avatar
user committed
376
377
378
      <action dev="ShippingEnjoyer" type="add">
        Get rid of StringBuffer for logging without unnecessary synchronization (bias-locking disabled at jdk18)
      </action>
379
    </release>
380
381
382
383
384
385
    <release version="11.0.2" date="2021-11-24"
             description="Version 11.0.2 is a patch release of Orekit.
             It fixes an important issue related to the handling of indexes
             when building the state transition matrix in multi satellites
             orbit determination. It also fixes bugs in TLE and CRD files.
             Finally it includes an update of the release guide.">
386
         <action dev="bryan" type="fix" issue="859" due-to="Emmanuel Papanagiotou">
387
388
        Allowed custom setting of state to TLE conversion in propagator builder. 
      </action>
389
         <action dev="bryan" type="fix" issue="847">
390
391
        Fixed handling of comments in CRD files.
      </action>
392
         <action dev="bryan" type="fix" issue="851">
393
394
        Fixed deserialization of TLE caused by the bStarParameterDriver.
      </action>
395
         <action dev="bryan" type="fix" issue="850">
396
397
        Fixed indexes when build state transition matrix for multi sat Kalman.
      </action>
398
         <action dev="sdinot" type="update">
399
400
        Updated the release guide to remove actions that are no longer required.
      </action>
401
    </release>
402
403
404
405
406
    <release version="11.0.1" date="2021-10-22"
             description="Version 11.0.1 is a patch release of Orekit.
             It fixes an important issue related to the calculation of the relativistic
             clock correction for GNSS measurements. It also fixes bugs in OEM and CPF
             files writing. Finally it includes some improvements in the class documentation">
407
         <action dev="bryan" type="fix" issue="846">
408
409
        Fixed wrong computation of relativistic clock correction for GNSS measurements.
      </action>
410
         <action dev="bryan" type="fix" issue="845">
411
412
        Fixed parsing of Rinex clock files.
      </action>
413
         <action dev="bryan" type="fix" issue="844">
414
415
        Fixed null pointer exception when constructing CPF from coordinates.
      </action>
416
         <action dev="bryan" type="update" issue="843">
417
418
419
        Improved documentation of solar radiation pressure class to include
        additional information about osculating bodies.
      </action>
420
         <action dev="sdinot" type="update" issue="842">
421
422
        Used the latest version of Maven available in RedHat 8.
      </action>
423
         <action dev="pascal" type="fix" issue="839">
424
425
        Fixed handling of time system in OemWriter.
      </action>
426
         <action dev="bryan" type="update" issue="838" due-to="Kendra Hale">
427
428
        Improved documentation of ImpulseManeuver class.
      </action>
429
    </release>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
430
    <release version="11.0" date="2021-09-20"
431
             description="Orekit 11.0 is a major new release.
432
433
434
435
436
437
438
439
440
441
442
443
444
             It includes both new features and bug fixes. New features introduced
             in 11.0 are: orbit determination using SGP4/SDP4 models, a sequential
             batch least squares estimator using initial covariance and state vector,
             writer and parser for all CCSDS Navigation Data Messages in both KVN
             and XML formats, version 2 of CCSDS Tracking Data Messages, version 3
             of CCSDS Orbit Data Messages, support for Rinex navigation files,
             support for IGS clock correction files, support for IGS real time
             data including both SSR and RTCM messages, NTrip protocole, eclipses
             by Moon in solar radiation pressure force, a new API for analytical
             GNSS orbit propagators, removal of propagation modes, possibility
             to add several step handlers for the same orbit propagation, a new
             event detector for angular separation as seen from the spacecraft.
             See the list below for a full description of the changes.">
445
         <action dev="bryan" type="update" issue="766" due-to="Gowtham Sivaraman">
446
447
448
        Allowed setting of AttitudeProvider to the BoundedPropagator
        generated via propagation.
      </action>
449
         <action dev="bryan" type="fix" issue="835">
450
451
        Fixed format symbols for year, month, day in DateComponents#toString().
      </action>
452
         <action dev="thomas" type="fix" issue="668">
Thomas Paulet's avatar
Thomas Paulet committed
453
454
        Added a new event detector for angular separation as seen from the spacecraft.
      </action>
455
456
457
      <action dev="maxime" type="fix" issue="829">
        Fixed DataSourceTest.testFileName for Windows users.
      </action>
458
459
460
      <action dev="bryan" type="fix" issue="818">
        Use observed solar flux instead of adjusted in DTM2000 model.
      </action>
461
462
463
      <action dev="evan" type="fix" issue="798">
        Allow DSST event detection when propagating backwards.
      </action>
464
465
466
      <action dev="bryan" type="fix" issue="717" due-to="evan">
        Fixed DSST orbit determination when propagating backwards.
      </action>
467
468
469
      <action dev="evan" type="remove" issue="586">
        Remove InertialProvider.EME2000_ALIGNED, Propagator.DEFAULT_LAW. Use
        InertialProvider.of(Frame).
470
      </action>
471
472
473
474
      <action dev="evan" type="update" issue="586">
        Change default attitude provider to be aligned with propagation frame for all
        analytic propagators and GLONASS propagator. Backward incompatible.
      </action>
475
476
477
      <action dev="evan" type="update" issue="586">
        Improve performance of IntertialProvider(Frame)
      </action>
478
479
480
      <action dev="anne-laure" type="update" issue="797">
        Add information if a detector failed during propagation
      </action>
481
482
483
      <action dev="bryan" type="fix" issue="788" due-to="luc">
        Fixed missing call to setMuCreated() in OemParser.
      </action>
484
485
      <action dev="evan" type="update" issue="618">
        Fix supportedNames matching in ClasspathCrawler. Backwards incompatible.
486
      </action>
487
488
489
      <action dev="bryan" type="fix" issue="828">
        Fixed missing file types in SP3Parser.
      </action>
490
491
492
      <action dev="bryan" type="fix" issue="827">
        Fixed time system used in SP3 files.
      </action>
493
494
495
      <action dev="evan" type="fix" issue="685">
        Fix AnalyticalPropagator RESET_STATE when new state is null.
      </action>
496
497
498
      <action dev="bryan" type="fix" issue="803">
        Fixed parsing of clock values in SP3 files.
      </action>
499
500
501
      <action dev="bryan" type="fix" issue="820">
        TLE Jacobians are now calculated in cartesian elements.
      </action>
502
503
504
505
      <action dev="evan" type="update" issue="825">
        Improve exception messages with two AbsoluteDates by including duration between
        them.
      </action>
506
507
508
509
      <action dev="evan" type="update" issue="637" due-to="Piotr">
        Add trailing "Z" to AbsoluteDate.toString() to indicate UTC.
        Backwards incompatible.
      </action>
510
511
512
      <action dev="evan" type="update" issue="825">
        In AbsoluteDate.toString() fallback to TAI when no leap seconds are loaded.
      </action>
Evan Ward's avatar
Evan Ward committed
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
      <action dev="evan" type="update" issue="591">
        Fix TimeComponents.toString(): correct ISO 8601 with UTC offset, rounding issues.
        Backwards incompatible.
      </action>
      <action dev="evan" type="update" issue="590">
        Fix DateTimeComponents.toString(): correct ISO 8601, leap second, rounding issues.
        Backwards incompatible.
      </action>
      <action dev="evan" type="update" issue="637" due-to="Piotr">
        Fix AbsoluteDate.toString(timeZone) and toString(minutesFromUtc) to include the
        UTC offset when it is zero.
      </action>
      <action dev="evan" type="add">
        Add DateTimeComponents.toString(...) method with correct rounding for user
        specified precision.
      </action>
529
530
531
      <action dev="bryan" type="update" issue="626">
        Used a separate Comparator for sorting integer least square solutions.
      </action>
532
533
534
      <action dev="bryan" type="update" issue="799">
        Used the field-specific value of π.
      </action>
535
536
537
      <action dev="evan" type="update" issue="830" due-to="skyrex">
        Remove step size limitations in analytic propagators. Backwards incompatible.
      </action>
538
539
540
541
      <action dev="evan" type="fix">
        Fix part of step passed to the step handler twice in analytic propagators with
        event handlers.
      </action>
542
543
544
      <action dev="bryan" type="fix" issue="795" due-to="guylaine">
        Fixed output of NRLMSISE00 for altitude at 32.5 km.
      </action>
545
546
547
      <action dev="luc" type="add" issue="821">
        Added support for CCSDS TDM V2.0.
      </action>
548
549
550
      <action dev="luc" type="add" issue="819">
        Allow data filtering upon loading to be used for explicit loading by applications.
      </action>
551
552
553
      <action dev="julie" type="add" issue="745">
        Added sequential batch least squares estimator.
      </action>
554
555
556
      <action dev="luc" type="add" issue="814" due-to="Valerian">
        Fixed additional states handling in ephemeris generated by analytical propagator.
      </action>
557
558
559
560
561
      <action dev="luc" type="add" issue="809">
        Dropped master/slave/ephemeris generation propagation modes, replaced by a
        versatile step handler multiplexer fulfilling all these needs
        simultaneously during a single propagation run
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
562
      <action dev="luc" type="add" issue="812">
563
        Dropped master/slave terminology in turn-around and inter-satellite measurements.
Luc Maisonobe's avatar
Luc Maisonobe committed
564
      </action>
565
566
567
      <action dev="luc" type="add" issue="813">
        Fixed derivatives with respect to secondary station in turn-around modifiers.
      </action>
568
569
570
571
      <action dev="luc" type="add" issue="811">
        Allow on-the-fly add/remove/clean for step handlers.
      </action>
      <action dev="luc" type="add" issue="810">
572
573
        Merged multiplexers for fixed steps and variable steps.
      </action>
574
575
576
      <action dev="luc" type="fix" issue="808">
        Moved isLast argument in step handler handleStep method to a separate method.
      </action>
577
578
579
      <action dev="luc" type="fix" issue="807">
        Fixed scheduling between calls to step handlers and events handlers.
      </action>
580
581
582
      <action dev="luc" type="fix" issue="806">
        Added restrictStep method to FieldOrekitStepInterpolator interface.
      </action>
583
584
585
      <action dev="bryan" type="fix" issue="801">
        Added getter for meteorological data used in CRD data block.
      </action>
586
587
588
      <action dev="bryan" type="fix" issue="796">
        Fixed writing of line H2 in CPF file header.
      </action>
589
590
      <action dev="thomas" type="fix" issue="702">
        Added possibility to take in account several bodies while computing SRP perturbation.
Thomas Paulet's avatar
Merge    
Thomas Paulet committed
591
      </action>
592
593
      <action dev="bryan" type="update" issue="793">
        Updated SP3File visibility to public.
Thomas Paulet's avatar
Merge    
Thomas Paulet committed
594
      </action>
595
596
      <action dev="bryan" type="update" issue="784">
        Updated architecture of GNSS orbit propagators.
Thomas Paulet's avatar
Merge    
Thomas Paulet committed
597
      </action>
598
599
      <action dev="bryan" type="update" issue="782">
        Updated error message of Orekit internal error exception.
Thomas Paulet's avatar
Merge    
Thomas Paulet committed
600
      </action>
601
602
      <action dev="luc" type="add">
        Added support for reading and writing CCSDS NDM composite messages.
Thomas Paulet's avatar
Merge    
Thomas Paulet committed
603
      </action>
604
605
      <action dev="afossa" type="fix" issue="781">
        Fixed parsing in buildLine2() method of FieldTLE.
Thomas Paulet's avatar
Merge    
Thomas Paulet committed
606
      </action>
607
608
      <action dev="luc" type="fix" issue="776">
        Fixed associativity in units parsing.
Thomas Paulet's avatar
Merge    
Thomas Paulet committed
609
      </action>
610
611
612
      <action dev="bryan" type="update" issue="773">
        TimeStampedFieldAngularCoordinates now implements FieldTimeStamped.
      </action>
613
614
615
      <action dev="bryan" type="update" issue="774">
        TimeStampedFieldPVCoordinates now implements FieldTimeStamped.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
616
617
618
      <action dev="nfialton" type="fix" issue="775">
        Fixed NullPointerException in FieldSpacecraftState when orbit is not defined.
      </action>
619
620
621
      <action dev="bryan" type="add" issue="763">
        Added support for RTCM ephemeris messages.
      </action>
622
623
624
      <action dev="bryan" type="add" issue="769">
        Added ionospheric model based on IM201 SSR message.
      </action>
625
626
627
628
629
630
      <action dev="bryan" type="add" issue="763">
        Added support for Ntrip protocol.
      </action>
      <action dev="bryan" type="add" issue="763">
        Added support for IGS SSR messages.
      </action>
Alberto Fossà's avatar
Alberto Fossà committed
631
632
633
634
      <action dev="afossa" type="fix" issue="772">
        Fixed computation of velocity derivative in FieldNumericalPropagator.Main.addKeplerContribution()
        with superGetOrbitType() == null.
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
635
636
637
638
      <action dev="luc" type="add" >
        Added AccurateFormatter to output double numbers and dates
        with adaptive number of digits, preserving one ULP accuracy.
      </action>
Luc Maisonobe's avatar
Luc Maisonobe committed
639
640
641
      <action dev="luc" type="add" >
        Added a units converter.
      </action>
642
643
644
645
      <action dev="luc" type="update" >
        INCOMPATIBLE CHANGE! Now observations parsed from TDM files are in SI units.
      </action>
      <action dev="luc" type="update" issue="768">
646
647
        Allow parsing several variations of ITRF specifications (like itrf-97, ITRF2000, ITRF_2014…).
      </action>
648
649
650
      <action dev="luc" type="add" >
        Added a time scale for drifting on-board clocks.
      </action>
651
652
653
      <action dev="bryan" type="add" issue="523">
        Added support for RINEX 3.X navigation files.
      </action>
654
655
656
      <action dev="bryan" type="update" issue="691">
        Improved consistency between getParametersDrivers() method signatures.
      </action>
657
658
659
      <action dev="andrewsgoetz" type="add" issue="764">
        Added new method to UTCScale which exposes the raw UTC-TAI offset data.
      </action>
660
661
662
      <action dev="bryan" type="fix" issue="670">
        Fixed call to ForceModel.init() in AbstractGaussianContribution class.
      </action>
663
664
         <action dev="thomas" type="add" issue="712">
          Added IGS clock file support.
Thomas Paulet's avatar
Thomas Paulet committed
665
      </action>
666
667
668
669
670
671
672
      <action dev="bryan" type="update" issue="650">
        Methods computeMeanState() and computeOsculatingState()
        of FieldDSSTPropagator are now statics.
      </action>
      <action dev="bryan" type="update" issue="762">
        TabulatelofOffset now implements BoundedAttitudeProvider.
      </action>
673
674
675
      <action dev="luc" type="update" issue="761">
        TabulateProvider now implements BoundedAttitudeProvider.
      </action>
676
677
678
      <action dev="luc" type="fix" issue="760">
        Fixed reference frame in tabulated attitude provider.
      </action>
679
      <action dev="luc" type="update" >
680
          Renamed SINEXLoader into SinexLoader.
681
682
683
      </action>
      <action dev="luc" type="update" >
        Use DataSource in RinexLoader and SinexLoader.
684
685
686
      </action>
      <action dev="luc" type="update" >
        Renamed NamedData into DataSource.
687
      </action>
688
      <action dev="luc" type="add" issue="474">
689
        Added support for CCSDS ODM V3, with the new
690
691
692
693
694
695
696
697
        Orbit Comprehensive Message format.
      </action>
      <action dev="luc" type="update">
        Overhauled generic Ephemeris and AttitudeEphemeris writing.
      </action>
      <action dev="luc" type="update">
        Overhauled CCSDS messages handling, both parsing and writing.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
698
699
700
      <action dev="amir" type="fix" issue="746">
        Fixed combination of measurements using GNSS phase measurements.
      </action>
701
702
703
      <action dev="bryan" type="add" issue="756">
        Added new method signature in IodGooding using AngularRaDec measurement.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
704
705
706
707
708
709
      <action dev="thomas" type="fix" issue="688">
        Fixed ignored fields from TLE template in TLEPropagatorBuilder.
      </action>
      <action dev="thomas" type="fix" issue="372">
        Added TLE generation.
      </action>
710
711
712
      <action dev="bryan" type="fix" issue="624">
        Allowed dynamic station coordinates when calculating tropospheric delay.
      </action>
713
714
715
      <action dev="bryan" type="update" issue="755">
        Modified IodGooding constructor to be consistent with other IOD methods.
      </action>
716
717
718
      <action dev="bryan" type="add" issue="753">
        Added new method signature in IodLaplace using AngularRaDec measurement.
      </action>
719
720
721
      <action dev="bryan" type="add" issue="752">
        Added new method signature in IodLambert using Position measurement.
      </action>
722
723
724
      <action dev="bryan" type="add" issue="751">
        Added new method signature in IodGibbs using Position measurement.
      </action>
725
      <action dev="luc" type="fix" issue="749">
726
        Allow building PVCoordinates and AngularCoordinates (as well as their Field,
727
728
729
        Absolute and TimeStamped variations) to be build from UnivariateDerivative1
        and UnivariateDerivative2 in addition to DerivativeStructure.
      </action>
730
      <action dev="bryan" type="fix" issue="736">
731
        Fixed NullPointerException in DSSTTesseral Hansen object.
732
      </action>
733
      <action dev="bryan" type="update" issue="601">
734
          Changed getPVInPZ90() method to private.
735
736
      </action>
      <action dev="bryan" type="fix" issue="744">
737
          Fixed calculation of CR3BP constants.
738
      </action>
739
      <action dev="bryan" type="update" issue="743">
740
          Updated JUnit version to 4.13.1.
Thomas Paulet's avatar
Thomas Paulet committed
741
742
      </action>
    </release>
743
744
745
746
    <release version="10.3.1" date="2021-06-16"
             description="Version 10.3.1 is a patch release of Orekit.
             It fixes one critical bug that could cause potential infinite loops in tesselation
             in very rare cases due to numerical noise.">
Luc Maisonobe's avatar
Luc Maisonobe committed
747
748
      <action dev="luc" type="fix" issue="792">
        Fixed potential infinite loops in tesselation in very rare cases due to numerical noise.
749
750
      </action>
    </release>
Thomas Paulet's avatar
Thomas Paulet committed
751
752
753
754
755
756
757
758
759
760
761
762
763
764
    <release version="10.3" date="2020-12-21"
             description="Version 10.3 is a minor release of Orekit.
             It includes both new features and bug fixes. New features introduced
             in 10.3 are: relativistic clock correction for range, phase, and range rate
             measurements, piece wise models for empirical forces, one-way GNSS code
             and phase measurements, support for laser ranging data (both CPF and
             CRD formats), Lense-Thirring and De Sitter relativistic corrections to
             satellite acceleration, support for AGI leap second files, new interfaces
             for attitude ephemeris files, Knocke model for Earth's albedo and infrared,
             as well as several other new features. This release includes an important
             fix in DSST orbit determination allowing to used short period Jacobian
             during state transition matrix calculation. It also fixes issues in Kalman
             orbit determination and CCSDS ADM format. See the list below for a full
             description of the changes.">
765
766
      <action dev="bryan" type="update" issue="741">
        Updated Hipparchus version to 1.8 and updated code with new functionalities.
Thomas Paulet's avatar
Thomas Paulet committed
767
      </action>
768
769
         <action dev="bryan" type="add" issue="740">
          Added aggregator for bounded attitude providers.
Thomas Paulet's avatar
Thomas Paulet committed
770
      </action>
771
         <action dev="thomas" type="add" issue="8">
Thomas Paulet's avatar
Thomas Paulet committed
772
773
        Added Knocke's Earth rediffused radiation pressure force model.
      </action>
774
775
         <action dev="bryan" type="add" issue="739">
          Allowed initialization of attitude provider from attitude segment.
Thomas Paulet's avatar
Thomas Paulet committed
776
777
778
779
780
781
782
783
784
785
      </action>
      <action dev="raphael" type="add" issue="705">
        Allowed writing an AEM file from a list of SpacecraftStates.
      </action>
      <action dev="luc" type="add" issue="738">
        Added user-defined max iteration and convergence criterion in SecularAndHarmonic.
      </action>
      <action dev="luc" type="add" issue="737">
        Added loading of AGI LeapSecond.dat files.
      </action>
786
787
788
789
      <action dev="raphael" type="add" issue="686">
        Allowed user-defined format for ephemeris data lines in
        StreamingAemWriter, AEMWriter, StreamingOemWriter and OEMWriter.
      </action>
790
791
         <action dev="bryan" type="fix" issue="683">
          Updated building instructions.
792
      </action>
793
794
         <action dev="bryan" type="add" issue="734">
          Added getters for phase measurement ambiguity driver.
795
      </action>
796
797
         <action dev="bryan" type="fix" issue="696">
          Allowed to configure initial covariance for measurements in Kalman Filter.
798
799
800
801
      </action>
      <action dev="thomas, bryan" type="add" issue="709">
        Added clock drift contribution to range rate measurements.
      </action>
802
803
         <action dev="bryan" type="fix" issue="687">
          Fixed Javadoc of ElevationMask.
804
805
806
807
808
809
810
811
812
813
814
815
816
      </action>
      <action dev="raphael" type="fix" issue="711">
        Allowed definition of a default interpolation degree in both AEMParser and OEMParser.
      </action>
      <action dev="bryan" type="add" issue="733">
        Added Lense-Thirring and De Sitter relativistic effects.
      </action>
      <action dev="melanisti" type="fix" issue="725">
        Fixed missing measurement parameter in InterSatellitesRange measurement.
      </action>
      <action dev="bryan" type="add" issue="732">
        Added documentation for checkstyle configuration.
      </action>
817
818
         <action dev="thomas" type="fix" issue="730">
          Removed useless loop over an empty list
819
      </action>
820
821
822
      <action dev="luc" type="fix" issue="731">
        Fixed parsing of some ICGEM gravity fields files.
      </action>
823
      <action dev="raphael" type="fix" issue="720">
824
          Added support for measurements parameters in UnivariateProcessNoise
825
      </action>
826
827
828
      <action dev="luc" type="fix" issue="729">
        Fixed wrong handling of RESET-STATE in analytical propagators.
      </action>
829
830
831
      <action dev="luc" type="add" issue="728">
        Allow creating a node detector without an orbit.
      </action>
832
833
834
      <action dev="bryan" type="add" issue="671">
        Added support for laser ranging file formats.
      </action>
835
836
837
      <action dev="clement" type="fix" issue="724">
        Remove range checks in TLE constructor.
      </action>
838
839
840
      <action dev="bryan" type="fix" issue="723">
        Allowed AEM and OEM writers to write header comments.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
841
842
843
844
      <action dev="bryan" type="add" issue="719">
        Added one-way GNSS range and phase measurements for LEO satellite
        orbit determination applications.
      </action>
845
846
847
      <action dev="bryan" type="add" issue="716">
        Added piecewise empirical force model.
      </action>
848
849
850
      <action dev="bryan" type="add" >
        Considered a new implementation for empirical forces, to allow piecewise model.
      </action>
851
852
853
      <action dev="bryan" type="add" issue="703">
        Added inter-satellites phase measurement.
      </action>
854
855
856
      <action dev="bryan" type="fix" issue="695">
        Considered covariance matrix from Position measurement in Kalman estimator.
      </action>
857
858
859
      <action dev="bryan" type="fix" issue="718">
        Fixed orbital state used for short periodic Jacobian computation.
      </action>
860
861
862
863
      <action dev="bryan" type="add" issue="704">
        Allow using user specified velocity error for computing
        tolerance vectors for integrators.
      </action>
864
865
866
      <action dev="bryan" type="add" issue="714">
        Added frequency deviation for range-rate measurements.
      </action>
867
868
869
870
      <action dev="bryan" type="add" issue="715">
        Added relativistic clock correction for range, phase and
        inter-satellite range measurements.
      </action>
871
872
873
      <action dev="bryan" type="fix" issue="706">
        Fixed missing measurement parameter in inter-satellites range measurement.
      </action>
874
         <action dev="thomas" type="fix" issue="713">
Thomas Paulet's avatar
Thomas Paulet committed
875
876
        Fixed computation of DSST short period Jacobian.
      </action>
877
878
879
      <action dev="luc" type="fix" issue="699">
        Fixed missing measurement parameter in Phase measurement
      </action>
880
881
882
883
884
      <action dev="luc" type="fix" issue="701">
        Fixed wrong handling of propagation parameters by Kalman filter in multi-satellite
        context
      </action>
    </release>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
885
    <release version="10.2" date="2020-07-14"
886
887
888
889
890
891
             description="Version 10.2 is a minor release of Orekit.
             It includes both new features and bug fixes. New features introduced
             in 10.2 are: support for CCSDS ADM files, modelling of trajectories
             around Lagrangian points using CR3BP model, a piece wise drag force model,
             a time span tropospheric estimated model, an estimated ionospheric model,
             an improved modelling of the GNSS phase measurement, several bug fixes
892
893
894
895
             for date functionnalities, a new organization of the maneuvers package,
             a configurable low thrust maneuver model based on detectors,
             support for CSSI space weather data, , as well as several other minor
             features and bug fixes. See the list below for a full description
896
             of the changes.">
897
898
899
      <action dev="bryan" type="fix" issue="661">
        Fixed visibility of WindUpFactory.
      </action>
900
901
902
      <action dev="bryan" type="update" >
        Increased visibility of setters in CCSDS ADM related classes.
      </action>
903
904
905
906
      <action dev="clement" type="add" issue="656">
        Added CssiSpaceWeatherLoader which provides three-hourly space weather
        data and implements DTM2000InputParameters and NRLMSISE00InputParameters
      </action>
907
908
909
      <action dev="maxime" type="update" issue="690">
        Increased visibility of setters in CCSDS OEM related classes.
      </action>
910
911
912
      <action dev="bryan" type="update" >
        Improved Orekit performance by using new Hipparchus' differentiation classes.
      </action>
913
914
915
      <action dev="bryan" type="update" issue="682">
        Changed visibility of OrbitType parameter drivers' names to public.
      </action>
916
917
918
919
      <action dev="evan" type="add" issue="684" due-to="Mikael">
        Fix infinite loop in event detection when a RESET_* event causes two other events
        to occur simultaneously and discontinuously.
      </action>
Evan Ward's avatar
Evan Ward committed
920
921
922
      <action dev="evan" type="add" issue="684">
        Add FieldFunctionalDetector.
      </action>
923
924
925
      <action dev="mikael" type="add">
        Added a configurable low thrust maneuver based on detectors.
      </action>
926
927
928
      <action dev="bryan" type="fix" issue="605">
        Added support for Rinex C0, L0, S0 and D0 observation types.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
929
930
931
      <action dev="bryan" type="fix" issue="641">
        Allow Pattern functionalities instead of String.replaceAll() and String.split().
      </action>
932
933
934
935
      <action dev="evan" type="fix" issue="658">
        Fix invalid hour when using TimeScale(double) or TimeScale(int, double) with a
        value in [86400, 86401]. Treat these values as indicating a leap second.
      </action>
936
937
938
      <action dev="evan" type="add" issue="677">
        Add AbsoluteDate.toStringRfc3339() and DateTimeComponents.toStringRfc3339().
      </action>
939
940
941
942
943
944
      <action dev="evan" type="fix" issue="681">
        Fix AbsoluteDate.getComponents(...) produces invalid times.
      </action>
      <action dev="evan" type="fix" issue="676">
        Fix AbsoluteDate.getComponents(utc) throws "non-existent time 23:59:61".
      </action>
945
946
947
      <action dev="bryan" type="fix" issue="651">
        Improved use of try with resources statement.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
948
      <action dev="bryan" type="fix" issue="679" due-to="luc, maxime">
949
950
        Improved testRetrogradeOrbit in CircularOrbit and KeplerianOrbit tests.
      </action>
951
952
953
      <action dev="bryan" type="fix" issue="680">
        Allowed ephemeris class to be used with absolute PV coordinates.
      </action>
954
955
956
      <action dev="bryan" type="fix" issue="674">
        Added an exception if eccentricity is negative for keplerian orbit.
      </action>
Evan Ward's avatar
Evan Ward committed
957
958
959
      <action dev="evan" type="fix" issue="667">
        Fix build on CentOS/RedHat 7.
      </action>
960
961
962
      <action dev="bryan" type="fix" issue="662">
        Fixed forgotten additional state in Ephemeris propagator.
      </action>
963
964
965
      <action dev="evan" type="update">
        Improve error message for TimeStampedCache by including requested date.
      </action>
966
967
968
      <action dev="bryan" type="fix" issue="663">
        Fixed initialization of the triggering event for ImpulseManeuver class.
      </action>
Clément Jonglez's avatar
Clément Jonglez committed
969
970
971
      <action dev="clement" type="fix" issue="664">
        Fix sign of RAAN and PA parameters in TLE constructor if negative, range check most other orbit parameters.
      </action>
972
973
974
      <action dev="bryan" type="add" issue="669">
        Added estimated ionospheric model.
      </action>
975
976
977
      <action dev="bryan" type="add" issue="645">
        Merged phase-measurement branch into develop.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
978
979
980
      <action dev="bryan" type="add" >
        Added a time span tropospheric estimated model.
      </action>
Bryan Cazabonne's avatar
Bryan Cazabonne committed
981
982
983
      <action dev="bryan" type="add" issue="646">
        Merged cr3bp branch into develop.
      </action>
984
985
986
      <action dev="bryan" type="add" issue="660">
        Improved exception handling in IODGibbs.
      </action>
987
988
989
      <action dev="bryan" type="add" issue="647">
        Improved package-info documentation.
      </action>
990
      <action dev="nick" type="update" >
991
        Upgrade maven-checkstyle-plugin to 3.1.1.
992
      </action>
993
994
995
      <action dev="bryan" type="add" issue="657">
        Added multiplexed Orekit fixed step handler.
      </action>
996
997
998
      <action dev="bryan" type="add" issue="655">
        Added support for CCSDS ADM files.
      </action>
Maxime Journot's avatar
Maxime Journot committed
999
1000
      <action dev="maxime" type="add" issue="649">
        Added a piece wise drag force model: TimeSpanDragForce in forces package.