🌊 Remnawave Backend v2.8.0
2.7.4...2.8.0
🚀 Enhancements
- ASN support for Node Pluging (213bf2ee)
- Add Node CPU load average to prometheus metrics for 1, 5, and 15 minutes (ad1c8488)
- Add KCP parameter handling in XrayGeneratorService (2830fbc1)
- Create SECURITY.md (5daad91e)
- Add support for xhttp transport in MihomoGeneratorService (b82c5352)
- Add support for ECH settings in XrayJsonGeneratorService (537b3c71)
- Implement Hysteria2 support in MihomoGeneratorService (3852ae1d)
- Add support for v2plus client in JSON subscription fallback clients (7e2d02b7)
- Add new xhttp-opts fields in MihomoGeneratorService (1d25bcb9)
- Support tun protocol in inbound config (5122519d)
- Implement Hysteria 2 link generation in XrayGeneratorService (f35be463)
- Add template transformation support for base64 encoding in TemplateEngine (607d1c89)
- Query stats for multiple nodes (7aba06fb)
- Add bbrProfile field to Hysteria2FinalMask and update buildHysteria2QuicFields method (49773911)
- Add verifyPeerCertByName field to host commands, schemas, and related models (85b74999)
- Add mihomoIpVersion field to host commands, schemas, and related models (9f09a0f9)
- Reintroduce mihomoIpVersion field in clientOverrides and update related schemas and interfaces (4c426e75)
- Add optional note field to node commands, models, and database schema (cd5ec4cf)
- Replace single tag with multiple tags in host commands, models, and database schema (6ba24456)
- Add proxyUrl field to node commands, models, and database schema, and update related services for proxy support (5c99ccd0)
- Add sorting functionality for usedTrafficPercentage in users repository (a23d3b92)
- Add support for DIRECT_URL in Prisma configuration and update schema to include directUrl (1dd38481)
- Add truncate functionality for Users Usage Table and remove deprecated fixPostgresCollation command (bfbefb65)
- Support session-table and session-length in XHTTP_FIELD_MAP MihomoGeneratorService (#189)
- New cli options (3e821c60)
- Add disableHwidCheck option to response rule modifications and update subscription logic (22d6571e)
- Integrate age-encryption for response rule modifications and enhance CLI for key generation (39d67779)
- Add nodeConsumptionMultiplier to node commands and models, update related processing logic (d4b6428e)
- Enforce TLSv1.3 minimum version in Axios service and mTLS agent (629f86f0)
- Add expiration notifications feature with configurable intervals and update related processing logic (ab17d961)
- Add force restart option to node restart command and update related services (79177408)
- Scoped api tokens (9c8081f4)
- Add support for traffic limit filterting (db194c92)
- Custom billing node (121eab8d)
- Add cursor-based pagination endpoint for fetching all users (b0c8dda6)
- Enhance mux handling (c924a923)
- Migrate to oxlint (efd5af3e)
- Add expireAt to API tokens, notification for creation/deletion of api token, remove token from db (b768deb1)
- Enhance caching mechanism by adding RAW_INBOUND and XRAY_JSON_TEMPLATE keys, and implement batch retrieval in RawCacheService (1039a864)
- Some indexes (cf6a6e26)
- Add DESCRIPTION template key and corresponding value retrieval in TemplateEngine (caa7861c)
- Vless route id for hysteria (580b738b)
- Add
excludeHostsByTagsfunctionality to filter hosts based on tags in response rules (4ccee7bc)
🩹 Fixes
- Improve HWID limit handling in subscription service and update response headers accordingly (ad0e6b9f)
- Headers in ws/httpupgrade (c49e4efc)
- Include host in ws transport options (2c31d462)
- Prevent logging of error details for 404 status in HttpExceptionFilter (701090e4)
- Enhance header handling in XrayGeneratorService (8b490642)
- Race condition on hwid devices check (9eb30975)
- Missing request ip in upsert hwid device (86cb635a)
- Improve handling of xhttp settings in MihomoGeneratorService (25232aaf)
- Add timeout setting for Telegram bot HTTP requests (6a6cf633)
- Exclude recipient UUID from candidate selection in XrayJsonGeneratorService (d2fca167)
- Adjust event loop delay resolution in RuntimeMetricsService (6d7e0d4d)
- Use a constant for event loop delay resolution in RuntimeMetricsService (5b844a3f)
- Handle potential undefined baseTemplate.outbounds in XrayJsonGeneratorService (e0e275d4)
- Rename header from x-hwid-limit to x-hwid-active in SubscriptionService (ef69cfa5)
- Enforce minimum node UUID requirement in GetStatsNodesUsersUsageCommand schema (91f084fc)
- Correct casing of uplinkHTTPMethod in XHTTP_FIELD_MAP (d7cefbe9)
- subscription: Encode share-link query with %20 instead of + (iOS sni/host bug) (#182)
- Cli output (fff8cc09)
- Update log message to clarify notification interval in UsersWatchdogQueueProcessor (6d96f085)
- Update French translations for subscription page configuration (a0a666cb)
- templates: Handle unlimited traffic limit in trafficLeft (#185)
- Csp (df4c06b7)
- Add connect-src directive to Content Security Policy (5c4101f5)
- XHttpExtraParams naming to xhttpExtraParams (2a9c816d)
- Telegram api module load (28aba153)
- Module load (0082cbae)
- Increase concurrency limit in QueryNodesQueueProcessor (72114a7c)
- Pass finalMask to base64 hysteria2 (40dbcab8)
- Missing response rules validation (8f72018e)
- Missing schema in webhook (22ad6e68)
- response-rules.ts: Typo in description (#188)
- Update user-agent regex patterns (f5e73526)
💅 Refactors
- Rename getNodeUuidsByPluginUuid to getEnabledNodesByPluginUuid and add filters for active nodes (cb769646)
- Simplify traffic limit validation by removing integer constraint across user commands and schema (f9bdf56f)
- Streamline xhttp settings handling in MihomoGeneratorService (edd18827)
- Rename fingerprint property to client-fingerprint in MihomoGeneratorService (23f7f93c)
- Consolidate xhttp and xmux field handling in MihomoGeneratorService (4643f745)
- Optimize batch updates in repositories using Kysely for viewPosition (28005777)
- Simplify event loop delay calculations in RuntimeMetricsService (ebcb5e37)
- Replace allowInsecure with pinnedPeerCertSha256 in host commands and schemas (d3a5ac78)
- Update fingerprint handling in host commands and services to use string type (4521acd1)
- Host commands to replace set-inbound and set-port with update functionality (29da6af5)
- Replace ConfigService with TypedConfigService across the application (3629a607)
- Improve error handling in webhook (da611dca)
- Update restart node command to use request body instead of query parameters (3b0f7033)
- Simplify RequestBodySchema for restart all nodes command and enforce forceRestart parameter (3d25fc5e)
- Remove unnecessary client type header assignment in response rules middleware (322430c8)
- Simplify shortId selection logic in ResolveProxyConfigService (0bbdd2c5)
- Pass fallback hosts in raw (194da8e1)
- Optimize public key resolution (040b1d35)
- Restructure template value handling (42613492)
- Enhance host data retrieval by optimizing inbound and template fetching (970c5101)
- Remove grammy and related dependencies, streamline Telegram bot integration (61df0122)
- Remove Axios module and related service references from app and scheduler modules (cd42e1fb)
- Swap remnawave-scheduler and remnawave-jobs configurations in ecosystem.config.js (79a187d6)
- Simplify conditional module registration for TelegramBotModule (8dafd988)
- Update resolveTransport and resolveHysteria methods to accept protocol and authOptions parameters (1732c75e)
- Reorganize import statements (ea47b1f2)
- Remove unnecessary isLoading property from getDocs function configuration (c0186179)
- Optimize host selection query by restructuring joins and conditions (0a22eebb)
- Simplify TelegramApiService and enhance TelegramBotLoggerQueueProcessor initialization (fac16c63)
- Restructure GetHwidDevicesStatsResponseModel to include byApp within byPlatform and update related service and repository methods (e6a5db74)
- Remove EncryptHappCryptoLink functionality and related DTOs from system module (20f4bfcb)
- Streamline rule matching logic in ResponseRulesMatcherService (eca3f383)
📖 Documentation
- Add comment to clarify the importance of keeping the database timezone as UTC in docker-compose-prod.yml (9af4ac36)
🏡 Chore
- Update user identifier from UUID to numeric ID across hwid and subscription request history models and commands; add request IP to relevant schemas (5d2bb6b8)
- Set process titles for API, processor, and scheduler (37c04ad7)
- Update package versions to 2.8.0 in package.json and package-lock.json (f375337b)
- Update dependencies (32f033fa)
- Remove unused dependency (28105c2e)
- Remove unused applyFieldMap call in MihomoGeneratorService (4094f304)
- Redirect output and error logs to /dev/null in ecosystem configuration (977db0cc)
- Remove unused patches and libs from Dockerfile (651c2c65)
- Update package dependencies to latest versions (a90e6e3d)
- Downgrade @nestjs/swagger and swagger-ui-dist to version 11.4.2 and 5.32.4 respectively (dc2a7235)
- Update @nestjs packages to version 11.1.22 (09187f23)
- Update @nestjs and @scalar packages to latest versions (429a8f1d)
- Update package dependencies to latest versions (058fc57b)
- Downgrade ioredis (5512af03)
- Update package dependencies in package.json and package-lock.json (127242a9)
- Update @nestjs dependencies to version 11.1.26 in package.json and package-lock.json (9a7a48be)
- Update issue template links for bug reports and feature requests in GitHub configuration (2dc104e3)
- Update backend contract version (efc87f41)
- Update dependencies (8fa4291f)
- Update package dependencies (305a8292)
- Update Node.js version in Dockerfile to 24.16-trixie-slim (c2c4b5cd)
- Add reflect-metadata import to seed configuration and CLI files (b60d06cb)
- Update GitHub Actions workflow (dc294d0d)
- Optimize npm install command in Dockerfile (8a712797)
- Update GitHub Actions workflow (179d0ccf)
- Update dependencies in package.json and package-lock.json (b3de225f)
- Update PostgreSQL to 18.4 in docker-compose files (f3ff9a40)
- Update Node.js version in Dockerfile to 24.17-trixie-slim (675fc121)
- Update Node.js version in Dockerfile to 24.18-trixie-slim (db95d962)
- Update import sorting configuration in .oxfmtrc.json and remove deprecated rules from .oxlintrc.json (2659f577)
- Add import-reformat commit to blame ignore list (5f7c11c5)
- Bump backend-contract version (647e4577)
- Bump backend-contract version (bba7dc53)
- Add ignorePatterns for node_modules in oxfmtrc configuration (51f8201b)
- Release v2.8.0 (798d7498)
Latest Docker image:
remnawave/backend:latestghcr.io/remnawave/backend:latest
Docker images:
remnawave/backend:2.8.0ghcr.io/remnawave/backend:2.8.0
What's Changed
- feat: add new xhttp-opts fields in MihomoGeneratorService by @legiz-ru in #162
- Update superadmin reset success message by @Davoyan in #166
- remove yaml alias limit by @MakostaDev in #167
- Add explicit mKCP client TTI handling by @Katze-942 in #175
- fix: use full pinnedPeerCertSha256 key in xray-json tlsSettings by @KOTBCTAKAHE in #181
- fix(subscription): encode share-link query with %20 instead of + (iOS sni/host bug) by @useruserdev in #182
- feat: support session-table and session-length in mihomo XHTTP_FIELD_MAP by @legiz-ru in #189
- fix(templates): handle unlimited traffic limit in trafficLeft by @mishkatik in #185
- fix(response-rules.ts): typo in description by @Grovvik in #188
New Contributors
- @Davoyan made their first contribution in #166
- @MakostaDev made their first contribution in #167
- @KOTBCTAKAHE made their first contribution in #181
- @useruserdev made their first contribution in #182
- @mishkatik made their first contribution in #185
- @Grovvik made their first contribution in #188
Full Changelog: 2.7.4...2.8.0