Skip to content

Releases: SoftFever/OrcaSlicer

OrcaSlicer V1.8.0 Beta Release

28 Oct 06:12
Compare
Choose a tag to compare
Pre-release

V1.8.0 Beta

This is a feature packed beta release.
A lot of our community members pitched in, whether it was by contributing code, profiles, translations, or actively testing the development build. A big thank you to everyone! We couldn't keep this project going without you all 🥇.
I want to give a special shout-out to @Noisyfox and @igiannakas for their incredible work. Well done! 👍

Features

  • Improve PA calibration Line method
    image

  • Added searching function printer selection dialog by @ZdDroid in #2464
    search

  • Added straight line(vertical and horizontal) mode for painting

    straight_line.mp4

  • Add z offset option
    image

  • Support "Manual filament change" option and logic by @Ocraftyone in #2379
    manual_semm

  • Features ported from PrusaSlicer:

    "Please check out the PRs and PrusaSlicer's release notes for a detailed look at these amazing features. Give credit where credit is due: @prusa3d and their team are doing the heavy lifting for all of us.

    • Detection of curled edges to enhance slowdown for overhangs algorithm by @igiannakas in #2056
      image
    • Porting of Pressure Equalizer feature from Prusa Slicer 2.6.x by @igiannakas in #2161
      image
    • Port "Extend sparse infill" from Prusa by @Noisyfox in #2134
      image
      image
    • Port of the new ensure vertical thickness algorithm from PrusaSlicer by @Noisyfox in #2382
      image
    • Thumbnail Formats Option Ported from PrusaSlicer and add BIQU/BTT format by @Ocraftyone in #2405
  • Features ported from SuperSlicer:

    • Ported automatic hole to polyhole conversion from superslicer by @lovelytwo in #2336
      polyhole
    • Change direction for perimeter extrusion at odd layers. by @Noisyfox in #2413
      image
    • Add elephant foot compensation over multiple layers by @bitingsock in #2254
  • Added All Plates Stats Total Cost #1781 by @niklasb22 in #2238
    image

  • Add: option to setup a cost per hour per printer #571 by @niklasb22 in #2247
    image

  • Improve sandwich(Inner-Outer-Inner) mode - additional fix where an external perimeter is shared between multiple islands in the same ordered_extrusions perimeter list by @igiannakas in #2276

  • Show estimated print time in the ruler by @Noisyfox in #2305
    time

  • Show both layer time and tick info when tick is highlighted by @Noisyfox in #2312

  • add ironing angle by @Ocraftyone in #2320

  • Optimize Camera behavior by @SoftFever in #2424

  • Rework on BS's chamber temp control and chamber fan control
    image

  • Show tooltips for plate buttons (#2176) by @Noisyfox in #2351

  • Time lapse g-code rework
    image

  • Optimize g-code generation for Klipper: combine accel and jerk command
    Before:

     ...
     G1 E1 F1800
     SET_VELOCITY_LIMIT ACCEL=7000 ACCEL_TO_DECEL=3500
     SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=7
     ;TYPE:Inner wall
     ...
    

    After:

     ...
     G1 E1 F1800
     SET_VELOCITY_LIMIT ACCEL=7000 ACCEL_TO_DECEL=3500 SQUARE_CORNER_VELOCITY=7
     ;TYPE:Inner wall
     ...
    
  • OrcaSlicer now support adjusting accel and jerk per object

  • Hide purge tower preview in case of no tool changes

  • Intergrate BambuStudio latest v1.7 changes(support A1 and X1E printers)

Bug fixes:

  • Fixed a regression bug since 1.7 that OrcaSlicer can't connect to printer when using hostname(instead of IP) #2372
  • Fix wrong wipe tower position when multiple plate is used by @karcaw in #2441
  • Fix gcode viewer on linux by @Noisyfox in #2110
  • Fix cooling overhang threshold when 0 option is selected by @microdog in #2508
  • Fix crash when referencing an invalid variable name by @Noisyfox in #2486
  • Fix crash when switching between different infill patterns by @Noisyfox in #2341
  • Fix layer path order when multi-layer elephant compensation is used by @Noisyfox in #2443
  • Fix name of bambu lab a1 mini cover by @astrolemonade in #2478
  • Fix crash on BBL's calibration tab by @Noisyfox in #2403
  • Fix object's list text color on Linux (GH-2086) by @mdziekon in #2346
  • Fix issue with overhang-extra-perimeter on complicated multi-part models (#2326) by @Noisyfox in #2338
  • Fix macos deps build by @Noisyfox in #2291
  • Fix issue that the slice button is still disabled after a tick is deleted by @Noisyfox in #2308
  • Fix crash when use adaptive cubic sparse infill (#2315) by @Noisyfox in #2318
  • Fix M141 S0 at end of gcode by @Ocraftyone in #2328
  • Fix compatibility with STL builds of wxWidgets by @mia-0 in #2218
  • GUI: Fix calls to PrintingTaskPanel::show_profile_info by @mia-0 in #2219
  • GUI/Field: Fix crash in color picker init by @mia-0 in #2220
  • Fix filament diameter for Voxelab Aquila to match Creality Ender 3 by @StdVectorBool in #2241
  • Fixed an issue that Motion ability page is not displayed for RRF

Localization:

Printer profiles updates:

Read more

v1.7.0

14 Sep 15:12
Compare
Choose a tag to compare

This is the OrcaSlicer V1.7.0 offical release.
It fixes some bugs found in V1.7.0-beta.

What's Changed

  • Fixed an issue that slider was too thin on 4K monitor
  • SEMM: fixed an issue that invalid speed was generated when cooling tube position was set to 0
  • SEMM: fixed an issue that prime tower preview in gcode preview windows is wrong by disabling it.
  • Tweak default parameters for Prusa Orangic tree supports, it now uses different parameters than Slim tree
  • Tweak sandwich mode(inner outer inner) algorithm to cater for more edge cases by @igiannakas

Printer profiles:

Translation updates:

  • Update Spanish translation by @tadeu2
  • Turkish Language String Updates For v1.7 by @sadriercan
  • Update Spanish translation by @tadeu2

More information:

Please refer to 1.7.0-beta for more info:
https://github.com/SoftFever/OrcaSlicer/releases/tag/v1.7.0-beta

If you like my work and would like to show your appreciation, you can buy me a coffee :)

ko-fi

OrcaSlicer V1.7.0 Beta Release

10 Sep 12:27
Compare
Choose a tag to compare
Pre-release

New features:

  • Single Extruder Multi-Material (SEMM) Support: Purge Tower/Ramming/etc (Compatible with ERCF/TradRack/MMU)
    OrcaSlicer originated as a fork from BambuStudio, which, despite being based on PrusaSlicer, had removed the multi-material capabilities for non-Bambu printers. This led to OrcaSlicer initially inheriting this limited support. However, in this release, we have reintroduced the SEMM feature from PrusaSlicer. Users can now print in multiple colors on any printer, whether it's equipped with Prusa MMU, ERCF (from the EnragedRabbitProject), Annex TradRack, or a simple N-in-1-out extruder. Discord discussion channel
    semm

  • Port Organic tree support from PrusaSlicer by @Noisyfox
    tree

  • Support PrusaLink and Prusaconnect webview
    prusalink

  • Overhang improvement: respect max volumic speed limitation when appling overhang slowdown

  • Port overhang extra perimeters from PrusaSlicer by @Noisyfox

  • Support Marlin 2 gcode flavor

  • Add option to enforce first layer min wall width by @xcqq

  • Merged BambuStudio 1.7.4 changes to have better support for BambuLab printers

  • Check WebView2 runtime on application startup and prompt install if not availble by @ZdDroid

  • Add option in the CTRL-M dialog to invert axes for space mouse by by @RealDeuce

  • Temp tower calibration now support as low as 170 degree for some special filaments.

QoL improvements:

  • QoL: show transparent shell in gcode preview and truncate long gcode line caused by native Klipper commands
    The model shell is displayed in transparent color when inspecting the toolpath in gcode preview window
    image
  • QoL: make slider thinner
  • QoL: Make export gcode button default if current pinter doesn't have network setup

Bug fixes:

  • Fix "unknown vector variable type" error when using bambu filament ch… by @Noisyfox
  • Fix double quotes escape (#1397 #1435 #1946 #1990) by @Noisyfox
  • Fix calibrtion crash (#2019) by @Noisyfox
  • Fix issue that cmake install is skipped during windows build by @Noisyfox
  • Fix GCode viewer first layer height in vase mode by @Noisyfox
  • Fix raft size when non-organic tree support is enabled by @Noisyfox
  • Changes for Ubuntu 23.04. General housekeeping. by @tjmitchem

Printer profiles updates:

  • Added support for Prusa MK4 IS, also add supports to Prusa specific start gcodes
  • Added support for Sovol SV07 and SV07 Plus by @TomasOlsson
  • Added support for Creality K1-K1 Max Printer Profiles by @sadriercan
  • Added support for Elegoo Neptune 4/Pro printer profiles by @sadriercan
  • QIDI Profiles tweaks by @Hukete
  • Update latest BBL profiles from Bambulab OTA(v01.07.00.18)

Localization

NOTE:

Due to complexities in the git history after integrating PrusaSlicer 2.4, GitHub struggles to extract PRs from the last release accurately. I had to compile the contribution list manually, so if I've missed any of your contributions, please inform me. I'll update the list as needed.
VirusTotal scan result for Windows installer: 186fed7bca658d96b8091d37cf6d043a1e8251f8daf746289309330a01d07776

If you like my work and would like to show your appreciation, you can buy me a coffee :)

ko-fi

OrcaSlicer V1.6.6 Official Release

24 Aug 12:56
Compare
Choose a tag to compare

v1.6.6 is a hotfix release that addresses several issues found in v1.6.4
Note: v1.6.5 was withdrawn two hours after its release due to a crash bug introduced

Bug Fixes:

  • Fixed crashes caused by failed version checks by @ZdDroid
  • Fixed an issue that P1S LAN mode was not working #1882 by @gobau
  • Fixed an issue that bottom surface was not properly detected by @Hotsolidinfill.
  • Fixed a connection issue where OrcaSlicer couldn't connect to a Bambu printer when the printer was linked to Bambu cloud. Special thanks to @ZdDroid for troubleshooting and resolving this issue.
  • Fixed an issue where the Bambu printer's camera live view didn't work when switching the printer between LAN and non-LAN modes back and forth.
  • Optimized OrcaSlicer's startup speed by making version checking asynchronous by @ZdDroid.
  • AnkerMake profile bug fix by @just-trey.
  • Updated Spanish translation by @tadeu2.
  • Updated Korean translation by @Hotsolidinfill.

For more information about all the changes made in version 1.6.4, please refer to:

OrcaSlicer V1.6.4 Official Release

22 Aug 13:22
Compare
Choose a tag to compare

This is the official release of V1.6.4
discord-mark-blue OrcaSlicer now has an official Discord server OrcaSlicer Discord

KNOW ISSUES:

  • For Bambu Lab users: There's a bug preventing connection to the printer if it's not in LAN mode. I'm investigating the issue, and a hotfix will be released soon.

What's Changed

  • OrcaSlicer now provides Windows installers.
    image

  • Tweaked the new overhang slowdown (ported from PrusaSlicer) and made it the default (it wasn't the default in previous beta versions).

  • Added support for adaptive bed mesh (KAMP and others) for PA calibration.

  • Fixed a blank button in mesh boolean by @Hotsolidinfill

  • Privacy and Security: Introduced a Stealth Mode, which disables connections to BBL HMS #1663.
    Users who don't use BBL machines or use LAN mode only can safely turn on this function. This option is turned off by default in this version but will be turned on by default in future releases.
    image

  • Fixed an issue where the camera view wasn't functioning for BBL machines if BambuStudio wasn't installed.

  • Incorporated the G92 E0 check for absolute extruder from PrusaSlicer.

  • Fixed a bug where the print_bed_min/max values were incorrect in multi-plate projects.

  • Resolved an issue where P1S wasn't displayed correctly by @slynn1324.

  • Picked a few fixes and changes from BambuStudio:

    • ENH: Allow users to adjust the order of components in assemble
    • ENH: support custom the first layer print sequence
    • FIX: meshboolean set transformation matrix twice
    • Fix for support generating mid air (#1762) by @igiannakas in #1815

Printer profiles updates:

  • add Anycubic Kobra Plus profile based on Anycubic Kobra Max. by @rspython in #1823
  • Anker Make profile bug fixes by @just-trey in #1868
  • Keep tweaking all printer profiles

Localization:

Misc

For more information about all the changes made to version 1.6.4, please refer to

1.6.4-beta1
1.6.4-beta2
1.6.4-beta3

NOTE:

1. Please check here for installation instructions.
2. If your profiles didn't show up after updating, please restart OrcaSlicer
3. Klipper users, please update Moonraker to the latest version so that it can recognize OrcaSlicer and parse metadata like thumbnails.
4. If you're running Klipper, it's strongly recommended to add the following configuration to your printer.cfg file.

# Enable object exclusion
[exclude_object]

# Enable arcs support
[gcode_arcs]
resolution: 0.1

If you like my work and would like to show your appreciation, you can buy me a coffee :)

ko-fi

OrcaSlicer V1.6.4 Beta 3

14 Aug 13:50
Compare
Choose a tag to compare

This is the last beta release of V1.6.4

discord-mark-blue OrcaSlicer now has an official Discord server OrcaSlicer Discord

What's Changed

  • Mac User Notification: OrcaSlicer is now fully notarized. Say goodbye to command-line hacks! Drag and drop to Applciations folder and you are ready to go. A special thanks to @RaySajuuk for helping troubleshoot the notarization issue.
    Screenshot 2023-08-14 at 8 48 42 PM

  • Ported "mouse ear brims" feature from SuperSlicer by @Noisyfox.
    Big shoutout to @Noisyfox to bring many awesome features to OrcaSlicer!
    mouse_ear

  • Introduced a new "One Wall Threshold" parameter that allows more control over the One wall on top surfaces behavior
    image

  • OrcaSlicer now supports adjusting the internal bridge speed independently, enabling users to achieve fast prints while maintaining quality. This feature was inspired by SuperSlicer, and its implementation was referenced.

  • Fixed a bug that overhang slowdown won't work when support's top z distance is set to 0 #1763

  • Added support for chamber temperature settings per filament type #1160

  • Increased the line width limit to five times the nozzle diameter. #1745

  • Optimize new overhang slowdown(fan command and bridge) and re-enable it, this overhang slowdow was orignally ported from PrusaSlicer2.6 #1642

  • Fixed an issue where OrcaSlicer couldn't establish a TLS connection with the printer on Mac. Special thanks to @samwiseg0 and @ammmze for finding, troubleshooting, and resolving this issue together! True open-source community spirit! #1675

  • Pick and merged features/bug fixes from BambuStudio 1.7x:

    • Support Object exclusion for BambuLab X1/X1C- ported from BambuStudio
    • Add Fill bed with copies - ported from BambuStudio and PrusaSlicer
    • Support internal_solid_infill_pattern - ported from BambuStudio
    • New Boolean operation feature - ported from BambuStudio
    • Some other fixes(including full screen bug) from BambuStudio 1.7x

Printer profiles updates:

  • Added Anycubic Kobra 2 by @leecolarelli
  • AnkerMake Profile revise and additions by @just-trey
  • Many tweaks to all profiles

Localization:

Misc

NOTE:

1. Please check here for installation instructions.
2. If your profiles didn't show up after updating, please restart OrcaSlicer
3. Klipper users, please update Moonraker to the latest version so that it can recognize OrcaSlicer and parse metadata like thumbnails.
4. If you're running Klipper, it's strongly recommended to add the following configuration to your printer.cfg file.

# Enable object exclusion
[exclude_object]

# Enable arcs support
[gcode_arcs]
resolution: 0.1

If you like my work and would like to show your appreciation, you can buy me a coffee :)

ko-fi

OrcaSlicer V1.6.4 Beta 2

04 Aug 14:35
Compare
Choose a tag to compare

This release includes some improvements and bug fixes found in the 1.6.4-beta version.

discord-mark-blue OrcaSlicer now has an official Discord server OrcaSlicer Discord

What's Changed

Improvements

  • Improved print quality for models with slanted top surfaces when using single wall on top #1680
    Before:
    image
    After:
    image

Bug fixing

  • Fixed the issue where overhang/bridge fan speed failed to unset in some cases. #1669 #1686
  • Fixed a bug related to Chinese plate name
  • Fixed Korean font not be loaded properly by @Hotsolidinfill in #1681

Translations

Please refer to 1.6.4-beta for the full list of other changes in 1.6.4

OrcaSlicer V1.6.4 Beta Release

03 Aug 13:05
Compare
Choose a tag to compare

discord-mark-blue OrcaSlicer now has an official Discord server OrcaSlicer Discord

What's Changed

  • QoL improvement: Orca Slicer now remembers each printer's filament, bed, and process settings, making it easier to switch between multiple printers

  • Single wall on top surface for Arachne by @Noisyfox in #1583
    image

  • Pressure Advance: add Ellis' pattern method for pressure advance calibration by @thewildmage in #1547
    image

  • Some other updates for Pressure Advance calibration:

    1. Speed: All PA calibrations now use minimum speed at 100 mm/s (still subject to max flow rate) as PA effect is not obvious under slow speed (one also probably doesn't need it when printing at 45 mm/s speed).
    2. PA tower: Only one wall will be printed for most nozzles (0.4 upwards).
  • Make Overhang Printable by @Noisyfox and @odie5533 in #1615
    This feature based on Cura's ConicalOverhang algorithm by @BagelOrb
    conical_overhang

  • Support for using a percentage (%) of nozzle diameter to specify line width by @iFallUpHill in #1578
    image

  • Add Lift Z only Above/Below, On Surface (e.g. Only on Top) by @iFallUpHill in #1562

  • Optimise sandwich wall mode when perimeters are shared with multiple islands(Arachne only) by @igiannakas in #1352
    Previously, in cases where sandwich mode was used, Orca would fallback to inner-outer wall order in certain edge cases. Now, it will fallback to outer-inner wall order.

  • Display print end time for in BL device page by @ZdDroid in #1568

  • Add option for skirt-speed override by @scottmudge in #1371

  • Optimized GCode Generation: significantly reduced the number of M106 commands to address the "timer too close" errors experienced by some Klipper users when printing with dynamic fan speed setting on. #804

  • Improve z seam performance:

    1. Turn off wipe_on_loops by default
    2. Change default wipe distance to 1 mm
    3. Reduce Seam gap to 10% by default
  • Overhang tweaks:

    1. Revert back to classic overhang slowdown
    2. Support percent for overhang speed
  • Tweak profiles for Voron/Qidi X Plus3/etc

    1. Fix Voron Trident printable height issue #1641
    2. Revamp Qidi X3 printer profiles
    3. Turn on accel_to_decel_enable for klipper machine by default
    4. Many other profiles tweaks
  • update latest BL profiles from BS 1.7.1, adding P1S profiles (Note: only BL machine profiles from BS)

  • Port PrusaSlicer staggered_inner_seams

  • Bugfix for zero-width tree supports by @scottmudge in #1367

  • Fixed an issue that Orca Slice can't connect a printer that uses http protocal on Mac by @ammmze in #1157

Localization:

Last but not least, here are some miscellaneous changes:

  • Easier solution to allow opening the app on OSX described in README.md by @prostolyubo in #1232

  • fix typos and more translations for new features by @hliebscher in #1202

  • Fix building with GCC13 (required to build on Arch and Fedora) by @c2h5oh in #1220

  • Fix tooltip referencing "Studio" by @scottmudge in #1370

  • Fix check multi filament valid by @macdylan in #1433

  • Added doc & photo for wiki guide for max volumetric flow by @jermylucas in #1301

  • fix lang files (gettext tool) by @hliebscher in #1550

  • Always emit the SET_VELOCITY_LIMIT ACCEL= command when the Klipper firmware flavor is selected by @mjonuschat in #1598

  • Use namespaces to link against libcereal >= 1.3.1 by @ovlach in #1596

  • compilation errors fixed of Ukrainian localizalion by @djperya in #1610

  • fix: ambiguous call _check_convertible_to_path_source(const wxCStrData&) by @ovlach in #1597

New Contributors

Full Changelog: v1.6.3...v1.6.4-beta

NOTE:

1. Please check here for installation instructions.
2. If your profiles didn't show up after updating, please restart OrcaSlicer
3. Klipper users, please update Moonraker to the latest version so that it can recognize OrcaSlicer and parse metadata like thumbnails.
4. If you're running Klipper, it's strongly recommended to add the following configuration to your printer.cfg file.

# Enable object exclusion
[exclude_object]

# Enable arcs support
[gcode_arcs]
resolution: 0.1

If you like my work and would like to show your appreciation, you can buy me a coffee :)

ko-fi

OrcaSlicer V1.6.3 Offical Release

28 May 15:08
Compare
Choose a tag to compare

This is an official release of V1.6.3.
It includes bug fixes that were present in the v1.6.3 beta and also a few new features.

Changes:

New features:

  • Reintroduce infill_anchor parameter #500 #136
    image
  • Added first_layer_height placeholder to improve compatibility with PrusaSlicer #1142 #1148

Bug fixes:

  • Fixed an issue that bridges were not properly anchor in some case when bridge_density was set low #1043
    image
  • Fixed an issue that project file(.3mf) can't be loaded if plate name contains illegal characters like & #1141
  • Fixed an issue Repetier server didn't work when the host is not called Repetier-Server #1116
  • Fixed BIQU Profiles by @fr3ak2402
  • Decrease default PETG temp for temp tower test #1117
  • Fix default settings for Qidi printers: turn off ironing by default and turn arc fitting for X3 serials

Translations:

  • Update French Translation / Add missing translation strings by @Guilouz

For more information about the changes made to version 1.6.3-beta, please refer to V1.6.3-beta release page.

NOTE:

1. Please check here for installation instructions.
2. If your profiles didn't show up after updating, please restart OrcaSlicer
3. Klipper users, please update Moonraker to the latest version so that it can recognize OrcaSlicer and parse metadata like thumbnails.
4. If you're running Klipper, it's strongly recommended to add the following configuration to your printer.cfg file.

# Enable object exclusion
[exclude_object]

# Enable arcs support
[gcode_arcs]
resolution: 0.1

If you like my work and would like to show your appreciation, you can buy me a coffee :)

ko-fi

OrcaSlicer V1.6.3 beta

21 May 07:22
9b7d725
Compare
Choose a tag to compare
Pre-release

Changes:

New features:

  • New calibration tests, refer to WIKI for more details
  1. Retraction
    image
  2. Orca Tolerance Test
    image
  • Improve bridging for classical wall generator when only one wall on top surface is used.
    bridge_compare

  • Fan Speed Delay + Fan Kickstart Feature by @scottmudge
    This feature enables the fan to start earlier than its target start time in order to compensate for the fan kick-in time.
    image

  • Support full_fan_speed_layer feature #85
    Fan speed will be ramped up linearly from zero at layer to maximum at layer full_fan_speed_layer
    image

  • Number of slow layers #796
    The first few layers are printed slower than normal. The speed is gradually increased in a linear fashion over the specified number of layers.
    image

  • Support interface fan speed #881
    This fan speed is enforced during all support interfaces, to be able to weaken their bonding with a high fan speed.
    image

  • Streamlined WIKI Publish. Many thanks to @chrisribe

  • Merge BambuStudio v1.6.2 beta changes, including:

  • Advanced cut with connectors: Thanks to @prusa3d for implementing this cool feature, and Bambu for porting it.
  • Support for height range modifiers: Users can now add multiple height range modifiers to apply different settings.
  • Support for sinking and slicing only the model part above the hot bed.

Newly supported printer models:

Special thanks to @fr3ak2402 for creating numerous printer profiles 👍

Bug fixes

  • Fixed an issue acceleration being set when disabled in PA line calibration by @mikebcbc
  • Optimized M106 command, write integer number instead of float
  • Fixed an issue that OrcaSlicer can't open previously generated gcode/.3mf file #712 #958
  • Fixed a regression: Generic filament profiles conflicts #981
  • Fixed a regression in layer time(log) view
  • Fixed an issue that Orcaslicer didn't jumping to device tab after sending job #520 #567 #1044 #1047
  • Fix build warnings, update deprecated boost headers by @scottmudge in #1035
  • fix 2 script windows by @hliebscher in #926

Localization

Known issues:

*The only one wall on top surface option in Arachne wall generator only applies to the topmost surface.

NOTE:

1. Please check here for installation instructions.
2. If your profiles didn't show up after updating, please restart OrcaSlicer
3. Klipper users, please update Moonraker to the latest version so that it can recognize OrcaSlicer and parse metadata like thumbnails.
4. If you're running Klipper, please add the following configuration to your printer.cfg file.

# Enable object exclusion
[exclude_object]

# Enable arcs support
[gcode_arcs]
resolution: 0.1

If you like my work and would like to show your appreciation, you can buy me a coffee :)

ko-fi