sirius_backend 2.4.1 copy "sirius_backend: ^2.4.1" to clipboard
sirius_backend: ^2.4.1 copied to clipboard

Sirius is a lightweight yet powerful Dart backend framework designed for building fast, scalable, and structured HTTP & WebSocket APIs.

2.4.1 #

  • ๐Ÿงน Minor internal cleanup on websocket part.

2.4.0 #

  • ๐Ÿ”Œ Reworked WebSocket connection flow for cleaner lifecycle handling and improved reliability.
  • โฌ†๏ธ Added final socketConn = await request.upgradeToWebSocket(); method to allow direct WebSocket upgrades from the request object.
  • ๐Ÿง  Refactored internal WebSocket routing logic for better maintainability and extensibility.
  • โšก Performance optimizations for WebSocket handling and event processing.
  • ๐Ÿงฉ Wrappers (middlewares) are now fully supported for WebSocket connections, enabling authentication, logging, validation, and other interception logic before upgrade.

2.3.10 #

  • ๐Ÿงน Minor internal cleanup and optimizations.

2.3.9 #

  • ๐Ÿงน Minor internal cleanup and better error handling during file/stream writes.

2.3.8 #

  • ๐Ÿ“ฆ Added Response.sendFile() for serving files directly through HTTP. Supports automatic MIME detection, inline display, and file downloads with custom headers.
  • โš™๏ธ Improved internal response handling in Handler to support file streaming without memory overflow.
  • ๐Ÿชถ Minor optimizations for header management and response encoding logic.

2.3.7 #

  • ๐Ÿ› ๏ธ Removed validate(parsing: true) feature.
  • โœจ Updated Validator constructor: now Validator(request, rules).
  • โšก Optimized validation logic for better performance and error handling.

2.3.6 #

  • โœจ Added automatic parsing of string fields to numbers or booleans via Validator.enableParsing and validate(parsing: true)
    This ensures query parameters and path variables are correctly coerced before validation.

2.3.5 #

  • ๐Ÿ” Removed unintended loop execution of middlewares to ensure wrappers run only once per request
  • ๐Ÿงน Minor internal cleanup and optimization

2.3.4 #

  • ๐ŸŒ Added built-in corsHandler middleware to simplify CORS handling across projects
  • ๐Ÿ› ๏ธ Developers can now easily enable CORS using .wrap(corsHandler()) with customizable options

2.3.3 #

  • โš™๏ธ Improved compliance with HTTP HEAD method by ensuring responses include headers only and no body
  • ๐Ÿ” Enhanced header handling logic to support custom and client-provided headers more cleanly
  • ๐Ÿงช Added better testing support for HEAD, OPTIONS, and other non-GET methods

2.3.2 #

  • ๐Ÿž Fixed minor errors and bugs

2.3.1 #

  • ๐Ÿž Minor bug fixes
  • ๐Ÿค Developer experience improvements for better usability and clarity

2.3.0 #

๐Ÿ†• Multipart Form Data Support #

  • ๐Ÿ“Ž File Uploads
    • Parse and extract file metadata like name, size, and raw bytes from multipart/form-data requests.
  • ๐Ÿ“ Text Fields
    • Seamlessly handle both file and text inputs in a single multipart request.
  • ๐Ÿ’พ Deferred File Saving
    • Files are not saved automatically.
    • Use request.getFile('fieldName') to manually save and retrieve the file from a temporary directory.

2.2.2 #

  • โœ… Improved request headers and content type handling
  • ๐Ÿ› Fixed issues related to incorrect or missing Content-Type headers in certain requests

2.2.1 #

  • ๐Ÿž Minor bug fixes

2.2.0 #

  • ๐Ÿ”„ Refactored middleware and wrapper registration to accept function references directly instead of requiring class instances
  • ๐Ÿงฉ useBefore, useAfter, wrap, and exceptionHandler now accept plain functions (e.g., (request) async => Response) to simplify usage
  • ๐Ÿš€ Encourages a functional programming approach and reduces boilerplate when registering middleware or exception handlers

2.1.4 #

  • ๐Ÿ›ก๏ธ Added type safety toggle (enableTypeSafety) to the Validator class for safer and more predictable validation
  • โš ๏ธ Introduced abstract SiriusException class to allow custom HTTP/WebSocket exception handling
  • ๐Ÿ”ง Updated start() method to accept user-defined exceptionHandler for centralized error management

