Changelog · v0.2.0

Τι άλλαξε, με στοιχεία.

Κάθε έκδοση με ό,τι παραδίδεται πραγματικά — και με ό,τι δεν παραδίδεται ακόμη. Χωρίς “coming soon” που κρύβεται πίσω από ένα changelog.

v0.2.0 Production & Trust 32 fixtures MIT

v0.2.0 — Production & Trust

24 Οκτωβρίου 2026

Η 0.2.0 κάνει τον Writer ασφαλή για μη έμπιστο Markdown και προσθέτει ό,τι χρειάζεται για παραγωγή: πραγματικό PDF, framework wrappers, server examples και localisation του editor.

Σε μία γραμμή. Ασφαλές sanitization σε JS, PHP και Python, πραγματικό PDF, wrappers, server examples, i18n/RTL και 32 fixtures. Χωρίς DOCX/EPUB ή CRDT.

Ασφάλεια

  • Το raw HTML sanitize-άρεται στο IR boundary από προεπιλογή (html: 'sanitize') σε JS, PHP και Python.
  • Το html: 'allow' είναι ρητό opt-out· το html: 'escape' μετατρέπει το raw HTML σε text nodes.
  • Τα URLs περνούν από κοινή allowlist: απορρίπτονται javascript:, vbscript:, file: και μη ασφαλή schemes.
  • Τα data: URLs επιτρέπονται μόνο για raster εικόνες. Control characters και backslash-prefixed URLs δεν κρύβουν scheme.
  • Το ίδιο sanitized IR τροφοδοτεί HTML και PDF, ώστε κανένα format να μην παρακάμπτει την πολιτική.

Προσθήκες

  • @writer/pdf: first-party IR → PDF renderer με ενσωματωμένες γραμματοσειρές DejaVu Sans/Mono για ελληνικά και κυριλλικά.
  • Wrappers @writer/react, @writer/vue και @writer/svelte πάνω στο ίδιο Web Component.
  • Server examples για Express, Laravel και Django με validation και όριο 1 MB.
  • Localisation του editor chrome και RTL direction. Το περιεχόμενο του document δεν μεταφράζεται.
  • Δίγλωσσο changelog στο writer.gr.

Αλλαγές

  • Το conformance corpus αυξήθηκε από 22 σε 32 fixtures. JS, PHP και Python περνούν 32/32.
  • Τα README, API reference, architecture notes και integration guide περιγράφουν το security model, το PDF, τα wrappers και τα server examples.
  • Package, SDK, documentation και download versions ενοποιήθηκαν στο 0.2.0.
  • Το download bundle είναι πλέον το writer-0.2.0.zip.

Διορθώσεις

  • Το PHP html: 'escape' παράγει text nodes, όπως JS και Python.
  • Το PHP html: 'allow' είναι πραγματικό no-op και δεν ξαναγράφει το raw HTML.
  • Το URL handling δεν δέχεται πλέον backslash-prefixed ή control-character-obfuscated schemes.
  • Το asPDF() επιστρέφει NO_PDF_ENGINE όταν δεν υπάρχει engine, αντί για HTML με κατάληξη .pdf.
Δεν περιλαμβάνονται. DOCX/EPUB export και collaborative editing / CRDT δεν υπάρχουν σε αυτή την έκδοση.

v0.1.0 — Initial release

20 Οκτωβρίου 2026

Η πρώτη δημόσια έκδοση έθεσε το contract και τα τρία SDKs.

  • @writer/core: Markdown → Writer IR, plugins, renderers, τυπογραφία, πίνακες, media και commands.
  • @writer/editor: Web Components editor με WYSIWYG, source, split, preview και readonly modes.
  • PHP και Python SDKs που παράγουν το ίδιο canonical IR και τις ίδιες εξόδους.
  • Conformance corpus και δίγλωσσο site με offline demos.
Κατέβασε το writer-0.2.0.zip