v2.0.0

laurent22/joplinv2.0.0Dec 3, 2024by adbar

AI Summary

A major version bump introducing significant breaking changes including updates to Python version support, deprecations of CLI arguments and the graphical user interface, and a shift in the return type of the core extraction function.

Key Highlights

  • Python 3.8+ support (3.6 and 3.7 deprecated)
  • Core function `bare_extraction()` now returns a `Document` class instance by default
  • Removal of deprecated CLI arguments and the graphical user interface
  • Introduction of type hinting throughout the codebase

Breaking Changes

  • Python 3.6 and 3.7 deprecated
  • `bare_extraction()` now returns a `Document` instance instead of a raw dictionary
  • `as_dict` argument removed; use `.as_dict()` method on the return value
  • `no_fallback` argument removed; use `fast` instead
  • `decode` argument removed from `fetch_url()`
  • Deprecated GUI removed
  • `max_tree_size` parameter moved to `settings.cfg`

New Features

  • Type hinting implementation throughout the codebase
  • Migration to `pyproject.toml` setup
  • Refined table markdown output
  • Robust encoding in `options.source`

Full Release Notes

Breaking changes:
- Python 3.6 and 3.7 deprecated (#709)
- `bare_extraction()`:
   - now returns an instance of the `Document` class by default
   - `as_dict` deprecation warning → use `.as_dict()` method on return value (#730)
- `bare_extraction()` and `extract()`: `no_fallback` deprecation warning → use `fast` instead (#730)
- downloads: remove `decode` argument in `fetch_url()` → use `fetch_response` instead (#724)
- deprecated graphical user interface now removed (#713)
- extraction: move `max_tree_size` parameter to `settings.cfg` (#742)
- use type hinting (#721, #723, #748)
- see [Python](https://trafilatura.readthedocs.io/en/latest/usage-python.html#deprecations) and [CLI](https://trafilatura.readthedocs.io/en/latest/usage-cli.html#deprecations) deprecations in the docs

Fixes:
- set `options.source` before raising error on empty doc tree by @dmoklaf (#707)
- robust encoding in `options.source` (#717)
- more robust mapping for conversion to HTML (#721)
- CLI downloads: use all information in settings file (#734)
- downloads: cleaner urllib3 code (#736)
- refine table markdown output by @unsleepy22 (#752)
- extraction fix: images in text nodes by @unsleepy22 (#757)

Metadata:
- more robust URL extraction (#710)

Command-line interface:
- CLI: print URLs early for feeds and sitemaps with `--list` with @gremid (#744)
- CLI: add 126 exit code for high error ratio (#747)

Maintenance:
- remove already deprecated functions and args (#716)
- add type hints (#723, #728)
- setup: use `pyproject.toml` file (#715)
- simplify code (#708, #709, #727)
- better debug messages in `main_extractor` (#714)
- evaluation: review data, update packages, add magic_html (#731)
- setup: explicit exports through `__all__` (#740)
- tests: extend coverage (#753)

Documentation:
- fix link in `docs/index.html` by @nzw0301 (#711)
- remove docs from published packages (#743)
- update docs (#745)