Skip to content

Kromacut v4.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Sep 15:54
0b843bc

Installation

macOS:

  1. Download the .dmg file for your Mac:
    • Apple Silicon (M1/M2/M3): *_aarch64.dmg
    • Intel: *_x64.dmg
  2. Open the DMG and drag Kromacut to Applications
  3. Remove quarantine (required for unsigned apps):
    sudo xattr -d com.apple.quarantine /Applications/Kromacut.app
  4. Launch from Applications

Windows:

  1. Download the -setup.exe installer.
  2. Run the installer and follow the prompts. The standard Windows installer includes the Microsoft Edge WebView2 bootstrapper, but requires internet access if WebView2 needs to be installed or updated.
  3. For offline Windows machines, download the *_offline-setup.exe installer instead.
  4. Launch Kromacut from the Start menu

Linux:

  1. Download the .AppImage or .deb file
  2. For AppImage: chmod +x Kromacut*.AppImage && ./Kromacut*.AppImage
  3. For Debian/Ubuntu: sudo dpkg -i kromacut*.deb
  4. AppImages from this release include update information for compatible tools such as AppImageUpdate. The matching .AppImage.zsync asset enables delta downloads; it is not an installer. Older AppImages without update information need a one-time manual download. Kromacut's built-in update notification still opens the release page.

What's Changed

Upgrade notes

  • Existing profiles and calibration records remain compatible. Saved Stack Matrices retain their original dimensions and recipes; the one-layer foundation and grouped layout apply to newly generated matrices. Back up important profiles as usual.
  • Printable-detail cleanup is now more conservative. The saved omission preference remains enabled if you previously enabled it, but now removes only eligible isolated color specks. Rebuild and check the slicer preview to see the updated result.
  • Language changes do not change print data. Select a language in Settings or on public pages; artwork, filament profiles, physical dimensions, and generated geometry remain unchanged.
  • Linux delta updates start with this AppImage. Older AppImages without embedded update information need a one-time manual download. Compatible external update tools can then use the matching .zsync asset; the in-app update notice still opens the release page. AnyLinux packaging is not part of this release.

