Changelog

Generated from the commit history at release time. The narrative history through 1.0.5 is in CHANGES.rst.

6.0.1 (2026-09-19)

Bug Fixes

  • corpus: close the journal_mode cursor, so a corpus can be built on PyPy (1a6ab27), closes pysnmp/pysnmp#327

  • gitignore: ignore .venv virtualenvs (ecbb313)

6.0.0 (2026-09-18)

⚠ BREAKING CHANGES

  • codegen: generated SMIv1 modules that use NetworkAddress now import SNMPv2-SMI::NetworkAddress, which pysnmp does not yet export. Until a pysnmp carrying that export is released, loading a module compiled by this version – including the RFC1213-MIB in this wheel – fails with “SmiError: No symbol SNMPv2-SMI::NetworkAddress”. pysmi declares no pysnmp dependency to express the requirement, so the major version is the signal; pysnmp raises its pysnmp-pysmi floor to this release in turn. The JSON documents for such modules report “NetworkAddress” where they reported “IpAddress”, and the affected modules’ content and structure hashes move with it.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01F85ZEp2xjvTBVFfAKqK4Lq

Bug Fixes

  • codegen: keep NetworkAddress instead of resolving it to IpAddress (a2f54c7)

5.8.0 (2026-09-18)

Features

  • site: offer what this distribution changed beside what publishers did (c02bd52)

Bug Fixes

5.7.0 (2026-09-17)

Features

  • docs: substitute the figures the prose states, and take the rest out (b0a9298)

  • site: state the corpus in figures on the browse entry point (9f94a27)

Bug Fixes

  • docs: keep a reported zero, survive a bad field, and catch ungrouped counts (ac80a71)

5.6.0 (2026-09-17)

Features

  • bundle four standard modules observium ships and we did not (2d480e0)

Bug Fixes

  • keep only the module the exclusion policy does not cover (47e90f5)

5.5.0 (2026-09-17)

Features

  • name the repaired modules in the corpus report (4a00cee)

Bug Fixes

  • let a module need both a derived repair and a hand-written one (ca8133a)

  • put the new IMPORTS group before the semicolon, not after it (a3e43a8)

  • require the whole patch to apply, not just to contain the repair (e73fae0)

  • write down the ten repairs the bundle was having supplied (687858f)

5.4.0 (2026-09-16)

Features

Bug Fixes

  • codegen: refuse an OID that comes back to itself (00a44fb)

  • scripts: re-ask a publisher that answers “not now” (f613fbd)

5.3.2 (2026-09-16)

Bug Fixes

  • build: do not subscript BuildHookInterface (5255e23)

  • bundle: verify what ships, and promote SNMP-SSH-TM-MIB (cbb92ce)

5.3.1 (2026-09-16)

Bug Fixes

  • contribute: offer each module in a file on its own (65102d5)

5.3.0 (2026-09-16)

Features

  • corpus: publish one module per file, not one file per module name (bf93bc6)

5.2.1 (2026-09-15)

Bug Fixes

  • mibcontribute: read the bundle and the depot, and refuse a corpus that is not one (749861d)

5.2.0 (2026-09-15)

Features

  • mibcontribute: offer the MIBs in a directory to the distribution (aef85dc)

Bug Fixes

  • mibcontribute: rank duplicate copies, and fit the issue GitHub accepts (0ca7169)

5.1.0 (2026-09-15)

Features

  • mibcorpus: build a corpus of the modules a change touched (26d1251), closes #279

Bug Fixes

  • corpus: report the build whose every module failed (2978db7)

5.0.0 (2026-09-14)

⚠ BREAKING CHANGES

  • corpus: core.db schema version 2. open_db refuses a version it does not write, so a reader and a corpus move together. Conformance vectors for the new table are in pysmi.corpus.conformance, as the schema-bump gate requires, and a consumer runs them against its own reader.

Closes #278.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01UfaAJMxsnQZoKJVkc4rg1K

