You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two follow-up fixes from the #862/#863 review.
edgartools-t043 — Form 4/5 per-transaction footnote attribution:
Footnote references attach to many transaction sub-elements (security
title, date, shares, price, post-transaction amounts), but the extractor
collected them only from <transactionCoding>, so TransactionActivity.
footnote_ids/.footnotes_text came through empty for most filings (e.g. a
10b5-1 disclosure on <securityTitle>). The extractor now gathers footnote
IDs from the whole transaction; get_footnotes dedupes (order-preserving)
so a footnote referenced twice in one transaction isn't resolved twice.
This makes per-transaction is_10b5_1_plan work directly rather than via
the filing-wide fallback added in #863.
edgartools-fi4h — table-search snippet over-highlight:
The semantic table:<term> search set end_offset to the full table length
against a context truncated to ~200 chars, so SearchResult.snippet wrapped
the entire truncated context in ** ** for any table >200 chars. The match
is now located within the table and a correct context window is produced
via _get_context_with_offsets, consistent with text/regex search.
Adds fast (no-network) regression tests for both using the 374Water
fixture and an HTML table; updates the #863 AAPL end-to-end test to assert
the now-correct per-transaction attribution.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
13
14
14
### Fixed
15
15
16
+
-**Form 4/5 transaction footnotes are now attributed per transaction** — footnote references attach to many transaction sub-elements (security title, transaction date, shares, price, post-transaction amounts), but the extractor previously collected them only from `<transactionCoding>`, so `TransactionActivity.footnote_ids` / `.footnotes_text` came through empty for most filings. The extractor now gathers footnote IDs from the whole transaction (deduplicated), so per-transaction footnote reasoning — including `is_10b5_1_plan` — works directly rather than relying on the filing-wide fallback.
17
+
-**Table search snippets highlight the match, not the whole table** — the semantic `table:<term>` search built a result whose end offset was the full table length against a context truncated to ~200 chars, so `SearchResult.snippet` wrapped the entire truncated context in `**…**` for any table longer than 200 characters. The match is now located within the table and a correct context window is produced, consistent with text and regex search.
16
18
-**Rule 10b5-1 plan detection now uses the official Form 4/5 checkbox when present** — ownership summaries honor the structured `aff10b5One` value before falling back to footnote text. When the checkbox is absent (e.g. pre-2023 filings), `has_10b5_1_plan` now scans the filing's full footnote set instead of relying solely on per-transaction footnote attribution, which is frequently empty. The fallback matcher no longer confuses the separate anti-fraud Rule 10b-5 with Rule 10b5-1 trading plans while recognizing common spacing and dash variants. ([#863](https://github.com/dgunning/edgartools/issues/863))
17
19
-**`edgar` package logger no longer leaks log output in unconfigured applications** — the package-root logger had no `NullHandler`, so when an application had not configured logging itself, edgartools warnings fell back to Python's `logging.lastResort` handler and were written to stderr. This was especially harmful in MCP / stdio environments, where stray stderr output corrupts the protocol stream. A `NullHandler` is now attached to the `edgar` logger per the Python logging HOWTO for libraries, keeping edgartools silent until the application opts into logging. ([#856](https://github.com/dgunning/edgartools/issues/856))
18
20
-**BDC data sets download again after SEC URL move** — the SEC relocated the DERA BDC data-set files from `/files/structureddata/data/` to `/files/datastandardsinnovation/data/`, which made `fetch_bdc_dataset()` and related functions fail with 404; the base URL now points to the new location.
0 commit comments