As the year-end approaches, it's time to provide an overview of what
our community has achieved over the past year. At the end of last
year, I wished everybody a healthy and prosperous 2023 and now
is a time to look back and see how we did.

== Community interest ==

After years of decline in the number of hits on our website, last year
saw an unexpected upswing in hits. Unfortunately, it didn't last long:
this year hits dropped again. The increase in number of Stars and
Forks on GitHub (Stars went up from 304 on 16 January 2022 to 348
today - in line with the increase last year), we can conclude that there
is still interest in the project. This is supported by the fact that we see
new people attend the ledgersmb chat channel on Matrix, with many
contributing their bugs and experience.

== Releases ==

With the release of 1.11.0  on 03 October 2023, we realized our goal
to release 1.11 in the second half of the year, close to a year after
1.10. With releases in the third quarter, we aim to provide mature software
before year-end -- when most companies close their books.
Despite the short release cycle, we were able to include a sizeable
list of new functionalities, changes and (code) cleanups through 806
commits, 711 files changed, 234,664 added lines and 162,575 removed
lines of code (and comments) between 1.10.0 and 1.11.0.

With 34 releases across 3 maintenance branches in 2023, the project was
able to increase the pace of 2022 (which had 37 releases across 4 branches):

  1.9 (8): 1.9.23 - 1.9.30
  1.10 (19): 1.10.9 - 1.10.27
  1.11 (7): 1.11.0 - 1.11.6

Which excludes the alpha, beta and release candidate releases.

== Development progress ==

This year saw lower numbers of commits than last year. Although the
number of commits was lower, the number of pull requests (720) is
higher than last year (620) but still lower than the year before (827).
The number of active developers - derived from accepted
commits - went was lower than last year (7) by 1 (6 this year).

This year, too, we were able to close a number of long-standing
bugs/issues, continuing last year's focus to close as many issues
as possible in the 7-year-and-older range:
* #1346: Barcode entry on the invoice screen broken (regressed in 2016)
* #2657: Upgrades may fail for 1.3."not latest" to 1.5+
* #2661: Empty inventory reports not showing in search results

All from 2017 and 2016, just to name a few.

Project commits on all branches (excluding merges):
    672 Erik Huelsmann
     72 Yves Lavoie
     15 Aung Zaw Win
      6 Christian Eriksson
      6 Neil Tiffin
      1 John Locke

By comparison, these are the figures for 2022:
    927 Erik Huelsmann*
    132 Yves Lavoie*
     10 Aung Zaw Win*
      6 Neil Tiffin*
      5 Jeff Shelley*
      3 Hugh Esco
      2 Chris Travers

Please note that the number of commits is in no way a measure of time
spent on the project. Also note that these numbers don't include the
time spent by those taking the effort to report their problems and
taking the time to respond to developer questions as well as helping
to test solutions when developers think they solved the problem.
Similarly, there was a lot of activity with respect to issues:

  Number of open issues at 2023-01-01: 148
    of which remain open today: 99

  Issues closed: 114
    of which created before 2023-01-01: 49

  Issues created: 85
    of which still open: 20

  Number of open issues today: 119

This amount of development activity triggers many CI/CD jobs. To run
our test workloads, we have been using GitHub Actions as well as
CircleCI, each set up to test different aspects.

The main thing in the 1.12 Changelog that we spent time on which hasn't
been released as part of 1.11 is the migration experience from 1.3 through
1.7 to 1.12. Areas that we're currently spending time on, include:

 * Implementation of an API to create orders along the same lines as the invoices API
 * Documentation of the status quo of the code base in Architecture Decision Records (ADRs)

The 148 issues that are open today summarize into these statistics:

 * 5 bite-sized: issue ideal to start with our code base
 * 5 help-wanted: these are issues we need someone to get involved
 * 5 sponor-wanted: these will be developed when someone helps out by footing bills
 * 61 type:enhancement: generally requests for new or improved features

(Note that an issue may fall into more than one category or none at all.)

== New functionality and improvements ==

1.11 improves on 1.10's use of workflows to manage invoices and orders, moving
GL transactions to the same infrastructure. At the same time, it's banking on the
new functionality to consistently and predictably show buttons for available actions
on orders, invoices and transactions. The same functionality is what enables the
higher granularity document action history that 1.11 features.

== Looking forward to 2024 ==

In 2024, we'll likely release 1.12 around the third quarter;
again in a release cycle a bit shorter than a year. This year the
1.10 release branch will reach End-Of-Life status on 08 October.

And last but not least, I'm hoping for 1 or 2 new contributors (not
necessarily developers; translators, testers, documentation writers or
UI artists are all greatly appreciated!). If you want to contribute,
but don't know where to start, please contact me.

== In closing ==

Thanks to everybody who contributed to any of the above in any way,
especially to

Neil Tiffin for taking the time to discuss (and thereby sharpen) planned changes
Computerisms.ca for hosting our DNS
Freelock.com for hosting our website and mailing lists
Efficito.com for hosting our mailing list archive, apt repository,
release and download server
GitHub.com, CircleCI and coveralls.io for hosting our development workflow

My special personal thanks go to my GitHub Sponsors for supporting me
for time, efforts and (financial) resources dedicated to the project!


Leaves me only to wish everybody in our community - and their loved
ones - happy holidays and a safe and productive 2024!


--
Bye,

Erik.

http://efficito.com -- Hosted accounting and ERP.
Robust and Flexible. No vendor lock-in.