Releases: RobDWaller/csp-generator
0.2 Release Candidate
This is the release candidate for what will hopefully become the first release of the CSP Generator tool. There are two significant changes made, comments have been added to the code, and the csp
module and sub-modules have been tidied up and restructured.
Additional Changes:
csp::direcitives
module is deleted and code moved intocsp
module.csp::domains
module created to find domains in JSON config.- README documentation updated so examples work.
ToDo:
- Further improvements to README documentation.
- Improve code comments.
- Improve test coverage.
0.2 Beta Release Three
This release tidies up the structure of the code and the core changes relate to the module names. The directives
module is renamed to csp
and the config
module is renamed to directives
. It is felt these changes make the domain clearer.
Additional Changes:
- The previous
directives::build
method is nowcsp::generate
. - Updated README so it provides more accurate setup and usage information.
- Some general code tidy up.
To Do:
- Further improvements to README documentation.
- Add code comments.
- Improve test coverage.
- Continue to improve code abstraction.
0.2 Beta Release Two
This release fixes a bug in the ToJson trait where it will return invalid JSON if the domains module Collection contains more than one item.
To Do:
- Update README documentation to reflect changes made to interfaces and domains module.
- Add code comments.
- Improve test coverage.
- Continue to improve code abstraction.
0.2 Beta Release One
More breaking changes for version 0.2.0. This release amends the Item struct in the domains module so the property directive becomes directives. This is seen as a more logical name as it represents a collection. This again changes the JSON which needs to be provided to the library.
Additional Changes:
- Added a ToJson trait to domains module, so Collection of Items can be parsed back into a JSON string.
- Made domains module public so dependent libraries can use it.
- GitHub Actions updated to use lint and analyse alias commands in Cargo config, improves CI consistency.
- Updated tests to match domains module changes.
To Do:
- Update README documentation to reflect changes made to interfaces and domains module.
- Add code comments.
- Improve test coverage.
- Continue to improve code abstraction.
0.2.0 Beta Release
This release simplifies the JSON config required to create the CSP output. Instead of providing an object containing a collection of domain items you now just provide a collection of domain items. This results in a change in the domains module from a collection struct to a collection type alias, which is much simpler.
This is a breaking change so it has been decided to skip the release of version 0.1.0 and instead move on to a 0.2.0 release path, which should be easier now.
Additional changes:
- Cargo config added so it is easier to run code lint and analysis.
- Tests updated to match changes made to domains module.
To Do:
- Update README documentation to reflect changes made to interfaces and domains module.
- Add code comments.
- Improve test coverage.
- Continue to improve code abstraction.
- Amend actions to use Cargo config lint and analysis commands.
0.1 Release Candidate One
Minor amendment to Release Candidate. Within the config module the report-uri
directive is now set to run last, this is so it appears as the final directive in the CSP output. This behaviour is more expected and therefore should be the default.
To Do:
- Attempt to get code coverage up to 100%.
- Continue to improve code abstraction.
- Finish off Readme documentation.
- Add code comments.
0.1 Release Candidate
This release candidate prepares the way for the release of version 0.1.0 of this library. The main changes since the last beta release include: The abstraction of the directives module from a single file to multiple files, so the code is more manageable; A first draft of the README documentation; And the addition of more unit tests for the individual modules.
To Do:
- Attempt to get code coverage up to 100%.
- Continue to improve code abstraction.
- Finish off Readme documentation.
- Add code comments.
0.1 Beta One Release
In this second beta release a fix is applied to the CD pipeline to auto-publish to Crates.io.
Also changes are made to the csp_generator module interfaces. The enforce()
and report_only()
methods now return a struct which separates the header string from the CSP string. A csp_only()
method has been added which just returns the CSP string. There are also some general improvements to simplify and abstract the csp_generator code.
To Do:
- Write more unit tests.
- Continue to improve code abstraction.
- Improve Readme documentation.
- Add code comments.
0.1 Beta Release
This beta release introduces a number of fixes and improvements to provide some stability to the library and a more usable experience.
Improvements include:
- Added GitHub Actions for CI / CD pipeline.
- Actions include Tarpaulin Code Cov checks and Codecov.io reports.
- Actions include Crates.io publishing functionality.
- Fixed broken CSP output format, and updated tests.
- Updated code to work with more CSP directives.
- Fixed code so it works with unused CSP directives.