Commit Graph

  • c668e21759 PDF: write with craft-libs' krilla, which bounds decoded PNGs (#1240) aiongg 2026-10-23 22:46:21 -04:00
  • 20ffb1f844 #1202: an asset's chosen export format stays when the document changes bflatastic 2026-10-24 09:43:07 +07:00
  • 0b42c3ff20 #915: the inspect response-limit tests join the MCP crate's one test binary (tests/it, as on main since #1208) bflatastic 2026-10-24 09:42:45 +07:00
  • a8363f062b #1202: look for empty canvas under the pointer only on a triple click bflatastic 2026-10-24 09:39:53 +07:00
  • 7fad345e48 #1202: builder_poly_tests.rs without a byte-order mark bflatastic 2026-10-24 09:39:53 +07:00
  • e52be58d46 #1202: drop the editor rules file (.trae) from the change bflatastic 2026-10-24 09:39:53 +07:00
  • 62a3072134 Merge main and the community batch into #1202 bflatastic 2026-10-24 09:39:22 +07:00
  • fd00119cce Merge branch 'batch/r2-1' into batch/r2-2 bflatastic 2026-10-24 09:39:28 +07:00
  • 31009cf572 Merge #931: i18n(pl): native review, catch-up and terminology fixes (@lukasz-sklad) bflatastic 2026-10-24 09:38:12 +07:00
  • 441ffcc334 Merge #681: i18n(fr): translate the missing strings and review the draft catalog (@leandrodslv) bflatastic 2026-10-24 09:37:56 +07:00
  • 1391cedffc Merge #984: i18n(sv): translate 38 new strings, use the agreed terms in 93 (@kler) bflatastic 2026-10-24 09:37:39 +07:00
  • c0aa8d567d Merge #1217: M7: FIGCRAFT_DEFAULT_FONT names the font new text starts in (@Salah1St) bflatastic 2026-10-24 09:37:20 +07:00
  • 9ec0e784f7 Merge #1213: M7: FIGCRAFT_WEB_FONTS embeds more craft-fonts families in the web build (@Salah1St) bflatastic 2026-10-24 09:37:16 +07:00
  • 650a293c5f Merge #1216: M7: Noto Sans Thai as a UI fallback when the build embeds it (@Salah1St) bflatastic 2026-10-24 09:37:12 +07:00
  • 9c3221b73c Merge #1218: M4: justified text doesn't widen U+200B (@Salah1St) bflatastic 2026-10-24 09:37:09 +07:00
  • d9d7ea35dc Merge #990: M4: CJK kinsoku completed to JIS X 4051 (@midasdf) bflatastic 2026-10-24 09:36:54 +07:00
  • 0ade4acec8 Merge #1026: i18n: add Vietnamese (vi) interface localization (@sonth87) bflatastic 2026-10-24 09:36:40 +07:00
  • 0fb2d0f5dd Merge #1224: Add Italian (it) interface language (@CosmoNetinfo) bflatastic 2026-10-24 09:36:24 +07:00
  • 01ca23358f Merge #661: M7: find fonts activated through Adobe Fonts on macOS (#298) (@AganzeFelicite) bflatastic 2026-10-24 09:36:21 +07:00
  • 0731ba3c7f Merge #1163: M9: fall back to the Noto symbol and math fonts on Linux (#1156) (@switch87) bflatastic 2026-10-24 09:35:53 +07:00
  • f5ce83015d Merge #1215: M4: Thai faces in the text fallback list (@Salah1St) bflatastic 2026-10-24 09:35:15 +07:00
  • 4ca43c2cb5 Merge #1035: M7: missing fonts: follow each font variable's aliases once (#752) (@Nael-Nathanael) bflatastic 2026-10-24 09:35:12 +07:00
  • 97fa35008b Merge #1010: Web build: Save, Save as and Export arrive as downloads (@Ridzzz0Alam) bflatastic 2026-10-24 09:35:09 +07:00
  • 1f9effd25d #660: a file saved as Proto.figcraft presents as Proto (titles follow file names on main) bflatastic 2026-10-24 09:34:40 +07:00
  • 29e49dc522 fix(engine): take &mut Document in restore_id_map; keep 'static on associated consts Dylan M. TaylorandClaude Opus 5.5 2026-10-24 02:33:42 +00:00
  • b9e008315e Merge #954: M0.9: allow literal dash-prefixed CLI filenames (@MMexicann) bflatastic 2026-10-24 09:30:12 +07:00
  • 732eaeba99 Merge #989: Large .fig files keep their layers and their library links (#981) (@Ridzzz0Alam) bflatastic 2026-10-24 09:29:56 +07:00
  • 58917a0845 Merge #951: fig import: a note says how much of the file it covers (#467) (@Hamza0101) bflatastic 2026-10-24 09:29:51 +07:00
  • ee9b49b0de Merge #1009: data.fill and text.fit: fill copies of a frame from rows of data (@lucasmartins-ai) bflatastic 2026-10-24 09:29:48 +07:00
  • 58158e0e6e Merge #1003: command.batch: named step references (as / $ref) and paths in field (@kkilchrist) bflatastic 2026-10-24 09:29:22 +07:00
  • 34956e5e7c Merge #1004: node.set: accept path to replace a vector's geometry (@kkilchrist) bflatastic 2026-10-24 09:28:34 +07:00
  • 61c305a53d Merge #1005: node.reparent: index is the layer's final position (@kkilchrist) bflatastic 2026-10-24 09:28:30 +07:00
  • 3b3d16d677 Merge #915: MCP: inspect_document answers within what a client can read (@Hamza0101) bflatastic 2026-10-24 09:28:21 +07:00
  • b12977e404 Merge #1006: Show a boolean property's default on the main component's bound layers (@kkilchrist) bflatastic 2026-10-24 09:28:14 +07:00
  • ab2288796e Merge #1011: Dev Mode: React + Tailwind page code and Tailwind theme export (@lucasmartins-ai) bflatastic 2026-10-24 09:28:04 +07:00
  • c6dd115e78 UI: Route text clipboard writes through egui (#1239) Susiee The Linux UserandGPT-6 Luna 2026-10-24 02:09:42 +02:00
  • 1ba23557c8 Merge #1008: variable.export css: number lengths in px (@lucasmartins-ai) bflatastic 2026-10-24 09:27:52 +07:00
  • f00b62ba2d Merge fix: the server store tests keep each test closed bflatastic 2026-10-24 09:26:44 +07:00
  • 9fb88b6668 Merge #904: M1: write grid track sizes in .fig export (#465) (@xiaou61) bflatastic 2026-10-24 09:24:04 +07:00
  • 489da09905 Merge #740: engine: fill rules as vector.fillRule and vector.reverseLoop (@yelintong) bflatastic 2026-10-24 09:23:50 +07:00
  • 550c3e8bbb Merge #905: M1: say that the automation roots reach only the headless side (#835) (@xiaou61) bflatastic 2026-10-24 09:23:48 +07:00
  • fac42785c1 Merge #1158: FreeBSD: package the aarch64 cross build (craft-common-actions#39) (@zuujiscom) bflatastic 2026-10-24 09:23:45 +07:00
  • ba8b608673 Merge #660: M5: one presentation tab per page of a file (@JimKnoxx) bflatastic 2026-10-24 09:23:43 +07:00
  • 21a334b3ef Merge #976: fix(ui): keep the style picker open while editing a style's colour (@kollakek1) bflatastic 2026-10-24 09:23:29 +07:00
  • 075f5bfc98 Merge #1197: Regression test for #237 (@skylartaylor) bflatastic 2026-10-24 09:23:26 +07:00
  • 0a99f0fb69 Merge #1032: M8: save-format tests keep their temp folders apart (@MortenHusted) bflatastic 2026-10-24 09:23:24 +07:00
  • 2577f53e2c Merge #1212: Control server: wait after a failed accept instead of retrying at once (@oracola91) bflatastic 2026-10-24 09:23:21 +07:00
  • 53b8b531ce Merge #1031: Treat U+2007 FIGURE SPACE as non-breaking in line breaking (@Silvertree2010) bflatastic 2026-10-24 09:23:18 +07:00
  • 771a0060b6 Merge #1038: Keep literal true/false distinct from variables named true/false (@Silvertree2010) bflatastic 2026-10-24 09:23:15 +07:00
  • 60e1ef9976 Merge #1041: Keep not <var> from reading back as a variable named 'not …' (@Silvertree2010) bflatastic 2026-10-24 09:23:02 +07:00
  • a5e8d256e6 Merge #1052: Drop XML-forbidden control characters from live-text SVG export (@Silvertree2010) bflatastic 2026-10-24 09:23:00 +07:00
  • 3610a7cb12 Merge #1142: Write a final Greek sigma in lower-case text layout (@Silvertree2010) bflatastic 2026-10-24 09:22:57 +07:00
  • 378c015eb3 Merge #1145: Remove all leftover temp files at server startup (@Silvertree2010) bflatastic 2026-10-24 09:22:54 +07:00
  • 53e61e2a5d Merge #1146: Guard file generation increments against u64 overflow (@Silvertree2010) bflatastic 2026-10-24 09:22:42 +07:00
  • 3774f9e51d Merge #1149: Bound the library/plugins close drain with a deadline (@Silvertree2010) bflatastic 2026-10-24 09:22:28 +07:00
  • 75c1586011 Merge #1153: Match widget data check depth to serde_json's recursion limit (@Silvertree2010) bflatastic 2026-10-24 09:22:12 +07:00
  • 52afac49fe Merge #1164: Reject non-finite coordinates in control-channel ui.input (@Silvertree2010) bflatastic 2026-10-24 09:21:48 +07:00
  • f4541d8b24 Merge #1147: Restrict a pre-existing data directory to 0700 (@Silvertree2010) bflatastic 2026-10-24 09:21:45 +07:00
  • 70536a6265 Merge #948: Keep a solid paint's own opacity when binding a colour variable (@Silvertree2010) bflatastic 2026-10-24 09:21:42 +07:00
  • d93b806323 Merge #1151: Never drop Sync events when the live inbox is full (@Silvertree2010) bflatastic 2026-10-24 09:21:39 +07:00
  • ef6a6c49b2 Merge #1185: Make is_ancestor fail closed on deep or looping parent chains (@Silvertree2010) bflatastic 2026-10-24 09:21:37 +07:00
  • 82004c6e9c Merge #1187: Cap the issue list returned by Document::validate (@Silvertree2010) bflatastic 2026-10-24 09:21:24 +07:00
  • 0fdcac8014 fix(engine): remove duplicate closing brace in large_document Dylan M. Taylor 2026-10-24 02:21:11 +00:00
  • 15fd9fe1bf Merge #1192: Strip bidi control characters from names and report reasons (@Silvertree2010) bflatastic 2026-10-24 09:21:04 +07:00
  • 6b37d779e0 Merge #1195: Accept a version string for the plugin manifest api field (@Silvertree2010) bflatastic 2026-10-24 09:20:03 +07:00
  • fed124fa77 Merge #1238: Fix duplicate SVG ids when a layer name matches a generated id (@Silvertree2010) bflatastic 2026-10-24 09:20:00 +07:00
  • f109945c47 Merge #1165: Make SVG unique_id linear for repeated layer names (@Silvertree2010) bflatastic 2026-10-24 09:19:41 +07:00
  • 404916a949 Merge #1169: Refuse library versions that leave no newer one to publish (@Silvertree2010) bflatastic 2026-10-24 09:19:38 +07:00
  • b5a8dcb059 Merge #1230: Honour even-odd fill rule when hit testing vectors (@Silvertree2010) bflatastic 2026-10-24 09:19:18 +07:00
  • fcace33059 Merge #1178: Enforce per-address storage caps per IPv6 /64, /56 and /48 (@Silvertree2010) bflatastic 2026-10-24 09:18:28 +07:00
  • 45a3069dce Merge #1175: Keep the hello size limit until a connection is admitted (@Silvertree2010) bflatastic 2026-10-24 09:18:25 +07:00
  • f0a7037a53 Merge #1183: Enforce an absolute pre-hello deadline against ping slowloris (@Silvertree2010) bflatastic 2026-10-24 09:18:22 +07:00
  • d40ec98ef6 Merge #1182: Shut kicked and removed connections when their close can't be queued (@Silvertree2010) bflatastic 2026-10-24 09:18:19 +07:00
  • 00074d0041 Merge #1186: Stop stale next_id from making pastes overwrite existing nodes (@Silvertree2010) bflatastic 2026-10-24 09:18:16 +07:00
  • dc0ce6c176 Merge #1181: Refuse text.loadFont path for plugins (@Silvertree2010) bflatastic 2026-10-24 09:18:13 +07:00
  • 2a20a4de0a Merge #1190: Refuse non-local library paths in the library Cache (@Silvertree2010) bflatastic 2026-10-24 09:18:10 +07:00
  • e3c9d3f644 Merge #1191: Deny library.publishToServer to plugins (@Silvertree2010) bflatastic 2026-10-24 09:18:07 +07:00
  • 243728b758 Merge #1196: Don't run the expiry sweep from offline CLI commands (@Silvertree2010) bflatastic 2026-10-24 09:18:03 +07:00
  • c7062db387 Merge #1171: Never overwrite a file's log when it can't be read (@Silvertree2010) bflatastic 2026-10-24 09:17:59 +07:00
  • ad5d502200 Merge #1014: M7: keep keyboard focus inside the Interface size menu (@YarilaFox) bflatastic 2026-10-24 09:17:56 +07:00
  • ab81027904 fix(packaging): use verify_sha256 helper function to avoid shellcheck SC2059 Dylan M. Taylor 2026-10-24 02:17:47 +00:00
  • f3782e6bc4 Merge #1023: fix(engine): show the Pen's Shift 45° step in its preview line (#970) (@vxMacDev) bflatastic 2026-10-24 09:17:11 +07:00
  • eada8b0ff3 Merge #1042: M3: style links given in a call apply after its values (@MortenHusted) bflatastic 2026-10-24 09:16:54 +07:00
  • 90e5e03b23 Merge #1160: M0.9: figcraft-cli export names files as the app's export does (#1154) (@switch87) bflatastic 2026-10-24 09:16:12 +07:00
  • adc8e81826 Merge #1161: M0.9: --help and -h after a figcraft-cli subcommand print the usage (#1155) (@switch87) bflatastic 2026-10-24 09:16:07 +07:00
  • 15321a56ff Merge #1198: fill/stroke props: accept 'none' and null as no paint (@lileeei) bflatastic 2026-10-24 09:16:04 +07:00
  • 310d371046 chore: resolve SonarCloud maintainability issues Dylan M. Taylor 2026-10-24 02:15:44 +00:00
  • 1e4a31a303 Merge #1199: M3: instance-swap properties in the Dev Mode component playground (@marcoarnulfo) bflatastic 2026-10-24 09:15:41 +07:00
  • 6063d3e9a9 Merge #1189: M4: vector edit transform box around points of several layers (@marcoarnulfo) bflatastic 2026-10-24 09:15:11 +07:00
  • 8f9e2fedc7 Merge #1047: M7: Type settings keeps its width with long labels (#1029) (@AganzeFelicite) bflatastic 2026-10-24 09:14:10 +07:00
  • 07191c881d Merge #1030: M1: individual corner fields sit at their corners, each with its own icon (#1002) (@muamerETS) bflatastic 2026-10-24 09:13:48 +07:00
  • 8eb5624460 Merge #986: fix: = zooms in, matching - zooming out (#973) (@Ridzzz0Alam) bflatastic 2026-10-24 09:13:43 +07:00
  • f31199d4ca Merge #1018: M1: a selected unfilled shape drags from inside its box (#910) (@muamerETS) bflatastic 2026-10-24 09:13:38 +07:00
  • 370faa52da Merge #1033: M3: a variant switch takes the new variant's resizing unless the instance set its own (@MortenHusted) bflatastic 2026-10-24 09:13:33 +07:00
  • ab5a62387b Merge #1034: M6: SVG import fills open subpaths the way SVG does (@MortenHusted) bflatastic 2026-10-24 09:13:28 +07:00
  • 98040b48a5 Merge #1037: M3: a variable mode set on a layer inside an instance is an override (@MortenHusted) bflatastic 2026-10-24 09:13:23 +07:00
  • 83f840f802 Merge #1043: M3: a swapped nested instance keeps its outer main's overrides (@MortenHusted) bflatastic 2026-10-24 09:13:18 +07:00
  • d394e952c6 Merge #1044: M4: individual stroke weights follow the corner radius like CSS borders (@MortenHusted) bflatastic 2026-10-24 09:13:13 +07:00
  • ac5783d0cd Merge #1135: M5: prototype actions lay out what they change like the canvas does (@MortenHusted) bflatastic 2026-10-24 09:13:08 +07:00
  • 293ab33eaa Merge #1166: M7: Cmd/Ctrl+S saves while a panel field has the keyboard (#1157) (@switch87) bflatastic 2026-10-24 09:12:49 +07:00