From 655f5253f6e358e53b51f0b2458497714e9cdab1 Mon Sep 17 00:00:00 2001 From: Bane Stojkovic Date: Fri, 9 Dec 2022 22:46:44 +0100 Subject: [PATCH] Escape comma in BOM CSV files to avoid component names being split into separate columns --- .../src/org/diylc/presenter/update.xml | 16 ++++++++++++++++ diylc/diylc-swing/lib/swing-framework.jar | Bin 164168 -> 164272 bytes 2 files changed, 16 insertions(+) diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index 82263ab3..4bfe6f06 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -4225,5 +4225,21 @@ https://github.com/bancika/diy-layout-creator/releases + + + 4 + 35 + 0 + + 2022-12-09 00:00:00.000 CET + + + + IMPROVEMENT + Escape comma in BOM CSV files to avoid component names being split into separate columns + + + https://github.com/bancika/diy-layout-creator/releases + diff --git a/diylc/diylc-swing/lib/swing-framework.jar b/diylc/diylc-swing/lib/swing-framework.jar index db5f31775463dc0c87e4808a47045a8077d69961..680dc754df418a49f40793a2244b376b1f7914b0 100644 GIT binary patch delta 10316 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 Mf~=$z#xOtXe>RcV`~Uy|