github remnawave/backend 2.8.0
v2.8.0

6 hours ago

🌊 Remnawave Backend v2.8.0

Join community on Telegram

2.7.4...2.8.0

compare changes

🚀 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 excludeHostsByTags functionality 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:latest
  • ghcr.io/remnawave/backend:latest

Docker images:

  • remnawave/backend:2.8.0
  • ghcr.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

Full Changelog: 2.7.4...2.8.0

Don't miss a new backend release

NewReleases is sending notifications on new releases.