Skip to content

Releases: Oxygem/Kanmail

v1.2110040834

04 Oct 15:00
b61dc3a
Compare
Choose a tag to compare

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

04 Oct 15:03
98699a1
Compare
Choose a tag to compare

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

08 Jul 17:02
38c26e7
Compare
Choose a tag to compare

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

03 Jul 14:18
600f1a4
Compare
Choose a tag to compare

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

01 Jul 13:58
2db9e35
Compare
Choose a tag to compare

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 of FileHandler.
  • 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

14 May 07:34
bb2b4a8
Compare
Choose a tag to compare

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 fix cryptography 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

14 Mar 19:49
b1f92fc
Compare
Choose a tag to compare

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

30 Jan 19:47
6d14e7c
Compare
Choose a tag to compare

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

21 Jan 19:37
d5377df
Compare
Choose a tag to compare

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 LoginErrors 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

04 Dec 14:26
620761f
Compare
Choose a tag to compare

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 with functools.lru_cache.
  • Fix scroll container on contacts app.