v0.4.40
版本发布时间: 2022-11-30 15:17:06
forwardemail/forwardemail.net最新发布版本:v0.4.40(2022-11-30 15:17:06)
- 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 billing dashboard 3dea494
- chore: added script we ran for adjusting paypal plan set at (if after) 706942a
- fix: fixed paypal sync job timestamp issue 83ae141
- fix: temp disable missing txt job until user save completed 83bee66
- fix: fixed paypal sync job 257251c
- fix: added buffer in plan_expires_at logic cf0bd55
- fix: fixed interval in job definition e2fde7c
- fix: fixed paypal order duration in redirect 074d7ea
- fix: fixed stream/buffer issues with preview-email 062bb1c
- fix: fixed buffer encoding of pdf attachment e6925db
- fix: ensure payment receipt cannot be sent in parallel (edge case) 2617041
- feat: ensure all emails have user banner using emails/_messages template, fixed breadcrumbs, ensured payments not re-created for stripe and paypal in redirect, alert users if upgrade directly and have to set domains as well, automated emailed receipts with pdf attachments, redirect user to domain if already exists and attempted to be created, fix DNS retry codes in all jobs, improved cloudflare purge cache, improved MX and TXT verification accuracy, create errors appropriately for proper stack traces in domain model, fixed translation usage i18n.t > i18n.api.t, fixed TXT being translated to SMS in French locale, made payment receipt HTML load faster by stripping <script> tags, PDF and HTML file paths are now prefixed with YYYY-MM-DD for organized directory structure if downloaded, condense and cleanup styling of form inputs, default to 1y payment duration instead of 1m in billing, sort payment duration by largest to smallest duration, cleanup emails with better buttons and text, fixed issues with sync job, sync job now runs in parallel, ensure user is saved after sync occurs to reflect updated plan_expires_at 015eeda
- fix: global domains should not be in onboard state nor default domain dropdown d273603
- fix: improve API responses for invalid login/banned, added otp to admin login as feature ea4b7e0
- fix: ensure API access respects email verification and ban status ac51862
- fix: added scripts to cleanup database null values (uses $unset), added log and fixed typo in sync stripe payment job 01d2ef0
- fix: added legacy support for old price ids in stripe sync script a0af1b1
- chore: output to console the errors for sync stripe fea437a
- fix: sync history job now logs errors properly, cancel subscription does not depend on API anymore 29ec79b
- fix: paypal auto-renew setup incorrectly setting plan_set_at, allow paypal API requests to timeout 10s and retry 2x (so 3 reqs and 30s total), cleanup old API usage 604c3c8
- fix: fixed $or query in prevent dup stripe payment logic b48daea
- fix: fixed typo in sync job, emailHelper now runs in bg, prevent duplicate payments from being created in stripe redirect, cleanup code 726bcc5
- fix: fixed setting null to undefined (to $unset properly) 1ee8162
- chore: fixed missing await call on remove, fixed modal on new domain page 2630fa5
- fix: fixed planSetAt issue 73287c5
- fix: fixed null string issue 5dc6d0e
- chore: added stripe_invoice_id and stripe_subscription_id in redirect dcdec4b
- feat: ban/wipe sensitive data from user instead of deleting (soft delete), removed @paypal/checkout-server-sdk, payment duration is now enum, fixed paypal auto-renew, fixed payment invoice_at and duration everywhere, fixed webhook running faster than redirect issue (it would have set subscription to null in redirect logic), fixed user changeEmailNewAddress schema, fixed plan_set_at, fixed plan_expires_at calculation, converted to use .small class, fixed container padding issues, fixed emails in jobs being sent to banned or unverified users, fixed last_locale to use config.lastLocale, synced locales 35b5868
- feat: added enable auto-renew functionality (users that made one-time payments can now start subscriptions too) 7f4cb57
- feat: improve edge case handling with remove/update member, fixed billing UI 8410423
- docs: added toc to view 13e2aa5
- chore: sync locales 64335b0
- chore: bump deps ca8a097
- chore: fixed exception issues 07fb3b1
- chore: fixed linting 3fb9a0e
- chore: localize domain emails 0e11765
- chore: update snapshots c117213
- chore: update snapshots 23e1562
- fix: added domain missing TXT and check domains script 542453a
- chore: sync locales c10f8d9
- fix: fixed verification check 24abfcc
- feat: improved domain verification (verifies with both paid/free records but alerts now instead) 51ee8f6
- chore: sync locales d98650d
- chore: sync locales 9c7c4f0
- chore: sync locales 7c893e2
- chore: sync locales 4202e36
- chore: bump deps faf62af
- chore: fixed typo in ALIAS_WITH_PLUS_UNSUPPORTED fcac948
- feat: ability to whitelist users for rate limiting and improved implementation f1398d3
- fix: fixed search, reset pw more friendly, fixed alias reassignment, added cleanup alias script, updated verbiage, optimized queries c79cfdb
- chore: optimize query slightly 0ab1faf
- chore: added back admin dashboard 2e9b3db
- chore: added back regexp support to search f531164
- fix: added more search tests, bump deps 7dd7c7b
- feat: added translation, fixed search, bump deps 1b5ebf0
- fix: fixed error handler on 4xx, added rate limiting to endpoints e7b2f78
- fix: fixed ui issues, bump deps, improved security 77f4939
- chore: update locales 07b8f6e
- chore: sync locales 812cf40
- chore: sync locales 5375167
- chore: verbiage update 0696cb6
- chore: verbiage update 38f60da
- feat: decrease load time of my domains list, added indexing 8e1472f
- fix: fixed account update rendering 7d7a06d
- feat: cleanup of sessions, error handling, redis/mongoose errors, rate limiting translation support e652735
- chore: added locales after cleanup 21b67fa
- chore: delete locales for cleanup 171a8da
- fix: bump deps, fixed account-update email translation 1b3b69d
- chore: fixed FAQ mdash, bump deps (fixes localization of dayjs fromNow in emails) 6d3f66f
- chore: test only node v16 823ef75
- chore: update locales and fixed linting db9cb02
- chore: disable job due to dup emails 750cb00
- chore: improved accuracy of domain-missing-txt job 6c4f79a
- feat: fixed ci tests, added user-specific locale to fromNow, fixed logic for deletions, fixed links missing baseURI in system alerts, added job to alert users with missing txt, added #helpers index, disallow disposable email addresses used for signup, added test, fixed verification pop-up flow, hid captcha rendering when disabled 802a547
- chore: emails should sync locales 32c0b7c
- chore: updated locales 596850c
- chore: fixed billing UI issue with free plan 58654ab
- feat: re-enabled site verification c7779ff
- feat: dummy-proof onboarding and registration (allow same form that is used for signup to be able to log in), added captcha codes everywhere, improved mobile usability (e.g. hiding breadcrumbs), updated disclosures, bump deps 459529b
- Merge pull request #169 from forwardemail/titanism-67 947e93e
- chore: proactively set stripe ids a495d15
- chore: increased rate limit for alias creation a7f5498
- chore: synced locales from bree 2a3c44b
- chore: added note about usage of UCEPROTECT level 1 to FAQ and updated locales 4b1581e
- chore: updated FAQ and locales 97702ad
- chore: updated locales e32ba1d
- chore: further clarified note on bounces b9bc5d2
- chore: further clarified note on bounces 69201ac
- chore: clarified note on lowest error code with bounces 5946be7
- chore: clarified notes on bounce addresses f80acf5
- chore: clarified notes further on rate limiting eb29177
- chore: clarified note on rate limiting 1afb3d1
- chore: added note about retries on blacklisted 6a4520b
- chore: updated docs 824510a
- chore: revised listing in docs 2b33d9e
- docs: added more core topics to FAQ 96f64fd
- chore: fixed verbiage and updated locales a5aae93
- chore: fixed google auth route, fixed faq d21279e
- chore: auto-verify all users (will revert later) 3e45509
- fix: fixed typo emails -> connections for rate limiting 42d4d20
- chore: fixed ecosystem pm2 config c6044c0