deps: exconstructor dependency update 2026-09-02 - #78
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
Included review availability: 8 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour. 📝 WalkthroughWalkthroughThe project version was updated from Merge Risk: ⚪ Minimal · up to This PR makes a localized dependency and version-metadata update with no identified correctness, security, or runtime issue; no actionable merge-blocking risk remains beyond completing the pending CI check. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
Scope: routine. Updated 2 dependencies, deferred 5, excluded 0 major-magnitude dependencies as out of this PR's scope (see "Majors excluded by scope" below), closed 0 of 1 open CVEs. Bumped
exconstructor1.3.3→1.3.4. The one open advisory (earmark) has no fixed release: every published version of earmark is affected and the package is retired upstream, so it stays open — see CVEs.This repo has no
dependencieslabel, so the PR is unlabeled.Updated
earmark moved to its latest published release. That release changes only the README (adds a "do not use on untrusted input" disclaimer) and does not address the advisory listed under CVEs — no published version does. No
mix.exsconstraint changes were needed.Version bump
exconstructor1.3.3 → 1.3.4 (patch bump).CHANGELOG.mdupdated.Deferred
~> 1.4.44); not declared inmix.exsmix.exsmix.exsmix.exsmix.exsAlready up to date (4 of 11): dialyxir 1.4.7, excoveralls 0.18.5, makeup_elixir 1.0.1, nimble_parsec 1.4.2.
Majors excluded by scope
None; every major-magnitude dependency was either up to date or in scope.
CVEs
Still open after this PR — no fix exists. OSV records every published earmark release (1.4.1 through 1.5.0-pre1, the newest) as affected and names no fixed version; querying OSV for 1.4.49 specifically still returns this advisory. earmark is retired on hex.pm ("no longer maintained; migrate to a replacement, for example MDEx"). The only way to clear it is to remove or replace the
earmarkdependency, which is a change to the dependency set rather than a version bump and is out of this PR's scope. For context: earmark is a:dev-only dependency here and is not shipped with the library; nothing inlib/,config/, ormix.exsreferences it directly, and current ex_doc usesearmark_parserrather thanearmark, so it may simply be removable. Severity label is OSV's own; hex'smix deps.getadvisory output did not include this package.Breaking changes adopted
None this PR.
Code changes
No code changes required. Only
mix.lock, andmix.exs+CHANGELOG.mdfor the version bump, changed.Migrations added
None this PR.
Config changes
None. Neither ex_doc nor earmark is referenced in
config/config.exsorlib/; the ex_doc 0.40.2/0.40.3 release notes list no renamed, removed, or newly required options, and earmark 1.4.49 changes only its README. This repo has noconfig/runtime.exs, so no runtime-sourced config is involved.Gate results
Gates are the commands
.circleci/config.yml'sbuildjob runs (MIX_ENV=test):mix do deps.get, compile,mix format --check-formatted,mix dialyzer,mix coveralls.circle. Locally they ran on the.tool-versionstoolchain (Elixir 1.19.4-otp-28 / Erlang 28.2); CI's image iscimg/elixir:1.18.2-erlang-26.2.1, so CI is the evidence for that older toolchain. Each local gate was run once at the base commit (baseline, all green) and again after every commit on this branch.mix coveralls(same test run; coverage printed locally instead of posted to coveralls.io): 20 tests, 0 failures, 97.8% coverage; baseline and after each commitcimg/elixir:1.18.2-erlang-26.2.1)Verification
Before being marked ready, this PR was independently re-checked against its own claims: 7/7 checks pass. Checked: repo kind (library —
packageblock present) and a patch-only version bump with a CHANGELOG entry; CVE claims re-derived by scanning both the base and headmix.lockagainst OSV (the earmark advisory is present in both, so it is correctly reported as still open, and no new advisory was introduced); major-boundary authorization (both moves are patch-level, nothing crosses); forbidden files untouched (no CI config, test, credo, or dialyzer-ignore file changed); every required body section present; content is about this repo and its dependencies only; and CI state (ci/circleci: buildpass, CodeRabbit pass, WhiteSource Security Check neutral/skipped). No check on this PR waits on a manual approval.