Skip to content

1.6.8

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Jul 13:19

Version 1.6.8 — ChatGPT 2026 Export Support

Version Feature

✨ New

  • ChatGPT — Product recommendation carousels rendered as callouts

    • The 2026 export embeds products{…} tokens in message text where the web app injects a shopping widget; images and purchase links are not included in the export
    • Each token is replaced with a collapsible nexus_attachment callout showing product names, categories, prices and merchants, with a link to the original conversation for the full visual experience
  • Claude — Web search citations rendered as References

    • When Claude uses web search, each source URL is now collected from the message's citation metadata and appended as a deduplicated ### References list at the end of the message
    • Matches the existing behavior for Perplexity imports
  • Vibe (Mistral) — Canvas presentations and documents rendered inline

    • New canvas[] field in Vibe messages carries full content: Marp slide decks (type: "slides") and Markdown documents (type: "text/markdown")
    • Each canvas item is rendered as a collapsible >[!nexus_canvas]- callout appended to the message; slide decks are wrapped in a code block to preserve Marp front-matter
  • Vibe (Mistral) — Placeholder for assistant-generated file references

    • A new file_reference content chunk type references files generated by the assistant (e.g. a .docx summary) that are hosted on Mistral servers and not included in the ZIP export
    • A nexus_attachment placeholder is inserted with the file name and a link to the original conversation
  • ChatGPT — Canvas directives rendered as callouts

    • The 2026 export inlines Canvas ("textdoc") content as :::writing{variant=…} blocks — CommonMark generic directives that Obsidian does not render, leaking raw markup into notes
    • Each block is now converted into a collapsible >[!nexus_canvas]- callout with a descriptive label: Social post, Document, Email (with subject), Draft, or Canvas
  • ChatGPT — Canvas-generated documents imported

    • Assistant-generated Canvas artifacts (e.g. a .docx report) are stored in library_files.json — not in the usual metadata.attachments — and were previously invisible to the importer
    • These files are now detected via origination_message_id, extracted from the ZIP, and linked in the originating message
  • ChatGPT — Placeholder for generated images omitted by the export

    • Recent ChatGPT exports no longer include AI-generated images (no .dat, no metadata) — an OpenAI-side export regression
    • When an image-generation turn is detected and no image is present, a clear >[!nexus_attachment]- placeholder is inserted (with the prompt when available) so the omission is visible rather than silent
    • Suppressed for older exports that still carry structured DALL-E data — those continue to import unchanged

🔧 Improved

  • Minimum Obsidian version raised to 1.6.6
    • The plugin already relied on FileManager.trashFile (@since 1.6.6) and AbstractInputSuggest (@since 1.4.10); the declared minimum now matches actual API requirements

🐛 Fixed

  • ChatGPT — 2026 export .dat attachments fully resolved

    • All attachments are packaged as file_<id>.dat at the ZIP root; conversation_asset_file_names.json maps each to its original name and file type
    • User-uploaded images and documents (PDFs, etc.) are extracted and linked correctly
  • ChatGPT — Voice recordings properly detected and skipped

    • WAV files are now detected via magic bytes (RIFF/WAVE header) and via the asset index, and are intentionally omitted — the transcription is already in the conversation text
    • Previously, WAVs were misdetected as WebP and imported as broken image files
  • ChatGPT — Canvas user-pasted files no longer duplicated

    • The 2026 export introduced a new library_artifact_type: "writing_block" for user-pasted Canvas content (e.g. Pasted markdown.md)
    • These files are already handled via metadata.attachments on the user message; the library injection path now ignores them, preventing a duplicate attachment on the assistant message

Full Changelog: 1.6.7...1.6.8