Mailspring/CHANGELOG.md
2017-04-17 23:10:26 -07:00

22 KiB
Raw Blame History

Nylas Mail Changelog

2.0.15 (4/17/2017)

  • Correctly handle and inform users about database malformed errors that can occur both in main process and/or window processes

2.0.14 (4/14/2017)

  • Fixes:
    • Prevent from adding duplicate accounts and sync workers due to account id changes
    • Correctly remove sync worker reference when destroying it
    • Correctly initialize SyncProcessManager with Identity
    • Fix contact ranking runtime error

2.0.13 (4/13/2017)

  • Fixes:
    • Upload nupkg with correct name for win32 autoupdater to work
    • Correctly handle window.unhandledrejection events

2.0.12 (4/13/2017)

  • Fixes:

    • Prevent NM from overwriting N1 binary on windows
    • Fix runtime error in sync process
    • Prevent old N1 config from getting wiped when installing Nylas Mail
  • Development:

    • Remove useless docs

2.0.11 (4/12/2017)

  • Fixes:
    • Dispose of mail listener connection before getting new one. This will prevent sync process from leaking Imap connections and getting stuck.
    • Fix performance regression when polling for gmail attribute changes
    • Don't double report unhandled rejections
    • Fix unhandled rejection handling (fix ipc parse error)
    • Fix regression when processing messages under a transaction
    • Rate limit database malformed error reports to sentry

2.0.10 (4/11/2017)

  • Fixes:

    • Fix missing UID error when archiving threads after sending
    • Ensure all mail folder exists before trying to access it
    • Fix SyncbackMetadataTask dependency
  • Development:

    • Don't report stuck sync processes to Sentry
    • MessageFactory -> MessageUtils, SendUtils -> ModelUtils

2.0.9 (4/11/2017)

  • Features:

    • Re-add imap to the onboarding accounts page
  • Fixes:

    • Correctly detect changes in labels, starred and unread for Gmail accounts
    • Fix delta streaming connection retries
    • Handle weird MIME edge case with @ symbol
  • Performance:

    • Wrap message processing in transaction for better performance
    • Increase sqlite page_size and cache_size
  • Cloud:

    • Improve performance of reminders worker
    • Add DataDog StatsD for heartbeats
    • Restart automatically on unhandeld rejections
  • Development:

    • Add benchmark mode

2.0.8 (4/7/2017)

  • Fixes:

    • Revamp SSL options during authentication to be able to properly auth against SMTP and prevent sending failures
    • Ensure IMAPConnnectionPool uses updated account credentials
    • Always fetch and update identity regardless of environment
    • Properly handle serialization errors for JSON columns in database
  • Cloud:

    • Switch MySQL charset to utf8mb4
    • Add exponential backoff for cloud worker jobs when encountering errors
    • Use IMAP connection pool in cloud workers to limit number of connections
    • Properly generate metadata deltas when clearing expiration field
    • Increment default imap connection socket timeout in cloud workers
  • Plugins:

    • Correctly syncback metadata for send later
    • Delete drafts after they are sent later
    • Correctly ensure messages in sent folder for send later in gmail
    • Fix send reminders version conflict error
    • Correctly set metadata values for send reminders
    • Fix imap folder names in send-reminders
    • Fix send later access token refresh
  • Development:

    • Add view of CloudJobs in n1.nylas.com/admin
    • Ensure daily script grabs current version after pulling latest changes

2.0.1 (4/5/2017)

  • Features:

    • Limit search to focused perspective
  • Fixes:

    • IMAPConnectionPool now correctly disposes connections
    • Ensure we use refreshed access token for all imap connections during sync
    • Prevent IMAP connection leaking in sync worker
    • Fix send later button saving state and sending action
    • Fix inline images for send later
    • Correctly enable plugins on 2.0.1
    • Make sure app can update even after signing out of NylasID
    • Don't make any requests when NylasID isn't present
  • Cloud:

    • Make cloud workers more robust
    • Remove old SignalFX reporter & add docs
    • Log errors according to bunyan specs
  • Development:

    • Add script to run benchmarks once per day at specified time
    • Add script to upload benchmark data to Google Sheets
    • Add better logging when restarting stuck sync worker

2.0.0 (4/4/2017)

