dbots
Version:
Discord bot list poster and stats retriever
279 lines (179 loc) • 10.1 kB
Markdown
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
You can see the docs for every version at [here](https://dbots.js.org/#/docs).
## [Unreleased]
## [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](https://docs.discordbotlist.com/javascript-widget).
### Fixed
- Update endpoints for ListMyBots, GlennBotList and DiscordBotList.
<!-- prettier-ignore -->
[Unreleased]: https://github.com/dbots-pkg/dbots.js/compare/v11.0.0...HEAD
[4.0.0]: https://github.com/dbots-pkg/dbots.js/compare/v3.0.1...v4.0.0
[4.1.0]: https://github.com/dbots-pkg/dbots.js/compare/v4.0.0...v4.1.0
[5.0.0]: https://github.com/dbots-pkg/dbots.js/compare/v4.1.0...v5.0.0
[5.0.1]: https://github.com/dbots-pkg/dbots.js/compare/v5.0.0...v5.0.1
[5.0.2]: https://github.com/dbots-pkg/dbots.js/compare/v5.0.1...v5.0.2
[5.0.3]: https://github.com/dbots-pkg/dbots.js/compare/v5.0.2...v5.0.3
[5.0.4]: https://github.com/dbots-pkg/dbots.js/compare/v5.0.3...v5.0.4
[5.1.0]: https://github.com/dbots-pkg/dbots.js/compare/v5.0.4...v5.1.0
[5.2.0]: https://github.com/dbots-pkg/dbots.js/compare/v5.1.0...v5.2.0
[6.0.0]: https://github.com/dbots-pkg/dbots.js/compare/v5.2.0...v6.0.0
[6.1.0]: https://github.com/dbots-pkg/dbots.js/compare/v6.0.0...v6.1.0
[7.0.0]: https://github.com/dbots-pkg/dbots.js/compare/v6.1.0...v7.0.0
[7.0.1]: https://github.com/dbots-pkg/dbots.js/compare/v7.0.0...v7.0.1
[8.0.0]: https://github.com/dbots-pkg/dbots.js/compare/v7.0.1...v8.0.0
[8.0.1]: https://github.com/dbots-pkg/dbots.js/compare/v8.0.0...v8.0.1
[8.0.2]: https://github.com/dbots-pkg/dbots.js/compare/v8.0.1...v8.0.2
[9.0.0]: https://github.com/dbots-pkg/dbots.js/compare/v8.0.2...v9.0.0
[9.0.1]: https://github.com/dbots-pkg/dbots.js/compare/v9.0.0...v9.0.1
[10.0.0]: https://github.com/dbots-pkg/dbots.js/compare/v9.0.0...v10.0.0
[11.0.0]: https://github.com/dbots-pkg/dbots.js/compare/v10.0.0...v11.0.0