Features

  • corpus: bound the OID tree’s page inventory at module anchors (ff2b6ef), closes #276

  • corpus: bucket a long list page by the range it covers (915ee9b), closes #284 #293 #276

  • corpus: drop the wrapper elements from definition cells (d812e6f), closes pysnmp/pysmi#284

  • corpus: generate the site’s crawl surface (cb22315)

  • corpus: let the JSON destination carry DESCRIPTION and the other texts (65c290d)

  • corpus: name OID arcs from the numbering authorities (8c498ba)

  • corpus: publish the transitive import closure per module (eb3c03f)

  • corpus: reach the file parse cache, and write more than one tree (e34a703), closes pysnmp/mibs#405

  • corpus: record where each published module came from (3fb8ab3)

  • corpus: render the corpus as a browsable site (–emit site) (f163e8f), closes #284 #292 #287

  • corpus: report the enterprise arcs no PEN registrant names (c9a1a57), closes pysnmp/mibs#407

  • corpus: size each list, and emit the site beside the corpus (cad38fa), closes pysnmp/mibs#406 #305 pysnmp/mibs#409

  • corpus: write a search profile of the corpus database (20941a1), closes pysnmp/pysmi#293

  • defects: catalogue a symbol imported from a module that does not export it (0fd6201)

  • patches: name the defect a patch repairs, from a documented catalogue (9c87158)

  • reader: default to the depot for remote ASN.1, with the old tree behind it (3e48196)

  • registry: annotate enterprise arcs and their owner contact from IANA (79b703d), closes #277

  • registry: let a corpus reduce the PEN snapshot to the arcs it uses (eac5cc5)

Bug Fixes

Performance Improvements

  • jsondoc: write the corpus JSON compactly, and allow a faster encoder (b7bf6f4)

5.0.0-rc.9 (2026-09-13)

Features

Bug Fixes

  • corpus: hold a publication to its own tree on every platform (37da581)

5.0.0-rc.8 (2026-09-13)

Bug Fixes

5.0.0-rc.7 (2026-09-12)

Bug Fixes

5.0.0-rc.6 (2026-09-12)

Features

Bug Fixes

5.0.0-rc.5 (2026-09-12)

Bug Fixes

  • corpus: write the registrant list’s own page when it buckets (95ad5f9)

5.0.0-rc.4 (2026-09-12)

Features

5.0.0-rc.3 (2026-09-12)

Features

Bug Fixes

  • corpus: build the arc index from registrations, not from every arc (8a6c0a0)

5.0.0-rc.2 (2026-09-11)

Features

  • corpus: bound the OID tree’s page inventory at module anchors (ff2b6ef), closes #276

  • corpus: report the enterprise arcs no PEN registrant names (c9a1a57), closes pysnmp/mibs#407

  • defects: catalogue a symbol imported from a module that does not export it (0fd6201)

  • registry: let a corpus reduce the PEN snapshot to the arcs it uses (eac5cc5)

Bug Fixes

  • corpus: name the namespace behind a package-sourced module (0a52303)

5.0.0-rc.1 (2026-09-11)

⚠ BREAKING CHANGES

  • corpus: core.db schema version 2. open_db refuses a version it does not write, so a reader and a corpus move together. Conformance vectors for the new table are in pysmi.corpus.conformance, as the schema-bump gate requires, and a consumer runs them against its own reader.

Closes #278.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01UfaAJMxsnQZoKJVkc4rg1K

Features

  • corpus: let the JSON destination carry DESCRIPTION and the other texts (65c290d)

  • corpus: name OID arcs from the numbering authorities (8c498ba)

  • corpus: publish the transitive import closure per module (eb3c03f)

  • corpus: record where each published module came from (3fb8ab3)

  • patches: name the defect a patch repairs, from a documented catalogue (9c87158)

  • registry: annotate enterprise arcs and their owner contact from IANA (79b703d), closes #277

Performance Improvements

  • jsondoc: write the corpus JSON compactly, and allow a faster encoder (b7bf6f4)

4.1.1 (2026-09-11)

Bug Fixes

  • mibdump: remove the built-in MIB borrowers, all of which are 404 (533c361)

4.1.0 (2026-09-11)

