Skip to content

Releases

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 12 Nov 22:04

Cleaner text from older plain-text filings, and more section fixes. No API changes. Every change is described in bench/README.md (changes 53 to 61).

Text:

  • Running headers and footers that print no page number are dropped where a text filing marks its page breaks. In 380 checked documents, 125 lose about 9,000 header lines and no heading or content line.
  • A page number joined to the end of a page's last line is taken off the line.

Sections:

  • The last exhibits Item ends at the financial schedules printed after it, when its list gives the schedule with a page.
  • An Item printed only as lettered sub-headings ("Item 1. a.", "Item 1. b.") is found.
  • A list of statement pages with no heading after the exhibits caption ends the Item.
  • An Item heading misprinted as "Exhibit 12." is read as the Item, in annual reports.

Titles (with dates only):

  • A title applies only if it was in effect by the original due date of the period, so an amendment is titled like the report it amends.
  • A filer's own section under an Item number the form did not have yet gets an empty title.

All seven label sets now score 1.000, but bench/fresh4 is no longer a blind set, since four of the section rules were written from its misses. Its one blind score stays the 0.2.0 one (F1 0.998, span accuracy 0.983). The rules were checked instead by reading 770 filings from no label set. Splitting is about 4 to 6 percent slower on real filings.

Full changelog

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 12 Nov 13:38

Section splitting is more accurate on older and unusual filings, and much faster on large ones. Every change is described in bench/README.md, with how many benchmark filings each rule rests on.

On a new set of 34 filings labeled before any scoring (bench/fresh4), this version finds 438 of 440 Item starts (F1 0.998, span accuracy 0.983). On the 30 of them that 0.1.1 can read, span accuracy goes from 0.953 to 0.981.

New:

  • 10-KSB and 10-QSB filings are split with their own forms' Items.
  • extract_sections_dated (Rust) and the filing_date and report_date keywords of extract_sections (Python) title each section as the form titled its Item for those dates. Client::filing_sections, the sections, tables and crawl commands and the MCP server pass the filing's dates.
  • Tables have columns and spans, so values line up with their headers.

Breaking changes:

  • Client::companies() returns Arc<[Company]> instead of &[Company].
  • CompanyProfile.exchanges is Vec<Option<String>>, one entry per ticker.
  • FormKind is #[non_exhaustive] and has TenKsb and TenQsb; a match on it needs a wildcard arm.
  • Table has the new fields columns and spans, so code that builds one with a struct literal must set them.

Full changelog

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 09 Nov 16:03

The benchmark documentation link in the crates.io READMEs now opens the guide at the repository root.

Full changelog

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 15:19