Skip to content

v0.9.0

Compare
Choose a tag to compare
@No767 No767 released this 11 Jul 08:32
· 429 commits to dev since this release
0fd2796

✨ Kumiko v0.9.0 ✨

More reworks of literally everything... This release migrates from Prisma to pure SQL (asyncpg), and fully stabilities the repo to use discord.py instead of Pycord. Nearly all of the planned features are implemented in this release, except the economy module.
For the full list of changes, please see them here: v0.8.x...v0.9.0

Note: The commands to configure which events are turned on are disabled as of now, since it would require a full rework of the schema and code. This will be implemented in a future release.

💥 Breaking Changes 💥

  • All of the SQL queries have been rewritten to use SQL w/ asyncpg instead of Prisma
  • A ton of cogs, and commands have been either moved or deleted since v0.8.x. Please consider resyncing your commands with the include dev-tool cog (or by activating jishaku)
  • All *-bullseye tags are now deprecated. Kumiko is now built using Debian 12 (Bookworm)

✨ TD;LR

  • Migration from Prisma to asyncpg
  • Kumiko now supports custom prefixes (max is 10). The default that will be set is >
  • asyncpg-trek migration system
  • Kumiko's EventsLog module has been implemented
  • Docs has been merged into one repo (https://kumiko.readthedocs.io/en/latest/index.html)

🛠️ Changes

  • Allow actions commands to greedily consume users to mention
  • Replaced RedisCheck with an simple ping check (ensureOpenRedisConn)
  • Replace all Prisma related code with asyncpg code
  • Reuse AIOHTTP ClientSession, asyncpg.Pool, redis.asyncio.connection.ConnectionPool, and LRU objects throughout the lifecycle of the bot
  • Hide .python-version file from the repo
  • Expect id and redis_pool args to be in an function when using @cache or @cacheJson decos
  • Update docs to add new instructions for hosting, and new requirements
  • Don't stack context managers, but rather spawn 3 new ones in one go (this is recommended instead)
  • Update Dockerfile to use Debian 12 (Bookworm)
  • Use Embed.timestamp for some embeds to show timestamps
  • Replaced .gitignore with a proper one from GitHub
  • Replaced kumiko.py with meta.py to allow for clearer purpose
  • Updated the return types of KumikoCache().getJSONCache()
  • Allow for custom paths to search for KumikoCache().setJSONCache()
  • Alow for custom keys and names to be used instead in @cache and @cacheJson decos
  • Use WindowsEventLoop for Windows (#375) (@rtk-rnjn)
  • Implement WinLoop event policy for Windows
  • Ensure that the migration runner always runs first
  • Change stop signal from SIGTERM to SIGINT for Docker
  • Build the Docker image locally for Kumiko's Postgres server
  • Redirect users to the Dev Contributing Guide (located in the docs) within contributing.md

✨ Additions

  • Migrations system using asyncpg-trek
  • SQL migrations
  • SQL based code to replace Prisma
  • Context manager based logging system
  • Custom prefix module (aka Kumiko supports custom prefixes for guilds)
  • Ansible playbooks, proper Vagrant config
  • Discord API events handler, custom dispatch events
  • Prefix utils
  • EventsLog module
  • Ping checks to ensure that the connections are open for PostgreSQL and Redis
  • Docs merged into one repo - this repo
  • Added display_emoji property to allow for cogs to have emojis when being loaded in the select menus
  • The final version of what an help command should be (taken from RDanny directly as usual)
  • Increased test coverage
  • sys-metrics command to obtain system metrics (for Noelle only)

➖ Removals

  • Global KumikoCPM variable in favor of having it stored during runtime instead
  • Old economy packages
  • cog-ext module
  • Prisma along with other unused libs
  • Any old v0.8.x Prisma code
  • Old "Docs"

⬆️ Dependabot Updates