Cloc Versions Save

cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.

v2.00

2 months ago

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

8 months ago

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

1 year ago

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

1 year ago

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

1 year ago

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.

v1.92

2 years ago

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).

v1.90

2 years ago

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

3 years ago

Add missing Raku_or_Prolog() subroutine; new languages and file types LLVM IR, Logos, Meson, Mojo, Odin, Jinja Templates, WXML, WXSS; support MATLAB block comments; minor bug fixes.

1.86

3 years ago

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.

1.84

4 years ago

Added support for APL, Apache Thrift, Imba, IPL, SaltStack. Improved accuracy of --git --diff. New options --stat, --exclude-content, --timeout; miscellaneous bug fixes.