You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cipher-analytical-machine/CHANGELOG.md

340 lines
12 KiB

# Change Log
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.9.12] - 2023-11-20
- Update the CHANGELOG.
- Update the version.
- Update the README.
## [0.9.11] - 2023-11-14
### Added
- Add the function that return all key combinations for a possible key vector.
### Changed
- Rename the function from get-possible-keys to get-all-combinations-for-blocks.
## [0.9.10] - 2023-11-13
### Added
- Add a function to get all permutations for a block.
## [0.9.9] - 2023-11-12
### Added
- Add a function to convert a count map to a reversed map.
- Add a function to get the ordered sequence that can form a key.
## [0.9.8] - 2023-11-11
### Added
- Add functions to get possible keys.
## [0.9.7] - 2023-11-03
### Added
- Add the default frequency factory.
## [0.9.6] - 2023-11-01
### Added
- Add int-string? to check if a string is a number.
- Add key? to check if a string is a gamma key.
- Add key validation for Caesar and Gamma ciphers.
### Changed
- Rename unsigned-int? to unsigned-int-string?
## [0.9.5] - 2023-10-31
## [0.9.5] - 2023-10-31
### Added
- Add the option for the gamma cipher.
## [0.9.4] - 2023-10-31
### Fixed
- Fix the key parsing in the gamma actions.
## [0.9.3] - 2023-10-31
### Added
- Add the action of encryption for the gamma cipher.
- Add the action of decryption for the gamma cipher.
## [0.9.2] - 2023-10-29
### Added
- Add a function to encrypt a message with the gamma cipher.
- Add a function to decrypt a message with the gamma cipher.
## [0.9.1] - 2023-10-28
### Changed
- Refactor the simple substitute to use the decrypt-by-table function.
## [0.9.0] - 2023-10-27
### Added
- Add the gamma generator.
- Add the functions to encrypt and decrypt with the gamma cipher.
## [0.8.5] - 2023-10-25
### Added
- Add the main for the cli module.
## [0.8.4] - 2023-10-24
### Changed
- Update the simple substitution cipher to split the decrypt-message.
## [0.8.3] - 2023-10-24
### Added
- Add functions to make a frequency map.
## [0.8.2] - 2023-10-23
### Added
- Add a function to invert the table in a decoded json.
- Add the parser to parse the string as an integer if it's needed.
- Add the simple substitution cipher.
## [0.8.1] - 2023-10-22
### Added
- Add a generator for the sorted substitution table.
- Add the parsers to parse keys.
### Changed
- Update the simple substitution cipher to split the functions.
## [0.8.0] - 2023-10-21
### Added
- Add the simple substitution cipher.
## [0.7.2] - 2023-10-21
### Changed
- Update the CHANGELOG.
- Update the version.
- Update the README.
- Update the CI/CD configuration to publish the artifacts to the release.
- Update the diffs in the CHANGELOG.
## [0.7.1] - 2023-10-20
### Removed
- Remove the test for FrequencyAnalyzer.
- Remove the option for FrequencyAnalyzer.
## [0.7.0] - 2023-10-20
### Changed
- Refactor to move actions to separated files.
## [0.6.3] - 2023-10-14
### Added
- Add the IsNonsense interface for FrequencyAnalyzer.
### Changed
- Update the frequency analyzer.
## [0.6.2] - 2023-10-14
### Added
- Add the analyzer options and their actions.
- Add the available ciphers and analyzer for the help.
- Add validations to check if a cipher or an analyzer is available.
### Changed
- Refactor to move options to a separated file.
## [0.6.1] - 2023-10-13
### Added
- Add the function to make a frequency string from a map.
### Fixed
- Fix the bug that the default language symbols override the symbols.
### Changed
- Update the FrequencyAnalyzer to use the frequency string instead.
## [0.6.0] - 2023-10-12
### Fixed
- Fix the typo "frequences" to frequencies.
### Changed
- Refactor the project structure.
## [0.5.5] - 2023-10-09
### Added
- Add the Gitlab CI/CD configuration.
## [0.5.4] - 2023-10-05
### Added
- Add the java source path.
- Add the Caesar decrypted interface for Java.
- Add a frequency analyzer as a stub.
- Add the clojure wrapper for the frequency analizer and its test.
## [0.5.3] - 2023-10-05
### Added
- Add the CHANGELOG.
## [0.5.2] - 2023-10-02
### Fixed
- Fix checking for file existence only when the options are set.
- Fix writing to a file only when the option is set.
## [0.5.1] - 2023-09-28
### Added
- Add the output option to save into a file.
- Add the file errors to prevent using an invalid file path.
## [0.5.0] - 2023-09-22
### Changed
- Update symbol defaults, factories to have only lower alphabets.
- Update the Caesar to be case-insensitive and skip unknown symbols.
- Update Caesar Analyzers to be case-insensitive and testable.
## [0.4.3] - 2023-09-21
### Added
- Add the language option for symbols.
### Changed
- Update the CLI to have separated actions and an option initializer.
## [0.4.2] - 2023-09-18
### Added
- Add tests for the cipher-analyzers module.
### Changed
- Rename the cipher_analyzer module to cipher-analyzers.
## [0.4.1] - 2023-09-17
### Added
- Add symbol factories for punctuation, space, defaults symbols.
- Add the action-type to distinguish the actions.
- Add the symbol option and its default.
- Add the cracking option.
### Changed
- Rename the language_analyzer module to language-analyzer.
- Update the nonsense for the is-nonsense? test.
- Rename the symbol_frequences module to symbol-frequences.
## [0.4.0] - 2023-09-15
### Added
- Add Chi-squared Statistic function to analyze texts.
- Add the caesar-analyzers to get the plaintext from a ciphertext.
## [0.3.5] - 2023-09-14
### Added
- Add the frequences of symbols as defaults.
## [0.3.4] - 2023-09-13
### Added
- Add a simple language analyzers.
## [0.3.3] - 2023-09-12
### Added
- Add an option to read a message from a file.
## [0.3.2] - 2023-09-11
### Added
- Add the CI/CD configuration.
## [0.3.1] - 2023-09-11
### Added
- Add factories for symbols.
- Add tests for factories.
## [0.3.0] - 2023-09-10
### Added
- Add a simple cli interface.
## [0.2.0] - 2023-09-09
### Added
- Add a implementation of Caesar cipher.
## [0.1.0] - 2023-09-09
### Added
- Project initialization.
[Unreleased]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.12...main?from_project_id=50218541&straight=false
[0.9.12]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.11...0.0.9.12?from_project_id=50218541&straight=false
[0.9.11]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.10...0.0.9.11?from_project_id=50218541&straight=false
[0.9.10]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.9...0.9.10?from_project_id=50218541&straight=false
[0.9.9]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.8...0.9.9?from_project_id=50218541&straight=false
[0.9.8]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.7...0.9.8?from_project_id=50218541&straight=false
[0.9.7]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.6...0.9.7?from_project_id=50218541&straight=false
[0.9.6]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.5...0.9.6?from_project_id=50218541&straight=false
[0.9.5]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.4...0.9.5?from_project_id=50218541&straight=false
[0.9.4]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.3...0.9.4?from_project_id=50218541&straight=false
[0.9.3]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.2...0.9.3?from_project_id=50218541&straight=false
[0.9.2]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.1...0.9.2?from_project_id=50218541&straight=false
[0.9.1]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.9.0...0.9.1?from_project_id=50218541&straight=false
[0.9.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.8.5...0.9.0?from_project_id=50218541&straight=false
[0.8.5]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.8.4...0.8.5?from_project_id=50218541&straight=false
[0.8.4]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.8.3...0.8.4?from_project_id=50218541&straight=false
[0.8.3]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.8.2...0.8.3?from_project_id=50218541&straight=false
[0.8.2]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.8.1...0.8.2?from_project_id=50218541&straight=false
[0.8.1]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.8.0...0.8.1?from_project_id=50218541&straight=false
[0.8.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.7.2...0.8.0?from_project_id=50218541&straight=false
[0.7.2]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.7.1...0.7.2?from_project_id=50218541&straight=false
[0.7.1]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.7.0...0.7.1?from_project_id=50218541&straight=false
[0.7.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.6.3...0.7.0?from_project_id=50218541&straight=false
[0.6.3]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.6.2...0.6.3?from_project_id=50218541&straight=false
[0.6.2]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.6.1...0.6.2?from_project_id=50218541&straight=false
[0.6.1]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.6.0...0.6.1?from_project_id=50218541&straight=false
[0.6.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.5.5...0.6.0?from_project_id=50218541&straight=false
[0.5.5]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.5.4...0.5.5?from_project_id=50218541&straight=false
[0.5.4]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.5.3...0.5.4?from_project_id=50218541&straight=false
[0.5.3]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.5.2...0.5.3?from_project_id=50218541&straight=false
[0.5.2]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.5.1...0.5.2?from_project_id=50218541&straight=false
[0.5.1]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.5.0...0.5.1?from_project_id=50218541&straight=false
[0.5.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.4.3...0.5.0?from_project_id=50218541&straight=false
[0.4.3]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.4.2...0.4.3?from_project_id=50218541&straight=false
[0.4.2]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.4.1...0.4.2?from_project_id=50218541&straight=false
[0.4.1]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.4.0...0.4.1?from_project_id=50218541&straight=false
[0.4.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.3.5...0.4.0?from_project_id=50218541&straight=false
[0.3.5]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.3.4...0.3.5?from_project_id=50218541&straight=false
[0.3.4]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.3.3...0.3.4?from_project_id=50218541&straight=false
[0.3.3]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.3.2...0.3.3?from_project_id=50218541&straight=false
[0.3.2]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.3.1...0.3.2?from_project_id=50218541&straight=false
[0.3.1]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.3.0...0.3.1?from_project_id=50218541&straight=false
[0.3.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.2.0...0.3.0?from_project_id=50218541&straight=false
[0.2.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/compare/0.1.0...0.2.0?from_project_id=50218541&straight=false
[0.1.0]: https://gitlab.com/KKlochko/cipher-analytical-machine/-/commit/a7a715b94276fc8f46fb6a44139636d27b551599