Versions and Migration
The manual documents the version combination in the table below. Except for EKP 1.0.0 and Ebox 3.0.0 these are pre-1.0 release lines, so an interface may change between releases; each package's CHANGELOG.md is the authoritative list of user-visible changes. This appendix gives the requirements and the changes that need edits in existing code or files.
Versions
Section titled “Versions”| Package | Version | Requires |
|---|---|---|
ecss |
0.1.0 | Emacs 28.1 |
ekp |
1.0.0 | Emacs 29.1 |
ebox |
3.0.0 | Emacs 29.1, ecss 0.1.0 |
etaf |
0.2.1 | Emacs 29.1, ebox 3.0.0, ecss 0.1.0 |
etaf-ui |
0.1.0 | Emacs 29.1, etaf 0.2.1, ebox 3.0.0 |
etaf-db |
0.1.0 | Emacs 29.1, etaf 0.2.1 |
etaf-manual |
0.1.0 | Emacs 29.1, etaf 0.2.1, etaf-ui 0.1.0 |
Requirements
Section titled “Requirements”Emacs 29.1 or newer runs every package; ECSS alone also supports Emacs 28.1. The optional pieces are described in Installation, Loading and Building: EKP's C module needs a C compiler, the macOS colour-emoji helper is compiled with swiftc, video playback needs the ffmpeg programs (etaf-video-ffmpeg-program, etaf-video-ffplay-program and etaf-video-ffprobe-program), ETAF DB needs an Emacs build with SQLite support, and EKP hyphenation reads the dictionaries shipped under dictionaries/.
Migration notes
Section titled “Migration notes”- Package entry at the repository root. Load a source checkout by adding its repository root to
load-pathand requiring the package entry, as in(require 'etaf). The feature modules belowlisp/are internal and are not a supported import path; packages installed from an archive keep the same layout. - ECSS rule files. A static
.ecssfile now contains an unquoted rule list. Remove the outer quote from existing files. - ECSS Scope parent. The optional parent of
ecss-scope-createis passed as:parent PARENT, not positionally. - Runtime generations. The earlier generation APIs were removed. Compare
etaf-runtime-revision, or the valueetaf-runtime-flushreturns, to observe that a publication reached the buffer. - Ebox engine. The earlier engine's canonical inputs, source builders and explicit update APIs were removed. Keep node references:
ebox-node-insert,ebox-node-remove,ebox-node-moveandebox-node-replace-childrenchange children;ebox-node-set-textandebox-node-set-imagechange content;ebox-node-set-props,ebox-node-put,ebox-node-set-statesandebox-node-restylechange properties;ebox-with-batchgroups work. Build or copy a retained root and mount it instead of supplying a full input replacement. - Data reconciliation. The success state is
reconciled, notprojected; consumers that compareetaf-data-reconciliation-statesymbols should update. - Accent controls.
etaf-taskbarandetaf-workspace-barno longer accept:accent-color; provide a Theme with:ui-accentand:ui-accent-soft-bginstead. - EKP dictionaries. The bundled inventory is pinned and verified per file. The Sanskrit dictionary was removed because the pinned upstream data has no authoritative license statement; check that hyphenation still selects a dictionary when a document's language is no longer covered.