-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCHANGELOG
More file actions
133 lines (131 loc) · 13.1 KB
/
Copy pathCHANGELOG
File metadata and controls
133 lines (131 loc) · 13.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Grafida 0.3
================================================================================
! Security hardening: site URLs must use HTTPS. Test Connection, Diagnose, Create and Edit Site all reject http:// (and any non-HTTPS scheme) with a 400 error before any outbound request is dispatched, so the API token never leaves the process in cleartext
! Idle CPU use is down from about half a core to under 1%; the native event loop was a busy wait
! macOS 15 Sequoia is now the minimum; the bundled webview library cannot load on macOS 14 or earlier (gh-58)
+ Normalise AI-generated content: strip the invisible characters (zero-width spaces, bidi and tag characters, exotic spaces) AI tools leave in text, from AI replies, imported Markdown, plain-text pastes and everything you publish. On by default, three-way setting
+ Ctrl/Cmd+N in the Articles view starts a new article (gh-64)
+ Custom fields of type Media can now be edited, using Grafida's own media browser — site media or a local picture uploaded on publish
+ Publish anyway: an article from your site can be published even when it has required custom fields Grafida cannot edit (gh-59)
+ Editing a site article now carries its custom field values, including the types Grafida cannot display (gh-59)
+ A publish the site rejects now explains it is probably stale field metadata, and offers to reload it (gh-59)
+ Media Manager: new Local Media tab to crop, resize, rename and delete images before they are published (gh-36)
+ Sites: choose which Media Manager filesystem and folder the images of a published article are uploaded to (gh-57)
+ Sites: say whether the site uses Unicode Aliases, for tokens not allowed to read it from Global Configuration (gh-61)
+ The article alias is transliterated per the article's language — German, French and Greek rules, mirroring Joomla's own (gh-61)
+ Documentation: Aliases and transliteration — the two Joomla alias rules, the new setting, and the per-language rules (gh-61)
+ Diagnose Connection: see the exact request and response when a site connection fails (gh-37)
+ Optional Request Log: record the last 20 requests to the site, with JSON export (gh-37)
+ Reload metadata button on the Articles page, keeping your filters (gh-42)
+ Settings: how long site metadata is cached, and whether to reload it on startup (gh-42)
+ Light / dark / follow-system switch in the sidebar, so you can change it without leaving the open article (gh-41)
+ Right-click an image in the editor for Edit image (crop/resize/rotate/flip a local picture), CSS class and Reset size (gh-43)
+ The in-article media browser can now also pick a Local media image, not yet published (gh-43)
+ The Articles list shows each article's created and modified date, on both tabs (gh-53)
+ Ctrl/Cmd+Shift+V pastes the clipboard into the editor as plain text, in a single keystroke
+ Settings: choose how the source code editor closes HTML tags — both halves, closing tags only, or off (gh-52)
+ Built-in Help screen with the documentation, also published as the GitHub wiki (gh-55)
+ Help screen: the contents list can be resized or hidden, for narrow screens (gh-55)
+ Documentation: Articles, Editing Articles, Media Manager, Settings, Request Log, Connection Troubleshooting, Help and the four AI pages, with screenshots (gh-55)
+ MiniMax is now a built-in AI service provider
+ Documentation: Secrets security — how API tokens and AI keys are kept in the OS secret store, and what that protects against (gh-55)
+ Documentation: Translation — the INI format, the glossaries, and how to add or test a language (gh-55)
~ The editor's status bar no longer shows the "Press Alt+0 for help" hint (and the platform-dependent rendering of it, "Press ⌥0 for help" on macOS); the help shortcut is now documented through the sidebar Help entry, not the editor's status bar
~ The image URL field now shows where a picture picked from your computer will be published, instead of staying empty until it is (gh-72)
~ Article HTML is parsed and written with a standards-compliant HTML5 parser, so an article is published in the shape a browser shows it
~ New conformance test corpus pinning how arbitrary article HTML is split into introtext/fulltext and published
~ Documentation: Connection Troubleshooting now explains what "no working API endpoint" actually means — broken third-party plugins, WAFs and rate limiters, and how to read the Diagnose Connection output (gh-46, gh-55)
~ The editor's Help dialog now opens with Ctrl+Alt+0 (macOS) / Shift+Alt+0 instead of Alt+0, which clashed with typing "@" on a French AZERTY keyboard
~ The editor's Help dialog no longer has a Plugins tab, and its Version tab no longer links to TinyMCE's website; no link in that dialog could be opened from the app (gh-21)
~ Pasted and dropped images are stored locally and referenced, not embedded in the article; existing articles are converted when first opened (gh-36)
~ Image editor: pressing Crop now visibly arms the tool, and the crop selection's size is shown as you drag (gh-31)
~ Site metadata is refreshed automatically once it goes stale, not only when you press Reload metadata (gh-42)
~ The editor's Reload metadata button now sits below Tags, next to the fields it controls (gh-42)
~ Offline: friendlier "site unreachable" message, and consistent error display across the Articles list, Media Manager and media browser (gh-29)
~ Adding or editing a site also refreshes its metadata and editor stylesheet
~ The site's editor stylesheet is cached, not looked up again on every editor open
~ A missing or incompatible system webview now shows a readable message instead of quitting silently (gh-58)
~ Documentation: the stated macOS, Windows and Linux requirements now match reality (gh-58)
~ Project tagline is now "Joomla content editing, untethered." everywhere it appears (docblocks, installer headers, DMG and .desktop files, README)
# [HIGH] The Read more separator of an article written in Joomla was invisible in the editor, and lost on publishing (gh-71)
# [HIGH] macOS 14 Sonoma: the application quit instantly, with no window and no error message (gh-58)
# [HIGH] Severe editor lag, and a frozen source code editor, after pasting a large image (gh-36)
# [HIGH] The editor would not load while a slow or newly added site was still answering
# [HIGH] Opening an article before the site's metadata had loaded could strip its category, access level or language on save
# [HIGH] Editor content stuck in dark mode when the site's editor.css switches on prefers-color-scheme (gh-38)
# [HIGH] The editor showed every custom field the site has, not the ones the article's category uses — and a required field belonging to another category made publishing impossible (gh-56)
# [HIGH] New Article opened with no editor at all, or with the article you had just backed out of — a single custom field the sidebar could not render took the whole editor down with it
# [HIGH] A list, radio or checkboxes custom field could not be rendered at all, because Joomla does not store its options as a list
# [HIGH] An article containing a stray closing tag was truncated at that tag when saved or published
# [MEDIUM] Published images were uploaded to the site's files folder instead of its images folder (gh-57)
# [MEDIUM] Picking an intro or full article image from the media browser's Local media tab published a broken image
# [MEDIUM] An untouched article asked to be saved on the way out, when the site's custom fields arrived after it opened
# [MEDIUM] Offline, the whole Articles screen was replaced by an error — even the Local articles tab, which needs no network (gh-29)
# [MEDIUM] The webview could cache Grafida's own API responses, showing stale data even after a restart (gh-35)
# [MEDIUM] The Articles list's category, tag and language filters never picked up reloaded site metadata (gh-42)
# [MEDIUM] Cropping or resizing a local image already used in an article distorted it the next time the article was opened (gh-43)
# [MEDIUM] Reset local storage left every AI service's API key behind in the OS keychain
# [MEDIUM] Editing a built-in AI tool's title or icon saved, but never took effect (gh-28)
# [MEDIUM] Enabling or disabling a built-in AI tool wiped its prompt and tone; editing a custom AI tool made it vanish from the list (gh-28)
# [LOW] The source code editor inserted a closing tag even when a matching one already followed (gh-52)
# [LOW] The Category drop-downs showed a flat list instead of the category tree (gh-40)
# [LOW] Slash commands and spell checking settings used Yes/No instead of On/Off (gh-48)
# [MEDIUM] Categories beyond Joomla's first API page were missing from the article editor's Category drop-down (gh-60)
Grafida 0.2
================================================================================
+ Slash commands: type / in the editor for a filterable menu of headings, lists, images and more; switch it off in Settings (gh-9)
+ Search and replace in the source code editor with Ctrl/Cmd+F (gh-34)
+ Editable article alias (URL slug) in the editor, auto-generated from the title
+ Created by Alias in the editor, to credit an author other than the publishing account (gh-8)
+ Searchable icon picker for AI tools
+ Empty Local Articles tab offers New Article and List Site Articles
+ Ctrl/Cmd+comma opens Settings from anywhere
+ Windows: the installer bundles the Visual C++ runtime DLLs
+ AI panel: live "Thinking…" indicator for reasoning models, click it to inspect the thinking
+ AI services: tell Grafida the model can see images, and the article's pictures are sent with its text
+ Local Articles can be sorted by date created or date modified, newest first by default
+ Visit site button under the sidebar favicon opens the active site in your browser
+ Editor CSS URL site setting, for a template whose editor.css cannot be found automatically
+ macOS: the disk image now has a branded background with drag-to-install instructions
+ Insert/Edit Image: mark an image as decorative, as in Joomla (gh-5)
+ Spell checking can be switched off in Settings (gh-24)
+ The editor's Help dialog documents Grafida's own shortcuts and the AI assistant (gh-13)
+ Publishing records a "Created using Grafida" note in Joomla's version history (gh-17)
~ The editor's Help dialog is back in the Tools menu; it was only reachable with Alt+0
~ Article lists show the Joomla article ID before the title
~ The editor no longer pops up a quick insert toolbar on every empty line (gh-6)
~ Article lists show the publish state as a colour-coded icon before the title
~ AI panel: a tool's prompt is muted "Instructions" instead of a red bubble
~ The editor's Meta Keywords field is now called Keywords, as in Joomla 4 and later
# [LOW] The editor's Meta description, Keywords and unsupported-fields notice were always in English
# [LOW] The editor's "read more separator already exists" warning was always in English
# [HIGH] Windows: crash on startup ("broken signature") after Authenticode signing
# [MEDIUM] Windows: multi-second freeze whenever a stored secret was read
# [MEDIUM] The editor ignored your site's editor.css unless the site used the stock Cassiopeia template (gh-3)
# [MEDIUM] The editor used the parent template's editor.css on a site running a child template (gh-3)
# [MEDIUM] Media Manager: an edited image's thumbnail and preview still showed the picture as it was before the edit (gh-4)
# [MEDIUM] macOS: the editor never underlined misspelt words (gh-24)
# [MEDIUM] Windows: Ctrl+right-click showed no native context menu, so spelling suggestions were unreachable (gh-26)
# [MEDIUM] Grafida forgot your last used site on restart, selecting the first one instead
# [LOW] Windows: the Save and Settings shortcuts also answered to the Windows key (gh-13)
# [LOW] Windows: a command window flashed at startup and on theme detection
# [LOW] AI panel: a second click on Send could fire a duplicate request
# [LOW] AI tool icons were blank in Settings and the editor's AI Tools menu
# [LOW] The collapsed sidebar's icons had no tooltip and no accessible name
# [LOW] Dialogs closed when clicking outside them, discarding your input
# [LOW] The site selector's "no sites yet" placeholder was truncated
# [LOW] Media Manager: the header buttons were jammed against each other
# [LOW] The editor had no padding around the content when your site's editor.css supplied none (gh-23)
Grafida 0.1
================================================================================
+ First release
+ Connect to one or more Joomla! 5.4+ sites through the Web Services (REST) API
+ Browse, search, sort, filter and paginate a site's articles, mirroring the Joomla back-end list
+ Create and edit articles in a TinyMCE 7 WYSIWYG editor with the site's own editor.css
+ Local article drafts stored offline in SQLite; edit a remote article as an unsaved draft
+ Offline media picker, inline image handling and a full online Media Manager screen
+ Publish articles back to the site (intro/full-text split, categories, tags, custom fields, images)
+ AI chat assistant and writing tools (multiple configurable providers; streaming replies)
+ Inserting an AI reply into the editor converts Markdown to HTML and preserves class/style formatting
+ Markdown import, light/dark/auto interface theme, and seven interface languages
+ Native desktop application for macOS, Windows and Linux built with Boson