2.49.4 (2024-12-13)
- cors: Removed custom OPTIONS preflight handler in favor of default Hapi CORS handler (6427728)
- oauth2: Fixed field encryption for OAuth2 apps (a0c3eaa)
2.49.3 (2024-12-09)
- gmail-api: Fixed attachment forwarding when using Gmail API (6aef655)
- gmail-api: Fixed threading for replied messages when using Gmail API (2b4d5bb)
2.49.2 (2024-12-03)
- deps: Downgraded elasticsearch dependency to avoid including ESM dependencies (78d6aed)
2.49.1 (2024-12-03)
- delivery-test: Fixed gateway usage with delivery tests (ec94223)
- deps: Bumped email-text-tools to fix failing preProcessHtml and webSafeHtml (4de02ae)
- Prevent throwing an exception if serviceUrl is not set (e947a0b)
2.49.0 (2024-11-10)
- delegated-accounts: Allow using credentials from another existing account for a shared MS365 mailbox account (fc17b02)
- delegated-accounts: Allow using delegated MS Graph API accounts; pull request #475 from postalsys/shared-ms-api (f0627e9)
- gateway: Fixed gateway based sending for API accounts (86c2c02)
2.48.7 (2024-11-07)
- gateway: Fixed gateway testing (6c29c87)
- imap-auth: Always use username and password as string, not atom for LOGIN command (1064d1f)
- imap-auth: Prefer AUTH=LOGIN and AUTH=PLAIN to LOGIN for better compatibility of special characters (7e09d2d)
2.48.6 (2024-11-01)
- admin: Fixed pagination URL for oauth2 listing (4140e34)
- outlook-api: Falls back to username as account email if failed to retrieve account email address (57f3d82)
- stats: Correctly detect account state for Gmail/MS Graph API accounts (a5af1de)
2.48.5 (2024-10-31)
- hosted-authentication: If a user tries to add an hotmail/outlook account with a password, show a warning about MS disabling password based auth (dd0407e)
- outlook-api: Detect if message is from Inbox when processing messageNew webhook (2a72aa0)
- outlook-api: If mail property is not provided in user profile, then use userPrincipalName instead (2e2224c)
- redis: Do not use Redis connectionName to avoid calling CLIENT command (aafc732)
2.48.4 (2024-10-25)
- account-state: Only swiths to disconnected if the account was previously connected (4f56fe3)
- outlook-api: Fixed missing redis object (c248e49)
2.48.3 (2024-10-25)
- change-events: Trigger a 'disconnected' event when an account is deleted and the connection is closed (bf56440)
- oauth-api: Do not try to convert null to string when making an OAuth2 API request (5231327)
- outlook-api: Ensure seemsLikeNew value for new message webhooks (16e12c0)
- outlook-search: Allow using $search instead of $filter by setting the useOutlookSearch query argument (3a0d75e)
- redis: Do not set connection name to prevent calling CLIENT.SETNAME command (166a947)
2.48.2 (2024-10-23)
- metrics: Ensure that unassigned accounts are included in the 'disconnectedä state count (d502425)
- metrics: Include thread counts in Prometheus output (04e978e)
- oauth2: Allow to specify to show only Google Workspace accounts on OAuth2 login screen (a3b2412)
- submit: Added additional and optional reference field 'messageId'. If set then this value is validated against the Message-ID header of the referenced email (8d76345)
2.48.1 (2024-10-18)
- certs: Show a proper error response for failed ACME validation requests (71dfeba)
- oauth-api: Use a default cloud value for outlook OAuth2 apps if AzureCloud is not specified (1affc1d)
- oauth2: Double check if OAuth2 account is actually already used before throwing AccountAlreadyExists error (3f967a9)
2.48.0 (2024-10-14)
- imap: Added new IMAP indexing option: 'fast' (1d6df05)
- outlook: Fixed Outlook OAuth2 connection (920aa20)
2.47.0 (2024-10-07)
- bullmq: Replaced Bull Arena with Bull Board (e6762b9)
- oauth: Added 'useAuthServer' support for API based email accounts (04c2aa9)
- swagger: Use embedded Swagger UI instead of Iframe (ce9fd6a)
- templates: Allow to inject HTML code to the <head> tag of the public pages like authentication form or 404 error page (bd97a7c)
2.46.5 (2024-09-25)
- release: Use node v20 for prepackaged binaries (ed2a161)
2.46.4 (2024-09-23)
- search: Fixed resolving special use paths like \All (3fb0c9c)
- security: Generate Fluid-Attacks SAST Scan Results (5780708)
- security: Replaced node-gettext with @postalsys/gettext (a13378a)
2.46.3 (2024-09-10)
- security: Allow limiting IP addresses that are allowed to access /admin paths (7b64009)
2.46.2 (2024-09-07)
- oauth2-api: Set default value for Outlook OAuth2 cloud property when creating a new OAuth2 app via API (d4e1993)
- Upgraded dependencies (abb9edf)
2.46.1 (2024-09-04)
- click-open-tracking: Allow to configure clicks and opens tracking separately with trackOpens and trackClicks options (1cc55bc)
2.46.0 (2024-08-29)
- autoconf-validation: If autoconfig does not respond with full settings, do not auto-attempt configuration check (cdc5765)
- autoconfig: Added configuration information for ATT email accounts (729de83)
- imap: Disable IMAP syncing if authentication fails too many times (def4404)
- link-tracking: Fixed unsubscribe links when click tracking is enabled (34cdc38)
2.45.1 (2024-08-23)
- Fixed a bug with invalid logger object (e44de90)
2.45.0 (2024-08-22)
- deps: Bumped dependencies to fix web safe HTML (7b20aff)
- Use no-referrer policy for all _blank links (eef5757)
2.44.1 (2024-08-15)
- oauth2: Fixed Gmail API OAuth2 schema (205f34e)
2.44.0 (2024-08-15)
- app-password: Add T-Online to providers needing an app password (#430) (823939b)
- oauth-tokens: Fix renewal check for access tokens (f687aa1)
- outlook-oauth: Show 'supported account types' as a selectable list instead of a text field input (fe62e5b)
2.43.3 (2024-08-01)
- cors: Added missing OPTIONS handler for CORS (205480d)
2.43.2 (2024-07-29)
- reconnect: Allow reconnecting paused accounts (b8e212f)
2.43.1 (2024-07-21)
- api-docs: Updated information about total/pages/nextPageCursor (cd12547)
- cli: Added command 'export' to retrieve raw account data with credentials (9932801)
- gmail-api: Fixed webhook notifications for authenticationSuccess and authenticationError (2c3d63a)
- gmail-api: Log API requests to user log (f00f864)
- oauth2: Fixed broken extra scopes handling (9185359)
2.43.0 (2024-07-08)
- api: Added support for paging cursors (d3f7685)
- api: Do not allow to proxy connections for accounts with API scopes (9498fa9)
- Fix exception when Document Store is disabled but there are embeddings stored (6d18a48)
- font-loading: Use a locally cached font instead of loading from Google FOnts (4e53929)
- model-labels: Model label improvements to have named models instead (dc75dbc)
- paging: Fixed paging links for OAuth2 apps (d698082)
- templates: Allow running template API requests with account tokens (dd2da5b)
2.42.0 (2024-05-30)
- gmail-api: Alpha version of Gmail API support (f7fd60a)
- ts: Fixed API schema to pass TypeScript SDK generation (29493ac)
2.41.4 (2024-05-15)
- env: Fixed EENGINE_MAX_PAYLOAD_TIMEOUT handling (feaa0d2)
2.41.3 (2024-05-08)
- empty-listing: Treat empty LIST or LSUB response as an error condition (53e3bc9)
- imapflow: Bumped ImapFlow to prevent IDLE deadlocks (869db0a)
- lua: Fixed lua script to calculate total number of matching accounts for a query (a4284c5)
- render: Updated Render deployment blueprint (031a457)
2.41.2 (2024-04-19)
- sync: send webhooks for old messages during first sync (5d05986)
2.41.1 (2024-04-12)
- deps: Bumped dependencies to clean up dependency tree (forgot before previous release) (6d8ab9a)
2.41.0 (2024-04-11)
- custom-account-headers: Allows setting account specific custom webhook headers (f4c4c8b)
- account-form: Added support for 'path' in the authentication form (198ba41)
- accountPath: Use an array by default as the path type (3faa977)
- web-ui: Do not clear up IMAP settings when enabling/disabling IMAP in the web UI (037091b)
2.40.9 (2024-04-03)
- oauth2: Show access token validity period on account details page (6cee85f)
- oauth2: Show OAuth2 error on account page if token renewal failed due to invalid grant (70f7bc8)
- ui-tweak: Automatically reconnect an account if log settings are updated via UI (4d4be15)
2.40.8 (2024-03-24)
- reconnect: Force close previous connection if reconnect was requested (ec0baf1)
- smtp: Do not override From: header in an email from SMTP interface (69f6c32)
2.40.7 (2024-03-20)
- gmail-smtp: Fix failing SMTP connections for Gmail (c3dd63a)
2.40.6 (2024-03-20)
- account-listing: Show accounts as initializing if account has not yet been processed after startup (0e70898)
- connection: Do not wait for subconnections when setting up the connection (d8daff8)
- oauth2-error: If OAuth2 app is failing then show an indication about it on the account page (dd44cd5)
2.40.5 (2024-03-16)
- reconnection: Tweaked reconnection logic on errors (95067c5)
2.40.4 (2024-03-14)
- connections: Added additional logging to detect broken reconnections (bfe6229)
2.40.3 (2024-03-08)
- fetch: allow to configure max fetch batch size with an ENV value (de45851)
- fetch: Allow to set the fetch batch size limit with a cli argument (f5daf91)
- fetch: If fetch fails while syncing, then set a warning flag and try again (ffcb559)
- fetch: use batches when fetching message entries for indexing (1e83e64)
2.40.2 (2024-03-04)
- mime: Use custom MIME boundary pattern for generated emails (0e2a110)
- webhooks: include network routing information in messageSent, messageDeliveryError and messageFailed webhooks (16bd82d)
2.40.1 (2024-02-26)
- network: Fixed failing network scan for detecting local IP addresses (048358d)
2.40.0 (2024-02-23)
- connections: If EmailEngine is syncing an account then use a secondary IMAP connection to serve API requests (965b63c)
- path: Account path argument can take either a path string, or an array of strings to monitor multiple folders instead of just one (a7c6abc)
- submit: Allow to set proxy url and local address when submitting emails for delivery (af1d253)
- config: Properly parse time values from EENGINE_MAX_PAYLOAD_TIMEOUT config option (c3f5ac7)
2.39.11 (2024-02-18)
- llm: LLM processing did not work (28973d4)
2.39.10 (2024-02-12)
- message-upload: improvements regarding empty From header (45df0fd)
2.39.9 (2024-02-03)
- build: fixed broken build (ae43242)
2.39.8 (2024-02-02)
- deps: bumped deps to clear vulnerability notifications (fbe71ff)
- deps: bumped imapflow (c79d160)
- document-store: Added deprecation notice (1ed38d8)
- outh2-apps: Allow to clear display title and description (f04b115)
- submit-timeout: Allow to configure HTTP POST timeout for submit and message upload API endpoints (previous default 10s) (89f0f01)
- translations: Added Japanese translation file for gettext (hosted authentication form) (4bc743a)
- translations: Moved all field validation error translations into a separate project (joi-messages) (5cb0c61)
2.39.7 (2024-01-15)
- cookies: do not validate cookies to prevent 'invalid cookie value' error for 3rd party cookies (a869640)
- submit: allow empty string as address name (4d6b276)
- webhooks: fixed text.html field for messageNew if notifyWebSafeHtml is true (47e64a8)
2.39.6 (2024-01-03)
- redis-locks: Bumped ioredfour to fix issue with Redis servers where WITH is disabled (b53007a)
2.39.5 (2024-01-03)
- api: Added quota information to account info response (6341400)
- api: enforce numbers as integers in the validation schema (84298c8)
- documentstore: prevent throwing an error when fetching an empty email (c3dc0b6)
- settings: Ensure setting service url and timezone if not set (27faad9)
2.39.4 (2023-12-15)
- redis: Show a warning on the dashboard if Amazon ElastiCache is used as the database (814e724)
- redis: Show warning when using Redis Cluster (17b599e)
2.39.3 (2023-12-12)
- llm: Do not try to process an email without message contents (9e4cbdc)
- oauth2-outlook: Enforce account selection when authenticating OAuth2 connections for MS365 (1c6b56a)
- redis: Fixed Redis stats collections when using Upstash Redis (9730123)
2.39.2 (2023-11-29)
- llm: Allow to load available models from the OpenAI models API endpoint (00fffda)
- metrics: added Redis Latency metric (aba2dab)
- redis-latency: show latency for Redis commands in the dashboard (65fa362)
2.39.1 (2023-11-24)
- error-messages: Form validation errors did not show limit number properly (d939955)
- imap: Allow to define IMAP TCP socket timeout with the EENGINE_IMAP_SOCKET_TIMEOUT env value (4d29d20)
- smtp-verify: Fixed accessToken usage for verifying SMTP account settings (0cd38f2)
2.39.0 (2023-11-06)
- api: Allow to override EENGINE_TIMEOUT value for a single API request (9a3aec3)
- tls: Allow to set TLS settings for API server (67f5aa3)
- authentication-form: Prevent re-using the same authentication form url (b13d9b9)
- cors: Do not override default CORS headers (e5a2f50)
- file-ui: Do not use a 'file' input element, instead use a button that triggers file select dialog to select files (14a9fe3)
- ui: small tweaks (8cb6034)
2.38.1 (2023-10-27)
- docker: fixed docker autobuild (ae0f3ab)
2.38.0 (2023-10-26)
- oauth: Allow to disable base OAuth2 scopes like SMTP.Send (ef89d83)
- openai: Allow to set custom models using the API (not in UI) (858f48b)
- openai: Allow to specify custom API url for OpenAI API requests (047647d)
- tls: Allow to ignore IMAP/SMTP TLS certificate errors by default using the ignoreMailCertErrors setting (cba8ffe)
- special-use-flags: Added support for user-specified Archive special use tag (a107f23)
- throttling: Retry throttled FETCH commands a few times before giving up (c3d259a)
2.37.7 (2023-10-20)
- chat: use topic instead of question for the filtering embedding (3acebc3)
- initialization: Start all IMAP worker threads before assigning accounts (9b4c3fc)
- stats: added missing counters for messageNew/messageDeleted (3f9f4cd)
2.37.6 (2023-10-17)
- about: Added a dedicated page for license and legal information (077b38f)
- accountCounters: added counters object that contains cumulative counter of all account specific triggered events (67613a3)
- documentstore: do not report missing email as an error (58130c7)
- license: added a section to the license about source code usage (a923d3b)
2.37.5 (2023-10-11)
- chat: Fixed chat feature support for older Redis versions (86538ba)
- default_conf: Ensure default config values for notifyText, notifyTextSize, and enableApiProxy (b7b4d9c)
- license: allow selecting license key from a file instead of copying (d813e35)
2.37.4 (2023-10-05)
- docker: fixed docker tags, added missing v prefix to version tags (481bf5c)
2.37.3 (2023-10-05)
- docker: fixed docker tagged release process (f23cde0)
2.37.2 (2023-10-03)
- chat: Bumped dependency to better parse output from OpenAI API (0250da8)
2.37.1 (2023-10-02)
- chat: Added 'try it' button to 'chat with emails' config page (0f23c39)
- chat: Improved 'chat with emails' response quality by sorting and filtering embeddings vectors (de429d6)
2.37.0 (2023-09-29)
- secrets: removed deprecated vault support (8ab9d60)
- chat: Use separate settings page for 'chat with emails' feature (c66e3ba)
- deploy: Build packages with Node 20 (a394cf2)
- package-lock: Do not delete package lock. Use 'npm ci' to install dependencies (752be23)
2.36.1 (2023-09-20)
- deploy: keep package-lock.json (ec311e3)
2.36.0 (2023-09-20)
- ai: Allow using embeddings generation without prompting (b59e702)