- Update dependencies
- Update Node engine version to v18.17 because that's the actual minimum supported version, older versions crash
- Replace
api-cdn.rule34.xxx
with xbooru.com
for xbooru.com searches, since the API returns the wrong URLs (#107)
- Update API URL for paheal.net (old one now returns an HTML page instead of posts)
- Update dependencies
- Update dependencies, notably fixing a fast-xml-parser security issue
- Export more types:
- BooruCredentials, Derpibooru, XmlBooru, Post, SearchParameters, SearchResults, Site
- Correctly mark Hypnohub as not supporting
order:random
(or any random sorting)
- Update dependencies
- Fixed tags being encoded twice (#94)
- Fixed e621/e926 returning
score: NaN
on posts with 0 total score
- Fixed tags being incorrectly joined with an encoded
+
/,
(#93)
- Added credential support
- Support is fairly basic and only support query param auth
- The credential object provided will be serialized into query params
- Previously credentials did nothing, now they do something
- Updated some types to return more useful type unions (like AnySite being a union of all site domains)
Booru#getSearchUrl
now properly accepts no parameters
const booru = require('booru')
const gelbooru = booru.forSite('gb', { api_key: 'key', user_id: 'id' })
gelbooru.getSearchUrl()
// https://gelbooru.com/index.php?page=dapi&s=post&q=index&json=1&tags=&limit=100&pid=1&api_key=key&user_id=id
// or
booru.search('gb', [], {
credentials: { api_key: 'key', user_id: 'id' },
})
// Uses the same search URL as above
- Fix error when searching rule34.xxx with tags that return no results
- For some reason, the API literally returns an empty response with HTTP 200 instead of an empty array (or at least a different status code)
- Fix error when splitting by tags when konachan returned an empty string (thanks youliao)
- Update dependencies
- Use Undici instead of node-fetch
- Update endpoints for Hypohub
- Update tag-joining logic for Derpibooru (use
,
to join tags instead of +
)
- Fix regression that happened when the previous regression was fixed because programming
- Both danbooru-based boorus and non-danbooru boorus should be fine now
- Fix regression where previous fix for Danbooru broke some other boorus
- Handle cases where some Danbooru-based boorus (like realbooru) return
"directory": null
in their API response and cause invalid URLs to be generated by booru
- Slightly prettier
example.js
- Use
encodeURIComponent
instead of encodeURI
for tags to properly encode them
- Update some project files for more consistent development
- Fixed parsing of gelbooru's API response
- Broken version, deprecated and removed
- Update API endpoint for r34.xxx, see #75
- Add
Booru#getSearchUrl
, meant for aiding in debugging
- You can use this to get the URL that booru would use to search, to inspect the response yourself
- Minor changes to allow VS code's Run & Debug to work, kinda
- Still needs some setup, and some refactoring to get working nicely
- Update dependencies, notably:
- Moved from tslint (deprecated) -> eslint
- Moved tslint style rules -> prettier for formatting
- Updated dependencies
- Moved from my old username to new username
- Removed furry.booru.org since they have CloudFlare browser verification enabled.
- As far as I know, there's no (intended) way to bypass this if you're not a browser.
- Added CloudFlare-specific error message if this happens in the future
- Add fix for Paheal changing their API response format
- Make example.js only specify the "cat" default tag if you don't specify a site
- Change from
tsc
-> typescript
for package.json scripts, since tsc
is deprecated.
- Update dependencies
- Fix Paheal failing to provide a useful error message.
- Details: Paheal was returning an HTML error page instead of a JSON response. The previous way
of scraping an error message off HTML pages failed on the page Paheal returned.
- Move from
terser-folder
to a custom minify.js
, which handles both .js and .json minifying
terser-folder
also hasn't been updated in 2 years
- Update circle ci to use node 14 instead of 11
- Update dependencies, no more security vulnerabilities!
- Added
Post#available
, to check if a post isn't deleted/banned
- By default, unavailable posts aren't returned in search results
- You can use
SearchParameters#showUnavailable
to still get them
Booru.search('db', ['cat'], { showUnavailable: true })
- Fix for danbooru occasionally having invalid
fileUrl
or missing IDs
- You can use
Post#available
to check for this
- Fix for illegal invocation errors when using booru on the web
- Some of the APIs don't have the required CORS headers however
- Add
encodeURI
to tags when searching, to avoid encoding errors from the API
- Better example.js file, now supports command line input
- Remove lolibooru
- Various fixes for Derpibooru support
- Fix default tags missing from post results
- Fix scores/sources/createdAt post props for some sites
- Added missing check for
results.posts
in API response
- Support for e621/e926's new api
- Fix BooruError wiping out stack trace of caught error
- Dependency updates
- Update dependencies
- Fix typo in "hypo" for hypnohub's aliases #42
- Workaround for JS projects trying to use
new booru(site)
#40
- Will still "work" for certain projects, but now
booru.forSite(site)
is preferred
- Last release before changelog started