On this page
Version 2025.4.3, released on 2025-12-03
codee format:
Improved EndStatementFormat style option to also fix name mismatches
Improved PWR008 AutoFix support when the variable declarations to adjust are in the same line
Improved analysis support for some unstructured Fortran loops
Renamed omp-taskwait AutoFix variant to omp-tasking
Minor cosmetic changes
Version 2025.4.2, released on 2025-11-19
Fixed a bug where Codee would never finish while computing PWR081 in some scenarios
Updated PWR079 and PWR080 to highlight where the uninitialized variable is declared
Updated --db to automatically remove the database upon errors to prevent potential inconsistencies
Version 2025.4.1, released on 2025-11-18
codee format
Fixed a bug where codee format reported false syntax errors in fixed-form files
Fixed a bug where codee format silently modified end of line markers in fixed-form files
Fixed a bug where codee format incorrectly marked some valid fixed-form files as unsupported, mistakenly reporting unterminated multiline string literals
Fixed a bug where codee format misaligned the error range marker in syntax error messages
Added a new recommendation PWR081: Avoid undefined behavior due to uninitialized output argument
Updated PWR001 to no longer trigger on host-associated symbols
Fixed a bug where PWR080 did not report the relevant conditions in its
suggestion
Version 2025.4.0, released on 2025-11-12
codee format
Updated --verbose output to show whether each diagnostic was fixed or not
Fixed a bug where codee format incorrectly modified whitespace inside Hollerith constants
Fixed a bug where codee format sometimes left stray continuation ampersands
Added a new recommendation PWR080: Conditionally initialized variables can lead to undefined behavior
Added a new AutoFix variant for recommendation PWR072:
The already existing "split initialization from declaration" modification is available under --variant split
The new "add an explicit save" modification is available under --variant explicit-save
Changed recommendation PWR072 to be reported once per affected variable
Updated --show-progress=all messages to clarify the initial stages of the execution
Updated codee checks suggestions for clearer guidance
Renamed "RANKING OF QUALITY CHECKERS" to "RANKING OF SECURITY CHECKERS" in codee screening --sast output
Fixed a bug that prevented the PWR008 AutoFix from being shown for variables with kind attribute
Fixed a bug that would unnecessarily block some checks due to unsupported features of the source code
Fixed a bug where codee would signal the use of some symbols as unused when investigating PWR069
Version 2025.3.9, released on 2025-10-28
codee format
Added a one-time EULA acceptance step on first execution
Added a final summary line (on --verbose mode)
Fixed a bug where string literals with kind prefixes were not correctly split
Updated configuration warnings so they are only emitted once
Restricted the fixed-form Fortran beta to users holding a valid codee license
Updated EULA
Fixed a bug that caused codee to incorrectly recognize as parallelized some Fortran loops following other parallel loops
Fixed a bug that prevented codee from recognizing Fortran directives with upper-case characters
Fixed a bug where codee failed to display dependency progress messages until the dependency analysis was complete
Fixed some PWR079 false positives related for IO functions in Fortran
Fixed some PWR079 false positives when short-circuiting conditional operations were involved
Version 2025.3.8, released on 2025-10-14
codee format
Updated --verbose output to show syntax errors details that block safe formatting for a file
Added codee checks --sast and codee screening --sast options to show security checker details
Added a new --stop-on-error flag to stop after the first compilation error is found
Fixed a bug where codee would sometimes run into an infinite loop when processing code with recursive struct types
Fixed a bug where codee checks would suggest an autofix command with badly quoted and escaped characters
Updated PWR079 to reduce false positives when uninitialized variables may be written indirectly through pointers
Updated the screening report suggestions
Updated the --show-progress output to better highlight each step of the analysis process
Improved the crash message to suggest the exclusion of the potentially problematic file
Replaced the examples/ directory in favor of online guides and examples
Deprecated --security filter option in favor of --sast=
Version 2025.3.7, released on 2025-09-30
codee format
Updated the --on-error documentation to stress the correctness guarantees of the resulting code
Added support for detecting write-only and unused arguments in PWR008
Optimized the dependency generation algorithm for better performance, with significant performance gains when filtering by input file
Version 2025.3.6, released on 2025-09-17
codee format
Changed the default of IndentExceptions.Comments to IndentIfAlreadyIndented for fixed-form Fortran
Added support for Intel icc, icx, ifort and ifx -O4 and -O5 flags
Fixed a PWR003 regression for functions that used float to integer conversions
Upgraded core technology to leverage Flang HLFIR
Version 2025.3.5, released on 2025-08-26
codee format
Promoted support for fixed-form Fortran to beta
Removed insertion of free-form-compatible ampersands after the column limit of fixed-form files
Added support for Intel preprocessor symbols when analyzing with Intel compilers
Version 2025.3.4, released on 2025-08-12
Upgraded LLVM toolchain to version 21 (21.1.0-rc1)
Removed --out-dir deprecated command line option
Version 2025.3.3, released on 2025-08-05
Fixed a bug in the licensing system
Version 2025.3.2, released on 2025-07-30
codee format
Added a restriction to reduce formatting errors when code is found after the default initialized ColumnLimit
Removed support for --on-error safe, leaving only skip (the new default) and force as valid options
Added a new rewrite --all option to apply an AutoFix across an entire file (only available on Team license)
Updated PWR007 to avoid reporting it for a procedure if its module already contains implicit none
Version 2025.3.1, released on 2025-07-15
codee format
Added a new FirstOccurrence casing option, which allows to standardize identifier casing based on their first occurrence in the file
Added support for specifying a custom configuration for fixed-form format (see documentation)
Updated default ColumnLimit style option for fixed-form Fortran to 72
Added support for fixed-form debug lines (lines that start with a 'D' or 'X' label)
Fixed a bug where codes with multiline strings in fixed-form were formatted incorrectly
Improved parsing to support more Fortran codes
Fixed a bug where codee rewrite would insert implicit none (type, external) in scenarios where code base was not using the required standard
Fixed an issue where codee incorrectly parallelized a variable assigned conditionally within a loop
Version 2025.3.0, released on 2025-07-02
codee format
Added experimental support to format fixed-form Fortran files
Added a new MacroIdentifiers style option, which allows to define macro identifiers that shouldn't be affected by re-casing and to improve parsing in some circumstances
Added a new --free-form flag to codee format to format files with default fixed-form extensions
Improved parsing to support more Fortran codes
Added a new --no-ellipsis flag to disable shortening of long names with an ellipsis
Fixed a bug where codee would sometimes run into an infinite loop when processing code with recursive struct types
Added SEI CERT-C and ISO/IEC 24772-8 security information to checks in --list-available-checkers
Version 2025.2.5, released on 2025-06-18
Added alignment of use, only items to codee format under the AlignUseItems style option
Added alignment of continuation ampersands under the AlignAmpersandToColumnLimit style option
Added alignment of operators within assignments to codee format under the AlignAssignmentOperators style option
Added alignment of operators in multiple lines with the BreakBeforeBinaryOperators style option
Added a new --security flag to enable codee checks relevant to security catalogs (CWE for now)
Fixed a bug where codee format would hang under certain scenarios
Fixed a bug where codee format would incorrectly indent continuation lines
Fixed a bug where codee format would incorrectly indent end statements preceded by labels
Fixed a bug where codee format would incorrectly indent broken lines when IndentSize option Preserve
Fixed a bug where --analyze-included-files would filter included files
Fixed a bug where codee would signal the use of some symbols as unused when investigating PWR069
Improved codee format's ColumnLimit algorithm
Improved codee format's performance
Improved Fortran support by analyzing functions containing I/O calls like print or write
Improved Fortran support by analyzing functions containing calls to functions with assumed-shape array arguments
Improved codee format return code to signal if all the formatted files failed
Removed FixedIndentSize style option that was present only for testing purposes and will now be automatically selected when fixed-form is supported
Version 2025.2.4, released on 2025-06-03
Fixed a bug where codee format would hang under certain scenarios
Fixed a bug where codee format would not indent multi-line strings
Version 2025.2.3, released on 2025-05-21
Added the list of Checks to the HTML report
Fixed a bug in understanding and rewriting Intel and GNU Fortran compiler directives
Fixed a bug where EndStatementFormat insertions exceeded ColumnLimit
Fixed a bug that prevented several gfortran options from being recognized
Fixed a bug where other compilation languages were treated like errors
Updated the screening report to show the number of files written in languages other than C, C++, or Fortran
Updated PWR075 to flag Fortran extensions from different compilers
Updated the --html flag to now require a folder as an argument to write the HTML report
The --out-dir flag was deprecated accordingly
Improved codee format's ColumnLimit algorithm
Version 2025.2.2, released on 2025-05-07
Added --html option to codee screening as an alias to codee report
Added DoubleIndentSize to ContinuationIndentSize in codee format configuration
Fixed screening so that some checks show up in the correct table according to their category
Fixed a bug in codee format that prevented file formatting on Windows systems
Fixed a bug that prevented codee from applying AutoFix for the PWR069 checker
Fixed a bug in PWR069 where codee incorrectly suggested removing declarations that were actually in use
Fixed a bug where EndStatementFormat insertions with ColumnLimit resulted in non compilable code
Updated PWR079 to reduce false positives caused by conditional initialization
Updated PWR072's title for more clarity
Updated EndStatementFormat to insert following EndStatementSeparation: Separated when it is Preserve
Updated Open Catalog links to the new website for better visualization
The source for the Open Catalog remains on GitHub
Improved support for line breaking in codee format with FixedIndentSize: 6
Improved Fortran support by handling additional source constructs
Version 2025.2.1, released on 2025-04-22
Added support in codee format for fixed form statement labels and a new style option to align them
Added --no-check-id option to codee, allowing to disable specific checks
Added support to recognize AMD Optimizing C/C++ and Fortran Compilers, and their flags
Improved support for analyzing Fortran codes dependant on Intel Fortran extensions
Improved the indentation support in codee format to keep continuation symbol '&' at column 6 when FixedIndentSize: 6
Fixed .codee-format configuration being read from the current working directory instead of the input file's
Fixed a bug that would recommend an invalid vectorization AutoFix in Fortran using clang directives
Updated the vectorization rewrite options from gcc, icc, clang, to gnu, intel, llvm respectively
Updated bundled Bear to avoid errors due to network proxy settings
Version 2025.2.0, released on 2025-04-08
Added --show-progress=all to enable all options at the same time
Improved codee format command:
Added support for breaking and removing semicolons in the code
Added support for .codee-format-ignore, similarly to clang-format
Added end of line normalization
Improved the column limit algorithm to break by tokens instead of by characters
Improved whitespace handling, including adjusting the number of empty lines between procedures
Improved indentation support, including adjusting the continuation indent size
Updated parsing to support more Fortran codes
Improved PWR007 to support module declarations
Improved support for analyzing Fortran codes dependant on Intel Fortran extensions
Updated bundled Bear with support for LLVM Flang compiler
Updated PWR007 to be reported even if a parent scope (e.g. a module) has implicit none
Updated some checker titles, descriptions and severities
Version 2025.1.3, released on 2025-03-13
Improved support for analyzing Fortran codes dependant on Intel Fortran extensions
Fixed a crash with some Fortran codes that use Cray pointers
Fixed a bug when parsing Intel ifort and ifx compiler flag -extend-source without an argument
Fixed another bug with some Fortran projects that use modules and have repeated invocations in their compile_commands.json
Updated technical-debt to only report code quality checkers (those belonging to correctness, modernization, portability or security)
Updated PWR079's remediation cost from high to low
Removed confusing filtering options from technical-debt report
Version 2025.1.2, released on 2025-02-28
Added support for -x f77[-cpp-input] and -x f95[-cpp-input] gfortran input language options
Added support for codee format style configuration inheritance
Added a new portability checker category
Added an analysis coverage table to the HTML report
Added --show-progress=module-parsing: display files parsed to build the Fortran module dependency graph
Updated checker categories; now checkers may belong to several categories
Updated bundled Bear with experimental support for the HPE Cray Compiling Environment (CCE)
Removed deprecated option --only-modern: use --only-quality instead
Removed deprecated option --multi omp-for: use instead --check-id pwr050 --variant omp-for
Removed deprecated option --vector omp: use instead --check-id pwr053 --variant omp
Removed deprecated option --offload omp: use instead --check-id pwr055 --variant omp
Removed deprecated option --memory loop-interchange: use instead --check-id pwr039
Removed deprecated option --modernization uses: use instead --check-id pwr069
Fixed a bug in PWR008 AutoFix due to a miscalculated position in some Fortran codes
Fixed a bug in codee format while formating legacy Hollerith Constants
Fixed a crash when compiler flags have an unexpected number of arguments
Fixed a bug with some Fortran projects that use modules and have repeated invocations in their compile_commands.json
Version 2025.1.1, released on 2025-02-17
Added a new security checker category
Added a codee report command that presents results in HTML
Added --offset, --length and --lines options to limit regions modified by codee format, as well as support for codee format off and codee format on comments:
Indentation and column limit support is in preview, they are disabled when the above flags or comments are used
Updated AutoFix invocation with a new format, codee rewrite --check-id <id>; for example:
--check-id pwr050 instead of --multi
--check-id pwr053 instead of --vector
--check-id pwr055 instead of --offload
--check-id pwr039 instead of --memory
Updated technical-debt --verbose table order to descending technical debt score
Fixed a bug preventing --{c|cxx|fortran}-flags from working in Codee
Improved support for analyzing codes using the Cray Programming Environment and Cray Compiler Environment
Added support to recognize craycc, crayCC, and their flags
Added support to find Cray libs
Added support to analyze some UPC Cray code
Version 2025.1.0, released on 2025-02-06
Added format subcommand as a preview of a new Fortran code formatter
Added a new recommendation PWR079: Avoid undefined behavior due to uninitialized variables
Removed remote metrics collection. Codee now exclusively stores metrics data locally. To opt out, use the CODEE_METRICS_OPTOUT environment variable
Version 2024.4.5, released on 2025-01-24
Fixed a crash while computing PWR003 in some Fortran procedures
Removed the deprecated --config option
Upgrade Bear with support for the Intel® compiler suite
Version 2024.4.4, released on 2025-01-21
Upgraded LLVM toolchain with the latest changes
Updated RMK007, RMK008, RMK010, RMK012, RMK013, and RMK014 titles for more clarity
Improved support for analyzing Fortran codes dependant on an Intel Fortran extension that allows to shadow imported and host associated entities
Improved the report in case of an unrecoverable fatal error in the codee application
Improved compatibility with Fortran extensions by relaxing standard requirements
Improved reporting of Fortran module dependency resolution
Fixed a bug in response file parsing on Windows that prevented Codee from analyzing files with absolute paths
Fixed a bug handling -real-size 64 Intel Fortran compiler argument
Fixed a bug that would trigger incompatible OpenMP/OpenACC AutoFixes in Fortran pure procedures
Fixed a bug that would trigger PWR003 in Fortran procedures containing incompatible OpenMP/OpenACC directives
Version 2024.4.3, released on 2025-01-08
Improved PWR007's AutoFix to rewrite codes with statement functions
Improved support for analyzing Fortran codes dependant on libxsmm, SIRIUS and libint by bundling their modules into Codee
Improved support for analyzing unstructured Fortran loops (e.g., loops with GOTOs in the loop body)
Improved support for analyzing codes that declared variables explicitly or implicitly in preprocessor definitions
Improved compatibility with Fortran extensions by relaxing standard requirements
Fixed a bug that prevented further analysis when a variable from a common block was used
Fixed a bug that counted checkers wrongly
Fixed PWR003 being reported for functions with static lifetime variables
Fixed a crash in Codee when analyzing somes codes containing macros
Fixed a crash in Codee when analyzing some Fortran codes with procedure pointer arguments
Fixed a crash in the split-variable-initialization rewrite for procedures with included files
Fixed a bug with conditional return statment in fortran codes
Fixed a bug in the split-variable-initialization rewrite for procedures with parameter statements
Version 2024.4.2, released on 2024-12-11
Added support for GNU Fortran intrinsics available as both functions and subroutines
Added a new correctness category
Added --analyze-included-files common flag that allows analyzing included files in C, C++ and Fortran
Added --only-quality flag to include the "correctness" and "modern" checkers, deprecating the former --only-modern flag
Updated --show-progress to default to the new "dependencies" report
Updated HTML report to show the tables of the ranking of quality and optimization checkers
Updated the attributes and priorities of some checkers
Improved analysis time for large Fortran files
Improved missing Fortran module suggestions
Improved support for analyzing Fortran codes with constant array accesses
Improved Fortran dependency resolution
Improved support for analyzing non-standard GNU Fortran extensions
Improved PWR007's AutoFix to rewrite codes with implicit functions
Improved PWR007's AutoFix to insert implicit none (type, external) where appropiate
Improved PWR007's suggestion message
Improved Codee's target compiler detection capabilities
Improved PWR072 AutoFix coverage
Improved analysis time for codes with a lot of nested scopes
Improved support for analyzing Fortran codes dependant on ETSF_IO by bundling its modules into Codee
Fixed a bug while analyzing loops with different struct field uses
Fixed an issue where Codee misinterpreted paths from response files on Windows
Fixed a crash that could happen with some unsupported codes
Fixed bug that duplicated an AutoFix if the same input was in multiple invocations
Minor cosmetic changes
Version 2024.4.1, released on 2024-11-21
Added flags --only-modern, equivalent to --only-categories modern, and --only-optim, equivalent to --only-categories scalar,control,memory,other
Updated PWR068 to trigger the check on calls made through implicit interfaces, instead of all procedure declarations outside modules
Improved support for analyzing Fortran codes dependant on PETSc, Libxc and flook by bundling its modules into Codee
Improved support for analyzing Fortran codes dependant on a GNU Fortran extension that allows forward references to some host-associated symbols
Improved support in PWR075 to detect the use of real array indices coming from intrinsic functions
Fixed a bug that would cause Codee to not compile some Fortran codes that used GNU Fortran intrinsics
Fixed a bug that caused Codee to exhaust system memory when analyzing C++ code with deeply nested templates
Version 2024.4.0, released on 2024-11-14
Upgraded LLVM toolchain with the latest changes
Added AutoFix for PWR072 to automatically split variable declaration initialization
Added the total number of check occurrences to the screening report 'Ranking' table
Updated the screening report to show the number of available AutoFixes for each check
Updated the screening report suggestions when analyzing multiple files
Updated the list check IDs so they are sorted by their priority
Improved support for analyzing Fortran codes dependant on GNU Fortran intrinsics
Fixed a bugs related to C and C++ structs containing other empty structs
Fixed a bug in PWR069's AutoFix that could cause Codee to crash
Fixed a bug that could cause Codee to crash opening an invalid Fortran module file
Fixed a bug in PWR008 due to Fortran alternate returns
Fixed a bug where response files were not supported on windows targets
Fixed an issue where Codee in Windows would require ZLIB to be installed when it was not needed
Added --show-progress=dependencies to show when Fortran files are compiled to meet module dependencies
Version 2024.3.5, released on 2024-10-29
Added Bear binary alongside Codee to allow users to create compile_commands.json out of the box
Added --{c|cxx|fortran}-flags codee flags to append compiler options to all compile commands entries and updated the corresponding environment variables
Added --show-compiler-output flag to print messages that compiler emitted during analysis
Added autodetection of compile_commands.json relative to the command-line file filters
Updated PWR072 to clearly state the undesired implicit 'save' behavior
Updated the do concurrent rewrite to work in compiler agnostic mode
Improved support on some recoverable internal errors, allowing partial analysis on some codes that were previously rejected
Improved support for unknown compilers by assuming GCC or GFortran depending on the input files
Fixed a bug that would report PWR075 for non-GNU compilers
Fixed several bugs
Minor cosmetic changes
Version 2024.3.4, released on 2024-10-15
Added AutoFix for PWR069 to automatically adjust and remove use statements in procedures
Added support for the f95 compiler as an alias to gfortran
Added missing progress printer to codee rewrite
Updated the screening report:
Split the ranking of checkers between optimization and modernization
Removed the main screening report table from the default output to emphasize the 'Ranking' table
Updated the codee screening --verbose report to show a list of checkers per file
Updated ROI report based on --verbose and --brief modifiers
Improved PWR007 autofix to handle GNU Fortran intrinsic procedures
Improved PWR069 with a reduction of false positives and more accurate suggestions
Improved PWR075 to detect usages of real values in array indices
Improved support for unknown compilers by assuming GCC-like flags
Improved handling of input filters by rejecting invalid ones
Fixed reporting of unreachable dependencies for compilation entries with relative paths
Fixed compilation errors when -mcpu was used in X86 targets
Adjusted checkers attributes
Minor cosmetic changes
Version 2024.3.3, released on 2024-10-01
Upgraded LLVM toolchain to version 20 (20.0.0)
Added support for Fortran programs that use OpenMP conditionally compiled lines
Improved support for analyzing Fortran codes dependant on OpenACC, by bundling those modules into Codee
Improved support on some recoverable internal errors, allowing partial analysis on some codes that were previously rejected
Improved reporting of missing Fortran modules
Improved the report of compiled but unreachable Fortran dependencies
Fixed a crash that would happen when a missing Fortran module was used
Fixed Fortran compilation error due to unsupported global procedure pointers
Fixed a bug in PWR069 causing invalid suggestions for transitive dependencies and symbol renames
Fixed a bug in PWR007 autofix for function return values
Fixed a bug in PWR008 autofix due to a miscalculated position in Fortran preprocessed files
Fixed an issue where Codee would report invalid errors after a missing used Fortran module
Fixed an issue with Fortran modules that would compile but couldn't be used afterwards
Minor cosmetic changes
Version 2024.3.2, released on 2024-09-13
Added a new Fortran Modernization checker "PWR075: Avoid using GNU Fortran extensions"
Added support for Intel ifx compiler flags on Linux and Windows
Added a "native" option for --multi and --offload rewrites that uses do concurrent in Fortran loops; this option is enabled with --compiler-driven-mode for ifx, ftn, and nvfortran
Fixed an issue with computing dependencies that affected "compile_commands.json" with several languages on it
Fixed a crash when using input filters for files that have host-associated functions from another included file
Fixed undesired warnings being printed along with Fortran compilation errors
Fixed an issue detecting a particular case of an array reduction compute pattern
Version 2024.3.1, released on 2024-09-04
Updated screening report "RANKING OF CHECKERS" table by adding an AutoFix column and merging Level and Priority ones
Fixed an issue with bash autocompletion
Fixed hiding unrelated analysis errors if --show-failures is disabled
Fixed an issue with codee rewrite if --compiler-driven-mode is enabled
Fixed nvfortran compiler version detection
Removed deprecated --show-ranking flag for the screening report
Removed pwreport, pwloops, and pwdirectives shims
Minor cosmetic changes
Version 2024.3.0, released on 2024-09-03
Upgraded LLVM toolchain to version 19 (19.1.0-rc1)
Added AutoFix for PWR008 that declares the intent for each procedure parameter
Added support for Intel ifort compiler flags on Windows
Added support for NVIDIA Fortran compiler flags on Linux
Added support for Cray Fortran compiler flags
Added autodetection of "compile_commands.json" when --compile-commands and -- <invocation> are not used
Improved analysis time for some Fortran files
Improved memory usage during the analysis of Fortran files
Improved support for analyzing Fortran codes dependant on MPI, NetCDF and HDF5, by bundling those modules on Codee
Improved reporting of transitive dependencies on missing external Fortran modules
Improved the OpenMP directives used in codee rewrite for Cray and Nvidia compilers
Improved PWR068 detection in non-standard Fortran codes
Fixed a bug when filtering Windows paths with backslashes
Fixed a Codee crash for Fortran codes with loops containing statement labels
Fixed an issue parsing OpenACC and OpenMP clauses separated by commas
Fixed a leak of internal compiler messages into Codee output
Fixed a bug rewriting Fortran code with codee rewrite --multi omp-taskwait
Do not print empty tables in codee screening on error
The list of supported compilers with optimization report is now reported with the flag codee --list-optimizing-compilers
codee --version now lists the supported compilers, it no longer lists the supported compiler with optimization reports
Removed the "CHECKS PER CATEGORY AND PRIORITY LEVELS" table from the screening report
Minor cosmetic changes
Version 2024.2.6, released on 2024-07-30
Renamed the --config option to --compile-commands (-p), which now also accepts a path to a directory that contains a "compile_commands.json" file
Greatly reduced the memory usage of Codee on large Fortran projects
Fixed several bugs
Minor cosmetic changes
Version 2024.2.5, released on 2024-07-10
Codee now requires a complete compiler invocation at the right of the -- separator when not using a compilation database
Codee will now use the given compiler to parse the compilation options
New --compiler-driven-mode to enable the Compiler Driven Mode, that will use the compiler from the invocation as the target
Removed --target-compiler-X flags, as Using a different target compiler is no longer supported
Added a new Fortran Modernization checker PWR069: Use the keyword only to explicitly state what to import from a module
Codee will now analyze the compilation database respecting the Fortran module dependencies
Fixed an issue where the PWR073 would show "empty" COMMON uses
Split the "quality" category of checkers into "modernization (modern)" and "other"
Improved support for header files for some bundled common Fortran modules
Updated the past changelog with some missing features
Version 2024.2.4, released on 2024-06-12
Added AutoFix for PWR007: Disable implicit declaration of variables
Include some bundled Fortran modules to improve the analysis coverage
Version 2024.2.3, released on 2024-06-05
Added new Fortran Modernization checkers (some were part of PWR063):
PWR068: Encapsulate external procedures within modules to avoid the risks of calling implicit interfaces
PWR070: Declare array dummy arguments as assumed-shape arrays
PWR071: Prefer real(kind=kind_value) for declaring consistent floating types
PWR072: Add an explicit save attribute when initializing variables in their declaration
PWR073: Transform common block into a module for better data encapsulation
Added legacy Fortran "unconditional GOTO" statements to PWR063
Created a new Codee flavor focusing on modernization tasks
Added support for gfortran compilation flags
Improved support for analyzing Fortran codes dependant on MPI and NetCDF
The PWR042 and PWR043 checkers are now enabled for Fortran
Fixed several bugs
Version 2024.2.2, released on 2024-04-19
Fixed the analysis order with "compile_commands.json" in the presence of a filter
Removed support for "pw.json" configuration files
Minor cosmetic changes
Version 2024.2.1, released on 2024-04-17
Deprecated commands coming from the former pwloops binary
Hide Codee compilation warnings behind the --show-failures flag
Fixed multiple minor bugs
Updated the past changelog with some missing features
Version 2024.2.0, released on 2024-04-08
Added codee as an unified binary aggregating pwreport, pwloops, and pwdirectives functionality
Added a --verbose mode for the screening and technical-debt reports, which makes Codee to print subtotals per file
Removed the -- prefix from all Codee commands (e.g., codee --checks is now codee checks)
Removed support for deprecated environment variable names
Support for analyzing Fortran source code is now considered mature instead of experimental
Changed --roi and --technical-debt reports to suppress error messages when targeting multiple files; this behavior can be overriden with --show-failures
Version 2024.1.4, released on 2024-03-26
Added Return On Investment Report (pwreport --roi)
Added Technical Debt Report (pwreport --technical-debt)
Simplified the --screening report to omit info already available on the --roi report
Version 2024.1.3, released on 2024-03-19
Enabled Fortran analysis on Windows an MacOS platforms
Added Fortran support for the PWR003 checker (explicitly declare pure functions)
Added "Scope" (File, Function, Loop) to the information of each Checker in --list-available-checkers
Added Codee tab completion support for bash, fish, and zsh shells; run pwreport --completions <your shell> for instructions
Added Compiler Efficiency Report (pwloops --compiler-efficiency)
Added support for Fortran COMMON blocks
Improved support for C++ member functions that make use of this
Improved the support for the IAR C and C++ compiler by handling --dlib_config and --libc++ options
Improved support for Fortran compiler directives
Improved the final summary message with the number of loops and functions that have been successfully analyzed
Version 2024.1.2, released on 2024-02-21
Greatly improved analysis coverage, especially in Fortran codebases, by enhancing error tolerance and recovery in the core of the technology
Improved pwdirectives to insert comments detailing the optimizations applied to the rewritten code; this behaviour can be disabled with the new pwdirectives --disable-comments option
Added support for ARM big.LITTLE compilation flags
Improved analysis support for C++ member functions (functions that use this explicitly or implicitly still unsupported)
Added analysis success/failure messages for each file in --show-progress
Changed --show-progress=files to be the default progress reporting mode, use --show-progress=none to suppress progress messages
Changed --show-failures to be enabled by default, use --show-failures=none to suppress error messages
Added --check-id flag to filter by specific check IDs
Greatly optimized the compile_commands.json parsing phase; the total analysis time for big code bases can now be slashed down to 1/6 of the original time
Added a message to --version showing the time to license expiration
Minor cosmetic changes
Removed "optimizable lines" column from pwreport --screening
Version 2024.1.1, released on 2024-02-01
Replaced the bundled "check-examples" folder with the new "open-catalog"
Improved analysis time on Fortran codes
Changed --show-ranking to be enabled by default, making the argument unnecessary
Improved --list-available-checkers by allowing filtering by categories as usual
Removed already deprecated --evaluation flag; the --screening flag should be used instead
Improve detection on maximum and minimum pattern computations
Improved Fortran support
Version 2023.2.6, released on 2024-01-16
Improved PWR063 with more detailed information in --verbose mode
Improved Codee core detection capabilities, now it supports the detection of small static array temporaries
Updated PWR020 and PWR021 so they are no longer reported if there are any non-categorized compute pattern (n/a), preventing false positives
Fixed a bug for Fortran files that stopped analysis due to errors in unrelated parts of the code
Fixed a bug where PWR022 was incorrectly reported in some loops with non-invariant conditions
Fixed bug that caused a discrepancy between the screening and checks reports regarding the RMK015 remark
Improved warning message behavior related to the usage and parsing of the compile_commands.json
Improved support for some Fortran constructs
Version 2023.2.5, released on 2024-01-08
Added the number of repeated entries for each file in a compile_commands.json when --show-progress is used
Fixed PWR063 to be reported only once per file, as intended
Several stability improvements
Fixed multiple minor bugs
Version 2023.2.4, released on 2023-12-05
Added a new recommendation PWR063: Avoid using legacy Fortran constructs
Added a new --show-ranking option to the screening report, which shows the number of occurrences of each checker, ordered by priority
Added --include-categories and --only-categories to filter checkers by category
Updated --list-available-checkers option to show the attributes of the new check ranking system
Deprecated --include-tags and --only-tags in favor of the new --include-categories and --only-categories respectively
Removed the --show-breakdown option from the screening report, in favor of the new --show-ranking
Removed several legacy reports from Codee:
--functions, --races and --parallelization from pwreport
--result from pwloops --vector-support
Removed the --show-breakdown option from the screening report, in favor of the new --show-ranking
Removed "mode" column from pwloops
Improved compile_commands parsing result report
Version 2023.2.3, released on 2023-11-23
New "Likelihood", "Remediation cost" and "Severity" checker independent attributes
New "Priority" and "Level" checker attributes, whose values derive from those of the three above
The checks report is now ordered by priority value
New --level flag, which allows the user to filter checkers by their priority level
The screening report now shows the number of checkers by priority level in the second table
Fixed a bug causing crashes for code that uses unsupported pointer assignments or structs
Add support for C-like comments in Fortran fixed form
Fixed --target-arch filtering regression
Fixed a loop filtering bug that prevented checks to be reported for the inner loops
Version 2023.2.2, released on 2023-11-15
Added support for the IAR iccarm compiler flags
Disable remarks RMK002 and RMK008
pwdirectives now breaks lines according to the maximum line length allowed by the language (i.e., free and fixed forms in Fortran)
Rework on the internal technology that should improve code support in some particular cases
Updated the past changelog with some missing features
Version 2023.2.1, released on 2023-11-07
Fixed a bug that stopped Codee from analyzing some kinds of unsupported precompiled headers
Fixed a bug where Codee would print warnings even if --no-warnings was set
Added support for more Fortran compiler flags
Fix a bug where the some Fortran analysis would get stuck
Version 2023.2.0, released on 2023-10-24
Upgraded LLVM toolchain to version 17
Add Fortran matrix multiplication example
Version 2023.1.7, released on 2023-10-04
Changed pwdirectives syntax to a comma-separated list of options (pwdirectives --vector omp,gcc) instead of repeating arguments (pwdirectives --vector omp --vector gcc)
The pwreport --checks output now prints the canonical title of each check
New line in the CLI output printing the Codee version and date of the analysis
New pwdirectives suggestion to complete array transfers in offloading computations
Improved reporting of ignored duplicated files in compile_commands.json
Changed the vectorization suggestions to be specific to the target compiler
Combined rewriting modes of pwdirectives are now properly suggested in pwreport --checks --verbose
Fixed a bug where some checks were repeated under some circumstances
Fixed a bug where sometimes a check was not correctly filtered
Version 2023.1.6, released on 2023-09-19
Fortran array access range is no longer specified in OpenMP or OpenACC data transfer clauses
Now the files not present in a compile_commands.json will be ignored when using it alongside with input files/directories
The pwdirectives --vector command may now apply to the whole file
Moved pwloops --non-analyzable report to pwreport --non-analyzable --verbose
Renamed pwloops --summary column "Optimizable" to "Has autofix" and removed the "Optimized" column
New --list-available-checkers option that replaces --list-all
Deprecated --list-all, --list-checks, --list-defects, --list-recommendations, --list-remarks and --list-tagged
Deprecated the option --auto from pwdirectives
Fixed several minor bugs
Version 2023.1.5, released on 2023-08-31
New experimental support for Fortran assumed-shape arrays
New remark RMK015: Tune compiler optimization flags to increase the speed of the code
New remark RMK016: Tune compiler optimization flags to avoid potential changes in floating point precision
Several fixes and improvements in the CLI output
Version 2023.1.4, released on 2023-08-10
Tuned PWR044 to ignore integer constant expression
Fixed several minor bugs
Version 2023.1.3, released on 2023-07-14
The screening report now also prints the total number of files per language
Version 2023.1.2, released on 2023-07-07
Added check PWR060 for optimizing loops with gather memory access patterns
Removed outdated how-to on using Codee with Canny algorithm
Fixed several minor bugs
Version 2023.1.1, released on 2023-06-30
Added check PWR049 for optimizing loops with iterator-dependent conditions
New Codee --target-arch flag, which allows the user to filter Codee checkers by their target architecture of interest
The option --check-install was removed from Codee
The option --configuration-wizard was removed from Codee
The target compiler setting is no longer stored in the system
The target compiler is no longer taken from the compile_commands.json. Now it can only be set through Codee CLI flags
Revamp tag filter system:
Added `--only-tags: Shows items tagged with the specified tags
Change in behavior for --include-tags: Shows items tagged with the specified tags or if non-excluded by default
Removed --exclude-tags
Reduce the occurrence of PWR016 by reporting per variable instead of per each variable use
The error messaging related to the target compiler support was improved
The screening report and the checks report now print suggestions to use the Compiler Driven Mode
The main tags of many checks were updated
Version 2023.1.0, released on April 2022
The --actions report was reimplemented to deliver the new --checks report
It is no longer limited to be used by function (as the actions report was). Therefore, it is available for any code snippet
It reports a list of checks like most of the static code analyzers
New --check-install argument to validate the correct installation of Codee
New recommendations for floating point scalar optimizations PWR044, PWR045, PWR046, PWR048
pwdirectives modes reorganization. Now the different rewriting modes are grouped in --vector, --multi and --offload options. See the --help menu for more details
New pwdirective --memory loop-interchage option that performs loop interchange whenever is recommended (PWR039)
Former OPP003 have been split into PWR052, PWR054 and PWR057 respectively
Codee now ignores files if they were already analyzed in the same run, even if they are explicitly repeated in the input
New input filtering syntax. Now loops and functions of the same file can be filtered with a simpler syntax: "file:loop1,loop2,loop3", instead of the former "file:loop1 file:loop2 file:loop3"
New --fp-precision flag which allows filtering checks given their floating point computation strictness
The "Loop support" category was simplified in a new "Codee mode" category
Loops are now categorized as "Guided" or "Auto" depending on the Codee capabilities
Now pwdirectives --auto only applies to loops with Codee Auto mode support
The verbosity level flag --level <n> was simplified to --verbose
Improve compiler vectorization detection
Make more explicit which target compiler and optimization flags are being used
Improve detection of compiler optimization reports such as loop unrolling messages and loop replacements by library calls
pwdirectives --auto now prints the "reason" reported by the compiler when it could not vectorize the loop annotated by Codee
Add new "Actions" column with the detected actions in pwloops --summary
Changed variable representation to show which array dimension or type member is being used
pwdirectives can now apply a combination of directives (in a single run) to the same loop
Add support for rewriting competing directives from different vendors in the scope of offloading computations and vectorization
Now the user can accept EULA directly using --accept-eula option or defining the CODEE_ACCEPT_EULA=yes environment variable
Upgraded libpw to LLVM 14, integrating Flang support from upstream
Added basic support for Intel oneAPI compiler suite
Version 1.6.0, released on 2022-11-18
New Codee default behavior: Compiler Driven Analysis
A target compiler is now mandatory.
Codee will generate its reports driven by the target compiler (limited to vectorization related actions for now)
SIMD opportunities (OPP002) are no longer reported for a loop if the target compiler could already auto-vectorize it by itself
New pwdirectives output: now it shows if Codee could finally vectorize the loops that the target compiler originally could not
Improved support for more compilers and verions:
Added support Microsft Visual C/C++ compiler
Added support for Intel C/C++ compilers
Improved support for LLVM and GNU C/C++ compilers
RMK011 is no longer reported, and it was removed from the catalog
Fixed incorrect filtering of OPP002 and OPP003
Version 1.5.1, released on 2022-09-29
Reduced the number of Screening Report levels, so 2 and 3 become 1 and 2 respectively
Improved --show-progress flag to allow function-level progress report
The recommendation PWR024 is now shown by default for non OpenMP-compliant loops as long as they
are also opportunities
Version 1.5.0, released on 2022-09-15
Loop difficulty levels were replaced by "Codee support categories"
Former "Low" difficulty level loops are now of "Auto" or "Guided" categories
Former "Medium" difficulty loops are now of the "Development" category
Former "High" difficulty loops are now loops of the "Roadmap" category
Improved support for detecting temporary arrays
Added the recommendations PWR007 and PWR008 for Fortran
Now compilation flags in Windows are interpret for MSVC by default. This behavior can be tunned with the --driver-mode option
pwdirectives:
--auto now requires the user to filter by function. It no longer rewrites entire files
Version 1.4.1, released on 2022-08-04
Improved handling of case-insensitive identifiers on Fortran
Improved reporting of Fortran unsupported features
Fixed recommendation PWR043 incorrectly reported as PWR042
Changed the loop filter to also allow inner loops. To keep the previous behaviour use the flag --single-loop
pwdirectives:
Fixed --omp simd to be equivalent to --simd omp
Version 1.4.0, released on 2022-07-01
New recommendations PWR042 and PWR043 related to loop interchange opportunities
Added support for compilation databases (compile_commands.json) on Fortran code
Added support for cross-architectural and cross-system analysis for GNU/Linux and Android on ARM64
Improved analysis support for automatic, assumed-shape and adjustable array accesses on Fortran loops
Improved support for C++ math functions
Improved performance on analysis of large files
Deprecated PWR033 in favor of PWR022
Added a new how-to on using Codee with Canny algorithm
Updated the EULA
pwreport:
Rename --evaluation to --screening
Added --show-breakdown to the screening report
Version 1.3.3, released on 2022-06-16
Added new flag --no-warnings to remove all Codee warnings
Added a new suggestion in pwreport --actions --level 2 for pwdirectives --auto mode
Improved loop difficulty classification for several kinds of loops
Fixed several minor bug fixes
Version 1.3.2, released on 2022-05-26
Appentra Parallelware Analyzer is now Codee
Improved analysis support for Automatic Arrays on Fortran
Improved reporting on loop complexity for pwreport --actions and pwloops --summary
Improved table format so long filenames don't make the table too wide
pwreport:
Included --evaluation with a new --level 3 report that breaks down loop complexity by function
Improved --evaluation report output format with new "Total" rows and a new Code Coverage table
pwloops:
Improved "codee" column on --vector-support to report as another compiler
Now --show-messages prints Codee cost model messages
Version 1.3.1, released on 2022-04-25
pwreport:
Add OpenACC suggestion to run pwdirectives on offloading opportunities
Improve wording in --evaluation
pwdirectives:
Use "schedule(static)" clause when autoparallelizing GPU offloading opportunities with OpenMP
Version 1.3.0, released on 2022-04-19
Included a new vectorization cost model which proposes vectorization only for eligible loops
Prints out why ineligible loops are not vectorization friendly (new remarks RMK010, RMK011, RMK012, RMK013 and RMK014)
Included a new memory cost model which proposes loop interchange only for eligible loops
Included a new classification of loops by the degree of difficulty from performance optimization viewpoint
pwreport:
function or loop filter is necessary for --actions analysis
Added experimental support for Fortran (Linux only)
Version 1.2.1, released on 2022-02-18
New recommendations PWR039 and PWR040
pwreport:
Links to the knowledge-base are now suggested in --actions with --level 2
Version 1.2.0, released on 2022-02-03
libpw upgraded to LLVM 13
New recommendations PWR028, PWR030, PWR031, PWR032, PWR033 PWR037 and PWR038. Remarks RMK004, RMK005 and RMK006 were promoted to PWR034, PWR035 and PWR036 respectively
Now using a compilation database without any input files will default to analyzing all database entries
Changed default tag visibility: use --include-tags all to enable all checks again
pwreport:
New --evaluation analysis which is the new default
New --non-analyzable report that shows the unsupported features in the code
New --actions report that superseeds --hotpot/--summary. Use --show-info to show the analysis messages. Empty entries will be ommited unless --show-empty is used.
The --level flag controlling the detail now has levels 0, 1 and 2 and it defaults to 1
Version 1.0.0, released on 2021-10-07
Fixed bug preventing pwloops --vector-support from categorizing gcc messages
Fixed bug causing result count on pwloops --vector-support to be incorrect
Improved OPP001 and OPP03 classification by taking into account floating point operations
pwcheck: removed since all its analyses are now part of pwreport
pwreport 1.0.0: incorporated the data race analysis (--races) from the removed pwcheck tool, new recommendation PWR006 and new --list-tagged option
pwloops 1.0.0: improved --vector-support analysis
pwtrainer 1.7.0: new graphical user interface tool to ease training and experimentation
Version 0.19.2, released on 2021-09-29
Fixed bug causing crashes for codes that use macros containing several loops
Fixed bug causing pwreport --vector-support to miss some relevant compiler messages
Fixed bug preventing files without filters from being analyzed when passed along others with filters
Fixed a regression causing --config to be incorrectly compatible with compiler flags arguments
pwreport 0.6.2: improved --functions analysis by adding a new "Analyzable" column and by reporting all defined functions by default regardless of whether they are used unless --include-undef or --excluded-unused are specified
Version 0.19.1, released on 2021-09-08
Fixed a regression causing analysis of files including "omp.h" to fail
Fixed a regression introducing incorrect opportunity codes and causing incorrect tag filtering
Fixed bug preventing function filtering from working correctly for directories
Updated quickstarts with up-to-date commands and outputs
Added missing PWR017 check example
Version 0.19.0, released on 2021-08-19
libpw upgraded to LLVM 12
Fixed bug reporting standard globals (e.g. stdout, errno) on PWR001
Fixed bug causing misplaced error messages
Tags for checks, remarks and opportunities allow filtering through the new --include-tags and --exclude-tags arguments
New input syntax allowing to specify a function name or loop location along the filename supersedes the --loop and --function filters; also supported by --exclude
Added more information to --version regarding the supported standards, libraries and compilers
pwreport 0.6.0: new --functions analysis providing an overview of used functions; new --show-breakdown replacing --detail-opportunities and --detail-checks; new set of --list-* arguments to list supported checks, remarks and opportunities
pwcheck 0.6.0: new defects PWD009-011 and recommendations PWR026-027
pwloops 0.6.0: new --vector-support report to compare vectorization capabilities between different installed compilers
Version 0.18.2, released on 2021-06-18
Added an error message to alert whenever a filter or target input does not match any code
Fixed bug causing linked libraries to be treated as inputs
Fixed a regression causing crashes for some codes with read-only arguments
pwreport 0.5.2: parallel compute patterns are now shown for opportunities in --level 3 and fixed a regression causing the loss of the suggestion to use compiler flags when failures exist
pwloops 0.5.2: fixed bug causing incorrect filters in some suggestions
pwdirectives 0.5.2: fixed bug preventing --explicit-privatization from working
Version 0.18.1, released on 2021-06-03
Fixed bugs causing some interprocedural analyses to fail
Fixed bug causing a crash when analyzing multiple files
Fixed bug causing suggestions to omit configuration file arguments
Fixed bug causing pwreport to list some function declarations
Version 0.18.0, released on 2021-05-31
Added offload opportunities differentiated from multi-threading ones
New MATMUL quickstart example available in examples/matmul
Option --temporary allows to declare temporaries to ease analysis
pwreport 0.5.0: new default --hotspot structured report provides details on all actionable items including defects, recommendations, opportunities and remarks (new)
pwcheck 0.14.0: 8 new recommendations PWR018-025 focusing on vectorization
pwloops 0.5.0: offload opportunities support and improved --non-analyzable messages
pwdirectives 0.5.0: new --omp offload+simd hybrid parallelization
Version 0.17.0, released on 2021-02-22
SIMD opportunities now have stricter requirements and can be inside OpenMP parallel regions
Extended function, loop and variable filters to all reports
Extended --csv and --json output formats to all reports
Fixed bug preventing pwloops --code from showing multiple opportunity types
pwreport 0.4.0: reduced analysis time by removing double pass
pwcheck 0.13.0: new structured report and three levels of detail with --level
pwloops 0.4.0: loops now reported as trees, new --memory-accesses report and "dep" pattern
pwdirectives 0.4.0: SIMD support for multiple compilers and OpenMP, new --auto mode to parallelize all SIMD opportunities detected, grouped opportunities support, new OpenMP hybrid (multi+simd) parallelization mode and --explicit-privatization strategy
Version 0.16.0, released on 2020-11-03
libpw upgraded to LLVM 10.0
Parallelization opportunities have now stricter requirements
pwreport 0.3.0: new CSV output format
pwcheck 0.12.0: new filtering options, defects PWD004-008 and recommendations PWR011-016
pwloops 0.3.0: new --memory-footprint analysis, --summary columns and --non-analyzable output format
pwdirectives 0.3.0: non-contiguous-memory array offloading with OpenMP enter/exit data
Fixed bug causing incorrect failed files counts in pwcheck and pwreport
Version 0.15.1, released on 2020-08-21
Fixed bug causing --exclude to fail when mixing absolute and relative paths
pwcheck 0.11.1: fixed bug causing analysis to finish prematurely
Version 0.15.0, released on 2020-06-23
libpw upgraded to LLVM 7.1
EULA acceptance is now required upon first execution
Now --config also accepts compile_commands.json files
Added --lang filter to analyze only source files of specific programming language
Added --analyze-headers to consider header files as regular source files
pwcheck 0.11.0: new checks PWD002, PWR009 and PWR010
pwloops 0.2.0: memory access patterns are now reported along computational ones
pwdirectives 0.2.0: OpenMP offloading with or without teams
Version 0.14.2, released on 2020-05-28
Fixed bug causing the printing of a significant number of empty lines
Fixed bug causing missing messages with --verbose
Version 0.14.1, released on 2020-05-20
Fixed bug causing crash due to invalid PWA_LICENSE_PATH
Version 0.14.0, released on 2020-05-06
Multiple file analysis via configuration (--config <file>)
Multiple file and flag info can be seen with --show-progress --verbose
Windows and MacOS now supported without Fortran
Fortran support is reported in --version
Header files are not analyzed unless included
License check delayed to allow some informational usages
pwcheck 0.10.1: data race analysis by file and data-race-free reporting
pwreport 0.2.1: report summary of data races and data-race-frees
pwloops 0.1.4: improved --non-analyzable messages
Version 0.13.1, released on 2020-03-16
pwdirectives 0.1.3: fixed crash when looking for the opportunity
Version 0.13.0, released on 2020-03-04
Moved --summary analysis from pwcheck to pwreport
Added --show-failures common option to enable error reporting
pwcheck 0.10.0: data race analysis and fixed wrong messages
pwreport 0.2.0: new default summary analysis
pwloops 0.1.2: converted --patterns into --summary and added opportunity information
Version 0.12.1, released on 2019-12-12
libpw upgraded to LLVM 7
pwcheck 0.9.4: match the way pwreport processes files
pwreport 0.1.1: fixed Fortran metrics not being computed
Version 0.12.0, released on 2019-12-12
pwreport 0.1.0: new binary
Version 0.11.1, released on 2019-12-03
Include bundled headers for LIBC and OpenMP by default
Version 0.11.0, released on 2019-11-26
pwanalyzer 0.8.0: removed overview analysis
pwreport 0.1.0: overview results as JSON (proof of concept)
Version 0.10.5, released on 2019-11-05
pwcheck 0.9.3: summary report and filtering of defects or recommendations
pwloops 0.1.2: output non-analyzable loops
Version 0.10.4, released on 2019-10-11
Lowered minimum required GLIBC to 2.19
Version 0.10.3, released on 2019-09-17
A valid license file is now required to run any program
pwanalyzer 0.7.1
pwcheck 0.9.2
pwloops 0.1.1: changed default analysis to datascoping
pwdirectives 0.1.2: fixed bug allowing to parallelize already parallel loops
Version 0.10.2, released on 2019-08-28
pwcheck 0.9.1: PWD003 support for C and code examples
Version 0.10.1, released on 2019-08-02
pwdirectives 0.1.1: fixed bug preventing OpenMP offloading parallelization
pwcheck 0.9.0: new PWD003 check for Fortran
libpw: updated to version 0.11.0
Version 0.10.0, released on 2019-07-02
pwanalyzer 0.7.0
pwcheck 0.8.0: new binary
pwloops 0.1.0: new binary
pwdirectives 0.1.0: new binary
libpw: updated to version 0.10.0
Version 2025.4.3, released on 2025-12-03 Version 2025.4.2, released on 2025-11-19 Version 2025.4.1, released on 2025-11-18 Version 2025.4.0, released on 2025-11-12 Version 2025.3.9, released on 2025-10-28 Version 2025.3.8, released on 2025-10-14 Version 2025.3.7, released on 2025-09-30 Version 2025.3.6, released on 2025-09-17 Version 2025.3.5, released on 2025-08-26 Version 2025.3.4, released on 2025-08-12 Version 2025.3.3, released on 2025-08-05 Version 2025.3.2, released on 2025-07-30 Version 2025.3.1, released on 2025-07-15 Version 2025.3.0, released on 2025-07-02 Version 2025.2.5, released on 2025-06-18 Version 2025.2.4, released on 2025-06-03 Version 2025.2.3, released on 2025-05-21 Version 2025.2.2, released on 2025-05-07 Version 2025.2.1, released on 2025-04-22 Version 2025.2.0, released on 2025-04-08 Version 2025.1.3, released on 2025-03-13 Version 2025.1.2, released on 2025-02-28 Version 2025.1.1, released on 2025-02-17 Version 2025.1.0, released on 2025-02-06 Version 2024.4.5, released on 2025-01-24 Version 2024.4.4, released on 2025-01-21 Version 2024.4.3, released on 2025-01-08 Version 2024.4.2, released on 2024-12-11 Version 2024.4.1, released on 2024-11-21 Version 2024.4.0, released on 2024-11-14 Version 2024.3.5, released on 2024-10-29 Version 2024.3.4, released on 2024-10-15 Version 2024.3.3, released on 2024-10-01 Version 2024.3.2, released on 2024-09-13 Version 2024.3.1, released on 2024-09-04 Version 2024.3.0, released on 2024-09-03 Version 2024.2.6, released on 2024-07-30 Version 2024.2.5, released on 2024-07-10 Version 2024.2.4, released on 2024-06-12 Version 2024.2.3, released on 2024-06-05 Version 2024.2.2, released on 2024-04-19 Version 2024.2.1, released on 2024-04-17 Version 2024.2.0, released on 2024-04-08 Version 2024.1.4, released on 2024-03-26 Version 2024.1.3, released on 2024-03-19 Version 2024.1.2, released on 2024-02-21 Version 2024.1.1, released on 2024-02-01 Version 2023.2.6, released on 2024-01-16 Version 2023.2.5, released on 2024-01-08 Version 2023.2.4, released on 2023-12-05 Version 2023.2.3, released on 2023-11-23 Version 2023.2.2, released on 2023-11-15 Version 2023.2.1, released on 2023-11-07 Version 2023.2.0, released on 2023-10-24 Version 2023.1.7, released on 2023-10-04 Version 2023.1.6, released on 2023-09-19 Version 2023.1.5, released on 2023-08-31 Version 2023.1.4, released on 2023-08-10 Version 2023.1.3, released on 2023-07-14 Version 2023.1.2, released on 2023-07-07 Version 2023.1.1, released on 2023-06-30 Version 2023.1.0, released on April 2022 Version 1.6.0, released on 2022-11-18 Version 1.5.1, released on 2022-09-29 Version 1.5.0, released on 2022-09-15 Version 1.4.1, released on 2022-08-04 Version 1.4.0, released on 2022-07-01 Version 1.3.3, released on 2022-06-16 Version 1.3.2, released on 2022-05-26 Version 1.3.1, released on 2022-04-25 Version 1.3.0, released on 2022-04-19 Version 1.2.1, released on 2022-02-18 Version 1.2.0, released on 2022-02-03 Version 1.0.0, released on 2021-10-07 Version 0.19.2, released on 2021-09-29 Version 0.19.1, released on 2021-09-08 Version 0.19.0, released on 2021-08-19 Version 0.18.2, released on 2021-06-18 Version 0.18.1, released on 2021-06-03 Version 0.18.0, released on 2021-05-31 Version 0.17.0, released on 2021-02-22 Version 0.16.0, released on 2020-11-03 Version 0.15.1, released on 2020-08-21 Version 0.15.0, released on 2020-06-23 Version 0.14.2, released on 2020-05-28 Version 0.14.1, released on 2020-05-20 Version 0.14.0, released on 2020-05-06 Version 0.13.1, released on 2020-03-16 Version 0.13.0, released on 2020-03-04 Version 0.12.1, released on 2019-12-12 Version 0.12.0, released on 2019-12-12 Version 0.11.1, released on 2019-12-03 Version 0.11.0, released on 2019-11-26 Version 0.10.5, released on 2019-11-05 Version 0.10.4, released on 2019-10-11 Version 0.10.3, released on 2019-09-17 Version 0.10.2, released on 2019-08-28 Version 0.10.1, released on 2019-08-02 Version 0.10.0, released on 2019-07-02