JokeAPI Versions Save

REST API that serves uniformly and well formatted jokes in JSON, XML, YAML or plain text format that also offers a great variety of filtering methods

v2.3.3

2 years ago

Removed dark jokes from the GitHub repo, as they were violating the TOS.
If you need access to the jokes, please contact me.

Note that the API is broken in this state. The plan is to jump from v2.3.2 directly to v3.0.0 and fix the issue there.
This release is marked as pre-release because it should never be deployed.

v2.3.2

2 years ago

Additions / Fixes:

  • Added new jokes
  • Updated dependencies to improve security
  • API now adjusts environment-dependent settings automatically (#343)

Internal Changes:

  • Added a global CLI interface (#344)
  • Rewrote the joke submission script to make it much more streamlined (#340)
  • Rewrote the add-joke script so it's much easier to use and to add jokes much faster
  • Added a new info script to make working with JokeAPI via SSH easier

Also see PR #341


Note that this update was made to properly adjust JokeAPI to its new and hopefully permanent environment on my VPS, that's why the majority of changes are internal.

Wanna discuss this release or get help? Create a discussion or join the Discord server.

v2.3.1

3 years ago
  • Fixed bug "API Error 500 - Cannot read property 'msBeforeNext' of null" (#212)
  • Fixed bug where API responded with Error 106 when using format=txt on endpoint /joke (#218)
  • Re-flagged joke 79 (#220)
  • API now automatically adds modification date tag to the docs (#223)
  • /info endpoint now gives the number of safe jokes per language (#224)
  • Added dependent jonathanbossenger/devdadjokes (#225)
  • Added translations to joke submission parser (thanks to @ThatCopy for the Czech translations)
  • Made static content not indexable by web crawlers

v2.3.0

3 years ago

The most notable changes are:

  • JokeAPI now has its own domain jokeapi.dev
    • The API should be called at the new base URL https://v2.jokeapi.dev/
    • Using just jokeapi.dev (without the "v2") is not recommended. Only use it to read and link to the documentation.
    • The old URL (https://sv443.net/jokeapi/v2) will still work until version 3.0 is released.
  • There is now a safe mode. It allows blocking out all potentially explicit jokes for sensitive applications like Discord Bots.
    • It is enabled by adding the value-less URL parameter ?safe-mode
  • Added the new flag explicit to every joke. It indicates a joke that contains explicit language (swear words).
  • Added a new URL parameter ?dry-run to enable testing a joke submission without actually submitting it to the API.
  • Increased rate limiting budgets to 120 when using GET and 5 when using POST/PUT.
  • Made a lot of changes to how the documentation works and is structured.
  • Changelog is now in markdown format.
  • Added two more wrapper libraries for Node.js/TS and for Golang.
  • JokeAPI now has category aliases. These are alternative names to the normal joke categories. More info here.

> Click here to see the full changelog <

v2.2.2

3 years ago
  • Added some new seasonal categories (#180)
    • Spooky (Halloween)
    • Christmas (thanks for the suggestion Dan)
  • Added dependent ToastIT-dev/PoshBot.Joker (#173)
  • Reliability improvements in the documentation (#181)
  • Added POST as a method to submit data to the API since it makes more sense than PUT (maybe deprecating that some time)

v2.2.1

3 years ago

This is a hotfix for version 2.2.0

Changes:

  • Added the Czech translation (PR #137) - provided by @ThatCopy - thanks :)
  • Added a missing conversion mapping when using format txt and the amount parameter on endpoint /joke (issue #138)
  • Fixed wrong URLs in the documentation's JavaScript
  • Fixed crash when a client asks for a translation that doesn't exist
  • Slightly improved the documentation
  • Applied a few security patches

v2.2.0

3 years ago

Changes:

  • Added joke category "Pun" (issue #105)
  • Added "?amount" parameter to joke endpoint so multiple jokes can be fetched at once (issue #126)
  • Added support for jokes and error messages of different languages (issue #75)
    • /langcode/{LANGUAGE} endpoint
    • /languages endpoint
    • "?lang=code" URL parameter
  • Fixed ID caching (again, sigh) (issue #80)
  • Added pm2 custom metrics (issue #91)
  • Fixed HTTP 403 errors (issue #96)
  • Remade the URL parser using a package (issue #97)
  • Daemonized the API token refreshing (issue #102)
  • Rate limiting joke submissions more harshly now (issue #104)
  • Fixed error where the end of the payload were cut off, thus invalidating JSON (issue #119)
  • Joke submission property order is now enforced, improving uniformity (issue #120)
  • Joke submissions are now validated to make sure they don't contain fancy Unicode chars (issue #123)

v2.1.5

3 years ago
  • Ditched my botched rate limiting package for better one (#113)
  • Added API token section to documentation (#114)
  • Client now receives a "Token-Valid" header with the value 0 or 1 depending on token validity (#115)
  • Renamed "X-Auth-Token" header to "Authorization" so requests don't get blocked by Cloudflare (#117)
  • Cleaned up a lot of code

2.1.4

3 years ago

Hotfix for a single bug, #101 (IP getter is still broken)

v2.1.3

4 years ago
  • Added option to disable all console output but error messages (#72)
  • The content of jokes in the joke submission form is now correctly escaped and can no longer mess up the page (#68)
  • Fixed crash when parsing a malformatted URI (#69)
  • Re-flagged some jokes
  • Updated dependencies