Features

  • corpus: let a manifest declare what the corpus is, not only where it comes from (f712c4b), closes #263

  • corpus: stage the jsondoc a projection needs instead of asking the caller to (8f4cac8), closes #262

  • patches: generate a MIB’s repair as a patch instead of making it at runtime (ee01ccc)

Bug Fixes

  • corpus: publish only what compiled, in every artifact (e6489d1), closes #269

4.1.0-rc.2 (2026-09-11)

Features

  • corpus: let a manifest declare what the corpus is, not only where it comes from (f712c4b), closes #263

  • corpus: stage the jsondoc a projection needs instead of asking the caller to (8f4cac8), closes #262

Bug Fixes

  • corpus: publish only what compiled, in every artifact (e6489d1), closes #269

4.1.0-rc.1 (2026-09-11)

Features

  • patches: generate a MIB’s repair as a patch instead of making it at runtime (ee01ccc)

4.0.0 (2026-09-10)

⚠ BREAKING CHANGES

  • patches: readers implement fetch_data() rather than get_data(); a subclass overriding get_data() still works but skips patching. Patching is on by default – mibdump –no-mib-patches turns it off, –mib-patch-source replaces the bundled set, and AbstractReader.usePatches/patchSet are the library equivalents. pysmi/mibs/asn1 in the source tree now holds the published text for the twelve patched modules; the wheel is unchanged.

Closes #185.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

  • mibs: pysmi.mibs.behavior() is gone and generated modules no longer carry a spliced runtime-behavior tail. Consumers relying on that tail must apply their own behavior at load time, as pysnmp now does. PYSNMP-USM-MIB is no longer in PySnmpCodeGen.baseMibs, so a StubSearcher built from it no longer reports that module as up to date.

Features

Bug Fixes

  • ci: keep the behavior fragments out of mypy’s file list and name the codegen by its module (7dd4952)

  • codegen: set the encoding a UTF-8 DISPLAY-HINT states (58a3e3f)

  • corpus: report a damaged corpus rather than raising sqlite3 out of validate (93c40cf)

  • mibs: re-seed the objects a behavior fragment’s class attribute built (6d91544), closes #236

  • tests: do not name a directory “we?ird” on a platform that forbids it (d325e5f), closes #235 #235

Code Refactoring

4.0.0-rc.4 (2026-09-10)

Corrected. The notes generated for this release announced a breaking reader API — fetch_data(), AbstractReader.usePatches/patchSet, mibdump --no-mib-patches/--mib-patch-source — that the tag does not contain. That API was added and then withdrawn within the same pull request, and only the first commit’s BREAKING CHANGE: footer reached the generator. Nothing in 4.0.0-rc.4 breaks a caller of 4.0.0-rc.3. See #254.

The 4.0.0 major is still warranted by 4.0.0-rc.1, which removed pysmi.mibs.behavior().

Changes

  • patches: apply the twelve MIB repairs when a distribution is built rather than when the bundle is refreshed (8e22340, 84bb507). The source tree now holds each publisher’s text verbatim and the diffs live in scripts/mib-patches/, so a refresh diffs against the publisher and what pysmi repairs is a diff of its own. hatch_build.py applies them into the distribution, whose pysmi/mibs/asn1/ is byte-identical to rc.3’s. Neither scripts/patches.py nor the diffs are installed. Closes #185.

  • corpus: conformance vectors now cover every column the DDL declares, and the schema version is pinned so a schema change cannot land without the vectors moving with it (c97f985). Closes #251.

4.0.0-rc.3 (2026-09-10)

Features

  • corpus: publish the precedence rule as vectors both projects run (26f0262), closes #248

3.1.0 (2026-09-10)

Features

Bug Fixes

  • corpus: keep core.db opt-in, key the corpus cache, count nodes once (a12187c)

4.0.0-rc.2 (2026-09-09)

Features

  • codegen: declare the pysnmp API the generator emits (fe233aa)

4.0.0-rc.1 (2026-09-09)

