| 07/09/21 | 07:00:03 | 7 Sept 2021 | | FULL YEAR RESULTS ANNOUNCEMENT | RNS |
| 19/08/21 | 11:56:59 | 19 Aug 2021 | | Notice of Results | RNS |
| 15/07/21 | 07:00:03 | 15 Jul 2021 | | Trading Update | RNS |
| 16/06/21 | 12:50:39 | 16 Jun 2021 | | Director/PDMR Shareholding | RNS |
| 13/05/21 | 07:00:05 | 13 May 2021 | | Trading Update | RNS |
| 13/04/21 | 14:13:43 | 13 Apr 2021 | | Director/PDMR Shareholding | RNS |
| 09/04/21 | 15:16:25 | 9 Apr 2021 | | Director/PDMR Shareholding | RNS |
| 19/02/21 | 13:30:00 | 19 Feb 2021 | | Director/PDMR Shareholding | RNS |
| 05/02/21 | 12:20:01 | 5 Feb 2021 | | Director/PDMR Shareholding | RNS |
| 04/02/21 | 07:01:02 | 4 Feb 2021 | | Appointment of Group Finance Director | RNS |
| 04/02/21 | 07:00:02 | 4 Feb 2021 | | Interim results | RNS |
| 19/01/21 | 09:05:31 | 19 Jan 2021 | | Second Price Monitoring Extn | RNS |
| 19/01/21 | 09:00:29 | 19 Jan 2021 | | Price Monitoring Extension | RNS |
| 19/01/21 | 07:00:04 | 19 Jan 2021 | | Trading Statement | RNS |
| 18/11/20 | 15:20:05 | 18 Nov 2020 | | Directorate Change | RNS |
| 23/10/20 | 16:35:38 | 23 Oct 2020 | | Price Monitoring Extension | RNS |
| 22/10/20 | 15:30:01 | 22 Oct 2020 | | Result of AGM | RNS |
| 22/10/20 | 07:00:04 | 22 Oct 2020 | | AGM Trading Update | RNS |
| 15/10/20 | 13:01:15 | 15 Oct 2020 | | Director/PDMR Shareholding | RNS |
| 21/09/20 | 13:30:08 | 21 Sept 2020 | | Notice of AGM | RNS |
| 08/09/20 | 07:00:07 | 8 Sept 2020 | | Full Year Results | RNS |
| 19/08/20 | 11:49:10 | 19 Aug 2020 | | Notice of Results | RNS |
| 07/08/20 | 14:30:01 | 7 Aug 2020 | | Director/PDMR Shareholding | RNS |
| 03/08/20 | 11:32:12 | 3 Aug 2020 | | Holding(s) in Company | RNS |
| 29/07/20 | 11:52:07 | 29 Jul 2020 | | Director/PDMR Shareholding | RNS |
| 27/07/20 | 14:51:43 | 27 Jul 2020 | | Director/PDMR Shareholding | RNS |
| 27/07/20 | 12:13:35 | 27 Jul 2020 | | Director/PDMR Shareholding | RNS |
| 27/07/20 | 08:51:46 | 27 Jul 2020 | | Director/PDMR Shareholding | RNS |
| 27/07/20 | 08:51:36 | 27 Jul 2020 | | Director/PDMR Shareholding | RNS |
| 23/07/20 | 07:00:06 | 23 Jul 2020 | | Trading Statement | RNS |
| 09/06/20 | 13:30:03 | 9 Jun 2020 | | Holding(s) in Company | RNS |
| 19/05/20 | 07:00:04 | 19 May 2020 | | Contract wins | RNS |
| 11/05/20 | 14:30:01 | 11 May 2020 | | Director/PDMR Shareholding | RNS |
| 29/04/20 | 14:14:16 | 29 Apr 2020 | | Holding(s) in Company | RNS |
| 27/04/20 | 07:00:05 | 27 Apr 2020 | | COVID-19 Further Update | RNS |
| 23/04/20 | 11:48:13 | 23 Apr 2020 | | Results of General Meeting | RNS |
| 16/04/20 | 15:27:39 | 16 Apr 2020 | | Director/PDMR Shareholding | RNS |
| 07/04/20 | 14:31:19 | 7 Apr 2020 | | Director/PDMR Shareholding | RNS |
| 01/04/20 | 16:48:28 | 1 Apr 2020 | | COVID-19 Update | RNS |
| 31/03/20 | 12:00:04 | 31 Mar 2020 | | Notice of GM | RNS |
| 27/03/20 | 07:00:06 | 27 Mar 2020 | | COVID-19 Update | RNS |
| 20/03/20 | 14:39:08 | 20 Mar 2020 | | Director/PDMR Shareholding | RNS |
| 19/03/20 | 15:00:05 | 19 Mar 2020 | | Director/PDMR Shareholding | RNS |
| 12/03/20 | 14:30:29 | 12 Mar 2020 | | Holding(s) in Company | RNS |
| 02/03/20 | 10:24:19 | 2 Mar 2020 | | Holding(s) in Company | RNS |
| 26/02/20 | 12:38:13 | 26 Feb 2020 | | Holding(s) in Company | RNS |
| 04/02/20 | 07:00:04 | 4 Feb 2020 | | Interim Results | RNS |
| 08/01/20 | 11:20:49 | 8 Jan 2020 | | Notice of Results | RNS |
| 01/11/19 | 14:26:41 | 1 Nov 2019 | | Holding(s) in Company | RNS |
| 01/11/19 | 14:22:22 | 1 Nov 2019 | | Holding(s) in Company | RNS |