Repository navigation
mapcan 0.21.0
mapcan 0.21.0
The first version on PyPI: uv tool install "mapcan[desktop]" (or pipx install), and
mapcan[lsp] for the VS Code extension.
Every change keeps mapcan: 1; former names stay readable with the warning deprecated-key, and
mapcan migrate (or the VS Code quick fix) rewrites a map and its included files keeping comments.
The policy is in docs/format.md ("Versioning and compatibility"), the details in
docs/format-changelog.md. (#67)
-
The frame field
dlcislength, the data length in bytes; the DLC code follows from it. (#59) -
signedandsigned_codeare one field,representation. (#63) -
The frame field
typeiscanopen, the frame's CANopen function. (#62) -
invalidisinvalid_raw, and takes ranges and values by meaning (not_available,error),
with…_is_not_available()/…_is_error()in generated code. (#60, #97) -
The bus field
interfaceisconnector; the adapter and channel are not part of the map. (#96) -
The print details of the title page move into
document.print. (#61) -
An included file starts with
mapcan: 1andpart_of: <map>, and has its own JSON Schema. (#54) -
New: CAN FD
data_bitrateand sample points of buses (#95), the receive timeouttimeout_msof
frames (#98),encoding: stringfor text such as a VIN (#99), a signal'ssourceto send the map
version or a layout CRC32 (#104). -
mapcan fmt [--check]writes maps in one key order. -
A map split into several files is edited as one: the nodes of an included file are edited in the
web editor, the VS Code forms and the Map view, each written in its own file; rename and
references cover every file, and an included file opens in the context of its map. (#49, #56) -
The language server analyses a change once typing pauses, in a worker thread. (#85, in part)
-
The web editor asks with explicit buttons and does not lose edits through dialogs or YAML drafts.
(#81) -
mapcan serveon a network address requires a token. (#82) -
The web editor and VS Code link to the project, its documentation and a new issue.
-
11-bit and 29-bit frames with the same number are told apart. (#91)
-
J1939: an RX frame takes its source address from its sender. (#92)
-
The flags of a signed bit field are exported to DBC as unsigned again.
-
Missing translations fall back to the document language, not Russian.
-
Python 3.12, 3.13 and 3.14; the heavy dependencies are extras (
desktop,lsp, …). (#84, #86) -
Published to PyPI from the release workflow. (#68)
Installation
- Windows: download
mapcan-0.21.0-setup.exeand run it. No administrator rights required.
Without installing:mapcan-0.21.0-windows-x64.zip(runmapcan-app.exe). - Linux (x64): extract
mapcan-0.21.0-linux-x64.tar.gzand runmapcan/mapcan-app(the editor opens in the browser) ormapcan/mapcan(command line). - Python 3.12 or newer:
uv tool install "mapcan[desktop]==0.21.0"(orpipx install), PyPI - Docker:
docker run --rm -v "$PWD:/work" ghcr.io/ordu1453/mapcan:0.21.0 build mapcan.yaml -o build
What's Changed
New Contributors
Full Changelog: v0.20.0...v0.21.0