| 06/10/26 | 16:49:27 | 6 Oct 2026 | | Director/PDMR Shareholding | RNS |
| 05/10/26 | 09:05:08 | 5 Oct 2026 | | Block Listings Six Monthly Return | RNS |
| 01/10/26 | 12:34:02 | 1 Oct 2026 | | Total Voting Rights | RNS |
| 24/09/26 | 17:01:52 | 24 Sept 2026 | | Result of AGM | RNS |
| 24/09/26 | 07:00:05 | 24 Sept 2026 | | AGM Statement | RNS |
| 17/09/26 | 16:14:59 | 17 Sept 2026 | | Grant of Share Options under the Sharesave Scheme | RNS |
| 15/09/26 | 18:25:06 | 15 Sept 2026 | | Director/PDMR Shareholding (Replacement) | RNS |
| 11/09/26 | 12:47:20 | 11 Sept 2026 | | Director/PDMR Shareholding | RNS |
| 01/09/26 | 07:00:10 | 1 Sept 2026 | | Total Voting Rights | RNS |
| 24/08/26 | 17:15:00 | 24 Aug 2026 | | Director/PDMR Shareholding | RNS |
| 24/08/26 | 17:01:36 | 24 Aug 2026 | | Block Listing Six Monthly Return | RNS |
| 20/08/26 | 16:46:26 | 20 Aug 2026 | | Director/PDMR Shareholdings | RNS |
| 19/08/26 | 07:00:04 | 19 Aug 2026 | | Annual Report & Notice of Annual General Meeting | RNS |
| 14/08/26 | 07:00:02 | 14 Aug 2026 | | Contract Win | RNS |
| 31/07/26 | 15:10:59 | 31 Jul 2026 | | Total Voting Rights | RNS |
| 29/07/26 | 15:08:08 | 29 Jul 2026 | | Director/PDMR Shareholding | RNS |
| 28/07/26 | 13:08:26 | 28 Jul 2026 | | Holding(s) in Company | RNS |
| 17/07/26 | 11:08:54 | 17 Jul 2026 | | Director/PDMR Shareholding | RNS |
| 15/07/26 | 10:28:39 | 15 Jul 2026 | | Dividend Timetable | RNS |
| 15/07/26 | 07:00:03 | 15 Jul 2026 | | Final Results | RNS |
| 13/07/26 | 10:00:00 | 13 Jul 2026 | | Investor Presentation via Engage Investor | RNS |
| 10/07/26 | 10:00:00 | 10 Jul 2026 | | Equity Development Webinar: Open to all investors | RNS |
| 09/07/26 | 07:00:04 | 9 Jul 2026 | | Notice of Results | RNS |
| 01/07/26 | 16:43:50 | 1 Jul 2026 | | Total Voting Rights | RNS |
| 01/06/26 | 11:41:04 | 1 Jun 2026 | | Total Voting Rights | RNS |
| 27/05/26 | 07:00:02 | 27 May 2026 | | Full Year Trading Update | RNS |
| 26/05/26 | 07:00:16 | 26 May 2026 | | Notice of Full Year Trading Update | RNS |
| 12/05/26 | 10:46:56 | 12 May 2026 | | Holding(s) in Company | RNS |
| 01/05/26 | 09:37:33 | 1 May 2026 | | Total Voting Rights | RNS |
| 10/04/26 | 15:58:50 | 10 Apr 2026 | | Director/PDMR Shareholding | RNS |
| 10/04/26 | 12:35:15 | 10 Apr 2026 | | Holding(s) in Company | RNS |
| 02/04/26 | 10:14:44 | 2 Apr 2026 | | Holding(s) in Company | RNS |
| 02/04/26 | 07:00:07 | 2 Apr 2026 | | Block Listing Six Monthly Return | RNS |
| 01/04/26 | 10:10:54 | 1 Apr 2026 | | Total Voting Rights | RNS |
| 26/03/26 | 07:00:02 | 26 Mar 2026 | | Contract Announcement | RNS |
| 23/03/26 | 07:00:07 | 23 Mar 2026 | | Contract Announcement | RNS |
| 02/03/26 | 11:57:50 | 2 Mar 2026 | | Total Voting Rights | RNS |
| 25/02/26 | 09:51:13 | 25 Feb 2026 | | Block Listing Six Monthly Return | RNS |
| 20/02/26 | 07:00:07 | 20 Feb 2026 | | Director/PDMR Shareholding | RNS |
| 17/02/26 | 15:41:40 | 17 Feb 2026 | | Holding(s) in Company | RNS |
| 16/02/26 | 07:00:06 | 16 Feb 2026 | | Director/PDMR Shareholding | RNS |
| 04/02/26 | 09:35:37 | 4 Feb 2026 | | Holding(s) in Company | RNS |
| 02/02/26 | 16:54:51 | 2 Feb 2026 | | Total Voting Rights | RNS |
| 30/01/26 | 07:00:05 | 30 Jan 2026 | | Contract Wins | RNS |
| 20/01/26 | 12:40:33 | 20 Jan 2026 | | Holding(s) in Company | RNS |
| 15/01/26 | 07:00:04 | 15 Jan 2026 | | Interim Report 2025 | RNS |
| 05/01/26 | 09:00:00 | 5 Jan 2026 | | Investor Presentation via Equity Development | RNS |
| 02/01/26 | 12:40:58 | 2 Jan 2026 | | Total Voting Rights | RNS |
| 22/12/25 | 09:00:00 | 22 Dec 2025 | | Investor Presentation via Engage Investor | RNS |
| 15/12/25 | 11:56:02 | 15 Dec 2025 | | Director/PDMR Shareholding | RNS |