-
Notifications
You must be signed in to change notification settings - Fork 585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Road Map for v0.6.0 #428
Comments
Personally, I have made my own stuff for creating extensions for my serenity bot. It allows to dynamically insert or remove extensions (which provide different functionality, commands, and so on) and work within a single bot. It would be nice to provide extensibility in the upstream itself. Though, I guess, this will not land in |
It would be great if we can take a look at it, please share example code or link to your implementation on your fork : ) |
Oh, it is not in a fork, it is made on top of serenity's public interface :) And it hasn't been finished yet, I am porting it from my old project (which is private) :) Currently, there is only a simple "extension" trait and a few impls for it which describe it (name, commands, behavior, and so on) and may be easily plugged in (but statically yet) to a serenity instance. |
I would like to propose modularized event handlers (#488) as a feature to be included in 0.6. |
Thanks for all the suggestions - ranging from this issue to our Discord - we decided that to wrap up |
MSVC support for sound feature will be very nice, I can help building the native dependencies |
It's already supported on the v0.6.x-branch as shown in the road map under Implemented referring to #522. |
This road map organises features that we consider or want to ship with
v0.6.0
. It's an incomplete collection continuously striving to be updated.Proposed
are features that could qualify forv0.6.0
but are yet neither confirmed nor implemented.Accepted & WIP
are features that will ship withv0.6.0
but are still being implemented.Implemented
are features that are ready to ship and merged (or waiting to be) intov0.6.0
.Serenity
v0.6.0-rc.0
,v0.6.0-rc.1
,v0.6.0-rc.2
,v0.6.0-rc.2.1
got released!v0.6.0-rc.2.1
fixes a fatal bug inv0.6.0-rc.2
related to the attribute driven framework.v0.6.0-rc.2.1
.v0.6.0
has been released.Current road map stage:
Error
sync: Add Mutex in HttpError to make Error sync again #406 / Make the HttpError Send+Sync #532Updating Rust Code
match
s to acceptT
instead of&T
. This is fixed with Update to Rust 2018 #445.enum
s andstruct
s to be exhaustively unmatchable and thus gain changeability of public fields without causing a breaking change.Accepted & WIP
Implemented
Support multiple dynamic Prefixes,
dynamic_prefix
, which might be renamed todynamic_prefixes
or will coexist.Implementation: Rewrite the framework to attributes (WIP) #458
Proc-Macro Commands/Framework,
Nested Groups,
v0.5.x
'sCommandGroup
exposes all fields aspub
and adding a new field would break creation of given type.Support sub-groups in the Help-system,
sub
tosub_groups
. #539Switch to
audiopus
,audiopus
to offer Windows' voice-support and update outdated Opus version.OpusError
will now yield a different error-enum fromaudiopus
.audiopus
#522Support Rustls and OpenSSL,
Plain-help gets little facelift,
Slow Mode,
with_embeds
andplain
need to change their signature to accept aHashSet
with related owners.slow_mode_rate
for manually constructedGuildChannel
s.Fix OpenSSL,
serenity
.HyperError
has been removed.HttpError
instead.reqwest
with Replacehyper
withreqwest
#440 andtungstenite
with Switch fromrust-websocket
totungstenite
#341.Builders borrow themselves via
&mut self
,ChannelId
'sedit
-method to expect&mut EditChannel
#447Use
RwLock
forShareMap
instead ofMutex
,ShareMap
is required only, howeverMutex
disallows multiple readers.lock()
is not implemented onRwLock
.lock()
-calls on theShareMap
need to be changed to eitherread()
orwrite()
.Context
's lock toShareMap
fromMutex
toRwLock
#453Remove global Cache and HTTP,
v0.5.x
both can be freely accessed from everywhere. Inv0.6.x
, these two would be passed around - maybe passed insideContext
.ChannelId(u64).say(impl Display)
will no longer work, every portion relying on HTTP and Cache as global will break.Named Checks returning reasoned Errors
0.5.x
-checks were simply returning abool
to express success and failure, the new checks can store a possible name, help-display-options, help-bypass-option, and returnCheckResult
to provide an expressive handling of failures (e.g. to log or inform the user).CheckResult
instead ofbool
; they implementFrom<bool>
as well if you do not want to useCheckResult
.Update Help-System
with_embeds
andplain
need to change their signature to accept aHashSet
with related owners.Bugs to fix before RC:
tungstenite
-switch,voice
-features encounter frequent disconnects and instability.VoiceState.channel_id
isNone
: VoiceState.channel_id None when it shouldn't be #513Declined
Async serenity
stable
Rust, which won't happen until later this year.ETF Gateway Support
Rework Bucket/Custom Command Rate Limiting,
v0.6.0
's already quite big release, we decided to schedule it for the next fitting release.The text was updated successfully, but these errors were encountered: