package dunolint-lib-base

  1. Overview
  2. Docs

doc/CHANGES.html

0.0.20260306 (2026-03-06)

From this version, pre-compiled release binaries are included as compressed archives.

Added

  • Distribute compressed archived for release artifacts (#PR, @mbarbin).

Changed

  • Upgrade to recent actions/attest GitHub workflow (#PR, @mbarbin).

0.0.20260211 (2026-02-11)

Starting from this version we're using GitHub immutable releases.

Added

  • Add library modes mem variadic construct (#174, @mbarbin).
  • Adapt release artifacts jobs for immutable releases (@mbarbin).
  • Added new CI workflow based on setup-dune (@mbarbin).
  • Add some library and executable linter getters/setters (#163, @mbarbin).

Changed

  • Extract dune lang format directly from enclosing context (#177, @mbarbin).
  • Support supplying flags to instrumentation backends (#175, @mbarbin).
  • Migrate main and doc CIs to setup-dune (#171, @mbarbin).
  • Assorted improvements to CI scripts. Upgrade an pin actions deps (#173, @mbarbin).
  • Generalize Dunolint_engine.with_linter helper (#163, @mbarbin).

Deprecated

  • Deprecate has_mode and has_modes library modes, replaced by mem (#172, @mbarbin).

Fixed

  • Fix new dune build target unused-libs (#171, @mbarbin).
  • Fix tests and prepare compatibility with dune.3.21 (#167, @mbarbin).

Removed

  • Removed deprecated load_existing_libraries private helper (#163, @mbarbin).
  • Removed root dune-workspace causing build issues with dune.3.17. (@mbarbin).

0.0.20260103 (2026-01-03)

Added

  • Show supported candidates in invalid construct sexp error (#162, @mbarbin).
  • Add initial support for package predicates in libraries (#161, @mbarbin).
  • Add new qualifier if_present to enforce only if field is present (#159, @mbarbin).
  • Add predicates for the (inline_tests) library stanza (#157, @mbarbin).
  • Add support for DUNE_ROOT environment variable (#156, @mbarbin).
  • Add initial support for linting dune-workspace files (#153, @mbarbin).
  • Add initial support for linting dunolint files (#146, @mbarbin).
  • Enabled OCaml 5.4 in CI (#136, @mbarbin).
  • Added new tests (#132, @mbarbin).

Changed

  • Improve tests for sexp and equal functions and their coverage (#162, @mbarbin).
  • Support multiple input files in tools lint-file --in-place (#158, @mbarbin).
  • Make a few dunolint config parsing errors more friendly (#155, @mbarbin).
  • Refactor sexp parsing - prerequisite for future improvements (#152, @mbarbin).
  • Cleanup implementation of equal functions (#151, @mbarbin).
  • Extend lang version compare operators (#145, @mbarbin).
  • Upgrade actions/checkout to v6 (#138, @mbarbin).
  • Improved licensing headers for vendored blang (#144, @mbarbin).
  • Refactor pkg directory structure (#143, @mbarbin).
  • Improve some format & diff in some internal tests (#137, @mbarbin).
  • Upgrade to and require fixes from fpath-sexp0.0.4.0 (#133, @mbarbin).
  • Made some internal refactors suggested by the Zanuda linter (#130, @mbarbin).

Fixed

  • Fix location of sexp error on invalid atoms (#160, @mbarbin).
  • Fix enforce on absent public_name fields (#159, @mbarbin).
  • Allow dash char in package names (#154, @mbarbin).

Removed

  • Removed expect_test_helpers_core dependency (#154, @mbarbin).
  • Removed unused compare functions on rules & predicates (#150, @mbarbin).
  • Removed redundant skip_paths constructs from dunolint config (#149, @mbarbin).
  • Removed now unused fpath dependency from dunolint-lib (#142, @mbarbin).
  • Removed deprecated construct path.equals (#142, @mbarbin).
  • Removed support for config version v0 (#141, @mbarbin).

0.0.20251006 (2025-10-06)

Added

  • Added 'Config Autoloading' documentation page (#129, @mbarbin).
  • Add test for config cache (#128, @mbarbin).
  • Implement dunolint config files autoloading (#127, @mbarbin).
  • Added 'First Run Through' tutorial (#115, @mbarbin).
  • Added 'Quick Start' tutorial (#106, @mbarbin).

Changed

  • Always include default skip paths in config (#125, @mbarbin).
  • Refactors to prepare config autoloading (#121, #122, #123, #124, #126, @mbarbin).
  • Make dunolint aware of and use dune workspaces (#113, @mbarbin)
  • Remove support for --enforce in lint-file tool (#118, @mbarbin).
  • Update doc for (lang dunolint 1.0) (#110, @mbarbin).
  • Upgrade to recent pplumbing repackaging (#109, @mbarbin).
  • Upgrade crs actions (#108, @mbarbin).

Fixed

  • Fix workspace root detection in dune test envs (#120, @mbarbin).
  • Fix parsing errors of dune version in dune-project (#112, @mbarbin).

0.0.20250910-1 (2025-09-10)

Fixed

  • Missing opam dependency dunolint-lib-base (@mbarbin).

0.0.20250910 (2025-09-10)

Added

  • Support new (lang dunolint 1.0) config stanzas format for dunolint files (#105, @mbarbin).
  • New lib dunolint-lib-base to extend dunolint-lib for base users (#99, @mbarbin).

Changed

  • Now autoload config files if present at "$PWD/dunolint" (#103, #104, @mbarbin).
  • Move the dunolint config at the root of the repo (#102, @mbarbin).
  • Change dune-lang sexps to be atoms (e.g. "3.19") instead of tuples (#101, @mbarbin).
  • Remove base and ppx dependencies from dunolint-lib (#99, @mbarbin).
  • Always use versioned sexp for config (#98, @mbarbin).

Fixed

  • Improve location and messages for sexp loading errors (#100, @mbarbin).
  • Config loading errors are no longer internal errors and now reported with locations when able (#97, @mbarbin).

0.0.20250907 (2025-09-07)

Added

  • Added dependency to volgo-vcs in preparation for future features (#89, @mbarbin).
  • Supports linting the dune lang version in dune-project files (#93, @mbarbin).
  • Supports implicit trans deps false-if-hidden-includes-supported value (#92, @mbarbin).

Changed

  • Prepare transition to versioned API and config format (#96, @mbarbin).
  • Upgrade docusaurus dependencies to current latest (#94, @mbarbin).
  • Changes (implicit_transitive_deps _) config value from bool to variant (#92, @mbarbin).
  • Improved testing coverage (#90, #91, @mbarbin).

Fixed

  • Correctly propagate skip_subtree when returned from rules (#90, @mbarbin).

0.0.20250804 (2025-08-04)

Added

  • Made all names in dunolint lib export Comparable.S (#84, @mbarbin).

Changed

  • Move sections handling logic into helper module (#85, @mbarbin).
  • Move comment handling logic into helper module (#84, @mbarbin).

Fixed

  • Entries pps are now sorted by sections when separated by comments (#86, @mbarbin, reported and suggested by @raphael-proust).

0.0.20250730 (2025-07-30)

Added

  • Improve canonical order of libraries to open via flags (#83, @mbarbin).
  • Add support for ordered-set and use it in library.modes (#81, @mbarbin).
  • Enable CRs workflows (experimental) (#76, #78, @mbarbin).
  • Add tests (#67, #68, @mbarbin).

Changed

  • Improved testing coverage (#80, @mbarbin).
  • Small refactors, tweaks & code improvement (#77, #79, @mbarbin).
  • Use Git_pager from opam package pageantty instead of vendoring it (#73, @mbarbin).
  • Refactor enforce functions to ease further testing (#72, @mbarbin).
  • Support building dunolint-lib with OCaml 4.14 (#65, @mbarbin).
  • Updated git-pager and err dependencies (#63, #64, @mbarbin).

Fixed

  • Fix unexpected rewrites on duped flags in libs (#82, @mbarbin).
  • Fix some cram test failures shown by ocaml-ci (#75, @mbarbin).
  • Fix disabling of color when --color=never is supplied (#70, @mbarbin).
  • Fix doc location for installation guide (#69, @mbarbin).
  • Fix git pager clean termination when displayed diff exceeds 1 page (#61, @mbarbin).

Removed

  • Replace library equals MODES by has_modes construct (#81, @mbarbin).

0.0.20250403 (2025-04-03)

Added

  • Added command tools lint-file to ease editor integration (#39, #40, #46, @mbarbin, requested by and with help from @arvidj).
  • Added support for library.modes (#23, #27, @mbarbin, requested by @raphael-proust)
  • Document release process and current state (#25, @mbarbin).
  • Added coverage and regression tests (#18, #19, #30, #33, #34, #48, @mbarbin).

Changed

  • Reduce dependencies of config library (#49, #51, @mbarbin).
  • Enabled setup-ocaml's dune-cache in CI (#52, @mbarbin).
  • Upgrade Docusaurus to latest available (#24, @mbarbin).

Fixed

  • Add missing melange library mode (#43, #44, @mbarbin, reported by @arvidj).
  • Fixes for odoc.3.0.0 (#28, #32, @mbarbin, with help from @jonludlam)

Removed

  • Disabled failing macos build from CI for now (#20, @mbarbin).

0.0.20250315 (2025-03-15)

Added

  • Prepare to include more ci workflows incrementally in the future (#16, @mbarbin).

Changed

  • Dependencies in libraries are now sorted by sections when separated by comments (#12, #14, @mbarbin, reported and suggested by @raphael-proust).

0.0.20250310 (2025-03-10)

Added

  • Added new tests (#8, #10, @mbarbin).
  • Enabled sending coverage reports to Coveralls (#7, @mbarbin).

Changed

  • Replace pp-log deps by pplumbing to prepare for publishing to opam (#11, @mbarbin).
  • Internal lib rename (command -> cli) (#9, @mbarbin).
  • Replace Eio-based deps by a combination of Unix and Stdio (#6, @mbarbin).

0.0.20250211 (2025-02-11)

This very early draft release is intended for publication to my custom opam-repository. It allows for initial experimentation and ensures that the release cycle and distribution process are functioning correctly.

Added

  • Initialize a dunolint config for dunolint.
  • Initialize documentation.
  • Initialize project, add LICENSE, etc.