qserver 0.0.10
qserver: ^0.0.10 copied to clipboard
A comprehensive, expressive, and type-safe Dart backend framework.
0.0.1 #
- Initial version.
0.0.2 #
- Add *.exe to gitignore
0.0.3 #
- improve task controller and broadcasting features
0.0.4 #
- Update quds_db dependencies; remove unused native assets and test files
0.0.5 #
- Serialize
DateTimevalues in JSON responses as UTC (ISO 8601) for consistent, timezone-safe output. - Harden broadcasting: reject client-initiated
publishmessages over WebSockets; events can only be emitted from the server. - Remove the unused
sqflite_common_ffidependency and clean up unused imports. - Resolve all static analysis issues in the library.
0.0.6 #
- Disable the welcome dashboard by default; enable it explicitly with
showWelcomePage = true. - Hide sensitive console diagnostics (env, database, host, metrics, endpoints) unless
APP_ENVis local/dev. - Register
/quds/statsonly when the welcome page is enabled, and return 404 outside local environments.
0.0.7 #
- Update dependencies to latest compatible versions (
dart_jsonwebtoken3.x,mime2.x,lints6.x, and Quds DB packages).
0.0.8 #
- Enrich the terminal monitor: each request now shows time of day, path with query, duration, and client IP.
- Add
ExceptionHandlerMiddlewareto catch pipeline errors, map them to HTTP responses, and persist them for later review (storage/logs/exceptions.logplus an in-memory list / monitor panel). - Allow a custom exception
handlercallback; unexpected errors are recorded even without the middleware viaGlobalExceptionHandler.
0.0.9 #
- Add
Cachefacade with in-memory driver and optional TTL (Cache.put/get/forget/flush). - Strengthen queues:
Queue.later/Queue.at, attempt tracking, and exponential backoff retries in the worker. - Add opt-in
RateLimitMiddleware(not applied globally). - Register reserved health routes:
GET /quds/healthandGET /quds/ready. - Layered env loading:
.envthen.env.$APP_ENV(falls back to.env/ process env when files are missing). - Add structured
Logfacade (debug/info/warning/error) plusLog.recordQueryslow-query hook; wireLoggerMiddlewareto it. - Harden WebSockets: configurable ping / idle timeout and
Auth.invalidateclosing related sockets. - Expand validators:
IsInt,IsBool,IsUrl,IsConfirmed,InRule(+ fluent helpers). - CLI:
make:middleware,make:provider,cache:clearhelp text, andexecutables.qserver. - Add
QudsTestClient/QudsRouter.dispatchTestfor HTTP tests without binding a port.
0.0.10 #
Phase A (additive; defaults unchanged) #
- Opt-in
SecurityHeadersMiddlewareandRequestIdMiddleware(not applied globally). Auth.issueTokensfor access/refresh token pairs.- Async
Unique/Existsvalidation rules. - Opt-in Admin Insights routes behind
QUDS_INSIGHTS=trueandQUDS_INSIGHTS_TOKEN(Bearer), with replaceableinsightsAuthorizerfor future admin-role checks.
Phase B (opt-in drivers) #
RedisCacheDriver+ optionalCacheServiceProvider; bind whenCACHE_DRIVER=redis.DatabaseQueueDriver,SerializableJob,JobRegistry, andQueue.cancel(memory returns false / removes by id).- Interval
Schedule.every+ export-onlyScheduleServiceProvider. - Optional
RedisBroadcastBridgewhenBROADCAST_DRIVER=redis. - Env auto-config in
registerProviders/servevia_configureDriversFromEnv(no change unless env vars are set).
Phase C (storage + migrations) #
- Storage disks:
LocalStorageDisk(default) and minimal S3-compatibleS3StorageDisk(SigV4 PUT/HEAD/DELETE;url()fromS3_PUBLIC_URL). - SQL file migrations:
FileMigrationRunner(database/migrations/<id>/up.sql), CLImake:migration/migrate/migrate:rollback, optionalMIGRATE_ON_BOOT. - Scaffold
.envcomments for optional drivers +docker-compose.yml(postgres + redis) onqserver create.