Skip to content

Releases: Cog-Creators/Red-DiscordBot

3.0.0rc1

06 Oct 04:08
03230b6
Compare
Choose a tag to compare
3.0.0rc1 Pre-release
Pre-release

Breaking Changes

  • (Windows only) Minimum Python version upgraded to 3.6.6
  • All cogs must now inherit from commands.Cog (see #2151 for more discussion and details).
  • A few changes to the redbot.core.checks module:
    • check_overrides has been removed, overrideable checks can now be created with the commands.permissions_check function.
    • is_mod_or_superior, is_admin_or_superior and check_permissions functions are now deprecated, use replacements in redbot.core.utils.mod instead.
  • The __red_permissions_before and __red_permissions_after hooks are no longer recognised, either rename to __permissions_hook or use the bot.add_permissions_hook method.

For Translators

A bunch of strings have just been updated on Crowdin, and a lot of new ones have been added. Hopefully we've made it easier for you to translate some of them. In particular, variable placeholders (the stuff in curly brackets {}) should all now be named, so you should know what the placeholders mean. This is to make it easier for you to know where to move the placeholder, should it be required by the language's grammar. Just make sure you don't change what's inside the placeholder (including the curly brackets), or remove any of them from the string!

Release Notes

[NEW FEATURES]

  • [Cleanup] [p]cleanup before command added, thanks @bobloy (#2171)
  • [Config] Add Group.clear_raw method, thanks @Zephyrkul (#2178)
  • [CustomCommands] #2120: Cooldowns for custom commands, thanks @Zephyrkul (#2124)
  • [Filter] #1873: Channels, roles and/or users can now be exempted (#2164)
  • [Utils] New utility for common message/reaction_add checks (#1985, #2169, #1986)
  • #2125: Bot-wide settings for automod immunity (#2129)

[CHANGED]

  • [Permissions] YAML commands now located in [p]permissions acl group (#2149)
  • Rewrite of permissions and default command checks backend (#2149)

[ENHANCED]

  • [Audio] Added info to nofify messages and [p]playlist list (#2155)
  • [Audio] More robust startup and unload (#2118)
  • [Downloader] Handle /tree/branch at the end of repo URLs (#2119)
  • [Downloader] #1683: [p]cog update now tells what cogs are updated and does a reload prompt (#2165)
  • [Downloader] More robust startup (#2121)
  • [Downloader] #1968: Submodules now updated when cloning/pulling repos (#2121)
  • [Trivia] Normalize smart quotes in answers (#2162)
  • [Utils] menu() can be used in DM, thanks @bobloy (#2183)
  • [Utils] Some markdown helpers can escape special characters (#2182)
  • #2031: Refactor fuzzy help and clean up help command (#2122)
  • JSON driver write atomicity (#2132)
  • General performance and design improvements for command checks and permissons cog
  • Updated a bunch of dependencies (#2148, #2175)
  • Added schema as a dependency (#2149)
  • MongoDB driver can use mongodb+srv URI protocol, thanks @yamikaitou (#2159)
  • @commands.bot_has_permissions checks failing will report missing permissions to user (#2149)
  • Default command permissions clearer and more transparent in Command.requires attribute (#2149)
  • General quality improvement of core cogs' user-facing strings and command help (#2074)

[FIXED]

  • [Audio] [p]pause causes error when player is stopped (#2130)
  • [Audio] Volume able to be set to a negative value (#2155)
  • [Core] #2133: Local blacklist+whitelist ignoring roles (#2134)
  • [Downloader] #1950: Missing repos from repo list (#2121)
  • [Image] Update relic V2-style command decorators, thanks @bobloy (#2138)
  • [Launcher] Asking for CLI flags when no instance is found, thanks @bobloy (#2142)
  • [Mod] #2127: Mods can ban other mods with [p]hackban (#2128)
  • [Mod] #2160: Tempban not removing user from settings on unban (#2161)
  • [Permissions] #1931: Inability to add overrides for subcommands (#2149)
  • [RPC] Add missing await to bot.load_extension(), thanks @bobloy (#2167)
  • [Trivia] Boolean answers not being parsed properly, thanks @bobloy (#2172)
  • Various cogs not pagifying properly, thanks @Zephyrkul (#2131)
  • C Compiler detection failing on Windows (#2136)
  • Red.send_filtered missing @staticmethod decorator, thanks @Zephyrkul (#2143)
  • Sentry errors with commands with no module, thanks @Zephyrkul (#2139)

Release 3.0.0b21

09 Sep 14:45
8096cd8
Compare
Choose a tag to compare
Release 3.0.0b21 Pre-release
Pre-release

[ADDED]

[ENHANCED]

  • #2014: Warnings tries to help users understand custom reasons (#2049)
  • Filter mentions from [p]names command (#2081)
  • [p]serverinfo respects set embed colour, thanks @Brramble (#2083)
  • Make missing python-Levenshtein warning friendlier (#2096)

[FIXED]

  • Using [p]now with thumbnail (#2063)
  • Launcher uses actual python interpreter to run pip, thanks @Zephyrkul (#2080)
  • #2052: Streams writing excessively to config (#2095)
  • #1904: Filter not working on sentences (#2065)
  • #2066: Audio unable to load on Windows (#2062)
  • #2079: Unescaped username/password for MongoDB (#2111)

[UPDATED]

Release 3.0.0b20

26 Aug 23:29
Compare
Choose a tag to compare
Release 3.0.0b20 Pre-release
Pre-release

[UPDATED]

  • Lots of dependencies (#1974)
    • discord.py to revision 8ccb98d395537b1c9acc187e1647dfdd07bb831b
    • Python compatibility to >=3.6,<3.8
    • aiohttp 3.3.2
    • Websockets 6.0
    • Other dependency versions can be seen in our setup.py

[CHANGED]

  • [BREAKING] Use of redbot.core.commands module enforced (#1971)
  • [BREAKING] config.Group.__call__() now mixes in defaults (#2018)
  • [BREAKING] config.Group.get_raw now mixes in defaults to dicts (#2018)
  • Owner commands can no longer be overridden by Permissions (#2053)
  • Self-bot support removed (#2008)

[ADDED]

  • Helpful task-based algorithms in utils (#1989)
  • Warning to owner upon inaccurate system time detection (#2026)
  • Output sanitation utilities (#1942)
  • Thumbnail display for youtube tracks with toggle (#1998)

[ENHANCED]

  • [p]eval has friendlier code-block stripping (#2017)
  • cleanup's internals have been cleaned up (#2013)
  • Update from launcher will use --user flag when necessary, thanks @retke (#2027)
  • Using redgettext for string extraction to make docstrings translatable (#2023)
  • Embeds in audio now respect the user's settings, thanks @Brramble (#2046)

[FIXED]

  • #2015: Error when using [p]report in DM (#2016)
  • Suppression of some ImportErrors in cogs (#1989)
  • Help message display for [p]localblacklist/[p]localwhitelist (#2042)
  • #1941: users triggering mass mentions through trivia session (#1942)
  • Sub-command and -group decorators moved to the right place (#1818)
  • All issues resulting from namespace packages (#2028)
  • Missing translation files (#2028)
  • #2033: Error loading audio when java -version output is unexpected (#2035)
  • #1999: YouTube streamalert missing channel name when added by ID (#2047)
  • #2003: Misleading message for common misuse of [p]streamalert twitch channel (#2048)

Release 3.0.0b19

13 Aug 00:32
a91cda4
Compare
Choose a tag to compare
Release 3.0.0b19 Pre-release
Pre-release

[ENHANCED]

  • Sentry client has been modified to use raven-aiohttp (#1967)
  • [p]urban looks way more awesome, thanks @lionirdeadman (#1871)
  • [p]reason now edits the most recent case when the case number is omitted, thanks @retke (#1979)
  • [p]userinfo Will hides the Roles field when the user has no roles. (#1829)

[FIXED]

  • #1943: error when unloading cogs without a module (#1984)
  • Unwanted translation files being uploaded to Crowdin (#1849)
  • #1975: passing floats as transactions to the bank broke stuff (#1976)
  • Not being able to include "+" in a [p]lmgtfy search (#1991)
  • #1932: Unable to load streams cog with mixer alerts added (#1994)
  • #1978: Error in command [p]case (#1981)
  • #1952: [p]addrole throwing an error on hierarchy issue (#1995)
  • #1982: Core/install cog paths being added implicitly (#1983)
  • #1997: Missing help string for [p]streamalert list (#2001)
  • #1947: [p]cleanup after not deleting anything (#2004)

Release 3.0.0b18

25 Jul 04:26
e3bff7e
Compare
Choose a tag to compare
Release 3.0.0b18 Pre-release
Pre-release

Enhancements:
bank.withdraw_credits will now accept 0. This allows developers to more easily create stuff that's free. (#1937)
The bot will now use uvloop when available (#1935)

Bugfixes:
Fixed a bug with the JSON driver not being able to save ints (#1953)
Fixed a outdated help text on a dev command (#1944)
Fixed an error caused by the bot not being able to send a DM on help. (#1955)
Fixed an issue with the permissions cache (#1945)

Release 3.0.0b17

12 Jul 02:22
Compare
Choose a tag to compare
Release 3.0.0b17 Pre-release
Pre-release

Warning:

As discussed in the Beta 16 release notes, the breaking changes of #1836 are now in effect. For more details see that Pull request.

Additions:
Autohelp changes. (#1836)
Allows the use of prefixes in install messages (#1869)
Added new flags (#1872)
Added checking for valid playlist files (#1891)
Audio now respects voice channel permissions (#1878)
The Economy leaderboards got a new look.(#1898)

Enhancements:
Embed colors are now applied to more commands (#1918)
Various changes to the Config JSON driver (#1855)
Made PyTest fixtures always available (#1858)
Show the Red version on the launcher (#1810)
Payday clarifications (#1892)
Clarified the reports help texts (#1860)
Clarified the streams help texts (#1837)
Clarified the admin help texts (#1906)
Stop the tmp directory from showing up (#1895)
Removed every reference for Python 3.5 (#1896)
Use our own checks instead of discord.py's (#1861)
Aliased Colour to color (#1916)
Improved the performance of Permissions (#1885)
Improved mod/admin role logic (#1914)
Warnings got a big update (#1867)
Reports now display the member's full username and discriminator. (#1913)
Made permissions more consistent (#1905)
Audio now has a more aggressive empty disconnect (#1925)

Bugfixes:
Fixed various typos (#1917)
Fixed a bug with modset (#1854)
Removed an outdated reference (#1856)
Fixed an example in the Config documentation (#1876)
Fixed an error in trying to grab past user/nicknames in userinfo (#1865)
Fixed unnecessary writes on context manage exit (#1859)
Fixed data not saving on playlist create (#1889)
Fixed cleanup messages cleaning up to many messages (#1864)
Fixed duplicate help messages on ignore (#1862)
Fixed DM usage in some commands (#1919)
Fixed the wrong reason being used on unbanning (#1842)
Fixed playlist queue duplicates (#1890)

Release 3.0.0b16

10 Jun 23:08
219367e
Compare
Choose a tag to compare
Release 3.0.0b16 Pre-release
Pre-release

WARNING: Support for Python 3.5 has been DROPPED (#1721)

Note: discord.py has been pinned as a result of recent changes to its requirements. We intend to update with beta 17

A note for cog devs: Mark your command group functions with autohelp=True or autohelp=False in the decorator (if it applies to your cogs) as beta 17 is bringing a breaking change (see #1790)

Additions:

  • Swap back to initial RPC library and hook into core commands (#1780)
  • local whitelist/blacklist (#1776)

Enhancements:

  • Added some tests (#1590)
  • Audio: Empty channel disconnect setting (#1832)
  • Command group automatic help (#1790)
  • Add a requirements list to [p]cog info (#1827)
  • Make hidden hidden and add disabled for info.json (#1828)
  • Split available and installed cogs in [p]cog list (#1826)
  • Refactor some commands for testing/RPC (#1691)

Bugfixes:

  • Fix online user count in [p]serverinfo (#1844)
  • Fix past nicks conversion for mod (#1840)
  • Fix streams race condition (#1834)
  • Catch another error on windows compiler failure (#1830)
  • Send meaningful responses on conversion failure (#1817)
  • Fix backup error (#1820)
  • Patch issue with attachment grabbing (#1822)
  • Fix formatter field pagination (#1813)
  • Don't block on adding reactions (#1808)
  • prevent self-casing the bot + feedback for heirarchy (#1777)
  • Don't do 3rd party agreement without command args (#1821)
  • Better name-as-prefix handling (#1823)
  • Fix typo in load (#1814)
  • Fix dm help set (#1806)
  • Fix missing await (#1805)
  • Cleanup quotes in cogs (#1782)
  • Fixed issue with making YT Stream Embed (#1812)
  • Add missing await for [p]set prefix (#1809)
  • permissions canrun fix (#1787)
  • fix several issues with fuzzy command search (#1788)
  • Handle token being an empty string (#1794)
  • Fix display of whitelist and blacklist members (#1789)
  • decorator inheritence fix (#1786)
  • Fixes issue preventing token reset from setup (#1771)
  • CLI prefix args correctly display in the on_ready print (#1770)
  • Hide help command from help (#1772)
  • Use typing.TYPE_CHECKING instead of utils.TYPE_CHECKING (#1778)
  • Announce ignore parameter modification (#1781)
  • Check for empty queue in [p]skip (#1769)
  • Permissions: Don't rely on load order to be consistent (#1760)
  • Make bot send typing whilst loading cogs (#1756)
  • Clean up some ugly auto-formatted strings (#1753)
  • Use sys.exit() over exit() (#1755)
  • Add a much-needed forward reference (#1763)
  • Add notes about case sensitivity for selfrole (#1762)
  • Restrict check for reactions on [p]now (#1752)
  • Fix error on [p]set command when used in DM (#1748)
  • Spelling, Grammar, and doc string fixes. (#1747)
  • Use Embed.Empty for unset embed colour (#1750)

Release 3.0.0b15

28 May 05:48
e349750
Compare
Choose a tag to compare
Release 3.0.0b15 Pre-release
Pre-release

Deprecation warning:

The minimum version of Red will be bumped from Python 3.5 to Python 3.6 on Beta release 16.

Additions:

  • Added [p]helpset (#1694)
  • Added Permissions cog (#1548)
  • Add a setting for embed color (#1707)
  • Add [p]repo info and short descriptions to [p]repo list (#1701)
  • Add events for modlog cases (#1717)

Enhancements:

  • Initial RPC library switch (#1634)
  • Install docs have been changed to guide installing 3.6 (#1685)
  • Add names/nicknames and current voice channel to [p]userinfo
  • Fuzzy command search for [p]help (#1600)
  • Tagline support for [p]help (#1705)
  • Cog list is now pagified (#1662)
  • Long docstrings are now pagified (#1722)
  • The --dry-run flag has been implemented (#1648)
  • Updated the cli flag selector in the launcher (#1696)
  • Removed reactions from [p]ping (#1712)
  • Optimize [p]backup to reduce file size (#1666)
  • Help will use the bot's set color (#1706)
  • Commands will silently fail if the user can't run them (#1725)

Bugfixes:

  • Fixed an issue with the help command when there is not docstring for the command or cog (#1645)
  • Fixed an issue with errors when importing modules not being handled (#1655)
  • Fixed a couple Downloader bugs (#1692, #1693)
  • fix erroneous message when transferring with insufficient funds (#1698)
  • Respect administrator and guildowner permissions (#1711)
  • [p]llsetup fixes (#1656)
  • Add checks to alias add/del (#1676)
  • Only allow audio commands in servers (#1682)
  • Fix downloader test failing on Windows (#1673)
  • Fix a bug with [p]warn erroring if no valid reason is passed (#1672)
  • Fix a misspelling in the Admin cog (#1715)
  • Fix an issue with removing Mongo instances (#1710)
  • Drop unnecessary channel from unmute server cases (#1695)
  • Fixed an issue with choice of extras to install from the launcher (#1649)
  • Fixed ctx.send_help not respecting embed setting (#1723)
  • Fixed an issue occurring on bot shutdown (#1726)

Dev workflow changes:

  • Update CONTRIBUTING.md with details on new dev workflow (#1659)
  • Add a makefile for helping with style checking and reformatting (#1665)
  • Add tox (#1641)
  • [V3] Add pipenv files (#1642)
  • Introduce black for code style (#1650, #1657, #1658)

Release 3.0.0b14

14 May 00:28
501aff4
Compare
Choose a tag to compare
Release 3.0.0b14 Pre-release
Pre-release

Additions:

  • Added a --load-cogs cli flag (#1601)

Enhancements:

  • Trivia has been updated to v1.1.1 (#1635)
  • Check for embed_links permission in embed_requested (#1619)
  • [p]ping has been moved to core_commands and now responds with a ping pong paddle reaction if it can add reactions (otherwise it will fall back to saying "Pong.") (#1618)
  • Cleanup commands clean up after themselves (#1602)
  • Cleanup now respects pinned messages by default (#1596)
  • Stream alert messages are now tracked across bot restarts (#1630)
  • The warning about using Python 3.6 on Windows has been dropped from the docs (#1622)
  • Audio: Update queue and search to use menus (#1633)

Bug fixes:

  • Fixed an issue with unmuting (#1603)
  • Fixed some outdated information (#1613)
  • Marked 3.7 as unsupported (#1623)
  • Fixed an issue with choosing a server to leave in [p]servers (#1617)
  • Fixed the help for [p]help (#1606)
  • Fix [p]reason when the modlog case has no moderator (#1604)
  • Add a NoneType check on trying to normalize a string (#1632)

Breaking change:

  • redbot.core.RedContext has been renamed and relocated to redbot.core.commands.Context (#1143)
  • redbot.core.i18n.CogI18n has been renamed to redbot.core.i18n.Translator (#1143)

Note:
As of this release, changes have been added to prepare for a permissions cog. These changes do allow for third party permissions cogs to replace the core one.

Any cog named Permissions must either not have a function named, or implement a function named check_overrides as a coroutine that takes 2 arguments, (context and a level) and must return None, True or False

More documentation on this is coming soon

Release 3.0.0b13

04 May 06:49
Compare
Choose a tag to compare
Release 3.0.0b13 Pre-release
Pre-release

Additions:
Added a new menu system for developers to use (#1566)
Added the option to reinstall red from the launcher (#1536)
Provided an extra method for working with Embeds (#1558)

Enhancements:
Audio now has a updated playlist mechanic with the ability to import v2 playlists (#1579)
Cleanup now supports cleaning users who have left the guild (#1561)

Bug fixes:
Fixed an issue with info and the recent PyPi change (#1581)
Fixed various grammar errors (#1539, #1582)
Fixed an issue where unmuting didn't work (#1568)
Fixed an issue whereby a zombie process would be left behind if Red died (#1575)
Fixed some issues with warnings (#1577)
Fixed numbering and leaving servers if the bot is a server owner (#1580, fun fact, bots can own a server if they are in less then 10 guilds!)
Fixed an issue with backing up data in the launcher on python 3.5.x (#1588)
Fixed various issues with reports (#1541)
Fixed an issue in SimpleEmbed (#1555)
Fixed files not having the right permissions (#1578)
Fixed an issue with non-existing sub-commands (#1565)

Breaking changes:

The following breaking changes have been planned for the upcoming releases.

Beta 14: The following imports need to replaced (PR #1143)

  • redbot.core.RedContext has been renamed and relocated to redbot.core.commands.Context.
  • redbot.core.i18n.CogI18n has been renamed to redbot.core.i18n.Translator.

Near future: Changes will be added to prepare for a permissions cog. These changes do allow for third party permissions cogs to replace the core one. (PR #1548)

Any cog named Permissions must either not have a function named, or implement a function named check_overrides as a coroutine that takes 2 arguments, (context and a level) and must return None, True or False

More documentation on this is coming soon