All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Community language support: communities can now configure their preferred language (#663).
- Release confirmation feature: users must confirm before releasing funds, preventing accidental releases (#723).
- User command logging: all commands sent by users are now logged to a dedicated log file for auditing (#717).
- Unit tests for utility functions, improving test coverage (#700).
- External health monitoring module: push-based heartbeat system for monitoring bot health via an external service (#753).
- Persian (IRT) translation: corrected currency name from "ریال" to "تومان" (#716).
- Fixed
next_arginitialization: prevents errors whenmatch[2]is undefined in command parsing (#740).
- Updated Mongoose from 7.x to 8.17.1 (#725).
- Bumped
js-yamlfrom 4.1.0 to 4.1.1 (#709). - Bumped
@smithy/config-resolverfrom 4.0.1 to 4.4.5 (#720). - Bumped
axiosfrom 1.12.0 to 1.13.5 (#742).
- Display Telegram user ID (tgId) in channel notification messages for easier user identification (#708).
- Persian (Farsi) translation improvements and corrections (#707).
- Updated
tar-fsfrom 2.1.3 to 2.1.4 (#704). - Updated
axiosfrom 1.9.0 to 1.12.0 (#698).
- Serialize hold-invoice processing with a per-order mutex to prevent the cancel-order job from racing against subscription handlers (#705).
- The late-payment sweep now notifies admins of overdue trades before expiry and reuses the new per-order locking (#705).
- Temporarily disabled the communities deletion job while the replacement disable flow lands (commit
91ca64e).
- Updated bot tests to reflect the disabled community-deletion pathway and kept legacy image-cache formatting consistent (#699).
- Prevented
convertImageToBase64from treating legacy base64 payloads as filenames, avoidingENAMETOOLONGerrors when processing cached artwork (commit55230a7).
- Enriched NIP-69 events with buyer and seller rating metadata to improve marketplace transparency (#689).
- Optimized invoice artwork handling by caching image paths and tightening error reporting when attachments fail (#695).
- Adopted Prettier 3.6.2 formatting project-wide, documented the workflow expectations, and wired CI to check formatting at the end of the pipeline (#691).
- Upgraded GitHub Actions checkout to v4 and improved community tooling by normalizing ID comparisons, reusing the shared logger, and guarding solver checks with env validation (#696).
- Stopped community copy from being double-translated during admin flows and corrected unban checks that compared mixed ID types (#696).
- Updated
form-data,sha.js,base-x, andcipher-baseto the latest patch releases (#679, #694, #692, #693).
- Standardized changelog format following Keep a Changelog guidelines
- Comprehensive project documentation improvements
- Improve logic of paytobuyer, setinvoice, settleorder (#677)
- Fix frozen issues (#676)
- Fix git error building image
- Optimize order creation performance (#675)
- Image Caching Optimization (#672)
- App platform support integration (#670)
- Improve order cancellation logic (#669)
- Replace .warn() by .warning() in logger (#668)
- Canvas package requires native compilation (#671)
- Add git to container
- TypeScript strict mode implementation (#665)
- Convert ln module to TypeScript (#646)
- Block exchanges between specific users (#630)
- Improve timeout handling and error recovery (#667)
- Reduce the size of images within QR invoices (#660)