Hi, I am the developer of PdfDing. One thing I am not sure about is the frequency of my releases. What do you folks prefer in self-hosted projects? More releases in order to get new features as fast as possible or fewer releases with bigger feature additions?

    • folkrav@lemmy.ca
      link
      fedilink
      English
      arrow-up
      6
      ·
      2 months ago

      From experience shipping releases, “bigger updates” and “more tested” are more or less antithetical. The testing surface area tends to grow exponentially with the amount of features you ship with a given release, to the point I tend to see small, regular releases, as a better sign of stability.

  • gencha@lemm.ee
    link
    fedilink
    English
    arrow-up
    6
    ·
    2 months ago

    I’ve been maintaining multiple release channels for most of my projects. I always have a nightly build and a dev build that I run manually or on every push. Actually versioned releases either happen directly after completing a milestone or when the release schedule calls for it.

  • sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 months ago

    As long as updates work between any two versions, or there’s a clear upgrade path, I don’t really care. I don’t update my services on any particular schedule, so it doesn’t matter much to me.

    However, you should have a mechanism to inform users of important updates, like patches to known exploits. Don’t spam me, but a nudge if I’m outside of some support window will probably get me to upgrade.

    My upgrade cadence is probably every 3-6 months. I’ll do system upgrades more often, but I try to avoid breaking my docker stuff.

  • Ferawyn@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    2 months ago

    Security and bugfixes, after one or two rounds of testing by early adopters/key users. Preferably through some form of automatic updates.

    New features and breaking changes, or anything that requires the end-user to pay attention, I’d say no more than 4 times a year, and using a non-automatic form of update. The hard thing is getting the user’s attention on the changes, and not just clicking next and then having a broken or insecure installation.

  • catloaf@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    Most of my updates are automated so I don’t even notice. Release whenever you think it’s appropriate. Fixed a typo? Not worth a release. Critical security issue? Release immediately.

  • Higgs boson@dubvee.org
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    2 months ago

    My background is in enterprise software, so that is obviously different than a desktop tool for individual use, but it informs my opinions.

    In general it depends on the use (is it “production” critical, etc) as well as the update and distribution mechanisms.

    I have several (mostly for windows) FOSS projects i have stopped using or just rarely update because they require too many steps to update, and/or do so too often.Or they require a reboot. Some of them prompt for an update every time I start them. Feh.

    That said, if there isn’t much friction like testing cycles or manual steps to update, I want faster updates.

    Most of my self-hosted stuff falls into the category of getting updates via package managers or docker. Those are often seemless and do not require manual steps.

  • nnullzz@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 months ago

    I personally prefer consistent and smaller releases. It offers less opportunity for big bugs to creep in along with smaller fixes and features.

    I saw agile mentioned here but here’s another suggestion. Agile can be helpful in the right situations but for solo devs/tiny teams, I really recommend looking into Basecamps “Shape Up” method. It uses longer cycles vs shorter sprints with a cool down period in between.

    So in the case of OP, they could set a 6 week cycle and plan for things that can definitely be completed during that time period. Right at the end of the cycle you release. The goal is to finish before the cooldown to give yourself time to breathe and plan what to do for your next cycle. Play around with a fun feature, learn about a new tool or technique you wanna try, organizing your backlog, etc. You don’t want to spill tasks into the cooldown. Else it’s not a cooldown.

    The online version of the Shape Up book is free and can be found here.