Skip to content

Update SciMLLogging requirement from 1.9.1 to 1.9.1, 2.0 in the all-julia-packages group across 1 directory#528

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/julia/all-julia-packages-1d89e77539
Closed

Update SciMLLogging requirement from 1.9.1 to 1.9.1, 2.0 in the all-julia-packages group across 1 directory#528
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/julia/all-julia-packages-1d89e77539

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 1, 2026

Updates the requirements on SciMLLogging to permit the latest version.
Updates SciMLLogging to 2.0.0

Release notes

Sourced from SciMLLogging's releases.

v2.0.0

SciMLLogging v2.0.0

Diff since v1.9.1

Breaking Changes

MessageLevel is now a concrete struct, no longer an abstract type with per-level subtypes. Silent, DebugLevel, InfoLevel, WarnLevel, and ErrorLevel are now MessageLevel constants. Custom levels are constructed by calling MessageLevel(n) directly. The AbstractMessageLevel and CustomLevel names have been removed — code referring to them must be updated to use MessageLevel.

Silent(), InfoLevel(), etc. still work — calling a MessageLevel instance returns itself, so existing call-site syntax is unaffected. Code that dispatched on the old subtypes (e.g. f(::WarnLevel)) needs to be rewritten to compare values (level == WarnLevel). AbstractVerbositySpecifier is now parametric on {Enabled}. Concrete specifier types must subtype AbstractVerbositySpecifier{Enabled} for some Enabled parameter. The macro-generated specifiers do this automatically; hand-written specifiers must be updated:

Before

struct MyVerbosity <: AbstractVerbositySpecifier
    option_a
    option_b
end

After

struct MyVerbosity{Enabled} <: AbstractVerbositySpecifier{Enabled}
    option_a::MessageLevel
    option_b::MessageLevel
end

The Enabled parameter drives a compile-time short-circuit in @​SciMLMessage: instances constructed via None() produce MyVerbosity{false}, and get_message_level(::AbstractVerbositySpecifier{false}, ::Any) returns nothing, eliminating logging branches at compile time.

Added sub_specifiers = (...) block in @verbosity_specifier — declare fields that hold another verbosity specifier or preset. Each declared sub_specifier becomes its own free type parameter on the generated struct, so the field is concretely typed at the instance level. This preserves inference when the sub-specifier is forwarded to a downstream API, and lets a package hold a sub-specifier whose type it does not depend on at definition time (e.g. DiffEqBase holding a NonlinearVerbosity without depending on NonlinearSolve).

@verbosity_specifier DEVerbosity begin
    toggles        = (:dt_select, :step_rejected)
    sub_specifiers = (:nonlinear_verbosity, :linear_verbosity)
    presets = (
        Standard = (
            dt_select           = InfoLevel,
            step_rejected       = WarnLevel,
            nonlinear_verbosity = Standard(),       # preset OR
            linear_verbosity    = LinearVerbosity(), # sub-spec instance
        ),
        # ...
    )
    groups = ()
end

The macro generates roughly:

</tr></table> 

... (truncated)

Changelog

Sourced from SciMLLogging's changelog.

[2.0.0]

Breaking

  • MessageLevel is now a concrete struct, no longer an abstract type with per-level subtypes. Silent, DebugLevel, InfoLevel, WarnLevel, and ErrorLevel are now MessageLevel constants. Custom levels are constructed by calling MessageLevel(n) directly. The AbstractMessageLevel and CustomLevel names have been removed — code referring to them must be updated to use MessageLevel.

    • Silent(), InfoLevel(), etc. still work — calling a MessageLevel instance returns itself, so existing call-site syntax is unaffected.
    • Code that dispatched on the old subtypes (e.g. f(::WarnLevel)) needs to be rewritten to compare values (level == WarnLevel).
  • AbstractVerbositySpecifier is now parametric on {Enabled}. Concrete specifier types must subtype AbstractVerbositySpecifier{Enabled} for some Enabled parameter. The macro-generated specifiers do this automatically; hand-written specifiers must be updated:

    # Before
    struct MyVerbosity <: AbstractVerbositySpecifier
        option_a
        option_b
    end
    After
    struct MyVerbosity{Enabled} <: AbstractVerbositySpecifier{Enabled}
    option_a::MessageLevel
    option_b::MessageLevel
    end

    The Enabled parameter drives a compile-time short-circuit in @SciMLMessage: instances constructed via None() produce MyVerbosity{false}, and get_message_level(::AbstractVerbositySpecifier{false}, ::Any) returns nothing, eliminating logging branches at compile time.

Added

  • sub_specifiers = (...) block in @verbosity_specifier — declare fields that hold another verbosity specifier or preset. Each declared sub_specifier becomes its own free type parameter on the generated struct, so the field is concretely typed at the instance level. This preserves inference when the sub-specifier is forwarded to a downstream API, and lets a package hold a sub-specifier whose type it does not depend on at definition time (e.g. DiffEqBase holding a NonlinearVerbosity without depending on NonlinearSolve).
    @verbosity_specifier DEVerbosity begin
        toggles        = (:dt_select, :step_rejected)

... (truncated)

Commits
  • 0342920 Merge pull request #65 from jClugstor/type_changes
  • 7c2690c update docs compat bound
  • 6ab339d make other bakcends not depend on LogLevel
  • 87ccbf6 get rid of CustomLevel
  • 73b2235 use parens less form of Message Levels
  • 27cc6bf remove AbstractMessageLevel, update docs, docstrings
  • 431d9d3 add changelog, fix up docstrings
  • 86974e9 format
  • a8670db bump version
  • bb372de more docs and doc string fixes
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file julia Pull requests that update julia code labels May 1, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 11, 2026

Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting @dependabot recreate.

Updates the requirements on [SciMLLogging](https://github.com/SciML/SciMLLogging.jl) to permit the latest version.

Updates `SciMLLogging` to 2.0.0
- [Release notes](https://github.com/SciML/SciMLLogging.jl/releases)
- [Changelog](https://github.com/SciML/SciMLLogging.jl/blob/main/CHANGELOG.md)
- [Commits](SciML/SciMLLogging.jl@v1.9.1...v2.0.0)

---
updated-dependencies:
- dependency-name: SciMLLogging
  dependency-version: 2.0.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/julia/all-julia-packages-1d89e77539 branch from 43f2f6d to 1c9abb9 Compare May 12, 2026 10:24
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 15, 2026

Looks like SciMLLogging is no longer updatable, so this is no longer needed.

@dependabot dependabot Bot closed this May 15, 2026
@dependabot dependabot Bot deleted the dependabot/julia/all-julia-packages-1d89e77539 branch May 15, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file julia Pull requests that update julia code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants