Releases

Throughout the year, CDeX issued a total of 34 software versions. These versions contain a broad range of updates and new features aimed at enhancing both functionality and performance. Key technical changes included the adoption of PHP 8.1, CakePHP 4.4, and Doctrine DBAL 3.5. 

Key Technical Changes 

Action and Training System Improvements:

  • Features like "Dismiss All Actions" and manual action initiation.
  • Enhanced action lists and messages, action dependencies, and MITRE-ID integration.
  • Improved action request handling and simplified communication protocols.
  • Increased tolerance for overloads and connection issues.
  • Stabilized removal processes and simplified scoring.

Control Machines:

  • Introduction of a new OS with fewer resources and faster boot times.
  • Comprehensive clean-up of legacy code and simplification of terms and conditions.
  • Introduction of a new operating system for control machines, leading to faster startups.

Optimization and Stabilization:

  • Worker processes now update machine statuses and IP addresses.
  • Implementation of process monitoring to ensure stability.

Other Enhancements:

  • Expansion of the API to support the new front-end.
  • Clean-up of the functions in user interface that are not frequently used. 
  • Addition of new XSS security measures.
  • A GUI refresh.

The development team has also placed a significant emphasis on enhancing the user experience. User interface improvements and simplification of terms and conditions have made the platform more accessible and user-friendly. Additionally, the new API expansion lays the groundwork for more versatile and responsive front-end applications, catering to the evolving needs of the users.

Fixes and Tasks

The team addressed 172 tasks and 43 bugs across the various releases, ensuring the continuous improvement of software quality and user experience. Starting from version 5.7.0, we fortified our release cycle by including release candidates (RC) to ensure better division between versions to be tested before full deployment.

Quality Monitoring and Statistics

Quality assurance remained a top priority, with significant efforts directed towards maintaining and improving code quality. Key metrics included:

  • Lines of Code: Both added and removed lines of code were tracked, showing substantial codebase modifications. For instance, from 2020 to the present, the codebase saw a significant increase in tested code lines, reflecting the team's commitment to maintainability and reliability.
  • Testing Coverage: Unit testing coverage for the backend consistently improved, reaching 100% of unit-testable code by the end of the year. The number of tests also grew, from 1,299 in 2020 to 3,883 currently, demonstrating a strong focus on comprehensive testing.
  • Complexity and Warnings: Efforts to manage code cyclomatic complexity and minimize IDE-based code inspections were evident, contributing to a cleaner, more efficient codebase.

Beyond the statistics, the team’s approach to handling technical debt has been noteworthy. By removing legacy classes and rewriting outdated sections of the code, they have not only improved performance but also laid the groundwork for future scalability and easier maintenance. This proactive stance on technical debt ensures that CDeX remains agile and responsive to future challenges and opportunities.

Final Thoughts

This past year of CDeX's development journey was marked by substantial advancements and a commitment to quality. Through numerous releases, technical innovations, and rigorous quality monitoring, the CDeX dev team has set a high standard for software development for the future. 

Table of contents