Introducing Nylas Mail Pro

  • Features:

    • Enable snooze, send later, and send reminders
    • Add feature limits to reminders and send later
  • Fixes

    • Don't assign duplicate folder roles
    • Re-setup IdentityStore in new window
  • Development:

    • Fix sqlite build for older versions of clang
    • Remove rogue scripts-tmp folder
    • Remove unecessary db setup for mail rules

1.0.55 (3/31/2017)

  • Fixes
    • Ensure open/link tracking work when sending multiple consecutive emails
    • Fix performance of contact rankings database query
    • Fix performance of thread search index database queries
    • Fix performance of ANALYZE queries

1.0.54 (3/31/2017)

  • Features:

    • Add search support for has:attachment
  • Fixes:

    • Reduce database thrashing caused by thread search indexing
    • Interrupt long-running syncback tasks
    • Fix performance of contact rankings db query
    • Don't hit contact rankings endpoint until account is ready
    • Ensure sync worker is stopped correctly when removing accounts or when restarting it
  • Metrics:

    • Report metrics about SyncbackTask runs
  • Perf:

    • Delay building new hot window to improve win perf
  • Development:

    • Add script to benchmarks new commits
    • Add DEBUG flag to be able to log all query activity for both databases
    • Add DatabaseStore.write which doesn't use Transactions
    • Metadata test fixes

1.0.52 (3/29/2017)

  • Fixes:

    • Fix open and link tracking:
      • No longer triggers your own opens & link clicks
      • Link tracking indicator is now always present in sent messages
    • Fix regression in DB query execution which would delay all queries in the system.
    • Reduce max retry backoff for DB queries, which could hold a query open for too long
    • Fix thread reindexing issues, which should help performance and correctly index threads for search
    • Fix in: search syntax for non-gmail search
    • Fix references to RetryableError imports
  • Development:

    • Add initial sync benchmarking script
    • Clean up logging in DatabaseStore: differentiate background queries from regular queries in the logs, only log queries that actually take more than 100ms.
    • Point the billing server URL to staging by default for easier development, and allow it to be overriden
    • Add index to expiration field on Metadata

1.0.51 (3/28/2017)

  • Features:

    • Restore contact rankings feature for better contact predictions in composer recipient fields
  • Fixes:

    • Correctly listen for new mail in between sync loops
    • Verify SMTP credentials in /auth endpoint
    • Also prioritize sent label for initial Gmail sync
    • Properly relaunch windows on autoupdate
    • Properly set up local /health endpoint by making sure to attach route files ending in .es6 to local-api
  • Perf:

    • Don't throttle while syncing first 500 threads
  • Metrics:

    • Report battery state changes to Mixpanel
  • Development:

    • Make deploy-it say what it's doing instead of hanging silently
    • Make deploy-it print link to the EB console
    • Make help message better on deploy-it
    • Add SHOW_HOT_WINDOW env for prod debugging of window launches
    • Correctly ignore node_modules in .ebignore for faster deploys
    • Only bootstrap specific pkgs in postinstall for faster npm installs

1.0.50 (3/28/2017)

  • Fixes:
    • Fix SyncActivity errors introduced in 1.0.49

1.0.49 (3/27/2017)

  • Fixes:

    • Ensure sync process does not get stuck
    • Ensure the worker window is always available
    • Retry database operations when encountering locking issues
  • Metrics:

    • Detect and report when the worker window is unavailable
    • Detect and report when a sync process is stuck
  • Development:

    • Windows autoupdater fixes
    • Add better documentation for windows autoupdater
    • Remap windows dev shortcuts to match the ones used on darwin and linux
    • When building app, only re-install for optional dependencies on darwin
  • Cloud:

    • Timeout streaming API connections every 15 minutes
    • Add missing database indexes from SQL review

1.0.48 (3/27/2017)

  • Fixes:
    • Reindex threads when they're updated
    • Don't try to restart sync on every IdentityStore change
    • Correctly remove inline images with x button

1.0.47 (3/23/2017)

  • Fixes:

    • Report hard crashes using Electron's built-in crash reporter
  • Development:

    • Don't handle IMAP timeouts in the connection pool
    • Record file download times

1.0.46 (3/22/2017)

  • Fixes:

    • Ensure files get transferred in forwarded messages
    • Correctly sign out of NylasID
    • Don't report non-reportable errors in delta connection
    • Fix S3 attachment upload for send later
  • Development:

    • Rename downloadDataForFile(s) -> getDownloadDataForFile(s)
    • Switch type of Metadata value column
    • Fix build condition
    • Fix DraftFactory specs
    • Refactor sync worker IMAPConnectionPool callbacks

