Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
0.10.0 - Orbital Insertion source code.tar.gz | 2024-07-18 | 29.9 MB | |
0.10.0 - Orbital Insertion source code.zip | 2024-07-18 | 30.0 MB | |
README.md | 2024-07-18 | 5.5 kB | |
Totals: 3 Items | 59.9 MB | 0 |
Welcome to Nostrum 0.10.0, codenamed "Orbital Insertion".
"Orbital Insertion" is a testament to our commitment to continuous improvement and our vision of providing a robust and reliable Discord library for the Elixir community. We extend our gratitude to all contributors and users who have supported us on this journey. Your feedback and collaboration are invaluable.
Breaking Changes
- Message cache by @Th3-M4jor in https://github.com/Kraigie/nostrum/pull/595
-
The introduction of the message cache changes the signature of the message update event callback.
Previously, as messages were not cached, the signature was
handle_event({:MESSAGE_UPDATE, new_msg, _ws_state})
, with these changes the signature is nowhandle_event({:MESSAGE_UPDATE, {old_msg, new_msg}, _ws_state})
, whereold_msg
may be null if the message is not present in the cache.If the message is present, the
old_msg
value will be the previous version of the message as found in cache. Nostrum will handle the updating of the cache such that further cache requests will fetch the new message. * Note this is breaking EVEN IF you use a no-op cache.
New Features
- The aforementioned message cache is newly introduced in [#595].
- By default, the cache is disabled (
Noop
) meaning no messages will be cached. - Optionally, you can use the pre-built Mnesia backed cache or write your own adapter. Read more in the related documentation
Nostrum.Cache.MessageCache
. - We support Discord's new
zstd-stream
compression version - This compression method produces considerably smaller payload sizes at the expense of slightly increased memory usage for lookup tables.
- See documentation here on how to enable the new compression method. It is not enabled by default as it requires additional dependencies and some compiled modules.
- Relevant PR: Support zstd-stream gateway compression by @jb3 in https://github.com/Kraigie/nostrum/pull/598
- We have increased the amount of the API that we support, stickers and previously missing guild attributes have been added:
- Add full support for guild stickers by @jb3 in https://github.com/Kraigie/nostrum/pull/584
- Add new guild attributes by @jb3 in https://github.com/Kraigie/nostrum/pull/585
- Support all voice encryption modes by @BrandtHill in https://github.com/Kraigie/nostrum/pull/599
- feat(shard): manually shard connect and reconnect by @tignear in https://github.com/Kraigie/nostrum/pull/596
- See more in this documentation guide
Quality of Life
- Remove blob of zlib data from state machine errors by @jb3 in https://github.com/Kraigie/nostrum/pull/583
- Add resume_gateway_url to Nostrum.Struct.Event.Ready by @jb3 in https://github.com/Kraigie/nostrum/pull/588
- Refactor executable checks and add version check for non-forked youtube-dl by @BrandtHill in https://github.com/Kraigie/nostrum/pull/594
- Add flag to disable HTTP 2 by @jb3 in https://github.com/Kraigie/nostrum/pull/608
Fixes
- Fix the error caused by trying to cast a datetime to datetime by @jb3 in https://github.com/Kraigie/nostrum/pull/582
- fix key error in ratelimiter by @Th3-M4jor in https://github.com/Kraigie/nostrum/pull/606
- Handle case of non matching gun conn pids when receiving a gun_down message by @Th3-M4jor in https://github.com/Kraigie/nostrum/pull/611
- Ensure user struct is casted properly before updating ets cache by @Th3-M4jor in https://github.com/Kraigie/nostrum/pull/610
Documentation
- Cheatsheets
- add top n guilds to qlc cheatsheet by @Leastrio in https://github.com/Kraigie/nostrum/pull/586
- Add voice cheat sheet and fix docs typos by @BrandtHill in https://github.com/Kraigie/nostrum/pull/590
- Fix broken link in documentation by @RocketRace in https://github.com/Kraigie/nostrum/pull/587
- Fix Doc Arg Mismatch: Rename "options" to "response" by @njwest in https://github.com/Kraigie/nostrum/pull/589
- Docs update: manual sharding by @jb3 in https://github.com/Kraigie/nostrum/pull/603
- Add since 0.10.0 tags to changes since 0.9.1 by @Th3-M4jor in https://github.com/Kraigie/nostrum/pull/604
- Publish docs on Elixir 1.17 by @jchristgit in https://github.com/Kraigie/nostrum/pull/609
Miscellaneous
- Reduce binary copies in salsa crypto by @BrandtHill in https://github.com/Kraigie/nostrum/pull/602
- Remove Application.get_env call from Nostrum.Api.Base by @jchristgit in https://github.com/Kraigie/nostrum/pull/593
- Add soviet propaganda by @jchristgit in https://github.com/Kraigie/nostrum/pull/605
- Enable -Wunmatched_return in dialyzer by @jchristgit in https://github.com/Kraigie/nostrum/pull/508
- Bump CI to OTP 27 by @jb3 in https://github.com/Kraigie/nostrum/pull/601
New Contributors
- @RocketRace made their first contribution in https://github.com/Kraigie/nostrum/pull/587
- @njwest made their first contribution in https://github.com/Kraigie/nostrum/pull/589
- @tignear made their first contribution in https://github.com/Kraigie/nostrum/pull/596
Full Changelog: https://github.com/Kraigie/nostrum/compare/v0.9.1...v0.10.0