{"id":92644,"name":"SciMLLogging","ecosystem":"julia","repository_url":"https://github.com/SciML/SciMLLogging.jl","issues_count":2,"created_at":"2026-05-18T05:10:10.454Z","updated_at":"2026-05-18T05:10:10.454Z","purl":"pkg:julia/SciMLLogging","metadata":{"id":11989440,"name":"SciMLLogging","ecosystem":"julia","description":"A logging system for SciML","homepage":"https://docs.sciml.ai/SciMLLogging/dev/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/SciML/SciMLLogging.jl","keywords_array":[],"namespace":null,"versions_count":14,"first_release_published_at":"2025-08-01T00:00:00.000Z","latest_release_published_at":"2026-02-01T00:00:00.000Z","latest_release_number":"1.9.1","last_synced_at":"2026-04-01T03:58:29.409Z","created_at":"2025-08-08T15:20:56.581Z","updated_at":"2026-04-01T03:58:30.768Z","registry_url":"https://juliahub.com/ui/Packages/General/SciMLLogging/","install_command":"Pkg.add(\"SciMLLogging\")","documentation_url":"https://docs.juliahub.com/General/SciMLLogging/stable/","metadata":{"uuid":"a6db7da4-7206-11f0-1eab-35f2a5dbe1d1"},"repo_metadata":{"id":302692140,"uuid":"1013312640","full_name":"SciML/SciMLLogging.jl","owner":"SciML","description":"A logging system for SciML","archived":false,"fork":false,"pushed_at":"2025-10-21T18:09:34.000Z","size":510,"stargazers_count":6,"open_issues_count":3,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-21T19:33:17.175Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.sciml.ai/SciMLLogging/dev/","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SciML.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"SciML"}},"created_at":"2025-07-03T17:30:43.000Z","updated_at":"2025-10-21T17:54:46.000Z","dependencies_parsed_at":"2025-07-03T18:55:03.680Z","dependency_job_id":"944d2b4b-aa23-4952-9c2e-a53b9df9e050","html_url":"https://github.com/SciML/SciMLLogging.jl","commit_stats":null,"previous_names":["sciml/scimlverbosity.jl","sciml/scimllogging.jl"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/SciML/SciMLLogging.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SciML","download_url":"https://codeload.github.com/SciML/SciMLLogging.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281476640,"owners_count":26508143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"SciML","name":"SciML Open Source Scientific Machine Learning","uuid":"21238080","kind":"organization","description":"Open source software for scientific machine learning","email":"contact@chrisrackauckas.com","website":"https://sciml.ai","location":null,"twitter":"SciML_Org","company":null,"icon_url":"https://avatars.githubusercontent.com/u/21238080?v=4","repositories_count":170,"last_synced_at":"2024-05-20T14:12:50.601Z","metadata":{"has_sponsors_listing":true,"funding":{"github":"SciML"}},"html_url":"https://github.com/SciML","funding_links":["https://github.com/sponsors/SciML"],"total_stars":19637,"followers":1094,"following":0,"created_at":"2022-11-05T00:07:41.470Z","updated_at":"2024-05-20T14:12:53.125Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SciML","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SciML/repositories"},"tags":[{"name":"v1.3.1","sha":"dcec62e1ca71c8561f4b50a5063cb37f5cca3ca2","kind":"tag","published_at":"2025-10-21T18:09:33.000Z","download_url":"https://codeload.github.com/SciML/SciMLLogging.jl/tar.gz/v1.3.1","html_url":"https://github.com/SciML/SciMLLogging.jl/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/SciML/SciMLLogging.jl@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"572546a9e758ac742f7d4d863a436de7ca2266b5","kind":"tag","published_at":"2025-10-14T14:53:12.000Z","download_url":"https://codeload.github.com/SciML/SciMLLogging.jl/tar.gz/v1.3.0","html_url":"https://github.com/SciML/SciMLLogging.jl/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/SciML/SciMLLogging.jl@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.3.0/manifests"},{"name":"v1.2","sha":"3003339cb6d6e40448cea8fa083c66cfddcede4f","kind":"commit","published_at":"2025-09-25T18:42:46.000Z","download_url":"https://codeload.github.com/SciML/SciMLLogging.jl/tar.gz/v1.2","html_url":"https://github.com/SciML/SciMLLogging.jl/releases/tag/v1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/SciML/SciMLLogging.jl@v1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.2/manifests"},{"name":"v1.2.0","sha":"a0c8a90c11c6158d410166891e8d8f2ecbf9255f","kind":"tag","published_at":"2025-07-25T20:15:52.000Z","download_url":"https://codeload.github.com/SciML/SciMLLogging.jl/tar.gz/v1.2.0","html_url":"https://github.com/SciML/SciMLLogging.jl/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/SciML/SciMLLogging.jl@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"8be0d36382605f0db173d496a1fbeb683c3fdbcb","kind":"tag","published_at":"2025-07-25T17:14:14.000Z","download_url":"https://codeload.github.com/SciML/SciMLLogging.jl/tar.gz/v1.1.0","html_url":"https://github.com/SciML/SciMLLogging.jl/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/SciML/SciMLLogging.jl@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"e96a843eba69a67b750438e3c8f906d2efffa8d6","kind":"commit","published_at":"2025-07-25T16:12:15.000Z","download_url":"https://codeload.github.com/SciML/SciMLLogging.jl/tar.gz/v1.0.1","html_url":"https://github.com/SciML/SciMLLogging.jl/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/SciML/SciMLLogging.jl@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"432b772e49d794429729a4220022163dab452434","kind":"tag","published_at":"2025-07-13T20:34:40.000Z","download_url":"https://codeload.github.com/SciML/SciMLLogging.jl/tar.gz/v1.0.0","html_url":"https://github.com/SciML/SciMLLogging.jl/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/SciML/SciMLLogging.jl@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2026-04-01T03:58:30.734Z","dependent_packages_count":0,"downloads":149440,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":8.182902584493041,"dependent_packages_count":35.2286282306163,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":21.705765407554672},"purl":"pkg:julia/SciMLLogging","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/julia/SciMLLogging","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/julia/SciMLLogging","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/julia/SciMLLogging/dependencies","status":null,"funding_links":["https://github.com/sponsors/SciML"],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-30T00:13:49.677Z","issues_count":1,"pull_requests_count":12,"avg_time_to_close_issue":21.0,"avg_time_to_close_pull_request":16501.0,"issues_closed_count":1,"pull_requests_closed_count":5,"pull_request_authors_count":3,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":5,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":1,"past_year_pull_requests_count":12,"past_year_avg_time_to_close_issue":21.0,"past_year_avg_time_to_close_pull_request":16501.0,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":5,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FSciMLLogging.jl/issues","maintainers":[{"login":"jClugstor","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jClugstor"}],"active_maintainers":[{"login":"jClugstor","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jClugstor"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/SciMLLogging/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/SciMLLogging/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/SciMLLogging/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/SciMLLogging/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/SciMLLogging/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/SciMLLogging/codemeta","maintainers":[],"registry":{"name":"juliahub.com","url":"https://juliahub.com","ecosystem":"julia","default":true,"packages_count":13730,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"JuliaRegistries","metadata":{"funded_packages_count":851},"icon_url":"https://github.com/JuliaRegistries.png","created_at":"2022-04-19T16:34:08.340Z","updated_at":"2026-04-03T06:47:58.091Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/namespaces"}},"unique_repositories_count":2,"unique_repositories_count_past_30_days":2,"recent_issues":[{"uuid":"4362731401","node_id":"PR_kwDOARyEx87XVeh7","number":90,"state":"closed","title":"Update SciMLLogging requirement from 1.9.1 to 1.9.1, 2.0 in the all-julia-packages group across 1 directory","user":"dependabot[bot]","labels":["dependencies","julia"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-18T04:33:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-01T04:05:05.000Z","updated_at":"2026-05-18T04:33:28.000Z","time_to_close":1470501,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"SciMLLogging","old_version":"1.9.1","new_version":"1.9.1, 2.0","repository_url":"https://github.com/SciML/SciMLLogging.jl"}],"path":"the all-julia-packages group across 1 directory","ecosystem":"julia"},"body":"Updates the requirements on [SciMLLogging](https://github.com/SciML/SciMLLogging.jl) to permit the latest version.\nUpdates `SciMLLogging` to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/releases\"\u003eSciMLLogging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003ch2\u003eSciMLLogging v2.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/compare/v1.9.1...v2.0.0\"\u003eDiff since v1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cp\u003eMessageLevel 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.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSilent()\u003c/code\u003e, \u003ccode\u003eInfoLevel()\u003c/code\u003e, etc. still work — calling a MessageLevel instance returns itself, so existing call-site syntax is unaffected.\nCode that dispatched on the old subtypes (e.g. \u003ccode\u003ef(::WarnLevel)\u003c/code\u003e) needs to be rewritten to compare values \u003ccode\u003e(level == WarnLevel)\u003c/code\u003e.\n\u003ccode\u003eAbstractVerbositySpecifier\u003c/code\u003e is now parametric on \u003ccode\u003e{Enabled}\u003c/code\u003e. Concrete specifier types must subtype \u003ccode\u003eAbstractVerbositySpecifier{Enabled}\u003c/code\u003e for some Enabled parameter. The macro-generated specifiers do this automatically; hand-written specifiers must be updated:\u003c/p\u003e\n\u003ch1\u003eBefore\u003c/h1\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003estruct MyVerbosity \u0026lt;: AbstractVerbositySpecifier\n    option_a\n    option_b\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eAfter\u003c/h1\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003estruct MyVerbosity{Enabled} \u0026lt;: AbstractVerbositySpecifier{Enabled}\n    option_a::MessageLevel\n    option_b::MessageLevel\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe Enabled parameter drives a compile-time short-circuit in \u003ca href=\"https://github.com/SciMLMessage\"\u003e\u003ccode\u003e@​SciMLMessage\u003c/code\u003e\u003c/a\u003e: instances constructed via \u003ccode\u003eNone()\u003c/code\u003e produce \u003ccode\u003eMyVerbosity{false}\u003c/code\u003e, and \u003ccode\u003eget_message_level(::AbstractVerbositySpecifier{false}, ::Any)\u003c/code\u003e returns \u003ccode\u003enothing\u003c/code\u003e, eliminating logging branches at compile time.\u003c/p\u003e\n\u003cp\u003eAdded\n\u003ccode\u003esub_specifiers = (...)\u003c/code\u003e block in \u003ccode\u003e@verbosity_specifier\u003c/code\u003e — 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).\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e@verbosity_specifier DEVerbosity begin\n    toggles        = (:dt_select, :step_rejected)\n    sub_specifiers = (:nonlinear_verbosity, :linear_verbosity)\n    presets = (\n        Standard = (\n            dt_select           = InfoLevel,\n            step_rejected       = WarnLevel,\n            nonlinear_verbosity = Standard(),       # preset OR\n            linear_verbosity    = LinearVerbosity(), # sub-spec instance\n        ),\n        # ...\n    )\n    groups = ()\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe macro generates roughly:\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/blob/main/CHANGELOG.md\"\u003eSciMLLogging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.0]\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMessageLevel\u003c/code\u003e is now a concrete struct\u003c/strong\u003e, no longer an abstract type with\nper-level subtypes. \u003ccode\u003eSilent\u003c/code\u003e, \u003ccode\u003eDebugLevel\u003c/code\u003e, \u003ccode\u003eInfoLevel\u003c/code\u003e, \u003ccode\u003eWarnLevel\u003c/code\u003e, and\n\u003ccode\u003eErrorLevel\u003c/code\u003e are now \u003ccode\u003eMessageLevel\u003c/code\u003e constants. Custom levels are constructed\nby calling \u003ccode\u003eMessageLevel(n)\u003c/code\u003e directly. The \u003ccode\u003eAbstractMessageLevel\u003c/code\u003e and\n\u003ccode\u003eCustomLevel\u003c/code\u003e names have been removed — code referring to them must be\nupdated to use \u003ccode\u003eMessageLevel\u003c/code\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSilent()\u003c/code\u003e, \u003ccode\u003eInfoLevel()\u003c/code\u003e, etc. still work — calling a \u003ccode\u003eMessageLevel\u003c/code\u003e\ninstance returns itself, so existing call-site syntax is unaffected.\u003c/li\u003e\n\u003cli\u003eCode that dispatched on the old subtypes (e.g. \u003ccode\u003ef(::WarnLevel)\u003c/code\u003e) needs to\nbe rewritten to compare values (\u003ccode\u003elevel == WarnLevel\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eAbstractVerbositySpecifier\u003c/code\u003e is now parametric on \u003ccode\u003e{Enabled}\u003c/code\u003e\u003c/strong\u003e. Concrete\nspecifier types must subtype \u003ccode\u003eAbstractVerbositySpecifier{Enabled}\u003c/code\u003e for some\n\u003ccode\u003eEnabled\u003c/code\u003e parameter. The macro-generated specifiers do this automatically;\nhand-written specifiers must be updated:\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e# Before\nstruct MyVerbosity \u0026lt;: AbstractVerbositySpecifier\n    option_a\n    option_b\nend\n\u003ch1\u003eAfter\u003c/h1\u003e\n\u003cp\u003estruct MyVerbosity{Enabled} \u0026lt;: AbstractVerbositySpecifier{Enabled}\noption_a::MessageLevel\noption_b::MessageLevel\nend\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eEnabled\u003c/code\u003e parameter drives a compile-time short-circuit in\n\u003ccode\u003e@SciMLMessage\u003c/code\u003e: instances constructed via \u003ccode\u003eNone()\u003c/code\u003e produce\n\u003ccode\u003eMyVerbosity{false}\u003c/code\u003e, and \u003ccode\u003eget_message_level(::AbstractVerbositySpecifier{false}, ::Any)\u003c/code\u003e\nreturns \u003ccode\u003enothing\u003c/code\u003e, eliminating logging branches at compile time.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003esub_specifiers = (...)\u003c/code\u003e block in \u003ccode\u003e@verbosity_specifier\u003c/code\u003e\u003c/strong\u003e — declare fields\nthat hold another verbosity specifier or preset. Each declared sub_specifier\nbecomes its own free type parameter on the generated struct, so the field is\nconcretely typed at the instance level. This preserves inference when the\nsub-specifier is forwarded to a downstream API, and lets a package hold a\nsub-specifier whose type it does not depend on at definition time\n(e.g. DiffEqBase holding a NonlinearVerbosity without depending on\nNonlinearSolve).\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e@verbosity_specifier DEVerbosity begin\n    toggles        = (:dt_select, :step_rejected)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/03429202c1ff187adbf85e8bb1944e705481c507\"\u003e\u003ccode\u003e0342920\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/SciML/SciMLLogging.jl/issues/65\"\u003e#65\u003c/a\u003e from jClugstor/type_changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/7c2690c07bd001c66db579047ec8aaecd4cde858\"\u003e\u003ccode\u003e7c2690c\u003c/code\u003e\u003c/a\u003e update docs compat bound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/6ab339db91d6a5956fb1b463e84c053dba1875d0\"\u003e\u003ccode\u003e6ab339d\u003c/code\u003e\u003c/a\u003e make other bakcends not depend on LogLevel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/87ccbf691d49f2a202b71e46f24be4c3c3f00e2e\"\u003e\u003ccode\u003e87ccbf6\u003c/code\u003e\u003c/a\u003e get rid of CustomLevel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/73b223549a68a413356672c9c66e9457acd148ed\"\u003e\u003ccode\u003e73b2235\u003c/code\u003e\u003c/a\u003e use parens less form of Message Levels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/27cc6bf7a1f7904958472c3d875c5c9aedec2db5\"\u003e\u003ccode\u003e27cc6bf\u003c/code\u003e\u003c/a\u003e remove AbstractMessageLevel, update docs, docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/431d9d30c1f1810ae75c332f2760b630ea757d23\"\u003e\u003ccode\u003e431d9d3\u003c/code\u003e\u003c/a\u003e add changelog, fix up docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/86974e9ad1bf3fc4ad54ed550222355ae745ced0\"\u003e\u003ccode\u003e86974e9\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/a8670db99f41a652c1baa706417ae0537fca11a7\"\u003e\u003ccode\u003ea8670db\u003c/code\u003e\u003c/a\u003e bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/bb372de3a62404868d3feb2ac98d5e8c64a57ccc\"\u003e\u003ccode\u003ebb372de\u003c/code\u003e\u003c/a\u003e more docs and doc string fixes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/compare/v1.9.1...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/SciML/DASSL.jl/pull/90","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FDASSL.jl/issues/90","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/90/packages"},{"uuid":"4362520629","node_id":"PR_kwDOBqv8Es7XU0mN","number":64,"state":"closed","title":"Update SciMLLogging requirement from 1 to 1, 2.0 in the all-julia-packages group across 1 directory","user":"dependabot[bot]","labels":["dependencies","julia"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-25T02:58:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-01T02:49:25.000Z","updated_at":"2026-05-25T02:58:52.000Z","time_to_close":2074165,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"SciMLLogging","old_version":"1","new_version":"1, 2.0","repository_url":"https://github.com/SciML/SciMLLogging.jl"}],"path":"the all-julia-packages group across 1 directory","ecosystem":"julia"},"body":"Updates the requirements on [SciMLLogging](https://github.com/SciML/SciMLLogging.jl) to permit the latest version.\nUpdates `SciMLLogging` to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/releases\"\u003eSciMLLogging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003ch2\u003eSciMLLogging v2.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/compare/v1.9.1...v2.0.0\"\u003eDiff since v1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cp\u003eMessageLevel 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.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSilent()\u003c/code\u003e, \u003ccode\u003eInfoLevel()\u003c/code\u003e, etc. still work — calling a MessageLevel instance returns itself, so existing call-site syntax is unaffected.\nCode that dispatched on the old subtypes (e.g. \u003ccode\u003ef(::WarnLevel)\u003c/code\u003e) needs to be rewritten to compare values \u003ccode\u003e(level == WarnLevel)\u003c/code\u003e.\n\u003ccode\u003eAbstractVerbositySpecifier\u003c/code\u003e is now parametric on \u003ccode\u003e{Enabled}\u003c/code\u003e. Concrete specifier types must subtype \u003ccode\u003eAbstractVerbositySpecifier{Enabled}\u003c/code\u003e for some Enabled parameter. The macro-generated specifiers do this automatically; hand-written specifiers must be updated:\u003c/p\u003e\n\u003ch1\u003eBefore\u003c/h1\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003estruct MyVerbosity \u0026lt;: AbstractVerbositySpecifier\n    option_a\n    option_b\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eAfter\u003c/h1\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003estruct MyVerbosity{Enabled} \u0026lt;: AbstractVerbositySpecifier{Enabled}\n    option_a::MessageLevel\n    option_b::MessageLevel\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe Enabled parameter drives a compile-time short-circuit in \u003ca href=\"https://github.com/SciMLMessage\"\u003e\u003ccode\u003e@​SciMLMessage\u003c/code\u003e\u003c/a\u003e: instances constructed via \u003ccode\u003eNone()\u003c/code\u003e produce \u003ccode\u003eMyVerbosity{false}\u003c/code\u003e, and \u003ccode\u003eget_message_level(::AbstractVerbositySpecifier{false}, ::Any)\u003c/code\u003e returns \u003ccode\u003enothing\u003c/code\u003e, eliminating logging branches at compile time.\u003c/p\u003e\n\u003cp\u003eAdded\n\u003ccode\u003esub_specifiers = (...)\u003c/code\u003e block in \u003ccode\u003e@verbosity_specifier\u003c/code\u003e — 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).\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e@verbosity_specifier DEVerbosity begin\n    toggles        = (:dt_select, :step_rejected)\n    sub_specifiers = (:nonlinear_verbosity, :linear_verbosity)\n    presets = (\n        Standard = (\n            dt_select           = InfoLevel,\n            step_rejected       = WarnLevel,\n            nonlinear_verbosity = Standard(),       # preset OR\n            linear_verbosity    = LinearVerbosity(), # sub-spec instance\n        ),\n        # ...\n    )\n    groups = ()\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe macro generates roughly:\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/blob/main/CHANGELOG.md\"\u003eSciMLLogging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.0]\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMessageLevel\u003c/code\u003e is now a concrete struct\u003c/strong\u003e, no longer an abstract type with\nper-level subtypes. \u003ccode\u003eSilent\u003c/code\u003e, \u003ccode\u003eDebugLevel\u003c/code\u003e, \u003ccode\u003eInfoLevel\u003c/code\u003e, \u003ccode\u003eWarnLevel\u003c/code\u003e, and\n\u003ccode\u003eErrorLevel\u003c/code\u003e are now \u003ccode\u003eMessageLevel\u003c/code\u003e constants. Custom levels are constructed\nby calling \u003ccode\u003eMessageLevel(n)\u003c/code\u003e directly. The \u003ccode\u003eAbstractMessageLevel\u003c/code\u003e and\n\u003ccode\u003eCustomLevel\u003c/code\u003e names have been removed — code referring to them must be\nupdated to use \u003ccode\u003eMessageLevel\u003c/code\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSilent()\u003c/code\u003e, \u003ccode\u003eInfoLevel()\u003c/code\u003e, etc. still work — calling a \u003ccode\u003eMessageLevel\u003c/code\u003e\ninstance returns itself, so existing call-site syntax is unaffected.\u003c/li\u003e\n\u003cli\u003eCode that dispatched on the old subtypes (e.g. \u003ccode\u003ef(::WarnLevel)\u003c/code\u003e) needs to\nbe rewritten to compare values (\u003ccode\u003elevel == WarnLevel\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eAbstractVerbositySpecifier\u003c/code\u003e is now parametric on \u003ccode\u003e{Enabled}\u003c/code\u003e\u003c/strong\u003e. Concrete\nspecifier types must subtype \u003ccode\u003eAbstractVerbositySpecifier{Enabled}\u003c/code\u003e for some\n\u003ccode\u003eEnabled\u003c/code\u003e parameter. The macro-generated specifiers do this automatically;\nhand-written specifiers must be updated:\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e# Before\nstruct MyVerbosity \u0026lt;: AbstractVerbositySpecifier\n    option_a\n    option_b\nend\n\u003ch1\u003eAfter\u003c/h1\u003e\n\u003cp\u003estruct MyVerbosity{Enabled} \u0026lt;: AbstractVerbositySpecifier{Enabled}\noption_a::MessageLevel\noption_b::MessageLevel\nend\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eEnabled\u003c/code\u003e parameter drives a compile-time short-circuit in\n\u003ccode\u003e@SciMLMessage\u003c/code\u003e: instances constructed via \u003ccode\u003eNone()\u003c/code\u003e produce\n\u003ccode\u003eMyVerbosity{false}\u003c/code\u003e, and \u003ccode\u003eget_message_level(::AbstractVerbositySpecifier{false}, ::Any)\u003c/code\u003e\nreturns \u003ccode\u003enothing\u003c/code\u003e, eliminating logging branches at compile time.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003esub_specifiers = (...)\u003c/code\u003e block in \u003ccode\u003e@verbosity_specifier\u003c/code\u003e\u003c/strong\u003e — declare fields\nthat hold another verbosity specifier or preset. Each declared sub_specifier\nbecomes its own free type parameter on the generated struct, so the field is\nconcretely typed at the instance level. This preserves inference when the\nsub-specifier is forwarded to a downstream API, and lets a package hold a\nsub-specifier whose type it does not depend on at definition time\n(e.g. DiffEqBase holding a NonlinearVerbosity without depending on\nNonlinearSolve).\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e@verbosity_specifier DEVerbosity begin\n    toggles        = (:dt_select, :step_rejected)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/03429202c1ff187adbf85e8bb1944e705481c507\"\u003e\u003ccode\u003e0342920\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/SciML/SciMLLogging.jl/issues/65\"\u003e#65\u003c/a\u003e from jClugstor/type_changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/7c2690c07bd001c66db579047ec8aaecd4cde858\"\u003e\u003ccode\u003e7c2690c\u003c/code\u003e\u003c/a\u003e update docs compat bound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/6ab339db91d6a5956fb1b463e84c053dba1875d0\"\u003e\u003ccode\u003e6ab339d\u003c/code\u003e\u003c/a\u003e make other bakcends not depend on LogLevel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/87ccbf691d49f2a202b71e46f24be4c3c3f00e2e\"\u003e\u003ccode\u003e87ccbf6\u003c/code\u003e\u003c/a\u003e get rid of CustomLevel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/73b223549a68a413356672c9c66e9457acd148ed\"\u003e\u003ccode\u003e73b2235\u003c/code\u003e\u003c/a\u003e use parens less form of Message Levels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/27cc6bf7a1f7904958472c3d875c5c9aedec2db5\"\u003e\u003ccode\u003e27cc6bf\u003c/code\u003e\u003c/a\u003e remove AbstractMessageLevel, update docs, docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/431d9d30c1f1810ae75c332f2760b630ea757d23\"\u003e\u003ccode\u003e431d9d3\u003c/code\u003e\u003c/a\u003e add changelog, fix up docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/86974e9ad1bf3fc4ad54ed550222355ae745ced0\"\u003e\u003ccode\u003e86974e9\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/a8670db99f41a652c1baa706417ae0537fca11a7\"\u003e\u003ccode\u003ea8670db\u003c/code\u003e\u003c/a\u003e bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/bb372de3a62404868d3feb2ac98d5e8c64a57ccc\"\u003e\u003ccode\u003ebb372de\u003c/code\u003e\u003c/a\u003e more docs and doc string fixes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/compare/v1.0.0...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/SciML/GeometricIntegratorsDiffEq.jl/pull/64","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FGeometricIntegratorsDiffEq.jl/issues/64","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/64/packages"}],"issue_packages":[{"old_version":"1.9.1","new_version":"1.9.1, 2.0","update_type":null,"path":"the all-julia-packages group across 1 directory","pr_created_at":"2026-05-01T04:05:05.000Z","version_change":"1.9.1 → 1.9.1, 2.0","issue":{"uuid":"4362731401","node_id":"PR_kwDOARyEx87XVeh7","number":90,"state":"closed","title":"Update SciMLLogging requirement from 1.9.1 to 1.9.1, 2.0 in the all-julia-packages group across 1 directory","user":"dependabot[bot]","labels":["dependencies","julia"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-18T04:33:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-01T04:05:05.000Z","updated_at":"2026-05-18T04:33:28.000Z","time_to_close":1470501,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"SciMLLogging","old_version":"1.9.1","new_version":"1.9.1, 2.0","repository_url":"https://github.com/SciML/SciMLLogging.jl"}],"path":"the all-julia-packages group across 1 directory","ecosystem":"julia"},"body":"Updates the requirements on [SciMLLogging](https://github.com/SciML/SciMLLogging.jl) to permit the latest version.\nUpdates `SciMLLogging` to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/releases\"\u003eSciMLLogging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003ch2\u003eSciMLLogging v2.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/compare/v1.9.1...v2.0.0\"\u003eDiff since v1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cp\u003eMessageLevel 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.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSilent()\u003c/code\u003e, \u003ccode\u003eInfoLevel()\u003c/code\u003e, etc. still work — calling a MessageLevel instance returns itself, so existing call-site syntax is unaffected.\nCode that dispatched on the old subtypes (e.g. \u003ccode\u003ef(::WarnLevel)\u003c/code\u003e) needs to be rewritten to compare values \u003ccode\u003e(level == WarnLevel)\u003c/code\u003e.\n\u003ccode\u003eAbstractVerbositySpecifier\u003c/code\u003e is now parametric on \u003ccode\u003e{Enabled}\u003c/code\u003e. Concrete specifier types must subtype \u003ccode\u003eAbstractVerbositySpecifier{Enabled}\u003c/code\u003e for some Enabled parameter. The macro-generated specifiers do this automatically; hand-written specifiers must be updated:\u003c/p\u003e\n\u003ch1\u003eBefore\u003c/h1\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003estruct MyVerbosity \u0026lt;: AbstractVerbositySpecifier\n    option_a\n    option_b\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eAfter\u003c/h1\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003estruct MyVerbosity{Enabled} \u0026lt;: AbstractVerbositySpecifier{Enabled}\n    option_a::MessageLevel\n    option_b::MessageLevel\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe Enabled parameter drives a compile-time short-circuit in \u003ca href=\"https://github.com/SciMLMessage\"\u003e\u003ccode\u003e@​SciMLMessage\u003c/code\u003e\u003c/a\u003e: instances constructed via \u003ccode\u003eNone()\u003c/code\u003e produce \u003ccode\u003eMyVerbosity{false}\u003c/code\u003e, and \u003ccode\u003eget_message_level(::AbstractVerbositySpecifier{false}, ::Any)\u003c/code\u003e returns \u003ccode\u003enothing\u003c/code\u003e, eliminating logging branches at compile time.\u003c/p\u003e\n\u003cp\u003eAdded\n\u003ccode\u003esub_specifiers = (...)\u003c/code\u003e block in \u003ccode\u003e@verbosity_specifier\u003c/code\u003e — 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).\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e@verbosity_specifier DEVerbosity begin\n    toggles        = (:dt_select, :step_rejected)\n    sub_specifiers = (:nonlinear_verbosity, :linear_verbosity)\n    presets = (\n        Standard = (\n            dt_select           = InfoLevel,\n            step_rejected       = WarnLevel,\n            nonlinear_verbosity = Standard(),       # preset OR\n            linear_verbosity    = LinearVerbosity(), # sub-spec instance\n        ),\n        # ...\n    )\n    groups = ()\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe macro generates roughly:\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/blob/main/CHANGELOG.md\"\u003eSciMLLogging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.0]\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMessageLevel\u003c/code\u003e is now a concrete struct\u003c/strong\u003e, no longer an abstract type with\nper-level subtypes. \u003ccode\u003eSilent\u003c/code\u003e, \u003ccode\u003eDebugLevel\u003c/code\u003e, \u003ccode\u003eInfoLevel\u003c/code\u003e, \u003ccode\u003eWarnLevel\u003c/code\u003e, and\n\u003ccode\u003eErrorLevel\u003c/code\u003e are now \u003ccode\u003eMessageLevel\u003c/code\u003e constants. Custom levels are constructed\nby calling \u003ccode\u003eMessageLevel(n)\u003c/code\u003e directly. The \u003ccode\u003eAbstractMessageLevel\u003c/code\u003e and\n\u003ccode\u003eCustomLevel\u003c/code\u003e names have been removed — code referring to them must be\nupdated to use \u003ccode\u003eMessageLevel\u003c/code\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSilent()\u003c/code\u003e, \u003ccode\u003eInfoLevel()\u003c/code\u003e, etc. still work — calling a \u003ccode\u003eMessageLevel\u003c/code\u003e\ninstance returns itself, so existing call-site syntax is unaffected.\u003c/li\u003e\n\u003cli\u003eCode that dispatched on the old subtypes (e.g. \u003ccode\u003ef(::WarnLevel)\u003c/code\u003e) needs to\nbe rewritten to compare values (\u003ccode\u003elevel == WarnLevel\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eAbstractVerbositySpecifier\u003c/code\u003e is now parametric on \u003ccode\u003e{Enabled}\u003c/code\u003e\u003c/strong\u003e. Concrete\nspecifier types must subtype \u003ccode\u003eAbstractVerbositySpecifier{Enabled}\u003c/code\u003e for some\n\u003ccode\u003eEnabled\u003c/code\u003e parameter. The macro-generated specifiers do this automatically;\nhand-written specifiers must be updated:\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e# Before\nstruct MyVerbosity \u0026lt;: AbstractVerbositySpecifier\n    option_a\n    option_b\nend\n\u003ch1\u003eAfter\u003c/h1\u003e\n\u003cp\u003estruct MyVerbosity{Enabled} \u0026lt;: AbstractVerbositySpecifier{Enabled}\noption_a::MessageLevel\noption_b::MessageLevel\nend\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eEnabled\u003c/code\u003e parameter drives a compile-time short-circuit in\n\u003ccode\u003e@SciMLMessage\u003c/code\u003e: instances constructed via \u003ccode\u003eNone()\u003c/code\u003e produce\n\u003ccode\u003eMyVerbosity{false}\u003c/code\u003e, and \u003ccode\u003eget_message_level(::AbstractVerbositySpecifier{false}, ::Any)\u003c/code\u003e\nreturns \u003ccode\u003enothing\u003c/code\u003e, eliminating logging branches at compile time.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003esub_specifiers = (...)\u003c/code\u003e block in \u003ccode\u003e@verbosity_specifier\u003c/code\u003e\u003c/strong\u003e — declare fields\nthat hold another verbosity specifier or preset. Each declared sub_specifier\nbecomes its own free type parameter on the generated struct, so the field is\nconcretely typed at the instance level. This preserves inference when the\nsub-specifier is forwarded to a downstream API, and lets a package hold a\nsub-specifier whose type it does not depend on at definition time\n(e.g. DiffEqBase holding a NonlinearVerbosity without depending on\nNonlinearSolve).\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e@verbosity_specifier DEVerbosity begin\n    toggles        = (:dt_select, :step_rejected)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/03429202c1ff187adbf85e8bb1944e705481c507\"\u003e\u003ccode\u003e0342920\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/SciML/SciMLLogging.jl/issues/65\"\u003e#65\u003c/a\u003e from jClugstor/type_changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/7c2690c07bd001c66db579047ec8aaecd4cde858\"\u003e\u003ccode\u003e7c2690c\u003c/code\u003e\u003c/a\u003e update docs compat bound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/6ab339db91d6a5956fb1b463e84c053dba1875d0\"\u003e\u003ccode\u003e6ab339d\u003c/code\u003e\u003c/a\u003e make other bakcends not depend on LogLevel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/87ccbf691d49f2a202b71e46f24be4c3c3f00e2e\"\u003e\u003ccode\u003e87ccbf6\u003c/code\u003e\u003c/a\u003e get rid of CustomLevel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/73b223549a68a413356672c9c66e9457acd148ed\"\u003e\u003ccode\u003e73b2235\u003c/code\u003e\u003c/a\u003e use parens less form of Message Levels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/27cc6bf7a1f7904958472c3d875c5c9aedec2db5\"\u003e\u003ccode\u003e27cc6bf\u003c/code\u003e\u003c/a\u003e remove AbstractMessageLevel, update docs, docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/431d9d30c1f1810ae75c332f2760b630ea757d23\"\u003e\u003ccode\u003e431d9d3\u003c/code\u003e\u003c/a\u003e add changelog, fix up docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/86974e9ad1bf3fc4ad54ed550222355ae745ced0\"\u003e\u003ccode\u003e86974e9\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/a8670db99f41a652c1baa706417ae0537fca11a7\"\u003e\u003ccode\u003ea8670db\u003c/code\u003e\u003c/a\u003e bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/bb372de3a62404868d3feb2ac98d5e8c64a57ccc\"\u003e\u003ccode\u003ebb372de\u003c/code\u003e\u003c/a\u003e more docs and doc string fixes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/compare/v1.9.1...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/SciML/DASSL.jl/pull/90","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FDASSL.jl/issues/90","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/90/packages"}},{"old_version":"1","new_version":"1, 2.0","update_type":null,"path":"the all-julia-packages group across 1 directory","pr_created_at":"2026-05-01T02:49:25.000Z","version_change":"1 → 1, 2.0","issue":{"uuid":"4362520629","node_id":"PR_kwDOBqv8Es7XU0mN","number":64,"state":"closed","title":"Update SciMLLogging requirement from 1 to 1, 2.0 in the all-julia-packages group across 1 directory","user":"dependabot[bot]","labels":["dependencies","julia"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-25T02:58:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-01T02:49:25.000Z","updated_at":"2026-05-25T02:58:52.000Z","time_to_close":2074165,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"SciMLLogging","old_version":"1","new_version":"1, 2.0","repository_url":"https://github.com/SciML/SciMLLogging.jl"}],"path":"the all-julia-packages group across 1 directory","ecosystem":"julia"},"body":"Updates the requirements on [SciMLLogging](https://github.com/SciML/SciMLLogging.jl) to permit the latest version.\nUpdates `SciMLLogging` to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/releases\"\u003eSciMLLogging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003ch2\u003eSciMLLogging v2.0.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/compare/v1.9.1...v2.0.0\"\u003eDiff since v1.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cp\u003eMessageLevel 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.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSilent()\u003c/code\u003e, \u003ccode\u003eInfoLevel()\u003c/code\u003e, etc. still work — calling a MessageLevel instance returns itself, so existing call-site syntax is unaffected.\nCode that dispatched on the old subtypes (e.g. \u003ccode\u003ef(::WarnLevel)\u003c/code\u003e) needs to be rewritten to compare values \u003ccode\u003e(level == WarnLevel)\u003c/code\u003e.\n\u003ccode\u003eAbstractVerbositySpecifier\u003c/code\u003e is now parametric on \u003ccode\u003e{Enabled}\u003c/code\u003e. Concrete specifier types must subtype \u003ccode\u003eAbstractVerbositySpecifier{Enabled}\u003c/code\u003e for some Enabled parameter. The macro-generated specifiers do this automatically; hand-written specifiers must be updated:\u003c/p\u003e\n\u003ch1\u003eBefore\u003c/h1\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003estruct MyVerbosity \u0026lt;: AbstractVerbositySpecifier\n    option_a\n    option_b\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch1\u003eAfter\u003c/h1\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003estruct MyVerbosity{Enabled} \u0026lt;: AbstractVerbositySpecifier{Enabled}\n    option_a::MessageLevel\n    option_b::MessageLevel\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe Enabled parameter drives a compile-time short-circuit in \u003ca href=\"https://github.com/SciMLMessage\"\u003e\u003ccode\u003e@​SciMLMessage\u003c/code\u003e\u003c/a\u003e: instances constructed via \u003ccode\u003eNone()\u003c/code\u003e produce \u003ccode\u003eMyVerbosity{false}\u003c/code\u003e, and \u003ccode\u003eget_message_level(::AbstractVerbositySpecifier{false}, ::Any)\u003c/code\u003e returns \u003ccode\u003enothing\u003c/code\u003e, eliminating logging branches at compile time.\u003c/p\u003e\n\u003cp\u003eAdded\n\u003ccode\u003esub_specifiers = (...)\u003c/code\u003e block in \u003ccode\u003e@verbosity_specifier\u003c/code\u003e — 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).\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e@verbosity_specifier DEVerbosity begin\n    toggles        = (:dt_select, :step_rejected)\n    sub_specifiers = (:nonlinear_verbosity, :linear_verbosity)\n    presets = (\n        Standard = (\n            dt_select           = InfoLevel,\n            step_rejected       = WarnLevel,\n            nonlinear_verbosity = Standard(),       # preset OR\n            linear_verbosity    = LinearVerbosity(), # sub-spec instance\n        ),\n        # ...\n    )\n    groups = ()\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe macro generates roughly:\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/blob/main/CHANGELOG.md\"\u003eSciMLLogging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.0]\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eMessageLevel\u003c/code\u003e is now a concrete struct\u003c/strong\u003e, no longer an abstract type with\nper-level subtypes. \u003ccode\u003eSilent\u003c/code\u003e, \u003ccode\u003eDebugLevel\u003c/code\u003e, \u003ccode\u003eInfoLevel\u003c/code\u003e, \u003ccode\u003eWarnLevel\u003c/code\u003e, and\n\u003ccode\u003eErrorLevel\u003c/code\u003e are now \u003ccode\u003eMessageLevel\u003c/code\u003e constants. Custom levels are constructed\nby calling \u003ccode\u003eMessageLevel(n)\u003c/code\u003e directly. The \u003ccode\u003eAbstractMessageLevel\u003c/code\u003e and\n\u003ccode\u003eCustomLevel\u003c/code\u003e names have been removed — code referring to them must be\nupdated to use \u003ccode\u003eMessageLevel\u003c/code\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSilent()\u003c/code\u003e, \u003ccode\u003eInfoLevel()\u003c/code\u003e, etc. still work — calling a \u003ccode\u003eMessageLevel\u003c/code\u003e\ninstance returns itself, so existing call-site syntax is unaffected.\u003c/li\u003e\n\u003cli\u003eCode that dispatched on the old subtypes (e.g. \u003ccode\u003ef(::WarnLevel)\u003c/code\u003e) needs to\nbe rewritten to compare values (\u003ccode\u003elevel == WarnLevel\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eAbstractVerbositySpecifier\u003c/code\u003e is now parametric on \u003ccode\u003e{Enabled}\u003c/code\u003e\u003c/strong\u003e. Concrete\nspecifier types must subtype \u003ccode\u003eAbstractVerbositySpecifier{Enabled}\u003c/code\u003e for some\n\u003ccode\u003eEnabled\u003c/code\u003e parameter. The macro-generated specifiers do this automatically;\nhand-written specifiers must be updated:\u003c/p\u003e\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e# Before\nstruct MyVerbosity \u0026lt;: AbstractVerbositySpecifier\n    option_a\n    option_b\nend\n\u003ch1\u003eAfter\u003c/h1\u003e\n\u003cp\u003estruct MyVerbosity{Enabled} \u0026lt;: AbstractVerbositySpecifier{Enabled}\noption_a::MessageLevel\noption_b::MessageLevel\nend\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eEnabled\u003c/code\u003e parameter drives a compile-time short-circuit in\n\u003ccode\u003e@SciMLMessage\u003c/code\u003e: instances constructed via \u003ccode\u003eNone()\u003c/code\u003e produce\n\u003ccode\u003eMyVerbosity{false}\u003c/code\u003e, and \u003ccode\u003eget_message_level(::AbstractVerbositySpecifier{false}, ::Any)\u003c/code\u003e\nreturns \u003ccode\u003enothing\u003c/code\u003e, eliminating logging branches at compile time.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003esub_specifiers = (...)\u003c/code\u003e block in \u003ccode\u003e@verbosity_specifier\u003c/code\u003e\u003c/strong\u003e — declare fields\nthat hold another verbosity specifier or preset. Each declared sub_specifier\nbecomes its own free type parameter on the generated struct, so the field is\nconcretely typed at the instance level. This preserves inference when the\nsub-specifier is forwarded to a downstream API, and lets a package hold a\nsub-specifier whose type it does not depend on at definition time\n(e.g. DiffEqBase holding a NonlinearVerbosity without depending on\nNonlinearSolve).\n\u003cpre lang=\"julia\"\u003e\u003ccode\u003e@verbosity_specifier DEVerbosity begin\n    toggles        = (:dt_select, :step_rejected)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/03429202c1ff187adbf85e8bb1944e705481c507\"\u003e\u003ccode\u003e0342920\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/SciML/SciMLLogging.jl/issues/65\"\u003e#65\u003c/a\u003e from jClugstor/type_changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/7c2690c07bd001c66db579047ec8aaecd4cde858\"\u003e\u003ccode\u003e7c2690c\u003c/code\u003e\u003c/a\u003e update docs compat bound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/6ab339db91d6a5956fb1b463e84c053dba1875d0\"\u003e\u003ccode\u003e6ab339d\u003c/code\u003e\u003c/a\u003e make other bakcends not depend on LogLevel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/87ccbf691d49f2a202b71e46f24be4c3c3f00e2e\"\u003e\u003ccode\u003e87ccbf6\u003c/code\u003e\u003c/a\u003e get rid of CustomLevel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/73b223549a68a413356672c9c66e9457acd148ed\"\u003e\u003ccode\u003e73b2235\u003c/code\u003e\u003c/a\u003e use parens less form of Message Levels\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/27cc6bf7a1f7904958472c3d875c5c9aedec2db5\"\u003e\u003ccode\u003e27cc6bf\u003c/code\u003e\u003c/a\u003e remove AbstractMessageLevel, update docs, docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/431d9d30c1f1810ae75c332f2760b630ea757d23\"\u003e\u003ccode\u003e431d9d3\u003c/code\u003e\u003c/a\u003e add changelog, fix up docstrings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/86974e9ad1bf3fc4ad54ed550222355ae745ced0\"\u003e\u003ccode\u003e86974e9\u003c/code\u003e\u003c/a\u003e format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/a8670db99f41a652c1baa706417ae0537fca11a7\"\u003e\u003ccode\u003ea8670db\u003c/code\u003e\u003c/a\u003e bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SciML/SciMLLogging.jl/commit/bb372de3a62404868d3feb2ac98d5e8c64a57ccc\"\u003e\u003ccode\u003ebb372de\u003c/code\u003e\u003c/a\u003e more docs and doc string fixes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SciML/SciMLLogging.jl/compare/v1.0.0...v2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/SciML/GeometricIntegratorsDiffEq.jl/pull/64","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciML%2FGeometricIntegratorsDiffEq.jl/issues/64","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/64/packages"}}]}