The largest release of `browser-history` yet! Made possible by contributors through Hacktoberfest 2020 and beyond :heart:
NOTE: the API has changed drastically since v0.2.1. Check out the [documentation for v0.3.0](https://browser-history.readthedocs.io/en/v0.3.0/quickstart.html).
Major features
- **Bookmarks support!** (lucasace 70, 116)
- Now you can also [extract bookmarks](https://browser-history.readthedocs.io/en/latest/quickstart.html#bookmarks) from browsers
- Export output to **CSV** (default), **JSON** (SanchitJain123 50) and **JSON lines**
- Use [`Outputs.formatted("json")`](https://browser-history.readthedocs.io/en/latest/outputs.html#browser_history.generic.Outputs.formatted) or `-f/--format` parameter in the CLI
- **Save output to a file**! (ObaraEmmanuel 37, Daemondeal 78)
- Use [`Outputs.save("filename.ext")`](https://browser-history.readthedocs.io/en/latest/outputs.html#browser_history.generic.Outputs.save) or `-o/--output` parameter in the CLI
- Much more stable - many tests added and many bugs fixed (details below)
Browser support
- Chromium support on Windows (rahulmakhija30 38)
- Opera browser support (LawJarp-A 41)
- OperaGX browser support (rahulmakhija30 46)
- Brave browser support on Linux (siddhantrao23 66)
- Mac OS support for Brave, Opera, Edge (abhisinha2001 69)
- Brave browser support on Windows (ObaraEmmanuel 112)
FIxes
- Fix `profiles()` returning only directory name (lucasace 39)
- Fix incomplete history while fetching from Firefox (ObaraEmmanuel 45)
- Fix error when fetching history from uninstalled browsers (ObaraEmmanuel 68)
- Fix history failing on windows (lucasace 59)
- Fix spurious history records in Chrome (ObaraEmmanuel 81)
- Fix incorrect error message for invalid types (ObaraEmmanuel 92)
- Timezone awareness for history datetime comparison (sadielbartholomew 94)
Documentation updates
- Added installation instructions for the development version (master branch)
- Document Outputs class (rachmadaniHaryono 75, 77)
- Document Browser class (rachmadaniHaryono 89)
- Helpful warning added to README for new users - removed for release xD (anirudhRowjee 121)
Other improvements
- Removed forgotten TODO (sachmo99 40)
- Test for Safari on MacOS (Om-Amitesh 47)
- Tests are run on Windows and MacOS on GitHub Actions (Samyak2 61)
- Tests for firefox on Windows (ObaraEmmanuel 64)
- Use logger for CLI errors (RobertWetzler 82)
- Tests for Chrome and Chromium on Linux (gillesigot 83)
- Improve codebase with black, flake8 and isort (gillesigot 86)
- Tests for Opera on windows (ObaraEmmanuel 87)
- Add pre-commit hooks to ensure code quality (gillesigot 88)
- Check docs on CI, check with mypy, adding types and improved docs (rachmadaniHaryono 89)
- Remove test suite dependence on run directory (sadielbartholomew 93)
- Added code climate maintainability badge (s04 98, also by Mo-esmail, TusharSharmaIN, vamceep, srpatel2000)
- Large refactor for generic ChromiumBasedBrowser class (ObaraEmmanuel 108)
- **Tests for CLI** (sadielbartholomew 109)
- Changed `name` field in mypy test workflow (ryantcullen 113)
- Add python 3.9 to CI (RajawatAmit 117)
- Simplified some code - `fetch_map` (RajawatAmit 119)