Pre-Alpha 2 Release
Pre-releaseWow, that's huge! A lot of things happened since the first release in April 2019, prior the hacktival.The hacktival itself was a lot of fun and the first big community effort to develop chat overflow since the code overflow 2 stream back in November 2017.
Since the hacktival, we grow the development team from 3 to 7 members, had a lot of third-party effort trough issues and and pull requests (thank you!), created a discord server with over 500 members (wtf?) and rewrote and enhanced big parts of the chat overflow framework. It was a lot of fun to lead the development with such an amazing community.
Now: Everything compiles (so all tests are green) and it's time to release!
Major changes
Let's summarize the most important changes, bug fixes and enhancements of the chat overflow project first:
- Rewrote big parts of the framework, making development for plugin and and platform devs faster and easier
- Rewrote the chatoverflow-API, making it cleaner and hopefully future-proof
- Added platform connectors for Twitch, Discord, your File system, TippeeeStream, MockupChats and serial connections like the arduino platform. More to come!
- Added a rich and ready-to-use REST-API to controll big parts of chat overflow
- Replaced the REPL with the first version of a web-based Angular GUI
- Added testing and prototyping plugins and platform connections for developers
Detailed changes
It's hard to document all the changes since the last release. Not only because so muched changed but rather because we didn't use issues and milestones to track progress until recently. There are still a lot of issues, solved.
Framework
- Added bootstrap project to download libraries and start the framework for user environments
- Enhanced sbt commands and run configurations. Added make support
- Reworked platform connector, added support for optional credentials
- Added actor paradigma to separate sandbox and privileged framework context
- Added big REST-API, documented with Open API / Swagger
- Added support for generating dependency lists for the bootstrap launcher
- Added support for OpenSLL-compatible encrypted communication
- Updated CLI, making the parameters more clear and usable
- Removed the REPL
- Enhanced plugin execution and configuration handling
API / Platform Support
- Added documentation to a lot of API functionality
- Reworked API structure, making nearly everything event-based
- Added discord server platform / chat connector
- Added platform connector for serial communication e.g. with arduino
- Added file system connector and (sandboxed) plugin data folder
- Added mockup chat support
- Added initial tipeeestream platform support
GUI
- Created the chatoverflow-api package on npm, encapsulating a generated angular library for server communication
- Added GUI-frontend project, based on the material-angular-dashboard
- Implemented first "Better REPL"-single page GUI, controlling the framework trough the REST-API
Pull Requests
The development progress of chat overflow was further pushed trough amazing pull requests. A big thank you to all contributors! The most outstanding:
- #9 by @derNiklaas: Added File Connector
- #12 by @Ullmie02: TipeeeStream implementation
- #13 by @daniel0611: Implement incremental library downloading/updating in Bootstrap Launcher
- #16 by @daniel0611: Add progress bars for checking and downloading libs in Bootstrap Launcher
- #17 by @daniel0611: Add gui to the build process
- #18 by @derNiklaas: Add more methods to file connectors
Final words
At this point, I want to thank the new and bigger team, especially @joblo2213 who spent a lot of time refactoring the API until now, where the usage for plugin developers is much more cleaner and easier.
This is the second release and houndreds of hours of coding had been needed to bring chat overflow that far. But we are still in pre-alpha state, so there is a lot more to do. Feel free to join us!
Next up: More platform connections (RCON, Twitter, FTP, Loots, YouTube, Twitch PubSub, Tipeee Stats), reworked plugin format, enhanced generators for faster development workflow, enhanced documentation and tutorials, LogOverflow and so much more. Thank you!