| 24/06/21 | 16:43:00 | 24 Jun 2021 | | Exercise of Share Options & Director Shareholding | RNS |
| 22/06/21 | 07:00:03 | 22 Jun 2021 | | Contract Award | RNS |
| 17/06/21 | 07:01:08 | 17 Jun 2021 | | Half-year Report | RNS |
| 17/06/21 | 07:00:10 | 17 Jun 2021 | | Appointment of Non-Executive Director | RNS |
| 13/05/21 | 17:11:36 | 13 May 2021 | | Director/PDMR Shareholding | RNS |
| 11/05/21 | 07:00:04 | 11 May 2021 | | Holding(s) in Company | RNS |
| 17/03/21 | 12:32:29 | 17 Mar 2021 | | Result of AGM | RNS |
| 17/03/21 | 07:00:07 | 17 Mar 2021 | | AGM Trading Update | RNS |
| 02/03/21 | 07:00:04 | 2 Mar 2021 | | Grant of Share Options | RNS |
| 22/02/21 | 12:37:10 | 22 Feb 2021 | | Director/PDMR Shareholding | RNS |
| 18/02/21 | 07:00:06 | 18 Feb 2021 | | Exercise of Options and Director Shareholding | RNS |
| 26/01/21 | 07:00:04 | 26 Jan 2021 | | Appointment of Non-Executive Director | RNS |
| 26/01/21 | 07:00:03 | 26 Jan 2021 | | Final Results | RNS |
| 14/01/21 | 07:00:06 | 14 Jan 2021 | | Project Awards | RNS |
| 12/11/20 | 07:00:04 | 12 Nov 2020 | | Trading Update | RNS |
| 19/10/20 | 11:14:18 | 19 Oct 2020 | | Project Award - subject to contract | RNS |
| 15/10/20 | 07:00:02 | 15 Oct 2020 | | Project Award - subject to contract | RNS |
| 06/08/20 | 12:03:29 | 6 Aug 2020 | | Holding(s) in Company | RNS |
| 06/08/20 | 12:03:08 | 6 Aug 2020 | | Holding(s) in Company | RNS |
| 06/08/20 | 12:02:39 | 6 Aug 2020 | | Holding(s) in Company | RNS |
| 03/08/20 | 10:17:44 | 3 Aug 2020 | | New contract awards | RNS |
| 23/07/20 | 16:31:01 | 23 Jul 2020 | | Grant of Share Options | RNS |
| 07/07/20 | 07:00:05 | 7 Jul 2020 | | New contract awards | RNS |
| 24/06/20 | 15:33:02 | 24 Jun 2020 | | Director/PDMR Shareholding | RNS |
| 23/06/20 | 12:48:56 | 23 Jun 2020 | | Director/PDMR Shareholding | RNS |
| 22/06/20 | 16:29:01 | 22 Jun 2020 | | Director/PDMR Shareholding | RNS |
| 19/06/20 | 07:00:04 | 19 Jun 2020 | | Half-year Report | RNS |
| 27/05/20 | 07:00:07 | 27 May 2020 | | Change of Auditor | RNS |
| 01/04/20 | 08:00:06 | 1 Apr 2020 | | Covid-19 Trading Update | RNS |
| 25/03/20 | 07:00:05 | 25 Mar 2020 | | Share Purchase by Proposed Director | RNS |
| 20/03/20 | 10:42:56 | 20 Mar 2020 | | Director/PDMR Shareholding | RNS |
| 18/03/20 | 13:25:57 | 18 Mar 2020 | | Result of AGM | RNS |
| 18/03/20 | 07:00:04 | 18 Mar 2020 | | AGM Trading Update | RNS |
| 19/02/20 | 13:00:05 | 19 Feb 2020 | | Grant of Share Options | RNS |
| 06/02/20 | 10:59:01 | 6 Feb 2020 | | Holding(s) in Company | RNS |
| 31/01/20 | 13:41:51 | 31 Jan 2020 | | Director/PDMR Shareholding | RNS |
| 28/01/20 | 07:00:10 | 28 Jan 2020 | | Final Results | RNS |
| 21/01/20 | 07:00:06 | 21 Jan 2020 | | Contract Win, Record Order Entry & Trading Update | RNS |
| 04/09/19 | 10:50:07 | 4 Sept 2019 | | Contract Wins and Trading Update | RNS |
| 24/06/19 | 17:36:47 | 24 Jun 2019 | | Exercise of Options | RNS |
| 20/06/19 | 08:00:04 | 20 Jun 2019 | | Half-year Report | RNS |
| 03/06/19 | 08:00:10 | 3 Jun 2019 | | Appointment of Broker | RNS |
| 23/05/19 | 16:43:59 | 23 May 2019 | | Trading Update & Contract Wins | RNS |
| 21/03/19 | 12:27:37 | 21 Mar 2019 | | Result of AGM | RNS |
| 21/03/19 | 07:00:05 | 21 Mar 2019 | | AGM Trading Update | RNS |
| 08/02/19 | 13:37:40 | 8 Feb 2019 | | Exercise of Options | RNS |
| 24/01/19 | 07:00:04 | 24 Jan 2019 | | Final Results | RNS |
| 05/11/18 | 07:00:05 | 5 Nov 2018 | | End of Year Trading Update | RNS |
| 01/10/18 | 08:00:06 | 1 Oct 2018 | | Board Reorganisation | RNS |
| 04/09/18 | 11:03:19 | 4 Sept 2018 | | EBT Share Purchase | RNS |