diff --git a/docs/references/changelog.md b/docs/references/changelog.md
index be73f2f94db096f663b352ff52a7e829431ad8cd..4a8c6c94bca7d6062841b64fcd87427b5b790723 100644
--- a/docs/references/changelog.md
+++ b/docs/references/changelog.md
@@ -1,5 +1,88 @@
 # Release Notes
 
+## 3.11.5
+- Update CalParrot==0.3 and EXtra-data==1.15.1 dependencies
+- [DSSC][Dark][Correct] No longer restrict memory cells to a multiple of 100s and add lower deviation for memory cells parameter conditions.
+- [Webservice] Catch errors on failure to launch dark processing
+- Add script to update dark run status in myMdC
+- [Epix100][Correct] Calcat error when no gain is retrieved
+- [REMI] Disable trailing trigger by default
+
+## 3.11.4
+- [Jungfrau][Correct] Force fixed gain for JF data in burst mode
+
+- [Jungfrau][Correct] Force replacement for gain value in Jungfrau correction
+- [DSSC] Allow 900 memory cells for DSSC darks to workaround appearance of cell 810
+
+- [Jungfrau][Dark] Reflect WRONG_GAIN_VALUE over a pixel in all gain for badpixels map
+- [AGIPD][Dark] Add timings
+- [Jungfrau][Correct] New A1256 JF Strixel
+
+- [webservice] Add JUNGF and PEP 8 on the line
+
+
+## 3.11.3
+- [AGIPD][LPD][DARK] Show table for bad pixels bitmaps
+- [AGIPD][CORRECT] Process all AGIPD trains if the PPU device is missing or if no trigger
+- [AGIPD][DARK] Sort dark runs
+- [AGIPD][DARK] Improvements for reading conditions by creating a new data class for multiple runs
+- [AGIPD][FF] Fixing FF summary performance plots
+
+- [Jungfrau] [Correct] Add thresholding for ROI projections
+- [Jungfrau][Correct][Dark] Fix manual edit for operating conditions
+- [Jungfrau][DARK] Validate and reorder dark runs before processing
+- [EPIX][FF] ePixFF characterization
+
+- [REMI] Add support for virtual trailing trigger
+
+- Fix manually submitting the confirmation
+
+- move some logs to DEBUG and extend the report sleep
+
+- Expose --blc-stripes to update_config.py and fix old parameter names
+
+## 3.11.2
+- Operational release for SPB to support configurable rounding thresholds.
+
+## 3.11.1
+- [AGIPD][CORRECT] Use calcat_interface and remove precorrection notebook
+- [EPIX100] Feat: Compliance with update to receiver device
+- [REMI] Various fixes and improvements for quad DLDs
+- [REMI] Fix missing re-allocation of trigger array with neither FEL nor PPL
+- [Tests] Fix: Accept uppercase calibration type
+- [Test] Find difference by default
+- Clearer error when xfel-calibrate would run no jobs
+- Detect cycle automatically in update_config script
+- Fix link to CalCat
+
+## 3.11.0
+
+- [AGIPD][Correct] Handle selecting multiple trains per PPU trigger
+- [AGIPD][Dark] Fix: Skip corrupted frame from dark processing
+- [LPD1M] Automatically decide whether to inject & use memory cell order
+- [LPD1M][Dark] Use EXtra-data to create darks from >1 sequence file
+- [LPD1M][Correct] Use parameter names instead of IDs to find constants
+- [LPD1M][Correct] Using CALCAT interface
+- [LPD1M][Correct] Fix: Constant type conversion
+- [LPD1M][Correct] Use the fragment file and remove the precorrection notebook
+- [LPD-Mini] Rework cell order condition to match LPD-1M again
+- [JUNGFRAU][pnCCD][ePix100] Feat: new method to display CCV metadata in reports
+- [JUNGFRAU][CORRECT] Add fragment file and remove precorrection notebook
+- [EPIX][DARK] Mark dead pixels as Bad Pixels
+- [EPIX][CORR] Optimize histograms and plots
+- [GH2][Correct] Move false warning and disable gain correction as printed.
+- [GH2][Correct] Remove the precorrection notebook and add fragment
+- [TIMEPIX] Add select parameters to update_config
+- [TIMEPIX] Fix types of notebook arguments
+- [xfel-calibrate] Fix: Break the line properly into latex when the next line starts with `_`
+- [Webservice] Don't mark jobs as finished just because they disappear from `squeue` output
+- [Webservice] Use status AW in myMdC if correction failed for some detectors in a run
+- Add a pytest to run a dict of CALLAB test runs before releases
+- Look up CCVs using parameter_name in place of parameter_id
+- Replace `max-exfl016` and `max-exfl017` into `max-exfl-cal001` and `max-exfl-cal002`, respectively.
+- Make metadata directory name match report filename
+- Add reorder_axes function
+
 ## 3.10.3
 
 - [LPD][Correct] Harden against empty sequencee sets with train-on-demand
@@ -23,36 +106,34 @@
 
 ## 3.10.1
 
