Releases: forwardemail/forwardemail.net
Releases · forwardemail/forwardemail.net
v1.1.0
- fix: updated snapshots e42c2ee
- fix: fixed favicon e5a1a76
- fix: ubuntu-related fixes (closes #389) da2ca77
- feat: updated icons 29919a2
- fix: self-hosted carddav docker compose ref a4d9d4e
- fix: agnostic CardDAV tag/namespace parsing, added iOS test for REPORT, sync locales 2f72a55
- fix: fix test a35d0b5
- fix: fix test a4b6239
- fix: debug error further 5991b80
- fix: fixed env issue with redis carddav bb23e3d
- fix: added support for any route for propfind 424f6d1
- fix: fixed unnecessary 401 errors, support well-known with and without auth c8c7ba5
- fix: set removeTrailingSlashes to false for CardDAV f25a282
- fix: support well-known redirect and propfind 838c594
- fix: more fixes for carddav routes f276f5e
- Merge pull request #390 from forwardemail/feat/add-debian-self-hosted 630d8e7
- docs: add debian and ubuntu specific step-by-step self-hosted guides 7badd0b
- feat: add debian support to self-hosted setup script 82dd035
- fix: fixed carddav routes 22ced39
- feat: added CardDAV server 34d9ad8
- feat: CardDAV tests working, fixed email API docs in dark mode (css reset), disable body parser in caldav, override wildduck logger (zone-eu/wildduck#768), switch to json-sql-enhanced b7cbf84
- Merge pull request #391 from forwardemail/fix/dkim-semicolon a3fc76d
- fix: allow missing semicolon at end of DKIM value 512cf6b
- fix: wip CardDAV fixing tests and routes 88f1c91
- fix: fix path param domain -> domain_id fb70158
- feat: CardDAV work in progress, numerous other fixes, bump deps 28aaab0
- fix: prevent email from going to support inbox abead12
- fix: reduce number of emails going to support inbox 4a0c709
- fix: fixed domain -> domain_id 2538ccd
- Merge pull request #386 from forwardemail/feat/add-new-domain-wide-endpoints 2f26a9b
- feat: add new domain wide endpoints in api spec c13920d
- feat: added new API endpoints for domain-wide catch-all passwords, ensure passing KYC auto-approves new SMTP usage 4479193
- Merge pull request #385 from forwardemail/fix/missing-generate-pw-in-spec 5c68afa
- fix: add missing generate-password alias endpoint, add github alerts for coming soon endpoints f817e99
- fix: move up the enabled checkbox cfffb2b
- fix: fixed spam and virus regex ccacf83
- fix: added 48 hour expiry offset to give WHOIS/RDAP time to update if renewed 2e5483f
- Merge pull request #383 from forwardemail/fix/api-doc-improvements-3 64f1fc2
- fix: remove stubbed out placeholders 06d1f62
- fix: fixed traverse issue with $pull, cleanup gulp 03ed1fa
- fix: fixed api docs fonts 68dfe35
- Merge pull request #381 from forwardemail/fix/api-doc-improvements-2 3edefab
- fix: add fonts.scalar.com for font-src csp directive 5674d99
- fix: final alias and encrypt spec improvements a60735b
- fix: member spec improvements a9662e2
- fix: invite spec improvements 1c5bd13
- fix: more domain spec updates 3c2f10d
- fix: parts of domain spec 7844647
- fix: email spec 005c56f
- fix: logs spec 24ce819
- fix: account open api spec 76f2646
- chore: sync locales 26e2b1b
- Merge pull request #378 from forwardemail/fix/api-doc-improvements-1 ad64636
- fix: dummy proof delete endpoints from api docs 407a178
- fix: environment aware API url and minor doc improvement d671ed3
- fix: fixed package.json 10a6a3e
- fix: fixed linting in API.md 0c7d37f
- Merge pull request #376 from forwardemail/feat/api-docs 584b0fe
- chore: move all /api to /email-api 8aa7252
- feat: new api docs using scalar eceada8
- Merge pull request #375 from forwardemail/feat/admin-tools-1 444365f
- feat: add kyc, max quota and smtp limit to user admin page a27afb1
- Merge pull request #374 from forwardemail/fix/cleanup-selfhosted-1 034449a
- docs: cross link the self hosted documents 50331d4
- fix: enhanced text for recently expired domain 8cd4ba1
- fix: fixed 7bit issue with header b539c5d
- fix: expose SMTP DNS config via API, fixed FETCH 091e1f4
v1.0.3
- fix: fixed IMAP issue where JSON.stringify and JSON.parse causing empty {} object to be passed to SQL query resulting in all messages being selected for commands such as EXPUNGE, EXISTS, STORE, etc. (this was a major bug due to inaccurate client <> server state and is now fixed) 11a69de
- fix: fixed IMAP onAppend to call addEntries() and fire() (e.g. when tmp sync is called from SQLite server) bc8ba4a
- fix: removed incorrect update of uidList selection c577837
- fix: use punycode.toASCII for sender envelope 1f02a95
- fix: fixed SPF lookup for emoji domains d0f358a
- chore: update snapshots c3f09a0
- fix: fixed deps and lockfile 436fc37
- fix: fixed deps and lockfile 92039c4
- Merge pull request #365 from forwardemail/revert-356-master d798487
- Revert "self-hosting/setup.sh: set TXT_RECORD_PREFIX" 5dedada
- Merge pull request #356 from basic70/master 2772b95
- Merge pull request #357 from forwardemail/fix/cleanup-selfhosted-1 b35e594
- Merge branch 'forwardemail:master' into master aad423c
- fix: bump deps 0bec397
- fix: fixed IMAP IDLE, fixed IMAP session.uidList becoming invalid due to uidList not being modified in formatResponse, omit alias_count per <https://x.com/gamesover/status/1919932144505298952>, fixed email model to use constructor, commented out S3-compatible backup, updated bounce check for Google and Spamhaus, fixed DKIM/DMARC check for emoji domains, fixed denylist error for encoding URI component, added abuse recipient check 334c064
- fix: dmarc based on WEB_HOST, no basic auth for api, remove tti in self hosted f9a0e71
- Merge branch 'forwardemail:master' into master dfb7880
- Merge pull request #355 from forwardemail/fix/self-hosted-missing-webhook-sig 19d5543
- self-hosting/setup.sh: set TXT_RECORD_PREFIX 2f57312
- fix: add missing webhook signature key in self hosted mode e98487c
- fix: sync locales 3525913
- feat: added abuse prevention check on delete, updated privacy page, added has_passed_kyc boolean (to be used later), sync locales 3fc958c
- fix: remark lint warnings 32d98da
- Merge pull request #353 from forwardemail/chore/listmonk-guide-clean-up 3c5dee7
- chore: touch up newsletter guide 693b531
- fix: disable batch mode in onFetch due to bug in wss.broadcast bce04fc
- Merge pull request #352 from forwardemail/fix/update-meta-for-newsletter-guide e2dda16
- fix: add meta update for SEO related to newsletter guide 49e9f49
- Merge pull request #351 from forwardemail/docs/newsletter-listmonk-integration e29e139
- fix: added envelope rcptTo in logs 58e48e5
- docs: add newsletter with listmonk guide 2112775
- chore: sync locales 32e8fe7
- chore: removed debug lines and emails to admins 72f5c60
- Merge pull request #349 from forwardemail/fix/footer-self-hosted-link 089fa6c
- docs: fix self-hosted footer link / add faq 349650f
- fix: fixed redirect for error a575e2d
- fix: permit custom port forwarding to work for recently expired a4703b8
- fix: fixed create domain lookup 4e041bd
- fix: fixed plan check on abuse mitigation check 0ac4eb7
- fix: implemented abuse mitigation 28bafa9
- fix: less aggressive due to whois lookups returning empty data due to rate limiting 020f979
- fix: added rudimentary 90d domain expiry/created abuse prevention via WHOIS/RDAP lookup with testing console output 1c16d18
- fix: fixed sitemap cache c914191
- fix: fixed sitemap cache 7a641da
- fix: fixed sitemap cache 3244e96
- fix: fixed sitemap fab3bc5
- fix: fixed pgpro link 3ad09c9
- chore: removed docusign arbitrary check 5256d45
- fix: added 365d to fail2ban findtime 91f9ec3
- fix: fail2ban to permanently ban SSH failures, fail2ban max retry 3 -> 2, fail2ban dbpurgeage 1d -> 365d, fixed issue with dayjs tz due to Chromium bug (see iamkun/dayjs#2560, https://issues.chromium.org/issues/40069710) a03b862
- Revert "chore: updates" 9bb376e
- chore: updates ff2d799
- fix: merged redundant sections (74-71 pgs) 57de865
- fix: moved mermaid chart up 4358464
- feat: v1 release of technical whitepaper 841acac
- docs: remove unnecessary maintenance section e35b36f
- Merge pull request #345 from forwardemail/fix/bump-compose-timeouts 5264cd1
- fix: bump docker compose timeouts for lower resources / slower startup 6d31adf
- fix: fixed team_domain support for linux foundation 78a1c5f
- Merge pull request #344 from forwardemail/fix/self-hosted-clone d3fe67f
- fix: clone whole repo and change cloudflore certbot settings bb3a733
- Merge pull request #343 from forwardemail/fix/self-hosted-dns-resolvers f80bc78
- fix: update self hosted default dns resolvers 67465bd
- fix: updated locales and snapshots 3d2b7bb
- fix: redacted mention 2df97f8
- feat: added npm blog post, updated snapshots/locales, fixed gulp, updated marketing/links 0362da6
- fix: fixed locales and snapshots ea77396
- feat: added linux foundation case study 0ae1075
- Merge pull request #342 from forwardemail/docs/self-hosted-release cba4727
- fix: fixed snapshots 6752acf
- docs: add self hosted document focused on releases 07c6ff2
- fix: optimize gulp by removing
imgduring builds (saves 3m+ on builds), rangulp imglocally to optimize assets ba37be3
v1.0.2
v1.0.1
- fix: implemented self hosting fixes, sync locales a5a2385
- feat: added alumni/university case study, added links to other pages 968e4ed
- Merge pull request #340 from forwardemail/feat/self-hosted-mvp c9aa1f7
- feat: add self hosting docker initial setup a141bd5
- feat: added canonical ubuntu case study, fixed caldav event update email (closes #338) 9cd7086
- chore: sync locales 6169e8b
- fix: fixed md file separator ce4273e
- fix: fixed links b23e9a0
- fix: fix support for disabled aliases without recipients entered 55b0f55
- fix: fixed CI secrets, fixed API alerts, removed search in footer 7648e52
- Revert "fix: added
secrets: inheritper <https://stackoverflow.com/a/74463946>" 2d92bf0 - fix: added
secrets: inheritper <https://stackoverflow.com/a/74463946> 8bb5285 - fix: fixed API docs to use GH style alerts, optimize banned user id lookups, updated ava for CI 499eb46
- fix: fixed CI issue with freddy/stars CSS 840a6e6
- feat: added auto-accept invited team member concept (and updated API docs with a note), added ability to pass
team_domainin UI/API to assign newly created domain to an existing team the user is an admin of, upgrade pnpm from v7 to v9.15.9, updated list of payment methods from stripe, fixed Markdown syntax issues, fixed bug in jobs/session-management, synced locales and tests f193209 - fix: fixed navbar padding issue (was loading too fast!) d3bd70c
- fix: fixed cannot read prop of undefined issue 6f75522
- fix: fixed LCP with font-display swap for FA, added crypto to payment method enum 1c29db8
- chore: update snapshots 6d03bde
- feat: crypto payment support, lock pnpm to v9.15.9, added smtp integration, security, and crypto pages, fixed fa-fw icons, added missing ekko-lightbox code, added preconnect and dns-prefetch to establish early connections, optimized LCP and replaced background, LCP optimizations, lazyload zxcvbn, hetzner trailing period fix e207e48
- fix: optimized performance (500mb -> 200mb), rewrote lodash implementation to be less memory consuming with faster boot, lazyload spamscanner, implemented SEO fixes, bumped deps (e.g. wildduck pop3 session bug is fixed) b8ed0f6
- feat: added best mail server providers list and integrated markdown-it-github-alerts per <antfu/markdown-it-github-alerts#8> 9e899ab
- fix: bumped caldav-adapter (fixes #333) 60b2405
- fix: fixed input state on dark mode (closes #335) 42738b5
- fix: fixed websocket msg check in logger 7dd585d
- fix: added new mx2 ip, fixed faq line breaks, redact
authprop in logger for redis socket logs, added ignoreHook to redundant log output, increased maxTimeMS for check-smtp-queue-count job ade8542 - fix: fixed husky commit-msg a0cce0e
- fix: added index on domains model and fixed count job, rewrite FAQ (per #331), sync locales a90ffd0
- fix: removed unused variable in pug view 03ad272
- Merge pull request #331 from Lordfirespeed/patch-1 38597e3
- docs: document catch-all behaviour re. #319 7fd8308
- fix: ensure SocketError is thrown with 421 b5066c1
- fix: fixed issue with $limit parsing int, ws message in logger fix bfe38d7
- feat: added support for ?attachments=false and ?raw=false in payload request body for a webhook (per #322) 004b5f1
- fix: banned user in ubuntu sync should not be a code bug alert 87c426a
- fix: fixed logging to prevent duplicate code bug emails b044459
v1.0.0
v0.4.40
- feat: v1 logging (admin only at the moment) 9c6d3ec
- fix: fixed stripe auto-renew issue 7ab7bdf
- fix: removed london from bad tld list (closes #174) 7a6c95f
- chore: rewrite retrieve domains with while loop and splice fe65996
- fix: fixed paypal subscription sync issue (was removing when multiple subscriptions had existed) 9d2b30d
- feat: created script to sync missing pypl subscriptions ef0f457
- feat: include subscription ID if it was not already in sync job f2be416
- fix: prevent dup emails from final termination notice 1acb3b0
- chore: sync locales 9343437
- fix: prevent dup paypal tx ids fb9345c
- fix: do not auto-ban, instead send email bfe271d
- Revert "chore: update billing alert message until paypal issue discovered" 1062522
- Revert "fix: adjusted for notice" d1f8d54
- fix: adjusted for notice e8aa920
- chore: update billing alert message until paypal issue discovered 9d4adee
- chore: added more malicious domains, updated locales, prevent simulator preview ba75385
- fix: views should still render the record requirements even if verified 7a5ceba
- fix: fixed lookup $gte comparison for refunds a620ca1
- chore: update snapshots and locales 923c21e
- fix: drop xyz from malicious list, update FAQ, PayPal API rate limiting, bump deps 87359a5
- chore: sync locales de5dd1a
- fix: fixed parsing of markdown, bumped deps, added malicious domains 804a852
- fix: fixed typo in email 15bdba2
- chore: fix typo in email, updated tests, sync locales 17d3f97
- chore: sync locales 8e0c02d
- feat: improved regex example and added regex disable example to FAQ, fixed retry for 403 on UCEPROTECT job 7ae2fc2
- fix: if user has subscription then do not show warning 88e62df
- fix: added retry on 404 to UCEPROTECT job due to flakiness of UCEPROTECT server response a5699ba
- feat: added one-off job to clear UCEPROTECT if needed d9bcd42
- feat: added UCEPROTECT job to update lists and cache for 7d every hour, fixed email rendering 6fd57b2
- fix: added NS check error message (lots of users have this issue), fixed email alignment, fixed phrase spacing 86fad4c
- fix: fixed typeerror in email 0ed1a58
- chore: remove verbose output from check domain job c2f1008
- feat: added MX config issue email alert, rewrote TXT config for optimization 99a7e00
- fix: removed select query causing inaccurate save 8998137
- feat: detect other MX records (prevent misconfiguration) 6963741
- fix: prevent refund credit from affecting duration 9ea6210
- fix: fixed rendering issue 10d39d6
- fix: fixed rendering issue f02ed06
- fix: fixed iOS img alignment issue b33f8c4
- feat: bumped deps to allow iOS Simulator support in email previews, fixed img responsive -> fluid 225977e
- chore: sync locales 41fec8f
- chore: sync locales 4c5c051
- chore: fixed link in email from make-payment to enable-auto-renew 437a55f
- chore: update email _messages 7ea3eac
- chore: sync logic for refunds in remove user 439729c
- fix: fixed paypal order time sync 340ca17
- feat: added automatic plan conversion, added automatic refunds, switched some flash messages to toast notifications to be less obtrusive, added contextual helpers to indicate how much conversion will take place and when refunds will be processed, fixed upgrade/downgrade error verbiage message, suppress unnecessary emails to admins, utilize parseErr for more detailed errors in emails, normalized create_time for subscriptions, added artificial 15s delay for PayPal subscriptions to fetch transaction ID accurately, automatic PDF receipts for refunds, removed safeguard since all users plan_set_at are now accurate, updated FAQ and Terms for automation with refunds and updated policies, fixed email styling, fixed link margin top on billing page, prevent caching (fixes flash messages on back button), prevent form autocomplete (prevents bug on PayPal and invalid duration selection), added subjectPrefix to all emails, update verbiage from update card to update payment method (since we support banks), added partial refund support to PayPal sync job, bump deps fda1f99
- chore: sync locales 1d9d5f3
- fix: remove checkout emails 2c6cebd
- fix: fixed iterable bug with trial job 9a65151
- chore: fixed alignment of btn 44b011b
- chore: sync locales f90be9d
- chore: sync locales 02ea97a
- feat: added support for Stripe and PayPal trial periods, improved verbiage, fixed styling 1912471
- fix: fixed consistency of text and button styling c5e12d7
- fix: only check missing TXT once a week for domains f74892b
- feat: prevent sending payment reminder if user paid within past 2 weeks and expires in next month 4d59532
- fix: fixed query for admin dashboard 7cabf84
- feat: added more admin dashboards, added payment model indices for query optimization 96989d3
- chore: fixed lint, drop support test since requires login 96a8ad8
- chore: fixed typo 703aad7
- feat: improved help requests, fixed receipt styling 514c970
- chore: clarify TXT record misconfiguration in email warning 9b80620
- feat: added apple/google pay icons/support, fixed bug with billing job, render alternate payment methods in receipt 9548b7e
- fix: API requests to trigger only one email, fixed stripe sync job, added support for other stripe payment methods, fixed email verbiage f81fe10
- chore: sync locales d9f9339
- chore: ignore admins in billing job f22dc75
- chore: fixed email styling on mobile 093054e
- chore: billing job to run hourly 1dbc9dd
- chore: fixed email styling on mobile 503e1cb
- chore: fixed email styling on mobile 60c2846
- chore: sync locales 9dde29c
- feat: updated Stripe payment_method_types integration (managed from Stripe dashboard), added payment reminder billing notifications (initial, follow up, and final notice; 2 months after expiry), fixed email styling, re-enabled domain-missing-txt job 219470c
- chore: updated tests, bump deps, fix email styling, fixed linting d093f48
- feat: made it easier to delete account and unsubscribe b755507
- fix: do not render toast if not a GET method and not API 1c62c3b
- fix: ensure domain removal will downgrade appropriately d5dd48d
- fix: optimize query for fix-non-free-users aae3e0c
- feat: started stripe webhook integration, use toast notifications for past due message (less obtrusive), enabled zoom/toolbar on admin dashboard charts, ensured pdf receipt uses buffer, added job to fix non-free accounts, auto-downgrade to free if non-free account condition met, rate limited pdf downloads 001935e
- Merge pull request #171 from Maxr1998/master 436136a
- fix: improve German translations d782fd9
- fix: allow users to downgrade to free if zero domains on paid plans 68d8418
- chore: made links match in 2fa email 15dcea2
- fix: fixed styling of two factor auth email f1a4721
- fix: fixed two factor job to run properly every 3 months 2384049
- fix: flash alerts all on page 3e03965
- feat: allow users to downgrade and only redirect if logged in f949e1f
- chore: sync locales ee881e5
- chore: fixed sync stripe pymt alert (include beta method) 149db74
- fix: fixed bug with non-free job 4c86050
- fix: added script to fix non-free users stuck on beta 1a8b802
- fix: fixed math issue e30ed1d
- fix: do not render verbiage if plan was free 72ada64
- fix: ensure user saved after beta program payment created d4c003b
- feat: localize self-test emails, prevent unnecessary save, render more user-friendly verbiage, added beta program concept bad04d8
- fix: fixed parsing of transaction ID for paypal orders when captured dd20c64
- fix: fixed redirect for simplicity a3d79d0
- chore: remove unused var in view cd17998
- fix: redirect users to one-time and make amount clearer c6e80d9
- chore: sync locales 2de928d
- fix: refactor paypal job to run in series due to PayPal 429 API rate limitations 7f34c41
- Revert "fix: fixed issue with stripeExposedId being null" 7a74db5
- fix: fix for stripe subscription ID check in sync job 017cc89
- fix: fixed issue with stripeExposedId being null fe8d661
- feat: added paypal order sync job, job structure cleanup, emails on partial refunds (since we do not have logic for that case) f732b5c
- fix: output refund transaction object info (since PayPal is undocumented) 1950e23
- fix: store paypal transaction id for orders (subscriptions do not permit this), sync amount refunded in paypal 080fa31
- fix: fixed plan_expires_at calculation 7d81cfc
- feat: send email and restrict API access after 30d after past due API reminder sent 3c7f3b6
- fix: fixed issue with state 1d69b92
- feat: redirect users to billing if past due payment and send one-time email if API request made 37c3ba5
- chore: added safeguards to amount_formatted e7b4959
- fix: fixed math issues and missing accounting locals utility d875544
- feat: display refunded amounts in invoices 2f46eeb
- feat: updated list of account update fields (e.g. included receipt email) 6eda554
- feat: added ability for custom receipt email addresses 987a49b
- feat: sync job now updates user if stripe or paypal subscriptions cancelled 836ae1f
- chore: sync locales 0388859
- chore: sync locales 30a1967
- chore: fixed variable issue with email 9aa7372
- chore: sync locales 7bc7aa6
- fix: styling fixes to emails c2a7012
- fix: attempt to fix wkhtmltopdf with buffer 24be2a7
- chore: run payment emails sync 7699e5d
- chore: remove button in payment receipt email 80a0301
- chore: shorten payment message note 16b77f1
- chore: padding on messages in email a7dd68f
- chore: clean up legacy usage in paypal sync 9abbc1f
- fix: fixed due to PayPal 429 API limitations a8a009f
- fix: fixed core bug in stripe sync 24c118b
- fix: separate sync jobs and optimize with parallel requests d72e062
- chore: do not allow users to switch if they owe aeacff1
- fix: fixed rendering c87a4d1
- chore: display when plan started in billin...
v0.4.39
v0.4.38
- chore: bump deps, fixed email issue (lipo -> sharp) efbf30b
- fix: added strict-peer-dependencies=false to npmrc b878e5f
- fix: switch from npm to pnpm for install f2b9e7b
- chore: linting and bump deps e836338
- fix: better caching, support retry on private API endpoints via 408 timeout 02e9d84
- feat: bump deps, added apple sign in, fixed logic, rewrite verification logic, fixed endless redirection loops, fixed tests, fixed linting, fixed 404 and 500 pages, updated API docs and webhook example, added statuses to locales, fixed and improved rate limiting 7d9c3be
- chore: fixed payment price id (migrating and refunds) c282b12
- fix: fix domain privilege management per <Automattic/mongoose#11522>, added ansible verbosity, bump deps 9e3ec85
- chore: pug linting 4573238
- feat: added WYSIWYG HTML editor using CodeMirror e20cf9c
v0.4.37
- feat: fixed markdown styling, moved verification emails from pre save hook to job 2e0396b
- chore: fixed tests and snapshots 24160ba
- chore: fixed tests and snapshots c33c213
- chore: fixed API issue with domain plan bc58cf9
- chore: added link to status page c70d741
- fix: fixed HEAD to GET 1bda614
- fix: fixed status page, added validation for global 2ceffb1
- chore: updated locales 633ff01
- fix: fixed alias description issue (closes #159) 609e167
- fix: fixed to on sender eeae019
- fix: fixed default from on email 7bce8f1
- chore: do not sanitize html 6c35ec2