mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-31 04:19:15 +08:00
Update changelog and readme
This commit is contained in:
parent
20839f9bb3
commit
2f602d07a1
2 changed files with 34 additions and 841 deletions
761
CHANGELOG.md
761
CHANGELOG.md
|
@ -1,760 +1,27 @@
|
|||
# Nylas Mail Changelog
|
||||
# Mailspring Changelog
|
||||
|
||||
### 2.0.15 (4/17/2017)
|
||||
### 1.0.0 (10/3/2017)
|
||||
|
||||
+ Correctly handle and inform users about database malformed errors that can
|
||||
occur both in main process and/or window processes
|
||||
Features:
|
||||
|
||||
### 2.0.14 (4/14/2017)
|
||||
- Entirely re-written sync engine uses significantly less RAM and CPU, improving performance and battery life.
|
||||
|
||||
- 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
|
||||
- Mailspring launches 55% faster, thanks to a new package manager and theme manager and a thinner application bundle.
|
||||
|
||||
### 2.0.13 (4/13/2017)
|
||||
- Improved quoted text detection makes it easier to read threads, especially messages sent from Exchange and older versions of Outlook.
|
||||
|
||||
- Fixes:
|
||||
+ Upload nupkg with correct name for win32 autoupdater to work
|
||||
+ Correctly handle window.unhandledrejection events
|
||||
Developer:
|
||||
|
||||
### 2.0.12 (4/13/2017)
|
||||
- Mailspring now stores user preferences in the appropriate platform-specific location: `Library/Application Support` on the Mac, `AppData/Roaming` on Windows, etc.
|
||||
|
||||
- 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
|
||||
- `NylasEnv` is now known as `AppEnv` and `nylas-exports` and `nylas-component-kit` have been renamed `mailspring-*`. Additionally, packages need to specify `"engines": {"mailspring":"*"}` instead of listing `nylas`.
|
||||
|
||||
- Development:
|
||||
+ Remove useless docs
|
||||
- Much more of Mailspring has been converted to ES206, and CoffeeScript is no longer supported for plugin development. The CoffeeScript interpreter will be removed in a future version. Please use ES2016 JavaScript instead.
|
||||
|
||||
### 2.0.11 (4/12/2017)
|
||||
- Mailspring now uses `Prettier` — before submitting pull requests, ensure `npm run lint` is clean, or add a Prettier plugin to your text editor. (It's awesome!)
|
||||
|
||||
- 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
|
||||
- A plugin browser / "store" is coming soon - stay tuned!
|
||||
|
||||
### 2.0.10 (4/11/2017)
|
||||
Privacy:
|
||||
|
||||
- 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
|
||||
+ MailspringAPIRequest 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 we’re 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](https://blog.nylas.com/nylas-mail-is-now-free-8350d6a1044d)
|
||||
- Mailspring does not send your email credentials to the cloud. Features like Snooze, Send Later, and Send Reminders now run on your computer. Future versions may re-introduce the option to run these features in the cloud.
|
114
README.md
114
README.md
|
@ -5,15 +5,22 @@
|
|||
[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/iuuuy6d65u3x6bj6?svg=true)](https://ci.appveyor.com/project/Foundry376/Mailspring)
|
||||
|
||||
|
||||
|
||||
**Hello! I'm one of the original authors of Nylas Mail and this is a significant fork of the app which completely replaces JavaScript mail sync with a C++ core built on Mailcore2. Unfortunately, it's not ready for use - check back soon!**
|
||||
**Leaving Nylas Mail? Mailspring is a new version by one of the original authors. It's faster, leaner, and shipping today!** Mailspring is an open-source mail client built on the modern web with [Electron](https://github.com/atom/electron), [React](https://facebook.github.io/react/), and [Flux](https://facebook.github.io/flux/).** It is designed to be extensible, so it's easy to create new experiences and workflows around email. Want to learn more? Check out the [full documentation](https://Foundry376.github.io/Mailspring/).
|
||||
|
||||
![Mailspring Screenshot](https://github.com/Foundry376/Mailspring/raw/master/screenshots/hero_graphic_mac%402x.png)
|
||||
|
||||
High level Goals:
|
||||
---
|
||||
|
||||
- Replace JavaScript mail sync (client-sync package) and the Electron "worker window" with a new, high performance codebase written in C++ and based on Mailcore2. Make the Electron application just the UI layer.
|
||||
## Features
|
||||
|
||||
Mailspring comes packed with powerful features like Unified Inbox, Snooze, Send Later, Read Receipts, Link Tracking, Templates and more. For more information, check out [getmailspring.com](https://getmailspring.com/)
|
||||
|
||||
## Download Mailspring
|
||||
|
||||
You can download compiled versions of Mailspring for Windows, Mac OS X, and Linux (Snap coming soon) from [https://getmailspring.com/download](https://getmailspring.com/download).
|
||||
|
||||
## Differences from Nylas Mail
|
||||
|
||||
- Mailspring replaces the Nylas Mail JavaScript mail sync (client-sync package) and the Electron "worker window" with a new, high performance codebase written in C++ and based on Mailcore2. Make the Electron application just the UI layer.
|
||||
+ One C++ process per email account.
|
||||
+ C++ and JS communicate via the child process stdin/stdout streams.
|
||||
+ JS application queues tasks *but has read-only access to the database.*
|
||||
|
@ -22,101 +29,20 @@ High level Goals:
|
|||
- Make windows open faster by just having less code.
|
||||
- Bring back mail rules.
|
||||
|
||||
## Contributing
|
||||
|
||||
Roadmap and Progress:
|
||||
---
|
||||
See [ROADMAP.md](https://github.com/Foundry376/Mailspring/blob/master/ROADMAP.md)
|
||||
Mailspring's UI is entirely open-source and pull requests and contributions are welcome! There are three ways to contribute: building a plugin, building a theme, and submitting pull requests to the project itself.
|
||||
|
||||
----------------
|
||||
|
||||
**Mailspring is an open-source mail client built on the modern web with [Electron](https://github.com/atom/electron), [React](https://facebook.github.io/react/), and [Flux](https://facebook.github.io/flux/).** It is designed to be extensible, so it's easy to create new experiences and workflows around email. Want to learn more? Check out the [full documentation](https://Foundry376.github.io/Mailspring/).
|
||||
|
||||
[![Slack Invite Button](http://slack-invite.getmailspring.com/badge.svg)](http://slack-invite.getmailspring.com)
|
||||
|
||||
|
||||
## Download Mailspring
|
||||
|
||||
You can download compiled versions of Mailspring for Windows, Mac OS X, and Linux (.deb) from [https://getmailspring.com/download](https://getmailspring.com/download). You can also build and run Mailspring (Previously N1) on Fedora. On Arch Linux, you can install **[n1](https://aur.archlinux.org/packages/n1/)** or **[n1-git](https://aur.archlinux.org/packages/n1-git/)** from the aur.
|
||||
|
||||
## Build A Plugin
|
||||
### Building A Plugin
|
||||
|
||||
Plugins lie at the heart of Mailspring and give it its powerful features. Building your own plugins allows you to integrate the app with other tools, experiment with new workflows, and more. Follow the [Getting Started guide](https://Foundry376.github.io/Mailspring/) to write your first plugin in five minutes. To create your own theme, go to our [Theme Starter guide](https://github.com/nylas/N1-theme-starter).
|
||||
|
||||
If you would like to run the N1 source and contribute, check out our [contributing
|
||||
guide](https://github.com/Foundry376/Mailspring/blob/master/CONTRIBUTING.md).
|
||||
A plugin "store" like the Chrome Web Store is coming soon, and will make it easy for other users to discover plugins you create.
|
||||
|
||||
## Themes
|
||||
### Building a Theme
|
||||
|
||||
The Mailspring user interface is styled using CSS, which means it's easy to modify and extend. Mailspring comes stock with a few beautiful themes, and there are many more which have been built by community developers
|
||||
The Mailspring user interface is styled using CSS, which means it's easy to modify and extend. Mailspring comes stock with a few beautiful themes, and there are many more which have been built by community developers. To start creating a theme, [clone the theme starter](https://github.com/nylas/nylas-mail-theme-starter)!
|
||||
|
||||
<center><img width=550 src="http://i.imgur.com/PWQ7NlY.jpg"></center>
|
||||
### Contributing to Mailspring Core
|
||||
|
||||
|
||||
#### Bundled Themes
|
||||
- [Dark](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/ui-dark)
|
||||
- [Darkside](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/ui-darkside) (designed by [Jamie Wilson](https://github.com/jamiewilson))
|
||||
- [Taiga](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/ui-taiga) (designed by [Noah Buscher](https://github.com/noahbuscher))
|
||||
- [Ubuntu](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/ui-ubuntu) (designed by [Ahmed Elhanafy](https://github.com/ahmedlhanafy))
|
||||
- [Less Is More](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/ui-less-is-more) (designed by [Alexander Adkins](https://github.com/P0WW0W))
|
||||
|
||||
|
||||
|
||||
#### Community Themes
|
||||
- [Arc Dark](https://github.com/varlesh/Nylas-Arc-Dark-Theme)
|
||||
- [Predawn](https://github.com/adambmedia/N1-Predawn)
|
||||
- [ElementaryOS](https://github.com/edipox/elementary-nylas)
|
||||
- [Ido](https://github.com/edipox/n1-ido)—Polymail-inspired theme
|
||||
- [Solarized Dark](https://github.com/NSHenry/N1-Solarized-Dark)
|
||||
- [Berend](https://github.com/Frique/N1-Berend)
|
||||
- [LevelUp](https://github.com/stolinski/level-up-nylas-n1-theme)
|
||||
- [Sunrise](https://github.com/jackiehluo/n1-sunrise)
|
||||
- [ToogaBooga](https://github.com/brycedorn/N1-ToogaBooga)
|
||||
- [Material](https://github.com/jackiehluo/n1-material)
|
||||
- [Monokai](https://github.com/dcondrey/n1-monokai)
|
||||
- [Agapanthus](https://github.com/taniadaniela/n1-agapanthus)—Inbox-inspired theme
|
||||
- [Stripe](https://github.com/oeaeee/n1-stripe)
|
||||
- [Kleinstein] (https://github.com/diklein/Kleinstein)—Hide the account list sidebar
|
||||
- [BoraBora](https://github.com/arimai/N1-BoraBora)
|
||||
- [Honeyduke](https://github.com/arimai/n1-honeyduke)
|
||||
- [Snow](https://github.com/Wattenberger/N1-snow-theme)
|
||||
- [Hull](https://github.com/unity/n1-hull)
|
||||
- [Express](https://github.com/oeaeee/n1-express)
|
||||
- [DarkSoda](https://github.com/adambullmer/N1-theme-DarkSoda)
|
||||
- [Bemind](https://github.com/bemindinteractive/Bemind-N1-Theme)
|
||||
- [Dracula](https://github.com/dracula/nylas-n1)
|
||||
- [MouseEatsCat](https://github.com/MouseEatsCat/MouseEatsCat-N1)
|
||||
- [Sublime Dark](https://github.com/rishabhkesarwani/Nylas-Sublime-Dark-Theme)
|
||||
- [Firefox](https://github.com/darshandsoni/n1-firefox-theme)
|
||||
- [Gmail](https://github.com/dregitsky/n1-gmail-theme)
|
||||
- [Darkish](https://github.com/dyrnade/N1-Darkish)
|
||||
|
||||
#### To install community themes:
|
||||
|
||||
1. Download and unzip the repo
|
||||
2. In Mailspring, select `Developer > Install a Package Manually... `
|
||||
3. Navigate to where you downloaded the theme and select the root folder. The theme is copied into the Mailspring settings folder for your convinence
|
||||
5. Select `Change Theme...` from the top level menu, and you'll see the newly installed theme. That's it!
|
||||
|
||||
|
||||
Want to dive in more? Try [creating your own theme](https://github.com/nylas/nylas-mail-theme-starter)!
|
||||
|
||||
|
||||
## Plugin List
|
||||
We're working on building a plugin index that makes it super easy to add them to Mailspring. For now, check out the list below! (Feel free to submit a PR if you build a plugin and want it featured here.)
|
||||
|
||||
|
||||
#### Bundled Plugins
|
||||
Great starting points for creating your own plugins!
|
||||
- [Translate](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/composer-translate)—Works with 10 languages
|
||||
- [Quick Replies](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/composer-templates)—Send emails faster with templates
|
||||
- [Emoji Keyboard](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/composer-emoji)—Insert emoji by typing a colon (:) followed by the name of an emoji symbol
|
||||
- [GitHub Sidebar Info](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/github-contact-card)
|
||||
- [View on GitHub](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/message-view-on-github)
|
||||
- [Personal Level Indicators](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/personal-level-indicators)
|
||||
- [Phishing Detection](https://github.com/Foundry376/Mailspring/tree/master/app/internal_packages/phishing-detection)
|
||||
|
||||
## Configuration
|
||||
You can configure Mailspring in a few ways—for instance, pointing it to your self-hosted instance of the sync engine or changing the interface zoom level. [Learn more about how.](https://github.com/Foundry376/Mailspring/blob/master/CONFIGURATION.md)
|
||||
|
||||
## Feature Requests / Plugin Ideas
|
||||
Have an idea for a package or a feature you'd love to see in Mailspring? Search for existing [GitHub issues](https://github.com/Foundry376/Mailspring/issues) and join the conversation!
|
||||
Pull requests are always welcome - check out [CONTRIBUTING](https://github.com/Foundry376/Mailspring/blob/master/CONTRIBUTING.md) for more information about setting up the development environment, running tests locally, and submitting pull requests.
|
||||
|
|
Loading…
Reference in a new issue