sirius_backend 2.4.1
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.enableParsingandvalidate(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
corsHandlermiddleware 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
HEADmethod 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, andexceptionHandlernow 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 theValidatorclass for safer and more predictable validation - โ ๏ธ Introduced abstract
SiriusExceptionclass to allow custom HTTP/WebSocket exception handling - ๐ง Updated
start()method to accept user-definedexceptionHandlerfor centralized error management
2.1.3 #
- Optimized the
Requestclass for more efficient and safer data access - Added
getJsonBodygetter 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
WebSocketRequestand replaced with a unifiedRequestclass for WebSocket handling. - ๐ Added WebSocket integration into connection middleware flow.
- ๐ง Added
SocketConnectionclass 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
- ๐ฅ Event registration:
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
overrideHeaderscallback - ๐งผ Minor internal code cleanup to enhance maintainability
1.0.17 #
- Improved support for sending custom headers in HTTP responses via the
Responseclass - 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
Validatorclass ๐ฏ
โ UsechildinsideValidationRulesto validate nested maps
โ Error messages now support dot notation for nested fields (e.g.address.street) - Improved internal
Validatorlogic 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