RSS Feed c9 logo Australia's best motorcycle shop retail software
Release 4.715 February 22, 2018 barney

Includes database changes. You need to log all terminals out during upgrade

This version of c9 is a significant system level modification that alters the c9 database. The version and reasons for it are mostly technical. Some points:

  • enforce a character set encoding on the database. Default to win1252 for windows machines.
  • Change better defines/normalises storage of extended characters. i.e. better support for things like the Ö in Öhlins,  and other useful symbols. Previously c9 could store these things but way it did it was technically incorrectly implemented. This version fixes long standing issues here
  • C9 can now fully support all unicode characters though we wont run c9 this way just yet because c9 backup servers currently have an encoding limitation on them. (To be fixed eventually)
  • Necessary to support migration from postgres 8.4 to postgres 10.  Migration with way c9 was before is not feasible/safe. Formalising character set encoding is necessary first step to allow migration to postgres 10.

A large motivation behind this change is to allow us to migrate from postgres 8.4 to postgres 10. 8.4 is quite old now, almost 10 years and is no longer supported by the postgres community. We have recently been dealing with reports of instability in postgres 8.4 from some users of c9. Our current theory is that recent windows patches aimed at dealing with security issues with modern chips (Meltdown & Spectre) are the cause of this instability.  Specifically the fact that there are general reports of issues with meltdown and spectre patches plus fact that postgres 8.4 we use is 32bit and does not have ASLR support built into it and that error codes we are seeing in postgres strongly suggest issues relating to address space management. Plan is to migrate to a 32bit version of postgres that has ASLR built into it and see how that plays out.

Also, postgres 10 is an excellent thing to upgrade to. Faster and more featureful than one c9 currently uses.

Other system changes

  • Check for updates changes substantially in this version.  New check for updates allows us for finer grained management of what versions are downloaded. Plan here is to allow different versions of c9 based on what database or java version is running.

Other functional changes:

  • Bugfix with rolling back a consignment unit via sales -> rollback option. Would crash and burn with a huge error on the screen. (unit -> rollback works fine still as an interum workaround for this bug).
  • Added a setup slot to allow configuration of the upload file name to use for bikesales/autogate integration. (currently not in use just yet)
  • Add new customer. Tweak suggest customer code as follows:
    • Only show other customers whose code is similar if there are 5 or less matches. Otherwise screen will get messy
    • Allow auto number to exceed >99.  Especially important in regional towns where many businesses start with name of the town.