Releases: Fortran-FOSS-Programmers/ford
Releases · Fortran-FOSS-Programmers/ford
Version 5.0.1
Bug fixes:
- Extensions
.F
and.FOR
now indicate preprocessed fixed-form files, as intended - Public inherited derived type components now shown, as intended
Version 5.0.0
This is a major release and thus has some non-backwards compatible changes, although every effort has been made to keep them minor.
- The
project_dir
option in the project file is nowsrc_dir
- By default, internally declared variables, types, etc. within procedures are now hidden. This can be changed to the old behaviour by specifying
proc_internals: true
in the project file. - Directories specified in the project file using a relative path are now evaluated relative to the location of that file. Previously they were evaluated relative to the location where FORD is run from. Note that relative directories specified via a command-line flag are still evaluated relative to the current working directory.
- Documentation below a line declaring multiple variables now applies to all of those variables, whereas it previously only applied to the last one on the line.
- Extensions for preprocessing must now be explicitly specified in the project file using
fpp_extensions
. This allows extensions to be used which are not necessarily upper-case (Issue #137). Defaults were selected so as to give the same result as the old default behaviour.
New Features:
- File dependency graphs are now produced, indicating the order in which files must be compiled (Issue #99)
- Fixed-form code, in files with an extension in
fixed_extensions
can now be processed (using the fixed2free tool by @ylikx) - The legacy
block data
(Issue #147) andcommon
features are now supported - Information is now provided on the number of source lines of code (Issue #98)
- Output now has better support for smaller windows and screens (Issue #103)
- Inherited public components and type-bound procedures (if they are not overridden) of derived types are now shown
- A public type's inheritance from a private type is now shown in graphs
- Environment variables can now be used in Markdown with the syntax
${ENVIRONMENT_VAR_NAME}
. If that environment variable exists the text will be replaced by its contents. Otherwise, it will be replaced by an empty string. (Issue #149) - the
@note
,@bug
,@warning
, and@todo
environments are no longer limited to a single paragraph. If an@endnote
,@endbug
,@endwarning
, or@endtodo
statement is found (before the start of another such environment) then the environment will end there. Otherwise, it will end with the paragraph it opens in, as before. (Issue #135) - Include directories can now be specified with an
--include
(or-I
) flag at the command line (Issue #143) - Call-graphs can now identify external procedures located in other files (Issue #140)
Bug Fixes and Miscellaneous:
- Keys for graphs are now specific to the type of graph being used
- Improved handling of attributes for types
- Better handling of permissions for entities
use
d in modules - Improved layouts when summarizing procedures
- Improved descriptions of where time is spent while making documents
Version 4.6.2
Bug fixes:
- Will no longer crash on FORTRAN77
block data
construct, although these will not be documented yet, either (Issue #147) - Links to source files will now work (Issues #124, #145)
- Derived types whose names start with
is
will no longer cause FORD to crash (Issue #148) - Preprocessor (
cpp
) now sees the__GFORTRAN__
macro as being defined, consistent with its behaviour using traditional mode (Issue #139)
Version 4.6.1
Version 4.6.0
New features:
- Arbitrary preprocessor can now be specified (Issue #117, PR #129)
- CPP now used as default preprocessor instead of gfortran, as former is more widespread (note that this should not
change results of preprocessing) - Pages now ordered according to file-name (Issue #121, PR #122)
- Integration of Gitter sidecar
- Optionally print date documentation created in the page footer (PR #115)
- Can export graphs as SVG images and graphviz source (Issue #97)
- Single global switch now available to hide local variables, derived types, etc. within procedures (Issue #100)
- Support for coloured edges in graphs, which can make it easier to read large graphs (Issue #113)
Bug fixes:
\g
in character literal no longer causes crash (Issue #136)- No longer interprets
concurrent
indo concurrent
as function call (Issue #131) - Header doesn't cover links to particular lines of source code in source file pages (Issue #132)
- Copying file trees now works on network file systems (Issue #128)
::
now accepted in alluse
statements (Issue #120, PR #123)deferred
now included in lists of type-bound procedure attributes- Correct handling of include paths with user's home directory specified by
~
(Part of issue #134) - Correctly interprets output from preprocessors when running with Python 3 (PR #129)
- Can now copy file hierarchies deeper than 10 directories (PR #127)
- MathJax now works for both HTTP and HTTPS (PR #126)
Version 4.5.4
Bug fix:
- FORD no longer raises an error if it encounters an empty generic interface
Version 4.5.3
Bug fixes:
- Fixed bug where FORD would not recognise procedure attributes when uppercase (Issue #107)
- Fixed failure to recognise end of interface if interface name contains brackets, for instance because it is an operator
(Issue #107) - "All derived types..." link now generated below alphabetical list on main page
- Prevented crashes when trying to generate graphs with unmatched type/constructor interface pairs
- Checking for
deferred
attribute in type-bound procedures is now case-insensitive (Issue #107) - Ensured whitespace trimmed from end of prototype procedures for deferred type-bound procedures (Issue #107)
- Fixed bug causing FORD to crash when checking deferred status of inherited type-bound procedures (Issue #107)
- Will no longer crash when printing documentation for deferred generic type-bound procedures (Issue #107)
Version 4.5.2
Various bugfixes:
- Documentation next to the
final
statement in a type definition now included with the information on the destructor (Issue #109) - Fixed bug causing all spaces to be removed from the end of a line if that line is continued. This meant that the last token on one line and the first on the next would be combined, causing errors (part of Issue #107).
- Bullet points no longer show up next to check boxes in checklists, if the markdown-checklist extension is used.
- Fixed crash when procedure has empty argument list with whitespace (Issue #106)
- Fixed regression where FORD no longer matches procedure arguments with interfaces (Issue #110)
- Fixed potential problem that a constructor could be considered
private
by FORD when the corresponding derived type ispublic
- Fixed regression causing ancestor types not to be properly recognized and linked to if they are in a different module.
Version 4.5.1
Bugfix: Typo corrected which was causing FORD to crash when analyzing interfaces located within programs. See Issue #101.
Version 4.5.0
New features:
- support for Fortran's
include
statements, which search in the directory containing the file and in the include-directories (Issue #94) - limited support for the 2008 standard's
block
constructs, with variables declared within a block not listed (Issue #96) - limited support for non-Fortran source files, as described in the wiki (Issue #52 )
- displays line numbers next to the source listings on a source-file's page
- can now specify a license for your documentation, which will be displayed in the page footer (see wiki)
- support for FORTRAN77-style
parameter
statements
Bug fixes:
- improved handling of
exclude_dir
, so that it won't fail for certain cases (Issue #95) and so that it will now also ignore subdirectories - can now catch
use
statements within procedures nested arbitrarily deep within other procedures, programs, and modules