Up to Scribe...
About
v3.11 Changes:
v3.10 Changes:
v3.9 Changes:
v3.8 Changes:
v3.7 Changes:
v3.6 Changes:
v3.5 Changes: Wherein we do some more testing and find more bugs...
v3.4 Changes:
v3.3 Changes:
v3.2 Changes:
v3.0 Changes:
- Fixed the parsing of remote calendars. It wasn't handling multiple events in the same file OR correctly applying timezone info to all the events.
- Fixed the closed panels not appearing in the mail window. This is the "From" etc on a new mail window. They should be just to the right of the toolbar.
- Linux: Fixed the mail window address browse popup not appearing.
- Linux: Fixed dragging email from the folder listing to a mail window.
- Fixed multiple HTML parsing issues that would leak HTML attributes into the rendering of the page.
- Added sorting by drag and drop to the list of accounts in the options, instead of the little up and down buttons. This is enabled via a new feature in Lgi.
v3.10 Changes:
- [Linux] Made the DND drop handler more asynchronous to allow it to collect the data it requested before giving it to the app. Seems more modern X11 implementations need this way of doing things to work correctly.
- Fixed dropping a calendar event file onto the calendar view not being shown or saved.
- Fixed marking email read not removing them from the "new mail" list which in turn drives the flashing mail icon.
- New scripting function: folder.Create() which will return a new object suitable for storing in that folder. Taking into account the backend and folder's item type (mail/calender/contact etc).
- New scripting function: folder.Add(thing) which adds a thing to the folder.
- New scripting member: thing.Object returns the LDataI* for the thing.
- Added new bitwise scripting operators: & | ^ ~ << >>
- Started working towards a popup notification if there is errors during filtering. If filters have configuration issues currently it might print something to the console, but the user never sees anything. And is unlikely to notice an error.
- Made the panel open/close buttons scale a bit with screen DPI.
- Made the image compression options work automatically in the LRichTextEdit control. It'll auto resize images according to your preferences as you add them.
- Fixed the default reply / forward HTML template to have an empty unstyled line at the top. Previously the top most ----- line would force you to have to remove styling to get rid of the grey colour.
- Added the ability to store attachments in a calendar event. This is implemented in the mail3 backend as a separate table of records, and the data is just a blob in a field. I don't recommend storing very large files that way. The calendar event window now has a list of files with a "+" button to add. To delete, select the file and press the delete key. To open, double click the file. Or right click and "Save As". The webdav backend also supports attachments. However they are base64 encoded in "ATTACH" fields in the vCal file. So yeah, again not great for very large files. And other software doesn't have great support for ATTACH fields. Often just ignoring them.
- Fixed parsing of vCal timezone sections.
- Some how deleted email are showing up in IMAP folders. So I've started filtering them out in ImapFolderLoadThread::Main. Will keep an eye on it.
- Fixed the handling of URI command lines, eg: -u mailto:user@host.
- Added the account name to the identity submenu. In case there is some ambiguity about what account it's talking about.
- Made the Mac build properly universal, supporting both the X64 and ARM architectures.
- Fixed not being able to edit webdav connection details after the initial creation. Fixed not being able to save new webdav folder under Linux. Fixed the webdav folders not appearing after their creation in the mail folder view. Fun times.
v3.9 Changes:
- Mac: fixed the DST UTC/Local conversion in some cases.
- Moved the finder window worker out of a thread and to GUI thread time slices to fix it not working.
- Fixed a crash when the options file has empty Message elements. Not sure how you can get those with normal operation but at least it doesn't crash if you do. The message element stores information about an email on a POP server, ie the time stamp of when it was last seen, so Scribe can delete it after 'n' days (assuming the user selected that option in the account receive settings).
v3.8 Changes:
- The 'delete as spam' button now uses the spam folder path configured in the system folder options (in File -> Manage Mail Stores) rather than the hard coded "/Spam".
- Fixed the shutdown of progress dialogs. This was in the context of copying items using Cmd+C/Cmd+V and the dialog that shows up when you do that.
- SSL connections can now be cancelled instead of waiting for timeout. This helps in shutting down promptly instead of waiting for an image download that is stuck on a URI that won't load.
- Made the filter UI elements adjust a little better to the screen DPI scale. Mainly for high DPI screens.
- Ongoing fixes to moving email between mail3 and imap stores. Getting email to appear and disappear at the right times in this new async way of doing stuff.
- Fixed the "..." button in the filter actions to update the editbox properly when the user selects something. E.g. browsing for a folder path or selecting a colour.
- Fixed a bug where an IMAP append command didn't put a new email object in the destination IMAP folder.
- Fixed a recently introduced mime encoding bug.
- Fixed the crash when changing the UI font size in the appearance settings.
- Fixed the incoming/outgoing etc checkboxes on the Filter objects in the list view not updating promptly.
v3.7 Changes:
- Fixed the Dom.txt file being empty.
- Added an optional 'ShortCut' parameter to the AddToolsMenuItem scripting function.
- Fixed a bunch of async bugs related to moving items between different back ends (e.g. imap <-> store3).
- Fixed a bug where multiple simultaneous new IMAP email would duplicate one of the messages many times, rather than download the different content. It was quite difficult to nail down. But I'm so glad it's fixed now.
- Fixed mail moved from IMAP to a currently selected Store3 folder not appearing in the list view.
- Fixed deleting webdav entries so that it's reflected in the UI. Previously the object wouldn't disappear after deletion.
v3.6 Changes:
- Fixed crash in the display of Contacts with a timezone. An API had changed and the caller had been updated to take that into account. And the compiler didn't catch it either.
v3.5 Changes: Wherein we do some more testing and find more bugs...
- In the case where there are remote ical feeds and/or webdav calendar folders loaded in the calendar view, the display can something wait for long network load times. This is now fixed. It'll display whatever it has right now.
- Fixed not being able to create and delete Mail3 calendar events in the calendar view.
- Fixed new blank events hanging around after selecting a time in the calendar view and then clicking "Cancel".
- Fixed a crash when using the Attachment context menu "Save As".
v3.4 Changes:
- Fixed the calendar view window getting stuck in a loop and crashing.
- Fixed not being able to show / hide remote calendar sources.
v3.3 Changes:
- Linux: fixed a lot of GTK3 drawing and screen update bugs that only showed up in modern releases like Ubuntu 22.04. They aren't all fixed, but the major ones are.
- Linux: figured out the cause of the unreasonable file size. A "-g" had crept into the release flags, and surprisingly trying to 'strip' the binary didn't work. Anyway it's now fixed and the release size is back down to "normal".
- Linux: Fixed the appimage boot up not to fail on saving a non-existant options object. Also the logging of errors is improved.
- Various async fixes to moving and copying items around.
- Fixed the scroll position affecting the context menu of filter condition nodes.
v3.2 Changes:
- Fixed bayesian filter rebuild changing mail to unread incorrectly.
- Fixed bayesian filter rebuild getting "stuck" and not processing mail3 email.
- Fixed bayesian filter rebuild all function not actually writing out the final btree indexes. Sigh.
- Fixed the openssl connections leaking socket handles when the connection fails. Eventually this would cause things like "too many files open" errors on Linux.
- Added support for more Lgi config settings. Firstly there is Fonts.PointSizeOffset that will adjust the point size of all the system fonts used by Scribe. Then you can also set things like Fonts.SystemFont to actually override the font face and point size rather than use the system supplied font. See the actual lgi.conf file for the other tag names.
- Linux: Fixed the install and use of a private OpenSSL copy (v3.2.0 built by me) if the system one isn't suitable. It's unbelievable that the libssl3.so that ships with Ubuntu 20 is missing important export symbols and is basically unusable. But that's Linux for you.
- The folder select dialog now has a filter edit box. Also double clicking an item selects that path and ends the dialog (ie same as clicking 'ok').
- Updated the scripting syntax help page with some updated type names, information about casting values and some new DOM member fields.
- Added 2 new scripting functions to convert between colour space integers (LColourSpace in Lgi) and strings: ColourSpaceToString, StringToColourSpace.
- Updated the release notes link on the title page to point to this page.
- Fixed importing MBOX or EML not having the message body when the file just has bare LF line endings (not the standard CRLF).
- Refactored the import / export API to be asynchronous. Particularly for folders which can take a longer amount of time. Having the api support callbacks when the operation is finished and return a "delayed" status to the caller is excellent. This will also tie in nicely with the Haiku branch work. Which is mostly about making all the things asynchronous.
- Fixed the item filter to correctly show any coloured items when clicking "any" in the colour filter. Previously it would only show any of the selected colours, and colours outside that range were not shown. Ie if you set a colour via a script. Which by the way uses 32 bit ARGB (0xAARRGGBB).
- Fixed dragging a vcalendar/vcard files to a webdav folder. Previously it would complain it's the wrong item type.
- Fixed a crash when cancelling the account preview. Repo: click 'refresh' on the account preview and then 'cancel' before it completes.
- Merged the 'Haiku' branch into the main dev branch. This will create some instability in the short term.
- Fairly significant rewrite of the MBOX import parsing. Both to make it faster and more accurate.
- Implemented import / export for contact group objects.
- ContactGroup: Fixed 'delete' command on the context menu.
- ContactGroup: The 'date modified' field now also appears in the item preview.
- Rewrote the scribe export function to use the current way of processing bulk data. Gave it a nice new completion dialog.
- Added ability to drop files onto the folder's list area on the main window. This imports them into the currently selected folder. Previously you had to drop the file onto the tree item. That still works.
- Various scripting functions that show UI now use callbacks.
- Help files updated to remove references to InScribe.
- Calendar events: removed "move to ..." context menu entries that don't have name or are writable.
- Calendar view: clicking to create an event and then cancelling the UI now deletes the orphaned event (that was never saved). And also doesn't crash anymore. Which is always nice.
- Calendar view: added mouse wheel support to scroll vertically.
- Calendar view: fixed rendering of multi-day events in week view.
- Windows: The text display code now skips unicode variation selector characters.
- Added code to string new lines from the mail subject before displaying the text in the folder list view.
- Fixed the handling of malformed HTML in the viewer. Specifically when the = is missing between the attribute name and value.
- Removed script and style element content from the BodyAsText mail field that is used to display the preview text. Ie when Html is converted to text.
- Changed the starting day of the week in the appearance options now updates the current calendar view properly.
- Fixed a bunch of implementation bugs in the RFC 2047 code.
- The console now also catches a couple of trace messages sent before it's initialization. Particularly the path to the Lgi.json file that Scribe will use for configuration of Lgi options. This makes it a little more discoverable.
- Some fixes to the printing of emails. Cancelling the printer selection dialog no longer results in an error message. Also for HTML printing the page number(s) are now correctly interpreted as one based indexing.
- Made the shutdown dialog font size sensitive. Also added all it's strings to the resource file so it's translatable. Fixed some functionality issues too.
- Fixed plain text attachments getting used as the text alternative to the HTML in a MIME message. There is also a unit test to make sure that doesn't happen again.
- Windows: Added a menu under 'Tools' to delete all the registry settings related to Scribe.
- [Windows] Fixed the image libraries not loading.
- Fixed finding the Resource folder.
- Fixed the check software update.
v3.0 Changes:
- Removed all propriety code, like the OAUTH client secrets and anything related to InScribe keys or i.Scribe limits.
- Set up a mercurial repository to host the source: https://phab.mallen.id.au/source/scribeopensrc/
- The windows build is switching to vs2019, and there will be some changes to the way the redistributable is installed if missing.
- Scripting:
- New callback type: OnAfterMailReceive(App, Email).
- New App object method: App.GetUri(Uri, CallbackName, UserData).
- New App object method: App.SearchHtml(Html, SearchExpression, ResultExpression).
- New Mail object method: Mail.SearchHtml(SearchExpression, ResultExpression).
- Fixed handling in some contexts of expressions that use array arguments.
- New Mail object method: Mail.DeleteAsSpam(). Fairly self explanatory.
- Imap server UID field now sorts in integer order (instead of the default string).
- Pop preview button in the tool bar now honours the order of accounts listed in the options. It'll preview the first pop3 account. If you want to change the default make the desired pop account first in the list with the arrows in the options dialog.
- When an email is marked as spam, the UID is stored in the account for deletion on the next POP3 connection. However if the user elects to open the preview window and change the action from "delete" to "download" the software previously would still just delete the email. Which is just incorrect. Now it removes that email's UID from the spam list and allows it to download normally. While fixing that I also made change to the spam UID list save correctly by marking the list as dirty.
- Added entity encoding for less than and greater than characters when wrapping and quoting HTML replies/forwards so that the HTML edit control displays them correctly.
- Fixed the set read/unread on the mail context menu.
- Html editor: Added right click on URL to launch in Browser.