Skip to content

Releases: JuliaTesting/ExplicitImports.jl

v1.15.0

14 Jan 10:37
702ce52

Choose a tag to compare

ExplicitImports v1.15.0

Diff since v1.14.2

New features

  • support ignore kwarg for all check_* functions (#165)
  • add new test_* API functions for better integrations into Test.jl testsuites (and to help with Aqua integration) (#143)
    • new functions: test_explicit_imports, test_no_implicit_imports, test_no_stale_explicit_imports,
      test_all_explicit_imports_via_owners, test_all_explicit_imports_are_public,
      test_all_qualified_accesses_via_owners, test_all_qualified_accesses_are_public,
      test_no_self_qualified_accesses
  • add --test flag to CLI app (#166)

Bug fixes

  • fix ignore to properly ignore submodules of ignored modules (#165)

Merged pull requests:

v1.14.2

12 Jan 14:42
5c8809b

Choose a tag to compare

ExplicitImports v1.14.2

Diff since v1.14.1

  • Fix issue where explicitly imported macros aren't detected as imported. This may cause previously undetected stale explicit imports of macros to now be detected. (#159)
  • Fix bug in kwarg default values, e.g. where f(; convert=convert) would not detect the usage of convert as external. (#148)
  • Fix scoping issues in default values of positional arguments (#147), similar to above for kwargs
  • Fix bug where if a field name in a struct was the same as the usage of a global in a constructor, that usage would be missed. (#146)
  • Fix bug where names exported by Base and re-exported by other modules are incorrectly suggested to be explicitly imported from those other modules. (#145)

Merged pull requests:

Closed issues:

  • false positive in stale names with default value for function args (#62)
  • Support earlier Julia versions (#65)
  • unanalyzable not clearly defined (#79)
  • submodules inside package extensions are not analyzable (#80)
  • Exports from submodules that are using'd in parent module not required to be explicitly imported (#84)
  • @argcheck false positive (#97)
  • implicitly imported function with same name as kwarg not recognized (#98)
  • imported name shadowed by field name (#111)
  • Name shadowing of an import when assigning it to a function argument causes spurious unused import diagnostics (#120)
  • print_explicit_imports suggests importing symbols from wrong module (#137)

v1.14.1

10 Jan 13:08
b4ab218

Choose a tag to compare

ExplicitImports v1.14.1

Diff since v1.14.0

Merged pull requests:

Closed issues:

  • Non-ASCII characters are not recognized by print_explicit_imports (#83)
  • print_explicit_imports confused by type parameters (#140)

v1.14.0

13 Nov 16:24
c7fea3e

Choose a tag to compare

ExplicitImports v1.14.0

Diff since v1.13.2

  • check_all_explicit_imports_are_public and check_all_qualified_accesses_are_public now accept a from keyword argument to limit checks to names from particular modules

Merged pull requests:

v1.13.2

11 Aug 11:36
dbed49f

Choose a tag to compare

ExplicitImports v1.13.2

Diff since v1.13.1

Merged pull requests:

  • Fix ExplicitImports to work with --depwarn=error (#132) (@devmotion)

Closed issues:

  • Doesn't work in package tests when Base.@deprecate_binding is used on Julia 1.10 (#93)

v1.13.1

21 Jul 19:20
70b4052

Choose a tag to compare

ExplicitImports v1.13.1

Diff since v1.13.0

Merged pull requests:

Closed issues:

  • name imported from parent package and passed to a function complains about stale imports (#129)

v1.13.0

19 Jul 16:49
9abe158

Choose a tag to compare

ExplicitImports v1.13.0

Diff since v1.12.0

  • ExplicitImports now requires Julia 1.10+
  • JuliaSyntax and AbstractTrees were removed as package dependencies (in favor of vendoring the code). This removes some sources of compatibility issues.

Merged pull requests:

Closed issues:

  • unknown Kind name "iteration" (#119)

v1.12.0

18 Jun 12:03
f98b7dd

Choose a tag to compare

ExplicitImports v1.12.0

Diff since v1.11.3

Merged pull requests:

v1.11.3

13 Jun 21:16
b8da192

Choose a tag to compare

ExplicitImports v1.11.3

Diff since v1.11.2

Changes

  • supports module aliases (const ModB = ModA)
  • fixes issues on Julia v1.12-beta and v1.13

Merged pull requests:

Closed issues:

  • Support module aliases (#106)
  • failure on Julia 1.13 nightly (#108)

v1.11.2

03 Apr 21:55
953c46b

Choose a tag to compare

ExplicitImports v1.11.2

Diff since v1.11.1

Merged pull requests:

Closed issues:

  • Stale imports detection doesn't seem to work with script (#102)
  • File names end up with "_" elided (#104)