<commit_before># HISTORY

## 0.3.2
* Add Pablo.get()
* Add Pablo.load()
* Add collection.load()

## 0.3.1
* Add Pablo.toSvg()
* Add Pablo.hasSvgNamespace()

## 0.3
* Rename `.root()` to `.svg()`
* Add traversal methods
* Add CSS selectors and selector functions as optional arguments to traversal methods
* Streamline code

## 0.2
* Move functional API to /extensions/functional.js
* Make DOM elements top-level in a collection, e.g. circle\[0\]
* Add numerous new methods

## 0.1
* Create Pablo<commit_msg>Update history<commit_after># HISTORY

## 0.3.4
* Add collection.dataUrl()
* Improve bbox(), toImage() and related methods


## 0.3.3
* Add collection.bbox()
* Add collection.crop()
* Add collection.toImage()
* Add collection.toCanvas()
* Add collection.download()
* Add `Pablo.support` for fine-grained environment capabilities detection
* Expose methods useful for advanced use or plugin writers
* Use native `DOMParser` / `XMLSerializer` under the hood for creation from markup and outputting to markup


## 0.3.2
* Add Pablo.get()
* Add Pablo.load()
* Add collection.load()


## 0.3.1
* Add Pablo.toSvg()
* Add Pablo.hasSvgNamespace()


## 0.3
* Rename `.root()` to `.svg()`
* Add traversal methods
* Add CSS selectors and selector functions as optional arguments to traversal methods
* Streamline code


## 0.2
* Move functional API to /extensions/functional.js
* Make DOM elements top-level in a collection, e.g. circle\[0\]
* Add numerous new methods


## 0.1
* Create Pablo
{'fraction_non_alphanumeric': 0.12768817204301075, 'fraction_numerical': 0.021505376344086023, 'mean_word_length': 4.116838487972508, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4382654', 'n_tokens_mistral': 506, 'n_tokens_neox': 466, 'n_words': 167}