Index: /trunk/BNC/CHANGELOG.md
===================================================================
--- /trunk/BNC/CHANGELOG.md	(revision 11081)
+++ /trunk/BNC/CHANGELOG.md	(revision 11082)
@@ -1,5 +1,39 @@
 # Changelog
 ## 2.13.8 (2026-10-??)
-- ADDED: epoch/velocity fields to PPP coordinates file to allow BNC to propagate the reference coordinates related to a dedicated reference epoch to the current processing epoch internally
+- ADDED: epoch/velocity fields to PPP coordinates file to allow BNC to propagate the reference coordinates related to a dedicated reference epoch to the current processing epoch internally; coordinates can also be given as latitude/longitude/height
+- ADDED: **SSR QC** of decoded Broadcast Correction streams (options 'QC Directory', 'QC Streams', 'QC Reference', 'QC Interval'; example configuration '31_SsrQC.bnc'). One daily report file per stream with epochs, declared and actual update intervals, gaps, latency, completeness w.r.t. healthy broadcast ephemerides, IOD matching, code and phase bias signals, missing code biases of the reference signals, clock jumps and largest orbit corrections
+- ADDED: Stream comparison in the SSR QC: orbits (radial, along, cross), clocks referred to the reference signals and signal-in-space differences (SIS = radial - clock) of each stream compared with the consensus of the other ACs (one vote per AC, own AC left out, combination products not voting) or with a selected stream (e.g. 'INTERNAL'), as RMS and standard deviation per satellite and system
+- ADDED: SIS (radial - clock, satellite-specific clock offset included) per epoch and SISRMS/SISSig per satellite and system in the SP3 comparison
+- ADDED: Combination: check of the consistency of each AC's code biases with its clocks; an AC whose satellite offsets follow the ionosphere-free combination of its reference signal biases is reported and excluded from the clock datum
+- ADDED: Combination: clocks of AC satellites without code biases of both reference signals are combined, but excluded from the clock datum (hourly message)
+- ADDED: Combination: hourly report of AC satellites persistently rejected as outliers, and of satellites skipped because fewer than 2 ACs provide corrections
+- ADDED: Combination of APC (SSRA) and CoM (SSRC) streams together: with an ANTEX file the combination is done in the CoM frame, the orbits of the APC streams are converted to CoM; ACs not combined because of a different reference point are reported
+- ADDED: Detection and conversion of outdated or erroneous IGS-SSR epoch time encodings (GLONASS as UTC seconds of day or of week, BDS as BDT) with an hourly warning, and a plausibility check of the orbit/clock epochs of all systems of a stream
+- ADDED: ANTEX file name, number of entries and latest satellite entry are logged; satellites without a valid ANTEX entry are reported (and not combined)
+- ADDED: Regression test suite ('tests'): example configurations and short raw captures replayed through BNC and compared with reference outputs
+- ADDED: macOS packaging script
+- CHANGED: SSR corrections are passed on as soon as all messages of an epoch have arrived (Multiple Message Indicator), not only when the next epoch starts; this reduces the latency by one update interval for PPP, combination and file output
+- CHANGED: Combination: an epoch is combined as soon as all ACs have delivered a later epoch, at the latest after max(10 s, sampling interval); before, epochs were lost if the ACs' latencies differed by more than the sampling interval
+- CHANGED: The combined corrections passed on to BNC's PPP ('INTERNAL') always refer to the APC, and PPP treats them as APC corrections
+- CHANGED: Satellite antenna corrections from ANTEX are selected according to their validity (VALID FROM/UNTIL) at the processed epoch, important for PRNs reassigned to new satellites
+- CHANGED: Default RINEX 3/4 observation header contains all signals BNC can decode, including Doppler; trailing blanks of observation records are omitted
+- CHANGED: RINEX QC: the ephemeris closest in time is used per epoch (also for the elevation mask in RINEX editing); expected observations are counted only with a valid ephemeris and above the elevation mask, including unhealthy satellites; all RINEX 4 navigation message types are read
+- CHANGED: PPP: wrong entries in the station table are rejected with a message; the filter is restarted after a numerical failure
+- CHANGED: Replays of raw files ('--file') are reproducible, including PPP with ambiguity resolution; corrections pending at the end of a raw file are written
+- CHANGED: Example configurations 17 and 18 (sampling interval 5 s, ACs CNE, CHC, BKG, CAS bias file), ANTEX file igs20.atx updated
+- CHANGED: Legacy PPP_SSR_I module removed
+- FIXED: IGS-SSR epoch time (IDF003) of GLONASS and BDS is GPS time; decoded corrections were placed 18 s (GLONASS) and 14 s (BDS) late, and the encoder wrote the wrong convention
+- FIXED: Combination: sign of the ionosphere-free combination of the SSR code biases used to refer the AC clocks to the reference signals (SSR and SINEX sign conventions differ)
+- FIXED: Combination: if an AC provided the code bias of only one of the two reference signals, the ionosphere-free bias combination was computed from that single bias and applied to the clock; it is now not applied in this case
+- FIXED: Combination: the satellite offset of an AC was not reset after an outlier
+- FIXED: Combination: text of the combination logfile was lost
+- FIXED: Upload of raw streams lost data chunks
+- FIXED: SP3/Clock RINEX files from corrections off the sampling grid (e.g. Galileo HAS): no ephemeris was selected, epochs are now written at the preceding grid epoch
+- FIXED: RINEX observation files written without usable skeleton contained no observation values
+- FIXED: The first broadcast ephemeris after a data gap was rejected as 'WRONG'
+- FIXED: GPS CNAV/CNAV-2 and NavIC L1NV ephemerides from RINEX 4 navigation files: reference time not set (wrong orbits); CNAV health refers to L1/L2 only
+- FIXED: Validity check of NavIC ephemerides
+- FIXED: RINEX QC used the first ephemeris of the file for all epochs (wrong GLONASS elevations, very long run times for daily files)
+- FIXED: Ntrip Version 2 streams: longer timeout for the first read after (re)connect, allowing for slow proxy auto-detection and TLS handshake
 
 ## 2.13.7 (2026-07-31)