⚠ BREAKING CHANGES

  • mibs: pysmi.mibs.behavior() is gone and generated modules no longer carry a spliced runtime-behavior tail. Consumers relying on that tail must apply their own behavior at load time, as pysnmp now does. PYSNMP-USM-MIB is no longer in PySnmpCodeGen.baseMibs, so a StubSearcher built from it no longer reports that module as up to date.

Code Refactoring

3.1.0-rc.4 (2026-09-09)

Features

  • mibs: give snmpEngineTime the elapsed-seconds read RFC 3411 describes (7a8e948), closes #236 #231

3.1.0-rc.3 (2026-09-09)

Bug Fixes

  • mibs: re-seed the objects a behavior fragment’s class attribute built (6d91544), closes #236

3.1.0-rc.2 (2026-09-09)

Features

Bug Fixes

  • corpus: report a damaged corpus rather than raising sqlite3 out of validate (93c40cf)

  • tests: do not name a directory “we?ird” on a platform that forbids it (d325e5f), closes #235 #235

3.1.0-rc.1 (2026-09-09)

Features

Bug Fixes

  • ci: keep the behavior fragments out of mypy’s file list and name the codegen by its module (7dd4952)

  • codegen: set the encoding a UTF-8 DISPLAY-HINT states (58a3e3f)

  • corpus: keep core.db opt-in, key the corpus cache, count nodes once (a12187c)

3.0.0 (2026-09-09)

⚠ BREAKING CHANGES

  • mibs: the wheel carries 210 ASN.1 modules and 207 precompiled pysnmp modules where it carried 485 and 484. A caller compiling a module that imports one of the 275 now resolves it from its own –mib-source instead of from the bundle. pysmi.mibs.manifest() still names all 485; pysmi.mibs.bundled() is the set an install actually supplies.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_018PviAP7g1mTiiSDn4fRQsq

  • compiler: a failed MIB no longer suppresses the output of unrelated MIBs compiled in the same call; they are written. mibdump –ignore-errors no longer changes which modules are written – it now suppresses the non-zero exit status instead. A caller that relied on an all-or-nothing batch should compile one module per call.

Refs #182.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01EBV5NVv7NB6R1Wx9vRypt6

  • codegen: generated pysnmp modules no longer test mibBuilder.version before calling setStatus, setProductRelease, setRevisionsDescriptions or setObjects(append=True), and they now call setReference() on ObjectGroup, NotificationGroup and ModuleCompliance. Loading one requires a pysnmp that implements those setters: pysnmplib 6.0.0rc5 or later, or pysnmp 7.x. A pysnmp 4.4.x runtime, which the removed branches existed for, is no longer supported – recompile against a supported release rather than loading newly generated modules into it.

Closes #194. Refs pysnmp/pysnmp#197.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01EBV5NVv7NB6R1Wx9vRypt6

  • compiler: mibdump --repair-imports is replaced by mibdump --strict-imports. The repair it used to request is now what happens; the new flag asks for the old strict behaviour, which is what a caller validating a MIB rather than consuming one wants. Programmatically, repairImports=False is the same opt-out and is unchanged. A repair is never silent: every one is listed on the “Repaired MIBs” line of the report and recorded in the symbol table under _symtable_repaired.

Features

  • codegen: canonical form and content hash over the module model (965e559), closes #190 #191 #180

  • codegen: target the loader contract instead of inferring it (bd5db61), closes pysnmp/pysnmp#133 pysnmp/pysnmp#197

  • compiler: repair a forced missing import by default, and drop 9 patches (c091932), closes #185 #185

  • compiler: swap sources on a live compiler, keeping the parse cache (cf1ce44), closes #181

  • corpus: build a corpus from many source namespaces, deterministically (138d99c), closes pysnmp/pysnmp#196 #183 #182

  • corpus: let a namespace be resolved against without being published (beffff6), closes #182

  • mibdump: –build-all compiles every module the sources hold (9d92921)

  • mibdump: –emit writes every format from one read of the sources (27c5711)

  • mibs: bundle IPSEC-ISAKMP-IKE-DOI-TC from the draft that defines it (185d962), closes #212 #212

  • mibs: bundle sFlow.org’s SFLOW-MIB, not RFC 3176’s (cad444e)

  • mibs: bundle the 119 RFC MIB modules the bundle was still missing (f44d363), closes #212 #212

  • mibs: bundle the SMIv1 compatibility shims (ed27c8c), closes #161

  • mibs: bundle the standards modules from pysnmp/mibs src/standard (b18f6e9), closes #187

  • mibs: hold the 275 bundled modules nothing in the corpus imports (32042ea)

  • parser: tolerate an OBJECT-TYPE descriptor that starts upper case (51a689b)

  • pysnmp: state the MODULE-IDENTITY revision as a constant in emitted modules (4ef57ca), closes pysnmp/pysnmp#198

  • reader: ask a source what MIB modules it holds (ee42ca3)

