Skip to content

v1.0.0-BETA.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 02 Jan 19:59
9cfa28f

Yes, we are finally in beta! 🎉

This release includes a lot of changes and improvements, so check the changelog to see what's new.

  • [BREAKING] Drop support for all versions below Node.js v16.20.0

    • Our build system was improved and can't build in version 14 or lower anymore
    • Also, our load system uses features from Node.js v16.20.0, so we can't support older versions anymore
  • [BREAKING] Message system was refactored

    • Instead of a crazy irc-inspired message system, we now use simple json objects
    • The send method was changed, and you will need to update your code to use the new one
    • Legacy "command" and "args" properties are now optional, and you probably won't need to use them anymore
    • New parameter "content" was added, this accepts anything and will be sent as the message content
    • The property "type" in message doesn't mean the client type anymore, now it means the message type (update your code to reflect this change)
    • Various other changes were made, so check IMessage interface to see all changes
  • [BREAKING] ArunaCore is now an ES module

    • This doesn't affect the api, so your code probably will work without issues
  • [DEPRECATED] Various methods from WebSocketParser were deprecated

    • They will be removed in some future version, so update your code to use the new methods
  • [CHANGE] We changed the project structure

    • Say goodbye to multiples node_modules folders (we now use a single in the root and another in api only)
    • Now we use a single package.json file in the root of the project (and another in api only)
    • Now we use a single tsconfig.json file in the root of the project (and another in api only)
    • This reduces significantly the project size and build time (and also makes it easier to maintain)
  • [CHANGE] Build system was improved

    • Since we have abandoned the multiple modules structure, we can now use a single build system
    • This includes the api (you don't need to build it separately anymore)
  • [CHANGE] Increase WebSocket payload size limit

    • Now we support payloads up to 512kb
  • [NEW] Add configuration system

    • Now you can configure the system (including server port) editing the bundle/config/config.json file
    • You can also use enviroment ARUNACORE_<PROPERTY> variables to override the configuration file
  • [NEW] Add masterkey to allow access to restricted endpoints and commands

    • You can set the masterkey in the configuration file or in the enviroment variable ARUNACORE_MASTERKEY
    • If a masterkey is not provided, all restricted endpoints and commands will be disabled and will return a 503 error
  • [NEW] Create a connection structure

    • Usefull to store and manipulate connections
  • [FIX] Timeouts not being cleared

    • This also reduces test time
  • [FIX] HTTP server not responding unknown endpoints

    • Now it returns a 404 error (as expected) instead just doing nothing and waiting for a timeout
  • [FIX] HTTP doesn't support body

    • Since the default node http server doesn't support body, we've implemented a custom parser to support it
  • [FIX] HTTP server routes begin case sensitive

    • Now all routes are case insensitive
  • [CHORE] Update dependencies

  • [CHORE] Improve documentation

  • [CHORE] Create a changelog file to keep track of changes

    • Probably includes all changes from previous versions