Menu

SDCC 4.3.0 Release Plan

Philipp Klaus Krause

Release manager

@spth

Target platforms

SDCC binaries will be built for the following platforms, called also "official SDCC platforms":

  • Microsoft Windows Vista and above (win64) amd64
  • GNU/Linux (linux) amd64
  • macOS (darwin) amd64

gcc and command line tools will be used to build ports on all platforms. Windows ports will be cross-compiled on GNU/Linux host.

Processor targets

Some targets are not ready or are no longer maintained. Any mature targets must be included and must pass the regression tests. Any others may be disabled in the binary to meet the acceptance criteria.

  • Mature, on-going maintenance: mcs51, ds390, z80, z180, r2k, r2ka, r3ka, gbz80, tlcs90, ez80_z80, z80n, hc08, s08, stm8, pdk14, pdk15 and mos6502.
  • Preliminary, in development: pdk13.
  • Unknown status: TININative, ds400.
  • No longer maintained: pic14, pic16.

Deliverables

The final deliverables will be:

  • A source archive that can rebuild all binaries
  • A documentation archive
  • An executable, NSIS based installer for Windows
  • A tarball that installs in /usr/local for Linux
  • A tarball that installs in /Developer/SDCC for macOS

Acceptance criteria

  • Have an updated README
  • Shall compile without errors and pass regression tests on at least GNU/Linux (amd64), GNU/Linux (x86), macOS (amd64) and Windows (amd64).
  • Should compile without errors and pass regression tests on at least GNU/Linux (aarch64), Windows (x86), Mac OS X (ppc), OpenBSD (amd64) and FreeBSD 13 (aarch64).

Schedule

This schedule has no dates attached due to the volunteer nature of the project, however the release manager will try to keep things moving.

The schedule and approximate timings are:

  1. Announce intention to do a release (done)
  2. Take feedback and wish list items (done)
  3. Announce a soft code freeze (done 2023-05-25).
  4. Change the version number in .version, sdcc.spec, doc/INSTALL.txt and everywhere else it appears (done 2023-05-30).
  5. Announce a hard code freeze (done 2023-05-30).
    1. The release candidate RC1 svn tag will be created. ''NOTE: the tag should be created on a complete sdcc trunk: http://svn.code.sf.net/p/sdcc/code/trunk'' (done 26-06-2023)
    2. The release manager will make a release candidate RC1 (done 26-06-2023).
    3. RC1 deliverables will be released to the staging area so that people can test the installers (done 26-06-2023).
    4. Update the NEWS section of sdcc-web/index.php: move previous release to Past News and add RC1 to News (done 26-06-2023).
    5. Bugs (packaging, documentation, ...) found in RC1 will be fixed (no release-critical ones found).
  6. The release svn tag will be created. ''NOTE: the tag should be created on a complete sdcc trunk: http://svn.code.sf.net/p/sdcc/code/trunk'' (done 2023-07-07).
  7. The release manager will make the release deliverables (done 2023-07-07).
  8. Quick test of the installers (done 2023-07-07).
  9. Deliverables will be blessed and released (done 2023-07-07).
  10. Mark the new files as default download for their operating system (done 2023-07-07).
  11. The release will be announced on SourceForge News, sdcc-devel and sdcc-user mailing lists ().
  12. Update the NEWS section of sdcc-web/index.php: move previous release to previous.php, move RC news to Past News and add new release to News ().

Tasks

Random set of tasks that someone might want to do:

  • Update the web page before and after the release
  • Update the documentation
  • Announce the release elsewhere (e.g. hardware vendor forums)

Related

Wiki: SDCC 4.3.0 Release