Bug Fixes

  • build: stop generating the three modules that cannot be generated (95d56fe), closes pysnmp/pysnmp#198 pysnmp/pysnmp#198 #196

  • cache: identify a parser by its dialect, not just its class (1141971), closes #181

  • cache: size the in-memory parse cache above a real source set (95ceadc)

  • compiler: make comment stripping string-aware, and apply it to the inventory (d0f12fa), closes pysnmp/pysnmp#198

  • compiler: omit only the failed MIB and what imports it (472d6c8)

  • compiler: the newest revision decides every name, not only bundled ones (86304df)

  • corpus: keep the docs build and Windows green (bf06c16), closes #182

  • jsondoc: emit a module whose symbol is spelled like a Python keyword (dd7e2d9), closes #225

  • jsondoc: keep AGENT-CAPABILITIES variations when texts are off (e5d67a2), closes #196 #198 #190 pysnmp/pysnmp#198 pysnmp/pysnmp#198 #186

  • jsondoc: suppress prose and nothing else when texts are off (e9f74e2), closes #191 #192 #190 #190 #191 #192

  • mibinfo: refuse a revision stamp that is not a date (349d7e3), closes #185

  • mibs: keep the three patches that were correcting more than an import (d992cf9)

  • mibs: make DSA-MIB and RDBMS-MIB load, by naming the module their symbols are in (bf2008c), closes #199

  • pysnmp: carry LAST-UPDATED in the revision constant, not the newest REVISION (73f4202), closes pysnmp/pysnmp#198

  • schema: declare agentcapabilities, and make the schema itself valid (54f85b1), closes #190

  • schema: require status on agentcapabilities, and list it as a class (126bf58)

  • tests: fail when a bundled module compiles to nothing (62cedd6), closes #203

  • writer: create the temporary file with the mode a new file gets (9ff800b), closes #227 #227

  • writer: store a module anyone can read, not only the user who built it (33943bf), closes #182

3.0.0-rc.8 (2026-09-08)

Bug Fixes

  • writer: store a module anyone can read, not only the user who built it (33943bf), closes #182

3.0.0-rc.7 (2026-09-08)

Features

Bug Fixes

  • corpus: keep the docs build and Windows green (bf06c16), closes #182

  • jsondoc: emit a module whose symbol is spelled like a Python keyword (dd7e2d9), closes #225

3.0.0-rc.6 (2026-09-08)

Bug Fixes

  • mibs: make DSA-MIB and RDBMS-MIB load, by naming the module their symbols are in (bf2008c), closes #199

3.0.0-rc.5 (2026-09-08)

⚠ BREAKING CHANGES

  • mibs: the wheel carries 210 ASN.1 modules and 207 precompiled pysnmp modules where it carried 485 and 484. A caller compiling a module that imports one of the 275 now resolves it from its own –mib-source instead of from the bundle. pysmi.mibs.manifest() still names all 485; pysmi.mibs.bundled() is the set an install actually supplies.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_018PviAP7g1mTiiSDn4fRQsq

Features

  • mibdump: –build-all compiles every module the sources hold (9d92921)

  • mibs: hold the 275 bundled modules nothing in the corpus imports (32042ea)

  • reader: ask a source what MIB modules it holds (ee42ca3)

3.0.0-rc.4 (2026-09-08)

Features

  • mibs: bundle sFlow.org’s SFLOW-MIB, not RFC 3176’s (cad444e)

