| 18/07/25 | 07:00:02 | 18 Jul 2025 | | Transaction in Own Shares | RNS |
| 17/07/25 | 07:00:04 | 17 Jul 2025 | | Transaction in Own Shares | RNS |
| 16/07/25 | 14:11:35 | 16 Jul 2025 | | Holding(s) in Company | RNS |
| 16/07/25 | 07:00:02 | 16 Jul 2025 | | Transaction in Own Shares | RNS |
| 15/07/25 | 07:00:02 | 15 Jul 2025 | | Transaction in Own Shares | RNS |
| 14/07/25 | 07:00:03 | 14 Jul 2025 | | Transaction in Own Shares | RNS |
| 11/07/25 | 07:00:04 | 11 Jul 2025 | | Transaction in Own Shares | RNS |
| 10/07/25 | 07:01:01 | 10 Jul 2025 | | Transaction in Own Shares | RNS |
| 10/07/25 | 07:00:06 | 10 Jul 2025 | | Trading Update | RNS |
| 09/07/25 | 07:00:01 | 9 Jul 2025 | | Transaction in Own Shares | RNS |
| 08/07/25 | 07:00:02 | 8 Jul 2025 | | Transaction in Own Shares | RNS |
| 07/07/25 | 07:00:06 | 7 Jul 2025 | | Transaction in Own Shares | RNS |
| 04/07/25 | 07:00:01 | 4 Jul 2025 | | Transaction in Own Shares | RNS |
| 03/07/25 | 07:00:06 | 3 Jul 2025 | | Transaction in Own Shares | RNS |
| 02/07/25 | 07:00:02 | 2 Jul 2025 | | Transaction in Own Shares | RNS |
| 01/07/25 | 07:00:04 | 1 Jul 2025 | | Transaction in Own Shares | RNS |
| 30/06/25 | 07:00:03 | 30 Jun 2025 | | Transaction in Own Shares | RNS |
| 27/06/25 | 07:00:02 | 27 Jun 2025 | | Transaction in Own Shares | RNS |
| 26/06/25 | 07:00:02 | 26 Jun 2025 | | Transaction in Own Shares | RNS |
| 25/06/25 | 07:00:04 | 25 Jun 2025 | | Transaction in Own Shares | RNS |
| 24/06/25 | 07:00:02 | 24 Jun 2025 | | Transaction in Own Shares | RNS |
| 23/06/25 | 07:00:04 | 23 Jun 2025 | | Transaction in Own Shares | RNS |
| 20/06/25 | 07:00:04 | 20 Jun 2025 | | Transaction in Own Shares | RNS |
| 19/06/25 | 07:00:03 | 19 Jun 2025 | | Transaction in Own Shares | RNS |
| 18/06/25 | 07:00:04 | 18 Jun 2025 | | Transaction in Own Shares | RNS |
| 17/06/25 | 07:00:04 | 17 Jun 2025 | | Transaction in Own Shares | RNS |
| 16/06/25 | 07:00:05 | 16 Jun 2025 | | Transaction in Own Shares | RNS |
| 13/06/25 | 07:00:02 | 13 Jun 2025 | | Transaction in Own Shares | RNS |
| 12/06/25 | 07:00:02 | 12 Jun 2025 | | Transaction in Own Shares | RNS |
| 11/06/25 | 07:00:07 | 11 Jun 2025 | | Transaction in Own Shares | RNS |
| 10/06/25 | 07:00:03 | 10 Jun 2025 | | Transaction in Own Shares | RNS |
| 09/06/25 | 07:00:03 | 9 Jun 2025 | | Transaction in Own Shares | RNS |
| 06/06/25 | 07:00:02 | 6 Jun 2025 | | Transaction in Own Shares | RNS |
| 05/06/25 | 07:00:07 | 5 Jun 2025 | | Transaction in Own Shares | RNS |
| 04/06/25 | 07:00:06 | 4 Jun 2025 | | Transaction in Own Shares | RNS |
| 03/06/25 | 07:00:05 | 3 Jun 2025 | | Transaction in Own Shares | RNS |
| 15/05/25 | 07:00:02 | 15 May 2025 | | Launch of up to £4 million share buyback programme | RNS |
| 13/05/25 | 15:29:00 | 13 May 2025 | | Results of Annual General Meeting | RNS |
| 13/05/25 | 07:00:07 | 13 May 2025 | | AGM Trading Update | RNS |
| 17/04/25 | 14:27:05 | 17 Apr 2025 | | Notice of AGM | RNS |
| 28/03/25 | 09:29:47 | 28 Mar 2025 | | Director/PDMR Shareholding | RNS |
| 03/03/25 | 08:34:02 | 3 Mar 2025 | | Director/PDMR Shareholding | RNS |
| 27/02/25 | 07:00:10 | 27 Feb 2025 | | Annual Results 2024 | RNS |
| 12/02/25 | 07:00:06 | 12 Feb 2025 | | Notice of Results | RNS |
| 13/01/25 | 07:00:02 | 13 Jan 2025 | | Acquisition of The Pitreavie Group Limited | RNS |
| 28/11/24 | 07:00:03 | 28 Nov 2024 | | Trading Update | RNS |
| 06/09/24 | 11:58:02 | 6 Sept 2024 | | Holding(s) in Company | RNS |
| 22/08/24 | 07:00:04 | 22 Aug 2024 | | Half-year Report | RNS |
| 01/08/24 | 07:00:06 | 1 Aug 2024 | | Notice of Results & Investor Presentation | RNS |
| 16/07/24 | 07:00:07 | 16 Jul 2024 | | Appointment of Non-Executive Director | RNS |