Changelog
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.
You can see the docs for every version at here.
11.0.0 - 2022-01-19
Removed:
- [BREAKING] GlennBotList: service is dead
Fixed:
- [BREAKING] FatesList: update API to latest version & remove additional endpoints for maintainability
- InfinityBotList: update endpoints
- DiscordListSpace: fix request body & docs URL
- DiscordExtremeList: fix docs URL
10.0.0 - 2021-10-08
Removed:
- [BREAKING] AstroBotList (#334)
- [BREAKING] DiscordBotsCo (#334)
Added:
- Listcord (#334)
- MotionBotlist (#334)
- DiscordBotlistEU (#318, #319)
- DiscordLabs: support votes endpoint (#334)
- BotsForDiscord -> DiscordsCom: support
hasVoted12h
endpoint (#334)
Fixed:
- [BREAKING] DiscordListSpace: update endpoints to new API version (#334)
- [BREAKING] BladeBotLit -> BladeList: update endpoints to new API version (#334)
- BotsForDiscord -> DiscordsCom: add endpoint requirements (#334)
- InfinityBotList: update endpoints (#334)
- DiscordListology: fix logo in docs (#334)
- TopCord: fix logo in docs (#320)
9.0.1 - 2021-08-04
Fixed:
- BotsForDiscord: updated the base API URL and the logo URL
9.0.0 - 2021-04-08
Global breaking changes:
serviceClasses
: the serviceClasses
property will no longer be exported as a member of the module. You can still get a record with every list using Service.getAll()
. (#203)
- We're dropping support for internal class names: that means that from now on, we could change the service class names without marking it as a breaking change. In order to avoid issues with your code, please use the
Service.get()
method to get service classes, instead of importing them directly. This version already contains some changes to class names, so make sure that you're importing them in the supported way. (#203)
- Removed services: Arcane, BotsDataBase, DiscordAppsDev, DiscordBotsDirectory, ListMyBots, ParadiseBots (#204).
These lists have been removed because they've been shut down.
More list-specific breaking changes are listed below
Fixed:
- [BREAKING] InfinityBots: update list name, aliases and URL (#199)
- The package file now has a proper typings field
- Clients: the fillers now calculate the user count using each guild's member count, instead of relying on the user cache size (ref #182)
- Clients: improved consistency in getters' return types
- DiscordJS: fixed the way that the filler gets the shard ID for discord.js@v12 (#184)
- BotListSpace: update list name and URL (#202)
Added:
- New service: FatesList (#186)
Fixed:
8.0.2 - 2021-03-23
Fixed:
- TopGG: require authentication on every class method, in order to fix API rejections (issue #174)
8.0.1 - 2021-03-04
Fixed:
- Rename files as 8.0.0 should have done.
8.0.0 - 2021-03-04
Changed:
- InfinityBotList is now called InfinityBots. Their aliases have changed too.
7.0.1 - 2021-02-25
Fixed:
- DisTop: removed since they disappeared
- TopCord: update to new API version
- Blist: update to new API version
7.0.0 - 2021-02-25
Removed:
You can refer to issue #58 for each of these lists
- LBots
- DBLista
- DiscordBotWorld
- MythicalBots: they became IdleDev, which is unreachable at the moment.
Added:
- DiscordBotDirectory (#101)
- VoidBots (#102, #114)
- Disforge (#103)
- ParadiseBots (#104)
- BladeBotList (#115)
- DisTop (#121)
- Dbots (#122)
Fixed:
- InfinityBotList: updated to new API version (#144)
6.1.0 - 2021-01-07
Added:
- New service: Infinity Bot List (issue #99)
6.0.0 - 2021-01-05
We know the list of changes is huge, so here's the gist of it:
- If you only posted stats using the
Poster
class then nothing should change for you
- If you used one of the service classes, make sure that the property names you're accessing haven't changed (they shouldn't though)
- If you imported from any of the internal files of the package, make sure to check the list below for changes
- You can now use accurate TypeScript typings with this package
You can also refer to issue #71.
Potentially breaking changes:
*
- The whole package is now written in TypeScript. The scripts have changed too.
*
- JSDoc annotation no longer have types, everything that can be moved to TS should no longer be written in JSDoc
@private
tags can still be used when we want to mark something as "private" for the docs website, but it's not an actual private property
*
- In the whole package, internal module.exports =
exports have been replaced by default
exports
*
- In the whole package, functions and methods no longer return null
when only undefined
is documented; if they can return null
it will be explicitly documented
*
- In the whole package, it's preferred to create a dedicated type/interface to document function argument, instead of using an "inline type"
index
- Each service class now has to be accessed via the dbots.serviceClasses
constant, instead of directly from dbots
(e.g. dbots.Arcane
now becomes dbots.serviceClasses.Arcane
)
index
- two functions have been renamed to camelCase (formatRequest
and ensurePromise
)
Utils/Constants
- In PostRequestData
, multiple properties are now optional
Utils/Constants
- The supported Poster
events have been renamed
Utils/DbotsError
- The exported Error
, TypeError
, and RangeError
classes are now grouped under the errors
exported constant (e.g. dbotserror.Error
is now dbotserror.errors.Error
)
Utils/FormatRequest
- In RequestForm
, multiple properties are now optional
Utils/FormatRequest
- FormatRequest
no longer supports aliases for some options; the correct option name is enforced by the type of the argument
Utils/Util
- added the AnyObject
type and the assert
function
Interface/ServiceBase
- The ServiceBase.name
static property is now called ServiceBase.serviceName
, in order to avoid conflicts with the Function.name
property
Interface/Lists/*
- They all extend ServiceBase
, and so they all have the change above
Interface/ClientFiller
- circular imports have been removed, the static class method is now a separate function
Interface/ClientFiller
- the new function to get client fillers does not support library aliases; the argument now uses the Library
type
Service
has been renamed to ServiceKey
ServiceBase
has been renamed to Service
Added:
- TypeScript support
- New service: AstroBotList
- New client: Paracord
5.2.0 - 2020-10-07
Added:
- DiscordServices has been added.
5.1.0 - 2020-09-25
Added:
- 5 new services have been added: DiscordLabs, Blist, TopCord, DiscordListology, and DiscordBotsCo.
5.0.4 - 2020-07-28
Fixed:
- ServiceBase: fixed an issue that caused this file to throw an error when the
NODE_ENV
env variable was set to production
.
5.0.3 - 2020-07-09
Fixed:
- MythicalBots: updated URL for stats posting.
5.0.2 - 2020-07-04
Fixed:
- SpaceBotList: updated website and API URL.
5.0.1 - 2020-06-29
Fixed
- DiscordExtremeList: fixed endpoint for stats posting.
5.0.0 - 2020-06-27
Added
- ServiceBase: added the
ServiceBase.getAll()
method, which returns all the loaded services.
Changed
- [BREAKING] DiscordExtremeList: the API has been updated to v2, adding shard posting and removing the
.getWidgetURL()
method.
Removed
- [BREAKING] BotsOfDiscord: the bot list has been closed, the whole class has been removed.
Fixed
- Arcane: updated endpoints with the new URL.
4.1.0 - 2020-06-18
Added
- Add new service: BotsDataBase
4.0.0 - 2020-06-07
Added
- Add better error handling for when requests to services get rejected.
Changed
- [BREAKING] ListMyBots: Update class methods, check the docs to see the new class.
- [BREAKING] GlennBotList:
.getProfile()
is now called .getUser()
(we're skipping deprecation since we're publishing a major version anyway).
Removed
- [BREAKING] DiscordBotList: removed the
.getWidgetURL()
method since the list has switched to JavaScript widgets.
Fixed
- Update endpoints for ListMyBots, GlennBotList and DiscordBotList.