3.0.0-rc.3 (2026-09-08)

Features

  • mibdump: –emit writes every format from one read of the sources (27c5711)

  • mibs: bundle IPSEC-ISAKMP-IKE-DOI-TC from the draft that defines it (185d962), closes #212 #212

Bug Fixes

  • cache: size the in-memory parse cache above a real source set (95ceadc)

  • compiler: the newest revision decides every name, not only bundled ones (86304df)

3.0.0-rc.2 (2026-09-08)

Features

  • parser: tolerate an OBJECT-TYPE descriptor that starts upper case (51a689b)

3.0.0-rc.1 (2026-09-08)

⚠ BREAKING CHANGES

  • compiler: a failed MIB no longer suppresses the output of unrelated MIBs compiled in the same call; they are written. mibdump –ignore-errors no longer changes which modules are written – it now suppresses the non-zero exit status instead. A caller that relied on an all-or-nothing batch should compile one module per call.

Refs #182.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01EBV5NVv7NB6R1Wx9vRypt6

  • codegen: generated pysnmp modules no longer test mibBuilder.version before calling setStatus, setProductRelease, setRevisionsDescriptions or setObjects(append=True), and they now call setReference() on ObjectGroup, NotificationGroup and ModuleCompliance. Loading one requires a pysnmp that implements those setters: pysnmplib 6.0.0rc5 or later, or pysnmp 7.x. A pysnmp 4.4.x runtime, which the removed branches existed for, is no longer supported – recompile against a supported release rather than loading newly generated modules into it.

Closes #194. Refs pysnmp/pysnmp#197.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01EBV5NVv7NB6R1Wx9vRypt6

  • compiler: mibdump --repair-imports is replaced by mibdump --strict-imports. The repair it used to request is now what happens; the new flag asks for the old strict behaviour, which is what a caller validating a MIB rather than consuming one wants. Programmatically, repairImports=False is the same opt-out and is unchanged. A repair is never silent: every one is listed on the “Repaired MIBs” line of the report and recorded in the symbol table under _symtable_repaired.

Features

Bug Fixes

  • cache: identify a parser by its dialect, not just its class (1141971), closes #181

  • compiler: omit only the failed MIB and what imports it (472d6c8)

  • mibinfo: refuse a revision stamp that is not a date (349d7e3), closes #185

  • mibs: keep the three patches that were correcting more than an import (d992cf9)

2.4.0-rc.2 (2026-09-07)

Features

Bug Fixes

  • compiler: make comment stripping string-aware, and apply it to the inventory (d0f12fa), closes pysnmp/pysnmp#198

  • pysnmp: carry LAST-UPDATED in the revision constant, not the newest REVISION (73f4202), closes pysnmp/pysnmp#198

  • tests: fail when a bundled module compiles to nothing (62cedd6), closes #203

2.4.0-rc.1 (2026-09-07)

Features

  • codegen: canonical form and content hash over the module model (965e559), closes #190 #191 #180

  • mibs: bundle the SMIv1 compatibility shims (ed27c8c), closes #161

  • mibs: bundle the standards modules from pysnmp/mibs src/standard (b18f6e9), closes #187

Bug Fixes

2.3.0 (2026-09-06)

Features

  • mibs: ship the bundle manifest, and answer which module replaced a subtree (ea4bded), closes #174

Bug Fixes

  • mibs: drop the three withdrawn IPv6 modules nothing imports (c7c4fb7), closes #173

2.2.0-rc.3 (2026-09-07)

Features

  • codegen: canonical form and content hash over the module model (965e559), closes #190 #191 #180

  • mibs: bundle the SMIv1 compatibility shims (ed27c8c), closes #161

Bug Fixes

2.2.0 (2026-09-06)

Features

  • mibdump: write out the base MIBs a JSON tree needs to stand alone (d37c274)

  • mibs: bundle the standard MIB set, each pinned to its publisher (4533c62), closes #161

  • mibs: compile the bundled MIBs into pysnmp modules at build time (47e9891)

  • mibs: report where the pysnmp/mibs mirror disagrees with the bundle (a7c4853), closes pysnmp/mibs#345

  • say which rule picked a MIB, and let –mib-source outrank the bundle (b2b1448), closes #155

