Releases: Oxygem/Kanmail
Releases · Oxygem/Kanmail
v1.2110040834
Changes:
- Make build commmand work on Windows.
- Fix
check_output
call. - Remove leftover temp version lock references.
- Cleanup version release handling.
- Add attachments to IMAP connection mock bodystructure output.
- Improve formatting of bytes in attachments.
- Run build work flow on push & tag.
- Cleanup account form styling.
- De-duplicate account settings state handling functions.
- Bump to upstream pywebview commit (MacOS reqs only for now).
- Run the build workflow on main branch.
- Update MacOS requirements.
- Add the latest docker tag when making a release.
- Fix add contact form styles.
- Hide any overflow on email thread avatar initials.
- Merge the main + user folders in the sidebar.
- Improve account settings error handling UX.
- Don't pass
false
as a classname, use undefined. - Fix button & form styling bugs in contacts app.
- Fix two bugs in the connection mocks.
- Add compact columns style/setting.
- Fix prop type validation on tooltip components.
- Don't assume the inbox alias setting exists.
- Add licensed settings to disable Sentry/Posthog.
- Fix account name validation.
- Update for pywebview 3.5.
- Use git version of pywebview with bugfix.
- Fixes for building Linux client in Docker.
- Add comment for MacOS Python package install/build.
- Use github path to fix macOS path.
- Try to fix macOS path before building.
- Don't use
pip-tools
in builds just normal pip reqs. - Use python3/pip3 commands.
- Install macOS pkg with old macosx SDK target.
- Pin specific commits for third party actions.
- More fixes for the binary filtering in spec.
- Fix indentation in spec file.
- Update docker reqs & fix Docker builds.
- Update spec exclusion of libraries.
- Install gtk/cairo/webkit apt packages when building for Linux.
- Downgrade werkzeug in linux requirements.
- Set
MACOSX_DEPLOYMENT_TARGET=10.14
in build workflow. - Add Linux build & requirements.
- Ensure clean script removes any release changelog file.
- Add macOS build target.
- Cleanup build action.
- Use Windows server 2016.
- Use matrix strategy for build action.
- Add fake pyu config for GitHub builds.
- Upload the build to S3 once complete.
- Pass through secrets when building the app.
- Make an empty
.pyupdater
directory before building. - Setup Windows build workflow.
- Add Windows
pywin32
requirement.
v1.2107311301
Changes:
- Return & display error information when fetching email texts.
- Handle update errors in the UI.
- Fix handling account UI when failing to auto setup a new acccount.
- Improve error when we autoconf but login still fails.
- Add temporary handling of missing header errors.
- Switch to the GitHub hosted ISPDB.
- Capture & log request errors contacting the ISPDB.
- Restore auto creation of GitHub releases.
- Fix pywebview debug in window hacks.
- Wait before starting to check for notarization status.
- Replace invalid header characters when decoding.
- Catch and log request errors fetching contact icons.
- Add
pywin32
Windows requirement.
v1.2107081657
Changes:
- Cleanup request error handling.
- Set release for Sentry.
- Log which app was loaded to PostHog.
- Capture/handle OAuth request errors properly.
- Pass through
werkzeug.HTTPException
errors properly. - Ignore missing folder UID lists in cleanup.
- Pass utf-8 charset when searching against the server.
- Don't attempt to decode null data.
- Don't raise error when server returns less than expected messages.
- Don't delete oauth responses until tested.
v1.2107031449
Changes:
- Bump pyupdater to v4.
- Update Windows requirements.
- Only run
pip-sync
during release builds. - Don't mangle names when compiling JavaScript.
- Fix path fields in pyupdater spec template.
- Fix bug where changing account name breaks cached headers.
- Fix handling of different return IMAP keys.
- Fix logo on meta window.
- Downgrade to python3.8.
v1.2107011421
Big release, top highlight is Google OAuth integration enabling "sign in with Google".
Changes:
- Fix email header response parsing for Zoho mail.
- Use one
criticalRequestNonce
per thread load. - Fixup build instructions for M1 Macs.
- Pass Posthog settings to base template.
- Reoder window settings.
- Throw a proper error if no root element is found.
- Add Posthog JS to capture app load events & settings.
- Add debug sentry flag.
- Add random device IDs to add to Sentry/Posthog events.
- Use a
TimedRotatingFileHandler
instead ofFileHandler
. - Fix missing response on OAuth delete response API.
- Update MacOS compiled pip requirements.
- Remove
object-hash
JS requirement. - Use an incremental critical request nonce to fix weirdness.
- Re-ehlo before attempting to re-auth when refreshing OAuth token for SMTP.
- Fix missing favicon in builds.
- Delete OAuth responses only after they're handled.
- Rework session token route wrapper.
- Use warning log for view network exceptions.
- Don't send sentry JS errors for network errors.
- Cleanup request error handling.
- Bump defusedxml to v0.7.0.
- Fix license error response message key.
- Make new account flow always same width.
- Hide any previous account error when we connect.
- Fix connected text on welcome settings.
- Improve license error message.
- Cleanup license content before parsing.
- Don't log refresh tokens.
- Capture OAuth errors and refresh the access token.
- Fix missing sentry sdk MacOS requirement.
- Implement bundling of "hidden" data when building.
- Update text when failing to connect to OAuth accounts.
- Move settings errors into dedicated message element.
- Hide username & password when editing OAuth accounts.
- Use hint to fix connected/not connected text in account settings.
- Provide hint on whether an account is connected in settings UI.
- Properly abort when checking for duplicate account names.
- Hide password field when editing OAuth email accounts.
- Add setting migration for removal of
copy_on_move
. - Only hide archive when showing other tags a thread has.
- Highlight trashed messages in thread view.
- Get Google OAuth settings from hidden data.
- Fix SMTP oauth2 authentication string/process.
- Don't assume oauth responses contain a (new) refresh token.
- Limit the max width of the new account form.
- Use "sign in with Google" language.
- Add cancel button when waiting for oAuth consent.
- Remove Google app password information.
- Add oauth settings for gmail.
- Implement OAuth based authentication for IMAP/SMTP connections.
- Add OAuth handlers, API and support to accounts/settings APIs.
- Don't add password setting during autoconfiguration.
- Implement OAuth new account form in settings app.
- Tidy up tag listing in email column threads.
- Use
json.load
>json.loads
. - ADd Sentry to the frontend.
- Add Sentry to the backend server.
- Add "hidden" data at build time.
- Sync sidebar folders by default.
- Move all regular interval email syncs to the main component.
- Render other folders as labels in threads.
- Remove complicated "copy on move" feature.
- Fix sidebar header buttons when frameless.
- Add tooltips w/keyboard shortcuts to header search/compose buttons.
- Add c keyboard shortcut to open a new compose window.
- Rework keyboard shortcut handling to work with combinations.
- Add s keyboard shortcut to star/unstar threads.
- Change the search keyboard shortcut from s -> /.
- Add move button to threads, remove explicit copy shortcut.
- Use self closing tags for icons.
- Correct unstar button tooltip text.
- Make it possible to hide the main column.
- Enable save sent copies setting by default unless gmail.
- Add delete on trash setting.
- Move pyinstaller/pyupdater into base requirements.
- Prevent paths being passed as download filenames.
- Add delete emails server API.
- Filter threads in the trash column to only show trashed messages.
- Add email store
deleteEmails
function. - Show a star on starred threads (not just hover!).
- Add tooltips to the thread buttons.
- Add permanent delete button to threads in the trash folder.
- Reimplement the tooltip in JavaScript.
- Only trigger stale labels on unassigned bugs.
- Upgrade pyinstaller & flake8 dev requirements.
- Upgrade pyobjc to 7.2.
- Upgrade to Python 3.9.
- Use node 16.
- Upgrade yarn packages.
- Fix webpack argument order.
- Remove no longer needed MacOS build fixes.
v1.2104091748
Big release containing many bug fixes and performance improvements. Major feature
is a new, simplified setup account flow.
Changes:
- Fix docker builds.
- Upgrade/audit yarn packages.
- Fix updating accounts missing account index ID.
- Better label for the account display name.
- Don't allow adding accounts with no display name.
- Better prop name for adding new account flag.
- Tidy up new account form buttons.
- Fix Windows ico file.
- Fix up last release changelog (Windows only).
- Restore absolute path for make constants.
- Formatting clean script imports.
- Run
pip-sync
before building. - Fixup readme information.
- Use
pip-tools
to manage requirements. - Fix window open URL server & host.
- Move to Open Sans font and cleanup typography.
- Fix license text issues.
- New (final) icons.
- Remove unncessary resize on settings window load.
- Fix meta file header icon position.
- Add links to iCloud/Google app password documentation pages.
- Update to new logo.
- Improve style of the error boundary.
- Implement app loading initial page content.
- Remove unused state variables.
- Use
cheroot
server in production/app mode. - Update account API path for consistency.
- Don't require a Docker image to release.
- Add two-phase new account form.
- Return back whether autconf was successful in account test API.
- Allow frontend to specify domain to autoconf.
- Add type hints to autoconf module.
- Enable passing a specific domain into
get_autoconf_settings
. - Add per-domain hard-coded connection settings for main providers.
- Setup theme CSS for settings app.
- Add default (true) for SSL verify hostname connection setting.
- Disable resize on meta window.
- Reduce default window width.
- Confirm before closing settings window.
- Tidy up contacts app header.
- Remove loader background color.
- Update settings app to use tabbed design.
- Fix error handling contact emails without
@
. - Provide
Message-ID
when creating messages to send. - Add
resizable
&confirm_close
options when opening windows. - Add resize window API/util.
- Remove unused minimize/maximize window API/functions.
- Rework themes to use variables, one common set of styles.
- Add header button set / active styles.
- Don't assume emails have a message ID.
- Use the same JS files in all modes in the base template.
- Restore old static folder location.
- Use
url_for
in frozen (app) static redirect. - Add
/favicon.ico
endpoint. - Install
cargo
to fixcryptography
compilation. - Batch save contacts from multiple messages together.
- Fix bug in saving contacts.
- Fix keyboard shortcuts remaining disabled after searching.
- Use the latest external email for thread avatars.
- Add favicon for browser mode.
- Fix static folder path.
v1.2103140902
Note: Windows only release to fix issues with webview2. Full release of other features upcoming for all OS targets.
Changes:
- Upgrade to pywebview
3.4
. - Implement custom
smtplib
override to enable Unicode passwords. - Updated screenshot.
- Debounce the main process emails function.
- Use
ReactDOM.unstable_batchedUpdates
to batch email updates. - Use the icon from the client assets in readme.
- Tidy up docstring.
v1.2101301934
This release adds support for IMAP namespaces.
Changes:
- Update folder settings when creating a new account.
- Add folder prefix to account settings.
- Implement proper IMAP namespace handling.
- Rewrite account test API to use an exception for errors.
- Fix margin on welcome settings header.
- Don't lookup the same domain twice in autoconf.
v1.2101211835
This releases introduces a major design overhaul and cleanup, with dark
mode support. Check out the settings to pick default, light or dark
theme settings.
Changes:
- Correct thread title border colour in default/light themes.
- Fix thread message border in dark theme.
- Only add dark mode event listener if supported.
- Fixes for dark theme colours.
- Tweak contacts header search bar margin.
- Sort merged single sender threads properly.
- Make control overlay text bigger.
- Combine if statements.
- Add theme class after removing old one (in case same).
- Add dark/light theme settings.
- Fix 1px extra margin error on main column.
- Tidy up headers, make buttons not drag window.
- Add avatars to contact list.
- Rework Cocoa traffic light button repositioning.
- Dramatically improve the fake IMAP response content.
- Never enable caching if we're using fake IMAP responses.
- Always sync trash folder, as may contain thread messages.
- Re-order main alias folder sidebar ordering.
- Improve date formatting for this-year dates.
- Increase text size of meta/meta-file apps.
- Don't attempt to make drag region on non-element.
- Improve short address formatting.
- Add dark/light theme settings to the setting model.
- Setup dark/light theme switching and activation on app boot.
- Remove Robot slab import.
- Tidy up column email design/layout.
- Add settingsStore to window for debugging.
- Import the new dark/light themes.
- Ensure tooltips always appear on top.
- Move thread sidebar width into less variable.
- Allow open column to be larger and detect/fix main column width.
- Set frameless/wrapper classes in generic app boot.
- Add "s"/escape keyboard shortcut to open/close search.
- Move search out of sidebar and above the columns.
- Tidy up sidebar icons, make spam yellow.
- Move purchase button to top of sidebar.
- Move save/etc window buttons into headers, tidy up styling.
- Remove unused CSS.
- Rename
frameless.less
->platforms.less
and cleanup. - Move font sizes into less variables.
- Add dark & light theme CSS.
- Break out all colour related CSS into a theme.
- Use webpack
--mode
argument instead of envvar. - Better name for get main JS filename in webpack config.
- Use python rather than script direct (Windows dev support).
- Rename less variable
orangee
->red
. - Replace/simplify the headerbar + dragbar components.
- Update spam icon (exclamation triangle).
- Remove Roboto Slab font.
- Add
lock_function
util. - Fix cache disable envvar flag.
- Raise an error when parts missing in dev.
- Lock the
add_contacts
function. - Capture
LoginError
s connecting to IMAP servers. - Use deep path for scroll polyfill to fix Windows support.
- Use JS screen info to cap saved window height/width.
- Pass JS detected window position/size/resolution to backend.
- Expand support for German IMAP folder names (provided by @georks).
- Sort column threads after including incoming.
- Merge pull request #148 from vilhelmprytz/vilhelmprytz-minor-readme-fix
- Fix key error when accessing missing header parts.
- Lock when adding/removing cached header flags.
- Fix unsetting column maxwidth.
- Add CSS classes to each of the sidebar alias folders.
- Make new avatar component and extract icons from thread message.
- Show incoming threads when moving to a new column.
- Replace "intsall" with "install" in README
- Update yarn lock file.
- Add seamless scroll polyfill package.
- Remove old debug statement (whoops!).
- Make the column header email count respect the selected account.
- Fix deleted/moved/archived threads re-appearing when switching main column.
- Update drafts sidebar icon (file -> pencil).
- Move sent after archive in sidebar.
- Make moving messages undo-able.
- Ensure development works properly / similarly to app builds.
- Split up webpack app bundles and extract files/css.
- Remove unused style.
- Install less
pyobjc
packages and upgrade to v6.2.2. - Remove pinned requirements.
v1.2012041414
Major addition: always show images from a given sender.
Changes:
- Use newer pywebview commit than released.
- Implement "window hacks" for cocoa.
- Tidy up the add contact form/contacts app.
- Fix contact option list in send app.
- Restore sleep inside main python when debug.
- Upgrade pywebview to 3.3.5.
- Offer to always allow images for a message in thread view.
- Implement allowed images in email text API.
- Add API to create/delete allowed image flags for an email.
- Add the allowed images database table/model.
- Remove
Folder.get_email_header_parts
. - Fix save contacts call argument.
- Make keyboard column scrolling smoother & consistent.
- Scroll down to first open message on open thread.
- Remove sleep before starting app in dev.
- Actually remove
pydash
requirement. - Tidy up logging module mess - always log to stderr.
- Add batch save contacts function and use when adding contacts.
- Store contacts from trash.
- More descriptive function name.
- Add get contacts API endpoint.
- Improve consistency of contacts module.
- Use functools LRU cache
cache_clear
. - Replace
pydash.memoize
withfunctools.lru_cache
. - Fix scroll container on contacts app.