And here we have it, the first beta of v1.2 for niobot! Hopefully, there should only be one more beta, and a release candidate, before we get a full v1.2.0 release! And, if I do say so myself, it is looking *good*. Here's a few of the changes that've been made since the second alpha:
Changes
* niobot attachment types now support os.PathLike, as well as str, BytesIO, and Pathlib, in case you had some freaky custom path type
* Overlapping typing events in anything using room_send (e.g. send_message, edit_message) will no-longer
throw an error if there is a mid-air collision. Instead, a warning will be logged to the stream, and
the operation will be a no-op. This may cause some inconsistencies in the typing indicators sent by nio-bot,
however that is preferable to errors.
* You can now have a little bit more control over the sync loop
- `NioBot()` now allows you to pass a static presence (`online`, `unavailable`, `offline`), `False` to outright disable presence, and `None` (default) to set it automatically based on the startup stage (recommended for slower connections)
- You can now, if you needed to for some reason, disable full state sync via `sync_full_state=False`.
* Fixed `NioBot.join()` throwing a JSON EOF in some cases
* Added the `reason` parameter to `NioBot.join` and `NioBot.room_leave` as optional strings
* NioBot's auto-join feature now uses this to include a reason when automatically joining rooms
* Fixed module event handlers, in debug logs, being named as anonymous functions, rather than their true names. This will make debugging issues with your event handlers easier.
* Removed the password login critical log in favour of simply documenting the dangers of using a password
* `NioBot.send_message` will now automatically parse mentions if not explicitly provided, to take full advantage of intentional mentions. (This is in-line with behaviour commonly found in other popular clients)
---
With this beta now out, there will be no more major feature changes added to v1.2.0. Minor changes and additions may be added here and there, but the betas are all about ironing out the bugs, allowing for the release candidates to be... candidates for release.
As always, if you have any feedback about this release, please open an issue, or contact me in the NioBot room (https://matrix.to/#/niobot:nexy7574.co.uk). Design feedback, suggestions, bug reports, and general help are always welcome.
---
**Full Changelog** (auto generated): https://github.com/nexy7574/nio-bot/compare/1.2.0a2...1.2.0b1