Bastardkb/bastardkb-qmk

LTS for "Vial on AVR" firmwares

0xcharly opened this issue · 1 comments

As QMK evolves, it's getting harder and harder to fit all the features of the Bastard Keyboards on the small memory offered by AVR (and the Elite-C, specifically).

As QMK firmwares size grow organically, it increases the amount of features that needs to be disabled on Vial-enabled firmwares for AVR. Because of this, the Vial-enabled firmwares for AVR are more and more forced to lose access to basic features (QMK settings, combos, tap dances, etc…) only for the firmware to fit in the limited space available, and for almost no added value (because the slow size creep does not come with observable improvements to the end-user).

Since the Bastard Keyboard lines are moving more and more towards using ARM-based controllers (and RP2040-based controllers, specifically), and QMK maintainers themselves want to eventually drop support for AVR, it has been decided that Vial-enabled Bastard Keyboard firmwares targeting AVR will move to a LTS (Long Term Support) release cycle, and will only be updated to fix critical bugs.

Those changes means that current and future supported firmwares will be able to use the full feature set offered by QMK, and will be kept up to date with the latest and greatest of QMK on a more frequent basis because the risk of breakage will be substantially reduced.

In practice, this means that:

  • A new bkb-lts-vial branch will be created, forking the existing bkb-vial at the time of this writing; this new branch will not be kept in sync with https://github.com/vial-kb/vial-qmk
  • Vial-enabled firmwares targeting AVR will be built from this branch, and uploaded as a separate LTS release, which will only be updated on a one-off basis, specifically after a critical bug fix; this includes the following targets:
    • skeletyl/v1/elitec:vial
    • skeletyl/v2/elitec:vial
    • tbkmini/v1/elitec:vial
    • tbkmini/v2/elitec:vial
    • scylla/v1/elitec:vial
    • scylla/v2/elitec:vial
    • charybdis/3x5/v1/elitec:vial
    • charybdis/3x5/v2/elitec:vial
    • charybdis/3x6/v1/elitec:vial
    • charybdis/3x6/v2/elitec:vial
    • charybdis/4x6/v1/elitec:vial
    • charybdis/4x6/v2/elitec:vial
  • Documentation will be updated to clearly explain the difference in feature-set and support between the various firmwares

Note that:

  • This only affects Vial-enabled firmwares on AVR (Elite-C): non-vial enabled firmwares for AVR will still be available and part of the regular release cycle
  • Going forward, Vial will only be maintained for ARM controllers
    • STM32F411 blackpill and STeMCell
    • RP2040-based controllers like the Splinky, and the upcoming Elite-Pi

cc @bstiq

Added a note in e4ebb1d.