Bug Fixes

  • let a module compiled from a fallback copy report as compiled (26b1927), closes #157 #155

  • mibdump: report the base MIBs a run may write, not the ones it did (01309b1)

  • mibs: bundle IANA-GBOND-TC-MIB, and make verify catch what hid it (a2d077c), closes pysnmp/mibs#343

  • mibs: keep git’s line-ending filters off the bundled MIB bytes (f6741ce)

  • mibs: track IEEE 802.1 at its current revision, not a pinned file (579da07)

  • name the copy that actually parsed, under the name it parsed as (f211f0d), closes #155

  • reader: report an over-long MIB name as missing, not a crash (82699fe), closes #163

  • report the resolved copy on runs that recompile nothing (25e1e8e), closes #156 #155

2.2.0-rc.2 (2026-09-06)

Features

  • mibdump: write out the base MIBs a JSON tree needs to stand alone (d37c274)

  • mibs: bundle the standard MIB set, each pinned to its publisher (4533c62), closes #161

  • mibs: compile the bundled MIBs into pysnmp modules at build time (47e9891)

  • mibs: report where the pysnmp/mibs mirror disagrees with the bundle (a7c4853), closes pysnmp/mibs#345

Bug Fixes

  • mibdump: report the base MIBs a run may write, not the ones it did (01309b1)

  • mibs: bundle IANA-GBOND-TC-MIB, and make verify catch what hid it (a2d077c), closes pysnmp/mibs#343

  • mibs: keep git’s line-ending filters off the bundled MIB bytes (f6741ce)

  • mibs: track IEEE 802.1 at its current revision, not a pinned file (579da07)

  • reader: report an over-long MIB name as missing, not a crash (82699fe), closes #163

2.2.0-rc.1 (2026-09-06)

Features

  • say which rule picked a MIB, and let –mib-source outrank the bundle (b2b1448), closes #155

Bug Fixes

  • ci: publish docs from a branch, not a detached HEAD (8ff1ecc)

  • ci: publish docs from a branch, not a detached HEAD (212f083)

  • let a module compiled from a fallback copy report as compiled (26b1927), closes #157 #155

  • name the copy that actually parsed, under the name it parsed as (f211f0d), closes #155

  • report the resolved copy on runs that recompile nothing (25e1e8e), closes #156 #155

2.1.0 (2026-09-06)

Features

  • bundle every base MIB a code generator names (9f1137a)

  • bundle the standard MIBs real product MIBs import (983a61a)

  • define source precedence, and let it be checked (28bd6bf), closes #133

  • repair missing IMPORTS for SMIv2 base symbols behind –repair-imports (c20d753), closes #61

  • repair SNMPv2-MIB symbols that no SMIv1 MIB also defines (94ce1ef)

Bug Fixes

  • release: give the changelog a title semantic-release owns (32d800a)

  • take the superseded MIBs from their RFC, not the mirror (29350cf)

  • validate a DEFVAL against the object’s own SYNTAX before emitting it (b6fac5a), closes #134

2.1.0-rc.3 (2026-09-06)

Bug Fixes

  • ci: publish docs from a branch, not a detached HEAD (212f083)

2.1.0-rc.2 (2026-09-06)

Bug Fixes

  • release: give the changelog a title semantic-release owns (32d800a)

2.1.0-rc.1 (2026-09-05)

Features

  • bundle every base MIB a code generator names (9f1137a)

  • bundle the standard MIBs real product MIBs import (983a61a)

  • define source precedence, and let it be checked (28bd6bf), closes #133

  • repair missing IMPORTS for SMIv2 base symbols behind –repair-imports (c20d753), closes #61

  • repair SNMPv2-MIB symbols that no SMIv1 MIB also defines (94ce1ef)

Bug Fixes

  • take the superseded MIBs from their RFC, not the mirror (29350cf)

  • validate a DEFVAL against the object’s own SYNTAX before emitting it (b6fac5a), closes #134