-- [[JUNGFRAU][CORRECT] Using calcat interface](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/775)
-- [[JUNGFRAU][CORRECT][DARK] Extend accepted detectors based on substrings of karabo_id](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/839)
-
-- [[LPD Mini][CORRECT][DARK] Initial work on LPD Mini notebooks](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/813)
+- [JUNGFRAU][CORRECT] Using calcat interface
+- [JUNGFRAU][CORRECT][DARK] Extend accepted detectors based on substrings of karabo_id
 
-- [[PNCCD][CORRECT] Avoid raising a CalCat error while retrieving metadata for missing gain constant from DB](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/837)
+- [LPD Mini][CORRECT][DARK] Initial work on LPD Mini notebooks
+- [PNCCD][CORRECT] Avoid raising a CalCat error while retrieving metadata for missing gain constant from DB
 
 ## 3.10.0
 
-- [[ePix100][Correct] Avoid including histogram calculator with empty array](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/834)
-- [[ePix100][Correct] Remove pre notebook](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/821)
-
-- [[pnCCD][Correct] Using calcat interface](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/776)
-- [[pnCCD][Correct] Record fragment file and remove pre correction notebook](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/828)
-- [[ePix100][pnCCD][Correct] Display creation time for retrieved constants](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/835)
+- [ePix100][Correct] Avoid including histogram calculator with empty array
+- [ePix100][Correct] Remove pre notebook
 
-- [[AGIPD][Correct] error out only if all sources are empty](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/817)
-- [[AGIPD][Correct] exit notebook if no correction files are found for the selected sequence](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/818)
+- [pnCCD][Correct] Using calcat interface
+- [pnCCD][Correct] Record fragment file and remove pre correction notebook
+- [ePix100][pnCCD][Correct] Display creation time for retrieved constants
 
-- [[DSSC][DARK] Group all slow data to the same aggregator](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/819)
+- [AGIPD][Correct] error out only if all sources are empty
+- [AGIPD][Correct] exit notebook if no correction files are found for the selected sequence
 
-- [[JUNGFRAU][Correct] Use DataCollection.from_paths for reading JF CORR files for plots](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/812)
-- [Support for saving metadata fragments & merging into calibration_metadata.yml](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/781)
+- [DSSC][DARK] Group all slow data to the same aggregator
 
-- [[REMI] Save pulse amplitudes during discrimination](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/822)
-- [[REMI] Make plots robust against no edges or no hits in data](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/827)
+- [JUNGFRAU][Correct] Use DataCollection.from_paths for reading JF CORR files for plots
+- Support for saving metadata fragments & merging into calibration_metadata.yml
 
-- [[Webservice] Add script to check run in webservice DB](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/831)
-- [[Webservice] Fix database lock timeouts](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/832)
+- [REMI] Save pulse amplitudes during discrimination
+- [REMI] Make plots robust against no edges or no hits in data
 
+- [Webservice] Add script to check run in webservice DB
+- [Webservice] Fix database lock timeouts
 
 ## 3.9.2
 
@@ -66,25 +147,24 @@
 
 ## 3.9.0
 
-- [[Gotthard2][CORRECT]CALCAT interface.](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/778)
-- [[ePix100][CORRECT]CALCAT interface.](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/777)
-- [[pnCCD][CORRECT]Use `DataFile` to store aligned corrected data.](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/788)
-- [[Gotthard2][CORRECT]Use `DataFile` to store aligned corrected data.](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/804)
-- [[ePix100][CORRECT]Use `DataFile` to store aligned corrected data.](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/804)
+- [Gotthard2][CORRECT]CALCAT interface.
+- [ePix100][CORRECT]CALCAT interface.
+- [pnCCD][CORRECT]Use `DataFile` to store aligned corrected data.
+- [Gotthard2][CORRECT]Use `DataFile` to store aligned corrected data.
+- [ePix100][CORRECT]Use `DataFile` to store aligned corrected data.
 
 
 - [AGIPD][SlopesFF][CORRECT]Add the deviation for all possible memory cells and enable correction using
 these FF constants with more memory cells.
   - https://git.xfel.eu/calibration/pycalibration/-/merge_requests/806
   - https://git.xfel.eu/calibration/pycalibration/-/merge_requests/613
-- [[AGIPD][CORRECT]Fix checking ccv_variant condition for AGIPD.](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/803)
+- [AGIPD][CORRECT]Fix checking ccv_variant condition for AGIPD.
 
 
-- [[DSSC][Dark]Remove unused instrument parameter from DSSC dark notebook](
-  https://git.xfel.eu/calibration/pycalibration/-/merge_requests/808)
+- [DSSC][Dark]Remove unused instrument parameter from DSSC dark notebook
 
-- [Update `nbparameterise` to 0.6.](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/805)
-- [Update `EXtra-redu` to version 0.0.7](https://git.xfel.eu/calibration/pycalibration/-/merge_requests/802)
+- Update `nbparameterise` to 0.6.
+- Update `EXtra-redu` to version 0.0.7
 
 ## 3.8.1