Up to i.Scribe...
v2.2.12: "valgrind's tough love"
- Gpg: Added an "Install" button next to the message "Gpg is not installed" message that opens the webpage where you can download GnuPG for your system.
Ctrl+ Wshortcut to close the console.
- HTML: inline images now wrap correctly instead of sliding off the right edge and/or being the wrong size.
- Linux: Fixed all the menu items with icons not having a shortcut.
- Windows: Implemented the MAPI function MAPISendMailW to support sending a file to a recipient on Windows 10, and possibly other versions and applications.
- Fixed some IMAP mail date issues. If you have email with dates like "0/0/2000" then right click on the folder (while online) and "Refresh" will fix it.
- The executable attachment checking is now more robust. Will now detect ARM and x64 PE binaries.
- Improved dragging calendar events in the calendar's month and year views.
- Calendar events now display correctly when their timezone is set. This stops them showing at the wrong time when the current timezone is different to the timezone saved in the event.
- Extended the number of backup options files to 7. It will save them in the same folder as the real options file, in the form "ScribeOptions_#.bak". And on startup it scans through them and find the most recent one that parses correctly. It then deletes any old ones so that the backups don't grow out of control.
- Fixed not being able to save the Contact's work webpage.
- Fixed the Contact preview to show all the fields available.
- I have re-implemented a core container class "List
" to use C++ templates properly. This will potentially have a negative impact on stability in the short term. But this branch is still marked unstable anyway. I have been steadily fixing related bugs over the last few weeks. And there is some validation code to catch run-time errors. This is the primary reason I haven't made a release just yet.
- Re-implemented the text layout algorithm in the text edit control to by more efficient. It was asking the OS too often for the size of various strings. This is a fairly major change and I hope not to break anything. It's especially obvious in Linux when the measurement of strings takes longer than windows.
- Changed the console logging to keep 'Scribe.txt' open between writes. This is because on some Windows systems closing a file can take up to 100ms due to the anti-virus getting involved. Which just kills performance.
- Added App.MailStorePaths DOM field to return the folder paths of the mail stores as an array.
- Added App.RootFolders DOM field to return the root folder paths of all the mail stores and IMAP full accounts.
- Fixed "populate recipients from clipboard" crash.
- Find window: Results list is no longer disabled, so you can start checking the items while it's still searching.
- Linux: Fixed opening a large URL crashing the app.
- Linux: Implemented tool tips. This means you can see where the URL leads to in the HTML viewer.
- Linux/Mac: Fixed a lot of scroll bars not updating in a timely manner.
- Fixed crashes copy and pasting items. Also unified the format of email and folders on the clipboard and in drag and drop events.
- Made the Sqlite (folder3) back end re-open blob objects if SQLITE_ABORT is returned. This can happen if the page that the object resides in is modified by another query. This should mean better data integrity.
- Fixed render size of HTML image alt tags.
- If the Scribe temporary folder is removed while it's still running Scribe will now recreate it on demand.
Ctrl+ Sshortcut to save the object on the Calendar and Filter windows. And Ctrl+ Wto save and close.
- Added short cut to mail window to select and focus the text editor:
Ctrl+ T. And also to select and focus the rich text HTML editor tab: Ctrl+ H.
- Fixed evaluation of DST timezone rules in the vCalendar import code. This would manifest in the calendar event appearing at the wrong daylight savings timezone (ie DST when it's not in effect or the reverse).
- Html: Changed the default scale of images that are larger than the page size to scale down.
- Right clicking on the Text or HTML tab in the mail compose window allows you to delete the content of that tab. Now it updates the boldness of the tab and dirty flag as well.
- RichText: Fixed making links not working sometimes.
v2.2.12: "valgrind's tough love"
- Fixed potential crash in the rich text control when adding text.
- Fixed the HTML parser running off the end of the buffer when the HTML is malformed.
- Removed the default grey background for "TH" HTML elements.
- Fixed dropping folders and items to move or copy them. 64 bit related bug.
- [Windows] Fixed rendering of text email with emoji characters.
- Fixed rendering of HTML with nested BODY tags.
- Added some support for the CENTER HTML tag in the HTML view control.
- RichText: Fixed text being inserted at the wrong spot in some cases.
- Windows: Fixed the crash handler to write out a postmortem mini-dump.
- Fixed an issue in the calendar event popup notifications.
- [HtmlEditor] Changed the behavior so that enter doesn't extend a link. Most noticable when you paste a link and then hit enter to move to the next line. Previously it would extend the link style to the next line. Now it breaks at the new line char.
- [Windows] Fixed a crash in the JPEG IO code. Zero code changes other than to fix the path to the right version of the headers. Duh.
- Fixed the select folder dialog's missing tree control.
- Fixed left + right margin = auto breaking HTML layout.
- [Windows] Removed deprecated unread mail registry value being set.
- [Windows] Put the 32bit redistributable setup app in the right location on my site. So that the 32bit Scribe installer can find it.
- Made the IMAP(full) accounts automatically select the INBOX and check for new mail when they go online.
- Fixed the text mail compose control not having spell check support on Windows 8/10.
- Fixed not being able to select a spell check language and dictionary in the options on Windows 8/10.
- Added option to prefer Aspell over the system spell check library (either Windows Spell Check on Win8/10 or Mac spell check). Might be useful at some point.
- Fixed spell check not working in the HTML control when you start editing with the plain text control and then switch over to HTML.
- [Windows] Fixed the software update functionality to grab the right word size build (32/64bit).
- Fixed not being able to delete non-default email addresses in Contacts.
- [Linux] The emoji palette in the HTML editor now renders correctly.
- [Linux?] Fixed an intermittent crash in the IMAP connect code.
- [Linux] Fixed the open/save file dialog crashing.
- [Windows] Fixed the installer creation script to include libpng again.
- [Mac] Fixed paint bug in the radio buttons.
- Fixed having to enter a password in the receive options for OAUTH2 accounts (Google and Microsoft). This type of authentication specifically doesn't require a password in the client... it's kinda the whole point.
- [Inscribe] Made the identity checking on accounts not require a name, just an email.
- [Windows] Fixed installer creation script not including NTLM DLL required to start the application.
- Fixed some wide to utf-8 strings conversions on Linux/Mac.
- Scripting: Added scripting hooks for the folder context menu.
- Scripting: Fixed the Folder.Item field to have a list of items. Or if you supply an array index you can retrieve an indexed item using a number or a specific message with a message ID.
- Fixed at least one case where the IMAP thread would use 100% of one CPU core, however still function OK.
- Added events to the IMAP backend to notify the UI of new email in move destination folders. This means that the unread count will update correctly when filters move mail to sub-folders. This has been annoying me for years.
- Fixed the free form date parser to correctly parse more date formats. This fixes IMAP email starting with the wrong or missing sent date.
- [Mac] Fixed the message box dialogs not responding to key-pressed that match the available buttons.
- Fixed the "Show" content button not working in the mail window (worked fine for preview).
- RichText: Added support for horizontal rule.
- RichText: Fixed missing /html element on export. Hahaha... sigh.
- Added support for context menu key on the folder tree.
- [Windows] Fixed missing events while printing calendars.
- Fixed exporting a whole folder of Calendar Events or Contacts.
- Implemented the "All Day" check box in the Calendar Event window.
- Added Store3Addr.Domain field.
- Added option to display mail sizes in KiB only (look in the 'other' tab).
- [Linux/Mac?] Fixed some date related bugs that affected the calendar functionality.
- [Linux] Fixed crash installing spelling dictionaries.
- Fixed empty fields in vCalendar files breaking the parser.
- Fixed incoming mailto links with body content being put just in the text tab, even if the HTML editor is selected. Now it makes it attempt to insert the content in the top of the HTML signature and load it into the HTML edit control.
- RichText: Added "Source->Copy Current" context menu item. If you want to get the current HTML in the control.
- RichText: Fixed Emoji's in source HTML causing problems with editing.
- Scripting: You can now rename a folder using script.
- Scripting: You can also get and set the expanded folder setting (tree node open or closed).
- Scripting: The Mail.Flags field now accepts an optional array parameter to specify which flag to set or get. Potential flags are documented in the help.
- Linux: Fixed crash when closing application with the console open. (And possibly other circumstances).
- RichText: Spelling is now checking on the initial content of the control as well as new content.
- RichText: Fixed only some of the spell errors being painted.
- Spelling: URLs are no longer spell checked.
- Spelling: Numbers (starting with '0' to '9') and words starting it '$' are no longer marked as errors.
- Spelling/RichText: Fixed the position of error underlines getting out of sync with on screen characters when using non-ascii characters (unicode).
- Imap: Scribe now ignores FETCH results that don't match the query params. Thanks dovecot you dumb ass. Don't return UID 32 when I specify "UID FETCH 33:*".
- Clean up the formatting in the Help, removed some out of date info. Added scripting related field info.
- Re-implemented the Contact object DOM fields to show up in the Scripts/Dom.txt documentation.
- Fixed browsing in the Help.
- Fixed POP3 email content appearing in the log.
- Added preview panel content for contact groups.
- RichText: Fixed thread sync problems when adding inline images.
- Fixed a bug saving HTML messages with related images to Store3 back end.
- Fixed the ordering of MIME segments under 'multipart/alternative' to put the HTML content last, making it the best option to display. This fixes their display in gmail.
- Fixed spelling error decors not rendering correctly (in white instead of red).
- Fixed the date of new IMAP email being wrong. It appears that IMAP's "INTERNALDATE" is NOT the date from the headers, but it's own date received. Which is not suitable for putting in the "Date Sent" column that Scribe displays by default.
- Fixed handling of untagged new IMAP email to be consistent with the normal scanning of a folder when you select it.
- Fixed handling of IMAP email that no longer exist. Previously they would never download or disappear, get stuck in 'limbo'. Now they just disappear when the FETCH fails.
- Added a help button to the filter UI.
- Added 'GetClipboardText' and 'SetClipboardText' scripting methods to the application object.
- Added scripting function App.LookupContactGroup(Name).
- Fixed the URL that Help → Version History points to.
- Fixed display of characters not in the current font (typically kanji etc).
- Added keyboard shortcuts to some of the mail's context menu items.
- [Windows] Made the default install path "c:\Program Files" now that Scribe is 64bit.
- [Linux] Added a build targeting the Arm7 Raspberry PI.
- Fixed the toolbar images for 16bit screen depth (RPI).
- This version will be the start of 64bit support for Scribe. And also moving to Visual Studio 2013 for the windows build. To properly support 64bit there are a lot of API changes internally to size_t and ssize_t. This may mean things break in the short term, hence starting a new "unstable" version.
- Fixed some types of HTML content causing the display of tables to break. This was because the callback to get various images or something causes a layout of the partially parsed HTML document, which in turn cached some info for table layout, and then failed to display content parsed after the layout. Now at the end of parsing all the cached info is deleted and re-generated. Resulting in correct display.
- Fixed parsing of some types of untagged data in the IMAP FETCH handling.
- [Mac+Linux] Fixed the delete duplicate messages script in the Tools menu not working.
- [Mac] Fixed opening some attachments without filenames.
- Swapped the nesting order of multipart/alternative and multipart/related. This fixes inline images not displaying in gmail.
- [RichText] Fixed the document scrolling upwards when clicking styling buttons, and often selecting something other than what you intended.
- Fixed not being able to click things in popups sometimes.
- Added buttons to change the account sort order for InScribe.
- Fixed the colour select control changing to the wrong colour when the user releases the mouse button (might be linux only).
- Implemented support for calendar event notifications.
- Account logs in the status panel are now text controls, rather than list controls. So you can copy and paste by selecting and Ctrl+C or right click -> Copy. There is also a tab control so you can select the "send" or "receive" log. Before it was just the most recently used log. And the send log was sometimes difficult to access if there was an active IMAP receive account.
- Added some timezone support to the vCalendar import.
- Added support to the calendar view to convert events start and end times to localtime from the UTC stored in the object (This will probably break existing events).
- Added scripting method on the application object: GrowlOnMail(Email);