Releases: AlDanial/cloc
v2.02
New Languages and File Types:
- Arturo
- Glimmer JavaScript
- Glimmer TypeScript
- Luau
- Modelica
- Mojo
- Nickel
- Pawn
- Processing
- Templ
- Yang
Updates:
- Support SQL output with
--diff
- Support counting in git repository directories not owned by the user.
- Eliminate the need to write temporary files when using
--fmt
. - Restore Dockerfile CI by fixing CPAN module setup that somehow stopped installing
Parallel::ForkManager
. - Improve handling of C comments in Go strings.
Bug fixes:
- Improve
--fmt
output column alignments. - Handle
--no-match
when combined with--fullpath
and--vcs
.
Update 2024-08-25: Added a second Windows executable, cloc-2.02-winget.exe
, which includes PR #850 to resolve the symlink problem described in #849. winget
in particular uses symlinks when it installs applications.
v2.00
Note: There are no breaking changes between the 1.xx versions and this 2.00 release.
New Languages and File Types:
- AnsProlog
- AppleScript
- ArkTs
- Astro
- Dafny
- PlusCal
- Prisma Schema
- PRQL
- Slint
- Snakemake
- TLA+
- vyper
Updates:
- Five new output formats with the new
--fmt
switch. Includes the often- requested addition of language name with--by-file
counts. - *.o.d files are ignored
- Added .j2 as a Jinja Template extension.
- Added .mts as a TypeScript extension.
- Added .iuml, .pu. .plantuml, .wsd as as PlantUML extensions.
- Support Java block comments.
- More consistent and accurate results from
--diff
. - Disambiguate .inc files among PHP, Pascal, and Fortran.
- Ignore .gitattribute files.
- Improved support for
--exclude-list-file
. - Fix JSON output generator which inserted a superfluous comma.
- Recognize autogenerated C# SpecFlow files and ignore them with
--no-autogen
. - Support
--list-file
with--git-diff-*
. - SQL output: add foreign key 'id' to table t referencing 'id' in the metadata table. The key value is Unix epoch seconds when cloc was invoked.
- Support // comments in ReasonML.
- Support directories in exclusion list files; all files below the named directories are excluded.
- Support
--exclude-file-list
with--git --diff
. - New switch,
--strip-code
, which attempts to only leave comments in the output file.
Bug fixes:
- More accurate counts of XML with block comments.
- More accurate counts of Java with block comments and comment markers within strings.
- Fix improper handling of
--match-d
and--not-match-d
.
v1.98
New Languages: Asymptote, CoCoA 5, Constraint Grammar, Hare, Jai, Linker Script, NetLogo, Typst
Updates:
- Added .editorconfig as an INI extension.
- Added .cppm, .ixx, .ccm, .cxxm, .c++m as C++ extensions.
- Improved handling of trailing slash with
--match-d
--exclude-list-file
with--git
now works as expected.--not-match-d
,--not-match-f
can now be repeated.--quiet
mode is now enabled when STDOUT is not a terminal. This makes for cleaner output when piping to other programs.- New switch
--include-content=regex
to only count files whose content matches the given regex. - New switch
--only-count-files
to only count files. Counts for blank, comment, and code lines will be zero.
Bug fixes:
--no-recurse
now works on Windows- Improved exclusion of autogenerated files on Windows.
- Improved handling of path separators with git in PowerShell.
- Resolve nondeterministic
--diff
output. --hide-rate
supports all output file types- Fixed
--diff-list-file
with unknown listed file. - Fixed parsing of verbose option in the cloc configuration file.
NOTE: The next release of cloc will be 2.00. Despite the major version number bump, there will be no breaking changes.
v1.96.1 (Windows executable only)
This release merely updates the Windows executable of cloc 1.96 to use the Win32::LongPath
module per issue #704. The cloc source code itself is unchanged from 1.96. Here's the VirusTotal entry for this updated v1.96.1 executable.
If you use the source version of cloc, or if Win32::LongPath
isn't important to you, use the regular 1.96 release bundle.
v1.96
Update 2023-01-10 for Windows users: minor release 1.96.1 has an updated executable that works better for Windows file paths longer than 255 characters.
New Languages: Cairo, Carbon, Circom, Containerfile, HolyC, kvlang, Nunjucks, OpenSCAD, P4, Pest, Pony, TEAL, WGSL
Updates: New switch --diff-list-files
to run diff given two list files; handle comments embedded in OCaml strings; write empty JSON and XML structures if the inputs yield zero counts; support for long paths on Windows; better support for building and running Docker image on Windows; better output file names when running with --count-and-diff
and --out
; resolve internal file handle conflict when running --diff
with --sdir
or --categorized
.
v1.94
Added support for languages Derw, Finite State Language, Flatbuffers, Futhark, Godot Shaders, HTML EEx, Lem, PEG, peg.js, peggy, tspeg, Text (.txt and .text), Visual Studio Module, X++.
Updates include making arguments to --include-lang
case insensitive; adding git metadata (origin, branch, commit hash) in XML output when running with --git
and --xml
. Future releases will include the git metadata additions in YAML, JSON, SQL, and Markdown output as well. The new switch --no-recurse
prevents recursive directory traversal.
1.92
New languages GraphQL, Metal Shading Language, PlantUML, Properties, Umka. Better consistency with upper- and lowercase file names on Windows. Bug fixes for --force-lang-def, --csv-delimiter, --vcs=git with --max-file-size, --unicode, --ignored (directory names no longer appear).
1.90
New languages BizTalk Orchestration, BizTalk Pipeline, Cake Build Script, C# Designer, CSV, Delphi Form, Gleam, Godot Resource, Godot Scene, Juniper Junos, ReScript, Ring, Visual Studio Solution, Web Services Description, Zig. Track upper/lowercase file names on Windows to permit consistent diffs, support macOS in Makefule, improve logic to identify Dockerfiles, update to Regexp::Common 2017060201, Minimum Perl version raised to 5.10.0.
1.88
1.86
New languages: ASP.NET Core Blazor WASM, Bazel, dhall, Squirrel, SugarSS, Svelte, TNSDL. Perl 6 is renamed to Raku. Two algorithms are implemented for --git --diff
: the new switch --git-diff-rel
only computes differences for files which have deltas while --git-diff-all
performs the complete diff for all files in the repo at the two states. Several bugs related to language inclusion or exclusion along with --diff
were fixed.