All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added Gelbooru handler to saucenao.
3.0.0 - 2020-03-29
- Removed E621 engine. (iqdb.harry.lu shut down)
- Added E621 handler to saucenao.
- Changed saucenao engine internally to allow for adding handlers easier.
- Changed response data for engines to allow returning more than one valid source.
2.3.1 - 2019-10-20
- Recover from organization takedown/repo removal.
- Added makefile for testing/building simplification
- Added aiohttp to repository dependencies, it went missing after removing aiohttp_requests
- Added attribute to config to skip IQDB creation.
- Added dedicated exception type to handle engines that are unavailable due to external reasons.
2.3.0 - 2019-10-06
- Changed logging so it goes to the correct logger.
- Removed ratelimiting for SauceNao. It just raises an exception instead, no matter what.
- Sleeping causes underflows. Unless there's a way to properly handle this, there's no way around it.
- Changed asyncio tasking
- Somewhere around a 30% speed gain comparatively to how it was before.
- Fixed IQDB tag names.
2.2.0 - 2019-09-12
- Added logging to core.
- Removed dependency on aiohttp_requests library
- Well, sorta. It localizes the library to an internal folder instead.
- This is to prevent aiohttp from being version pinned.
- Fixed UnboundLocalError in E621.
- Fixed Core bug where a source would be split up into individual characters (and then added to a set).
2.1.4 - 2019-09-12
- Fixed e621 premature ratelimit call
2.1.3 - 2019-09-12
- Fixed ratelimit underflow bug on low values.
2.1.2 - 2019-09-12
- Added source code references to documentation.
- Fixed the callback, it now returns ImageResult rather than ReverseResult.
- Fixed premature reference assignment in Paheal engine (not sure how this slipped past testing).
2.1.1 - 2019-09-11
- Fixed crucial endless loop bug due to incorrect ratelimit checking.
- Fixed formatting error in documentation.
2.1.0 - 2019-09-11 [YANKED]
- Changed search methods to be more async (request calls weren't run_in_executor).
- Changed SauceNao ratelimit accounting to function better.
2.0.0 - 2019-09-10
- Changed callback to be more comprehensive.
- Changed SauceNao to account for ratelimits properly.
- Changed E621 to accunt for ratelimits properly.
- Changed responses to namedtuples. Namedtuples can be better documented and permit dotted access.
- Two new classes: ImageResult and ReverseResult.
- Classes share attributes but differ in types on said attributes.
- Changed search_image in API classes:
- Removed deprecated search_image
- Renamed search_image_source to search_image.
- As a result of this, search_image_source is effectively removed.
- Changed reverse_search in core class:
- Removed deprecated reverse_search
- Renamed search_image_source to reverse_search
- As a result of this, search_image_source is effectively removed.
- Rename all mentions of booru to engine.
- Renamed NotAValidBooruException to NotAValidEngineException
- Added new helper method to base API to handle ratelimits.
- Added VS Code Build and test tasks.
- Added new package variable:
__version__
andversion_info
to track versioning. - Added sample
test.sh
for testing purposes. - Fixed reverse_search to skip saucenao if on long ratelimit in reverse_search
1.2.0 - 2019-08-29
- Expanded base engine class to also permit searching for sources.
- Changed base engine class to have default behavior for searching for sources.
- Added SauceNao parser.
- Added source searching to Danbooru.
- Added source searching to E621.
- Added source searching to paheal.
- Removed code cruft.
- Added dedicated exception for options an engine isn't capable of.
1.1.1 - 2019-08-20
- Added PyPi dependencies.
1.1.0 - 2019-08-20
- Changed output from lists to sets to remove duplicitous items.
- Project released on PyPi.
1.0.0 - 2019-08-20
- Added base booru class
- Added Danbooru engine
- Added IQDB engine
- Added E621 engine
- Added paheal engine
- Added documentation
- Licensed project to LGPLv3
- Added core class
- Added config class