1.0.45 (3/21/2017)

  • Fixes:
    • Correctly report unhandled errors caught in window.
    • Fix passing cursor to delta streams

1.0.44 (3/20/2017)

  • Fixes:
    • Add error handling when creating syncback requests
    • Fix path for tmp dir in daily script

1.0.43 (3/17/2017)

  • Fixes:
  • Revert nodemailer to previous version
  • Creating a folder no longer creates a non-existent duplicate subfolder
  • Don't bump threads to the top of list when a message is sent: only update lastReceivedDate if the message was actually received

1.0.42 (3/16/2017)

  • Fixes:
  • Fix spellchecker regression (Don't exclude source maps in build)

1.0.41 (3/16/2017)

  • Development:
    • Upgrade nodemailer to latest version

1.0.40 (3/15/2017)

  • Features:

    • Add support for attachments in send later
  • Development:

    • Improve build time
    • Windows Autoupdater fixes

1.0.39 (3/14/2017)

  • Fixes:

    • Fix missing depedency for imap-provider-settings
  • Development:

    • Only upload 7 characters of the commit hash for Windows build

1.0.38 (3/13/2017)

  • Fixes:
  • Restart sync when computer awakes from sleep
  • Fix issue that made users log out of NylasID, restart, and then force them to log out and restart again in a loop (#3325)
  • Don't start sync or delta connections without an identity
  • Development:
  • Restore windows build
  • Remove specs from production build
  • Fix arc lint
  • Specify Content-Type in developer bar curl commands

1.0.37 (3/10/2017)

  • Fixes:
    • Fix regression introduced in 1.0.36 in the message processor
    • Correctly show auth error when we can't connect to n1cloud
    • Fix error thrown sometimes when handling send errors

1.0.36 (3/10/2017)

  • Fixes:

    • Increase the IMAP connection pool size
    • Shim sequelize to timeout after 1 minute on every database operation. This is a safeguard to prevent unresolved db promises from halting the sync loop.
    • Better error handling to prevent the message processor from halting sync
  • Development:

    • Measure and report inline composer open times
    • Refactor MessageProcessor to be more robust to errors

1.0.35 (3/9/2017)

  • Fixes:

    • Make sure delta connection is restarted when an account is re-authed
    • More defensive error handling to prevent sync from halting
    • Prevent delta streaming connection from retrying too much
    • Fix error when attempting to report a fetch id error
    • Prevent error restart loop when database is malformed
    • Correctly cancel search when the search perspective is cleared
    • When many search results are returned from the server, don't try to sync them all at once, otherwise would slow down the main sync process.
    • When restarting the app, don't try to continue syncing search results from an old search
  • Development:

    • Consolidate delta connection stores, remove internal_package/deltas
    • Rename NylasSyncStatusStore to FolderSyncProgressStore
    • Consolidate APIError status code that we should not report
    • Don't report incorrect username or password to Sentry
    • Rate limit error reporting for message processing errors
    • Fix circular reference error when reporting errors
    • Refactor file download IMAPConnectionPool usage
    • Don't focus the Console tab in dev tools every time an error is logged
    • Correctly set process title

1.0.34 (3/8/2017)

  • Fixes:

    • Sync should not get stuck anymore due to sequelize
    • Delta Streaming connections now correctly retry after they are closed or an error occurs
    • Handle errors when opening imap box correctly
  • Development:

    • Add script/daily
    • Provide better info to Sentry on sending errors
    • Refactor and clean up delta streaming code
    • Refactor message processing throttling

1.0.33 (3/8/2017)

  • Features:

    • Add intitial support for send later
  • Fixes:

    • Fetch unknown message uids returned in search results
    • Don't throttle message processing when syncing specific UIDs
  • Development:

    • Better grouping for APIError by URL also
    • Don't generate sourceMapCache in prod mode
    • Upload a next-version to S3 for autoupdate testing
    • Windows build fixes

1.0.32 (3/7/2017)

  • Development:

    • Report provider when reporting remove-from-threads-from-list
    • Report provider when reporting send perf metrics

1.0.31 (3/6/2017)

  • Fixes:

    • Improve initial sync speed by scaling number of messages synced based on folder SELECT duration
    • Immediately restore sync process when app comes back online after being disconnected from the internet.
    • Can now reply from within notifications again
  • Development:

    • Add basic rate limiting to Sentry
    • Report all search performance metrics
    • Prevent noisy uncaught errors when closing long connection
    • Improve reporting of refresh access token errors
    • Don't double report refresh access token API errors
    • Replace setImmediate with setTimeout as Promise scheduler
    • Use new Bluebird preferred longStackTraces syntax
    • NylasAPIRequest refactored and cleaned up
    • Search refactors and improvements
    • Protect from operating on IMAP connection while opening a box
    • Enable logging in prod builds
    • Make deploy-it support -h/--help
    • Restore cloud testing environments

1.0.30 (2/28/2017)

  • Fixes:

    • Can properly add signatures and select them as default for different accounts.
    • Can now correctly reply to a thread and immediately archive it or move it to another folder without throwing an error (#3290)
    • Correctly fix IMAP connection timeout issues (#3232)
    • Nylas Mail no longer opens an increasing number of IMAP connections which caused some users to reach IMAP server connection limits (#3228)
    • Fix memory leak while syncing which caused sync process to restart sometimes.
    • Correctly handle IMAP connections ending unexpectedly
    • Correctly detect retryable IMAP errors during sync + detect more retryable errors
    • Correctly catch more authentication errors when sending
    • Improve speed of processing messages during sync
    • Prevent unnecessary re-renders of the thread list
  • Development:

    • Report performance metrics
    • More Coffeescript to Javascript conversions

1.0.29 (2/21/2017)

  • Fixes:

    • You can now click inline images in messages to open them
    • More IMAP errors have been identified as retryable, which means users will see less errors when syncing an account
    • Improve performance of thread search indexing queries
    • Correctly catch Invalid Login errors when sending
  • Development:

    • Developer bar in Worker window now shows single delta connection
    • More code converted to Javascript

1.0.28 (2/16/2017)

  • Fixes:

    • Fix offline notification bug that caused api outage
    • We now properly handle gmail auth token errors in the middle of the sync loop. This means less red boxes for users!
    • Less battery usage when initial sync has completed!
    • No more errors when saving sent messages to sent folders (auth or accountId errors)
    • No more Lingering tasks in progress marked as failed errors
    • Syncback tasks will continue retrying even after closing app
    • Syncback tasks retry more aggressively
    • Detect more offline errors when sending, sending is more reliable
    • Imap connection pooling (yet to land)
    • More retryable IMAP errors, means less red boxes for users
    • Offline notification now shows itself when were actually offline, shows countdown for next reconnect attempt
  • Development:

    • More tests
    • Don't use breadcrumbs in dev mode
    • Add a better reason when waking sync for syncback in the logs
    • BackoffScheduler, BatteryManager added for reusability

1.0.27 (2/14/17)

  • Fixes:

    • Offline notification fixes

1.0.26 (2/10/17)

  • Fixes:

    • Downloads retry if they fail
    • NylasID doesn't intermittently log out or throw errors
    • Fix initial sync for Inbox Zero Gmail accounts

1.0.25 (2/10/17)

  • Fixes:

    • When replying to a thread, properly add it to the sent folder
  • Development:

    • Can now once again run Nylas Mail test suite

1.0.24 (2/9/17)

  • Fixes:

    • Fix error reporter when reporting an error without an identity (this would crash the app)
  • Development:

    • Fix logging inside local-sync api requests
    • Stop reporting handled API errors to Sentry
    • Report thread-list perf metrics

1.0.23 (2/8/17)

  • Fixes:

    • Fix emails occasionally being sent with an incomplete body (#3269)
    • Correctly thread messages together when open/link tracking is enabled
    • Fix Mailbox does not exist error for iCloud users (#3253)
    • When adding account, correctly remove whitespace from emails
    • Fix link in update notification to point to latest changelog
  • Performance:

    • Thread list actions no longer sporadically lag for ~1sec (this is especially noticeable when many accounts have been added)
    • No longer slow down sync process when more than 100,000 threads have been synced
  • Development:

    • Better logging in worker window
    • You can now run a development build of Nylas Mail alongside a production build

1.0.22 (2/7/17)

  • Fixes:

    • New mail notification sounds on startup are combined when multiple new messages have arrived
    • You can now correctly select threads using cmd and shift
    • Improve message fetching by making sure we always fetch the most recent messages first.
    • Improve IMAP connection timeouts by incrementing the socket timeout (#3232)
    • When adding a Google account, make sure to show the Account Chooser
  • Development:

    • Nylas Identity is no longer stored in config.json

1.0.21 (2/3/17)

  • Fixes:

    • Fixed an issue where Nylas Mail could delete all accounts (addresses #3231)
    • Correctly delete and archive threads when they contain sent messages (addresses #2706)
    • Improve performance and prevent crashes when running several sync actions
    • Improve error handling when sync actions fail
    • Fix JSON serialization issue which could cause sync process to error.

1.0.20 (2/1/17)

  • Fixes:

    • Properly clean up broken replies

1.0.19 (1/31/17)

  • Fixes:

    • Replies on threads won't create duplicate-looking emails. This began to happen on midnight February 1 UTC due to a date parsing bug
    • Improve error handling in sync
    • Better retrying of certain syncback actions
  • Development:

    • Now using Electron 1.4.15

1.0.18 (1/30/17)

  • Performance:

    • 60% reduction of CPU usage during initial sync due to optimizing unnecessary rendering
  • Fixes:

    • New composer stays in "to" field when initially typing
  • Development:

    • Better documentation for Nylas Mail SDKs
    • GitHub repository renamed from nylas/N1 to nylas/nylas-mail
    • master branch now has Nylas Mail (1.0.x)
    • n1-pro branch now has Nylas Pro (1.5.x)

1.0.17 (1/27/17)

  • Fixes:

    • Fix send and archive: Can now archive after sending without errors
    • Local search now includes more thread results
    • Contact autocomplete in composer participant fields now includes more results

1.0.16 (1/27/17)

  • Performance:

    • Improved typing performance in the composer, especially with misspelled words
  • Fixes:

    • Nylas Mail plugins install properly
    • Fix undo and occasional archive & move tasks failing due to not having uids
    • Fix logging for auth
    • Properly clean up after file downloads
    • Properly recover from IMAP uid invalidity

1.0.15 (1/25/17)

  • Features:

    • Improve CPU performance of idle windows
  • Fixes:

    • Correctly detect initial battery status for throttling.
    • Correctly allow auth for Custom IMAP accounts only #3185

1.0.14 (1/25/17)

  • Features:

    • Improved spellchecker
  • Fixes:

    • Correctly update attributes like starred and unread when syncing folders. Marking as read or starred will no longer bounce back.
    • Correctly detect new mail while syncing Gmail inbox.

1.0.13 (1/25/17)

  • Fixes:

    • Messages immediately appear in sent folder. No bouncing back.
    • Login more likely to succeed. Waits longer for IMAP
    • Doesn't allow invalid form submission
    • Correctly handles token refresh failing
    • Auto updater says "Nylas Mail" properly
    • Sync drafts correctly on Gmail
  • Development:

    • Local sync account API deprecated
    • Silence noisy queries in the logs

1.0.12 (1/24/17)

  • Features:

    • New 'Debug' sync button that opens up the console
    • Faster search
    • Message processing now throttles when on battery
    • Analytics for change mail tasks
  • Fixes:

    • Archive, Mark as Unread, and Move to trash don't "bounce back"
    • Adding a new account is now smoother
    • Improved threading
    • Drafts are no longer in the inbox

1.0.11 (1/19/17)

  • Features:

    • Nylas Mail's installer on Mac uses a DMG
  • Fixes:

    • Fixed app being occasionally unresponsive
    • Decreased odds of failed logins (by bumping connection timeout value)
    • Sync erroring notification no longer tripped by timeouts

1.0.10 (1/19/17)

  • Features:

    • "Contact Support" button now auto-fills information
    • Actions reach providers faster
  • Fixes:

    • Show errors on the GMail auth screen
    • Show draft sending errors
    • Can now correctly search threads via from: and to:
    • Other error management improvements
    • The database will now be reset if malformed
    • Improve the offline notification
  • Development:

    • Update Thread indexing
    • Add loadFromColumm option to Attribute

1.0.9 (1/17/17)

  • Fixes:

    • All Fastmail domains now use the correct credentials
    • Offline notification more reliable
    • Fix error logging

1.0.8 (1/17/17)

  • Introducing Nylas Mail Basic! Read more about it here