2.1.3 #

  • Optimized the Request class for more efficient and safer data access
  • Added getJsonBody getter with fallback for null safety
  • Improved internal null handling for request parsing

2.1.2 #

  • Added Response.sendJson() for simplified JSON responses
  • Fixed minor bugs and error handling issues

2.1.1 #

  • Minor bug fixes related to WebSocket functionality

2.1.0 #

  • โœจ Added event-based WebSocket communication for structured real-time messaging.
  • ๐Ÿงน Removed WebSocketRequest and replaced with a unified Request class for WebSocket handling.
  • ๐Ÿ”Œ Added WebSocket integration into connection middleware flow.
  • ๐Ÿง  Added SocketConnection class to manage WebSocket events, raw messages, middleware, and connection lifecycle:
    • ๐Ÿ“ฅ Event registration: onEvent, onceEvent
    • ๐Ÿงพ Raw message handling: sendData, onData
    • ๐Ÿ›ก๏ธ Middleware validation
    • ๐Ÿ” Connection lifecycle hooks: disconnect, error

2.0.4 #

  • Web socket error handling
  • Improved performance

2.0.3 #

  • Minor error and bug fixes

2.0.2 #

  • Improved WebSocket connection handling for better scalability and performance.
  • Enhanced error handling and message validation for WebSocket interactions.

2.0.1 #

  • ๐Ÿž Minor bug fixes and internal improvements
  • ๐Ÿ”ง Improved stability and error handling in route registration and middleware execution

2.0.0 #

๐Ÿš€ Major Release โ€“ Sirius Framework 2.0 #

This version introduces powerful middleware architecture changes and improved flexibility, with some breaking changes.

โœจ Features & Enhancements #

  • ๐Ÿ”„ Introduced wrapper middleware support
    Wrappers allow chaining logic (e.g. logging, timing, authentication) around the entire request lifecycle using:
    sirius.wrap(LoggerWrapper());
    

1.0.20 #

  • Minor bug fixes

1.0.19 #

  • Validation rules for each elements ValidationRules().forEachElement() in list validation
  • Minor bug fixes

1.0.18 #

  • โœจ Added support for overriding headers in responses using overrideHeaders callback
  • ๐Ÿงผ Minor internal code cleanup to enhance maintainability

1.0.17 #

  • Improved support for sending custom headers in HTTP responses via the Response class
  • Internal code cleanup for better maintainability and readability

1.0.16 #

  • Minor bug fixes and stability improvements

1.0.15 #

  • Some bug fixes

1.0.14 #

  • Refactored validation rules to use named parameters instead of positional ones for improved readability and flexibility
  • Improved exception messages for better clarity and developer understanding

1.0.13 #

  • Bug fixes

1.0.12 #

  • Passing and receiving data through middleware
  • Minor optimization in handler

1.0.11 #

  • Added some more validation rules
  • Bug fixes and minor code cleanups

1.0.10 #

  • Added support for nested child validation in the Validator class ๐ŸŽฏ
    โ†’ Use child inside ValidationRules to validate nested maps
    โ†’ Error messages now support dot notation for nested fields (e.g. address.street)
  • Improved internal Validator logic for better error composition and modularity
  • Bug fixes and minor code cleanups

1.0.9 #

  • Improved and extended documentation across all core components ๐Ÿ“š
  • Added example usage to class and method documentation
  • Cleaner API reference comments for better IDE support

1.0.8 #

  • More controls on headers

1.0.7 #

  • More controls in request validation

1.0.6 #

  • Bug fixes

1.0.5 #

  • Optimized middleware handling

1.0.4 #

  • Simplified sending responses

1.0.3 #

  • WebSocket support via app.webSocket(path, handler) ๐ŸŽ‰
  • Improved route conflict handling

1.0.2 #

  • Small bug fixes version

1.0.1 #

  • Small bug fixes version

1.0.0 #

  • Initial version
4
likes
160
points
391
downloads

Publisher

unverified uploader

Weekly Downloads

Sirius is a lightweight yet powerful Dart backend framework designed for building fast, scalable, and structured HTTP & WebSocket APIs.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

More

Packages that depend on sirius_backend