The major enhancement for CIF 1.2 is that the main CIF source file was rewritten in C++. The new version is more abstract and it is easier to maintain and develop it further. Using C++ allows to avoid a lot of potential memory errors that we encountered and fixed earlier. Besides, the execution time was reduced by using another way of launching subprocesses. The latter made redundant escaping double quotes in command-line options passed to CIF.
We would like to thank Ilya Shchepetkov for this awesome job!
CIF 1.1 was released!
There are following important changes and fixes:
- Supporting additional special directive for source code queries:
- $storage_class that allows to get storage classes for functions and variables.
- $var_init_list_json that allows to print global variable initializers in JSON.
- Fixing Aspectator to keep storage classes for variables.
- Improving and fixing Aspectator’s C back-end:
- Fixing initialization of anonymous unions.
- Fixing conversion for strings containing hexadecimal escape sequences.
- Increasing recursion limit from 10 to 100 to handle deeply nested expressions.
- Simplifying the main CIF source file and avoiding errors of its compilation with GCC 12.
- Adding new test cases and making the test framework more robust.
This release was done at the beginning of June.
We are glad to announce the release of CIF 1.0!
You can download binaries suitable for your architecture from the Files section.
The user documentation is available at https://cif.readthedocs.io.
Many thanks to everybody, who developed CIF, tested it and reported various issues.