From 8cf7b57ec6e70d251b136c5eec56b7ec596a4de1 Mon Sep 17 00:00:00 2001 From: Gareth Coles Date: Tue, 12 Oct 2021 12:26:46 +0100 Subject: [PATCH] KordEx 1.5.1-RC1 --- changes/1.5.1-RC1.md | 18 ++++++++++++++++++ crowdin.yml | 6 ------ gradle.properties | 2 +- .../builders/ExtensibleBotBuilder.kt | 6 +++--- 4 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 changes/1.5.1-RC1.md delete mode 100644 crowdin.yml diff --git a/changes/1.5.1-RC1.md b/changes/1.5.1-RC1.md new file mode 100644 index 0000000000..2b96176add --- /dev/null +++ b/changes/1.5.1-RC1.md @@ -0,0 +1,18 @@ +# KordEx 1.5.1-RC1 + +This release is our first "stable" release in quite a long time, targeting Kord `0.8.0-M7`. The reason for this is largely due to Kord's extremely long snapshot cycle, which itself was caused by many changes to Discord's APIs. In turn, this means that this release contains a mind-boggling number of internal changes. + +We've done our best to keep things as compatible as possible, API-wise. Despite this, though, we've had no choice but to break a few things. + +Highlights of this release: + +* With a lot of help from ByteAlex, we've been able to eliminate many, many unnecessary cache hits, making use of behaviors rather than entities wherever possible. This makes KordEx far more suitable for large bots with different caching requirements. +* Full support for message and user commands have been added, which come with a full rewrite of the application commands system. Application commands now always require a `public` or `ephemeral` type, to help keep things safe. Additionally, our old message commands are now named chat commands, and have their functions prefixed with `chat`. +* The components system has been fully rewritten, including a similar typing requirement to application commands. It comes with a `ComponentContainer` type which makes it easier to re-use components, as well as a callback registry for advanced use-cases (such as components that need to work after a restart). +* The Sentry integration has been rewritten, and you'll find a `SentryContext` provided everywhere you'd expect to be able to make use of Sentry, instead of a plain list of breadcrumbs. This, along with several other improvements, should make Sentry much more pleasant to work with. +* Our translations platform [has been switched to Weblate](https://hosted.weblate.org/engage/kord-extensions/). If you're a translator (or would like to help with translations), please head over there! +* Lots of deprecated things have now been removed. If you were still using them, well, you were warned! + +There are far too many changes to list here. The [existing pages on the wiki](https://kordex.kotlindiscord.com/) have been rewritten for this release, and we'd suggest taking a look at them to refresh your knowledge. There's still documentation work that needs doing, but we'll get there! + +As always, if you run into any problems, please let us know! diff --git a/crowdin.yml b/crowdin.yml deleted file mode 100644 index f0f1984840..0000000000 --- a/crowdin.yml +++ /dev/null @@ -1,6 +0,0 @@ -files: - - source: /kord-extensions/src/main/resources/translations/kordex/strings.properties - translation: >- - /kord-extensions/src/main/resources/translations/kordex/%file_name%_%locale_with_underscore%.%file_extension% - -"commit_message": "[ci skip]" diff --git a/gradle.properties b/gradle.properties index 900a4cc2f2..ebb2d0ed50 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ kotlin.incremental = true ksp.incremental = false -projectVersion = 1.5.1-SNAPSHOT +projectVersion = 1.5.1-RC1 #dokka will run out of memory with the default meta space org.gradle.jvmargs=-XX:MaxMetaspaceSize=1024m diff --git a/kord-extensions/src/main/kotlin/com/kotlindiscord/kord/extensions/builders/ExtensibleBotBuilder.kt b/kord-extensions/src/main/kotlin/com/kotlindiscord/kord/extensions/builders/ExtensibleBotBuilder.kt index 6faa527f80..e528b581ec 100644 --- a/kord-extensions/src/main/kotlin/com/kotlindiscord/kord/extensions/builders/ExtensibleBotBuilder.kt +++ b/kord-extensions/src/main/kotlin/com/kotlindiscord/kord/extensions/builders/ExtensibleBotBuilder.kt @@ -851,7 +851,7 @@ public open class ExtensibleBotBuilder { * Requires the `GUILD_MEMBERS` privileged intent. Make sure you've enabled it for your bot! */ @JvmName("fillLongs") // These are the same for the JVM - public fun fill(ids: Collection): Boolean? = + public fun fill(ids: Collection): Boolean? = guildsToFill?.addAll(ids.map { Snowflake(it) }) /** @@ -876,7 +876,7 @@ public open class ExtensibleBotBuilder { * * Requires the `GUILD_MEMBERS` privileged intent. Make sure you've enabled it for your bot! */ - public fun fill(id: Long): Boolean? = + public fun fill(id: ULong): Boolean? = guildsToFill?.add(Snowflake(id)) /** @@ -1016,7 +1016,7 @@ public open class ExtensibleBotBuilder { } /** Set a guild ID to use for all global application commands. Intended for testing. **/ - public fun defaultGuild(id: Long) { + public fun defaultGuild(id: ULong) { defaultGuild = Snowflake(id) }