Added

  • Release consistency checks - Builds validate app, native, lockfile, and update-feed versions together with dated changelog entries and translated release notes. Native release jobs reject mismatched tags and branch dispatches before building. Website deployment waits for the matching published desktop release, then uses the release commit so update notices do not advertise unavailable installers. Regression coverage checks version drift, incomplete metadata, and deployment gating.
  • Linux AppImage delta updates - Release builds embed stable-channel update information and publish a matching .AppImage.zsync asset for compatible tools such as AppImageUpdate. Release checks validate the embedded location, target filename/URL, size, checksum, and sidecar structure before publication. Older AppImages without update information require a one-time manual download; the in-app update notification remains download-page based. Other package formats and Linux compatibility targets are unchanged.
  • Twelve-language interface and guides - Added i18next language selection using the existing shared Select controls in Settings and on public pages for English, French, German, Italian, Romanian, Spanish, Japanese, Simplified Chinese, Hindi, European Portuguese, Ukrainian, and Bengali. Compact public-page selectors match footer-link styling, with the landing selector aligned within the responsive footer navigation. The choice is saved locally, can follow the system language, and updates without resetting artwork, profiles, print settings, or built geometry. App controls, accessibility labels, errors, print instructions, all fifteen guides and their diagrams, landing pages, Privacy, and Terms have localized resources. Language-prefixed public links preserve stable document anchors and provide translated static HTML, metadata, sitemap entries, and language alternatives. Browser install descriptions keep the same installed app identity, and the desktop update feed carries translated release notes while retaining compatibility with older clients. Locally bundled script-appropriate fonts also travel inside full-size translated SVGs. Coverage checks reject missing resources, altered guide structure, stale diagram measurements, and untranslated UI literals; browser, native, and export regressions check language switching, mobile layouts, desktop save dialogs, and unchanged physical output. Unknown diagnostic text is preserved rather than reinterpreted through generic UI templates.
  • Terms and conditions page - Added /terms with landing-footer navigation, reciprocal Privacy links, canonical metadata, a sitemap entry, and readable static HTML. The terms explain AGPL software rights, artwork and export responsibilities, print checks, local backups, Reddit/Discord help, optional Patreon support, and legally bounded warranty wording. Shared legal-page presentation preserves accessible email reveal/copy controls and mobile layouts, with route and browser regression coverage.
  • Privacy and local-data page - Added /privacy and a landing-page footer link to normal builds, including readable static HTML, page metadata, a sitemap entry, and section navigation. The notice explains local storage, hosting and email providers, international processing, six-month manual correspondence reviews, privacy rights, and complaint routes. Click-to-reveal public email replaces its button and hint with the focused address link and Copy action; the literal address stays out of initial HTML and built JavaScript. Mobile, keyboard, clipboard, static-page, and route checks cover the page. Internal legal review notes stay separate from the public notice; email obfuscation is not bot-proof protection.
  • Locally hosted fonts - Bundled the existing Oxanium, Source Code Pro, and Source Serif 4 fonts with their licenses so the website and desktop app retain their typography without contacting Google Fonts.
  • Sticky mobile launch button - The landing page keeps an Open Kromacut action at the bottom of phone-sized screens after the header button scrolls away. It hides again at the top and stays off desktop layouts, the editor, and documentation. Safe-area spacing keeps footer links reachable, with browser coverage for scrolling, resizing, keyboard access, themes, and navigation.
  • Custom 404 page - Broken links now show a responsive, light/dark error page with a custom layered-color 404 illustration and colored two-arm corner accents floating above the lettering, directly over the build plate's corners, a split desktop layout, compact mobile composition, and clear app, homepage, and documentation recovery links. Unknown documentation pages no longer silently show the first guide. GitHub Pages receives the same design in a standalone, search-index-excluded 404.html that works without JavaScript. Regression coverage checks direct-link status, recovery links, desktop/mobile layouts, decorative-art accessibility, and in-app documentation navigation.
  • Illustrated feature guides - Expanded the 3D and 2D documentation with control-by-control explanations, physical layer and color examples, calibration workflows, and full-size vector illustrations. The HD guide includes a real eight-filament wedge photograph, its recorded layer settings, and guidance to read physical patches rather than photo colors. The guides distinguish preview-only controls from image and geometry edits, describe settings that interact, and explain what must match the slicer. Mobile navigation collapses to leave room for reading. Documentation checks cover navigation, image assets, and responsive rendering.

Changed

  • Effective line width in print settings - Moved the existing control into 3D Print Settings, retaining its saved value and including it in the section reset and modified-state indicator. Removed the separate reset button and helper description.
  • Adaptive Stack Matrix calibration - New boards use a maximum color-stack thickness instead of a fixed 3–6-layer recipe depth, with up to 64 regular layers. The foundation is only the effective first print layer, without opacity-based thickening; shorter recipes use backing padding inside the color region to preserve a flat photographic surface. The UI shows foundation + color-region height, total height, and print-layer count, with a reminder that thin backing is not guaranteed opaque. Selection uses compatible completed measurements to seek new color, thickness, and filament-transition coverage, while retaining exploratory and reference patches. Similar recipes are grouped to reduce fragmented same-color toolpaths without claiming fewer swaps or a measured time saving. A material-change budget constrains planning without claiming a slicer time guarantee. Existing boards remain readable and re-export with their original foundation, cell positions, and recipes. Regression coverage checks adaptive selection, grouped layout, one-layer foundations, saved-data compatibility, padded recipe predictions, flat manifold exports, and the browser save workflow.

Fixed

  • Desktop Hiding Distance downloads - Restored calibration STL/3MF downloads in the desktop app using Save As. Wedge exports show a busy state, report write failures, and retain the previous downloaded plan when saving is cancelled or fails. Regression coverage checks both formats and browser downloads.
  • Over-aggressive printable-detail cleanup - Width checks now account for pixel boundaries and preserve connected regions with a wide core, avoiding whole-pixel rounding and diagonal false positives. Auto-paint's At-risk/Result preview distinguishes warnings from actual removals. The renamed Omit isolated color specks option only replaces colors used exclusively in tiny compact specks enclosed by one wider color; thin linework, connected detail, and ambiguous regions stay intact. Matching, preview, and export share the same cleanup without editing the 2D source. Regression coverage checks detail conservation, saved line-width settings, and browser behavior. This remains an image-only estimate, not a model of physical material layers or slicer toolpaths.