Skip to content

Releases: AtoraSuunva/booru

v2.7.0

31 Dec 02:18
d86c279
Compare
Choose a tag to compare
  • Update undici
  • Fix previewUrl for paheal (#110) by Rider21
  • Include booru version in default user agent
  • Allow explicitly passing undefined to credentials in Booru constructor & to SearchParameters under strict Typescript
  • doSearchRequest doesn't mutate tags parameter
  • Many, many internal changes that shouldn't impact end-user library use but makes dev work much easier for me:
    • Use biome instead of eslint + prettier + tons of setup for typescript
    • Use node:test + tsx instead of jest + babel + swc

2.6.8

26 Aug 10:27
876ae1b
Compare
Choose a tag to compare
  • Replace api-cdn.rule34.xxx with xbooru.com for xbooru.com searches, since the API returns the wrong URLs (#107)

2.6.1

30 Jul 02:23
608d945
Compare
Choose a tag to compare
  • Fixed tags being incorrectly joined with an encoded +/, (#93)

2.6.0

28 Jul 05:27
76199a8
Compare
Choose a tag to compare
  • 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

v2.5.3

13 Jan 05:00
Compare
Choose a tag to compare

2.5.3

  • Use encodeURIComponent instead of encodeURI for tags to properly encode them
  • Update some project files for more consistent development

v2.5.2

03 Jan 02:51
Compare
Choose a tag to compare

2.5.2

  • Fixed parsing of gelbooru's API response

v2.5.0

15 Nov 06:17
Compare
Choose a tag to compare

2.5.0

  • 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

v2.4.0

04 Nov 09:59
3ce5370
Compare
Choose a tag to compare
  • 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

v2.3.3

04 Nov 08:57
a381c71
Compare
Choose a tag to compare
  • 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!

v2.3.2

16 Jul 06:26
1c6b606
Compare
Choose a tag to compare
  • 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 (if you enable showUnavailable)