Skip to content

History / Upgrading hMailServer

Revisions

  • The release record and the pages on upgrading and installing say what 6.3.8 is - build 47 at schema 6108, which it leaves as 6.3.6 and 6.3.7 have it, a security release cut from master with the finished work it held, tagged on 2 November 2026 and published that day at 14:39 UTC at the group's path, the same sixty-two files and the provenance also as one line of JSON, 161 links - and how each kind of server reaches it, and Home, the footer, the sidebar and the Glossary name it as the latest release, where they named 6.3.7. Changes Since 6.2.10: the timeline's row for 6.3.8, 6.3.7's no longer marked the latest, with the tag pipeline's gates (windows-gate on bench150, 2,869 tests, 2,807 passed, 0 failed, 62 skipped; windows-gate-s1vm on S1-WINBENCH, 1,700 tests, 1,682 passed, 0 failed, 18 skipped; linux-suite, 2,749 tests, 2,374 passed, 0 failed, 375 skipped) and the installer smoke test (an upgrade from 6.3.7, 105 checks, and a new installation, 65, none failed); the picture's 6.3.8; 6.3.8's stamp, the CHANGELOG's heading giving 2026-11-01, the day the release was expected to be published; section 2's 6.3.8 adding no step; and a section 4i for 6.3.8 - the files and their bundles (161 links), the x64 installer's SHA-256, the container image and its tags, its two start tests beside PostgreSQL and MariaDB, the published Helm chart started after the release, who installs the release by the live update, the flaws fixed, each with its work item and "CVE requested", no identifier having been assigned on 2 November 2026, the advisory of work item 103, the hardening beside them, the three requests from outside, the twenty-nine items of "What changes on upgrade without a switch" in the CHANGELOG's numbering, and what else 6.3.8 carries and its known issues; section 5's heading points at it, and the CHANGELOG pointer names 6.3.8's section. 4i says when the fixes were public: work item 100's from 19 and 20 October 2026, the others from the batch's push on 1 November 2026 at about 07:14 UTC (merge request !33), about a day and seven hours before the release. Upgrading hMailServer: 18.1 gives 6.3.8's schema, 6108; the path's chart and table gain 6.3.8; 18.2 and its table say that 6.3.8's installer refuses the original's 5.7, where they said the release after 6.3.7; 18.4's download, its check and the version About shows are 6.3.8's; a section 18.4g for upgrading to 6.3.8, from the release notes' Before you upgrade and Upgrading (the backup and no schema step; the live update's routes from 6.3.6 and 6.3.7, from 6.3.4 and 6.3.5 and from older versions; the three leftover trust settings; the install by hand; the container; a Helm release of the 6.3.6 or 6.3.7 chart; what may need doing before the upgrade; the .NET 10 runtime); and 18.7 names 6.3.8 among the releases the three leftover settings refuse. Home: the latest release, the refusal of the original's 5.7, the live update, and the Current release, Database schema, Platform and Regression suite rows and the Changes Since 6.2.10 row. Installing hMailServer: the download, its check (with the provenance's .jsonl) and the refusal of the original's 5.7, which it said the release after 6.3.7 would make. Installing on Linux: 6.3.8's files and schema, the update applied by the helper of 6.3.6 or 6.3.7, and the image's MariaDB client. Before You Install: 6.3.8's files, and the image reaching MariaDB from 6.3.8. Running in a Container: 6.3.8's image, its tags on Docker Hub copied by the registry-mirror job on 2 November 2026, the MariaDB client, the entrypoint that applies a new installation's secure defaults itself, the chart that starts a server - installed from the Helm repository on 2 November 2026, with a release of 6.3.7's chart Ready after the move - and Artifact Hub's listing at 6.3.8, where the page said each of these would come with the release after 6.3.7. Each page's header says it was brought up on 2 November 2026 to 6.3.8 for what 6.3.8 changes on it, or what of 6.3.8 is not yet reflected. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Nov 2, 2026
  • Four of this wiki's own pages say what UpdateFeed.md, README.md, Acme.md, ContainerImage.md and the CHANGELOG say with batch55 on master, 36bd59faa, where they still said what batch55 corrects or what its chart and Compose file changed. Upgrading hMailServer's 18.4c says that a server from 6.2.28 to 6.3.3 pointed at the feed sees the newest release, and that its live update still installs nothing, the feed offering it only the newest release, which it cannot install, and the server downloading only the installer its check found, so that even the re-hosted releases up to 6.3.3, which verify against its signer, are installed by hand, where it said that such a server saw 6.3.4 and could install the re-hosted releases up to 6.3.3 by its live update; and that the releases after 6.3.4 are signed by the project's GitLab CI, which a 6.3.4 server's live update trusts, every release from 6.3.5 having been signed there, where it said that they were to be signed there and that none had been yet. Encryption and Certificates' 9.1 says that the ACME client loads a new certificate by a reinitialise of the server, the listeners restarting for a few seconds and the sessions in flight cut unless ShutdownDrainSeconds gives them a window, the service itself not restarting, where it said that it reloaded the certificate with no restart. Profiles and Environment's note on the container is headed as not run in a container at 6.3.4 and says, in the past, what had been run then, that the tag pipelines of 6.3.6 and 6.3.7 have run the verb in a container since, starting each pushed image through the entrypoint with the REST listener given through the environment, and that on 23 October 2026 docker compose up and helm install of the chart were run as a user runs them, against 6.3.7's published image, where it said in the present that the entrypoint, the chart and the Compose file had been read and not executed. Running in a Container's note on the chart gives helm install from the project's chart repository as the way to install with the values below from the release after 6.3.7, where it gave it with no release while the same note says that the charts the repository serves, 6.3.6's and 6.3.7's, start no server; and the paragraph on how the chart is checked says that CI lints and renders it and has never installed it, that since 26 October 2026 chart-and-compose also holds the rendered StatefulSet to the pod's user and group, 999:999, to the init container and to the new installation secured before the server, and the resolved Compose file to its command and to the REST listener's pair, and that the first installs into a cluster, by hand on 23 October 2026, found that the charts of 6.3.6 and 6.3.7 start no server, where it said that the chart was proven in CI. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 26, 2026
  • Eight of this wiki's own pages say what the documents say with batch53 on master, 6fb8164c6, of the container image and MariaDB, of the installer and the original hMailServer's 5.7, and of the Chocolatey package. Running in a Container says that the image carries libpq and, from the release after 6.3.7, MariaDB Connector/C, which the server opens when HM_DB_TYPE is MySQL, and that 6.3.7's image and the ones before it carry libpq alone, reach PostgreSQL only and, told HM_DB_TYPE=MySQL, stop at the entrypoint's --create-database, as ContainerImage.md says, where it said only to point the image at a PostgreSQL or MariaDB server; its row for HM_DB_TYPE and its row for the chart's database values say the same, the latter also that the chart from the release after 6.3.7 passes database.port only when it is set, the type's own port otherwise, and that the chart of 6.3.7 and earlier passes 5432 whatever the type, as the chart's README and values say; and How the image is built and proven says that the image jobs of a v* tag's pipeline made 6.3.6's and 6.3.7's images and that container-image-start and container-image-start-arm64 start each pushed image beside PostgreSQL alone up to 6.3.7 and, from the next release's tag pipeline, beside PostgreSQL and beside MariaDB, where it said that the smoke test had no replacement yet. Before You Install says that a container image reaches MariaDB from the release after 6.3.7, and Installing on Linux that the image installs libmariadb3 itself from that release, as the packaging README says. Upgrading hMailServer's 18.2, after its flowchart and in its table's row for the original's 5.7 builds of August and September 2026, Installing hMailServer, Home's download line and Migration's row for a server of the original's 5.7 say that from the release after 6.3.7 the installer refuses an installation of the original's 5.7 before it changes anything and that the installers of 6.3.7 and earlier do not look and must not be run over one, as Upgrading.md, ForkAndOriginal.md, Migration.md and README.md say, where Upgrading hMailServer said only that setup replaced the program files before DBUpdater stopped and not to run this fork's installer over one, and the other three said nothing of a refusal. Upgrading hMailServer also says that over an installation that the original's 5.7.0 build 3013 or later made new, setup up to 6.3.7 takes it for a new installation and sets up a new, empty database beside the original's, and Installing hMailServer's table of what setup checks before it shows anything has the refusal as a row of its own, with its exit code 1, its log line and its file in %TEMP%. Installing hMailServer and Changes Since 6.2.10's 6.3.4 entry on the winget and Chocolatey manifests say that a moderator returned the Chocolatey package of 20 October 2026 on 21 October, asking that its authors also credit the original hMailServer's author, Martin Knafve, and that chocolatey-publish sent 6.3.7 again on 22 October 2026, saying that it is the fork but not yet crediting him, which the community repository's feed lists as Submitted, as PackageManagers.md says, where they said that the package of 20 October waited for moderation. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 22, 2026
  • Five of this wiki's own pages say what the documents say with batch52 on master, 72be22b4e, where 22057dd or 988cfbb left them saying otherwise. Upgrading hMailServer's 18.2, after its flowchart and in its table's row for the original's 5.7 builds of August and September 2026, says to install this server on another machine, make the domains and accounts there first and move each mailbox's mail with a migration of kind imap from the original server, a Windows machine holding one of the two since both installers register as hMailServer_is1, as Migration.md's From the original hMailServer and ForkAndOriginal.md say, where it said to set this server up beside it and move the mail over IMAP, which on one Windows machine would have had this fork's installer take the original's installation for its own. Changes Since 6.2.10's 6.3.4 entry on the winget and Chocolatey manifests says that winget's first submission is made by hand and has not been made yet and that Chocolatey's was made by the chocolatey-publish job, which pushed hmailserver-progressiverobot 6.3.7 on 20 October 2026, where it waits for moderation, as PackageManagers.md says, where it said that the first submission to both was by hand; and that the GitHub workflow package-managers.yml was to render and check the manifests on every release, but arrived on 15 September 2026, after the v6.3.3 tag, so that no release ran it, and was not ported to GitLab, where it said that a workflow renders and checks them on every release. The Runbooks Digest's section 6a, on Migration.md, says in What it covers and in Routes (verified) that the original hMailServer moves in place up to 5.6 and its 5.7 releases by a migration of kind imap, with the domains and accounts made here first, as the document says since 21 October 2026 and as the page's own table of routes already said, where both said the upstream hMailServer in place. What hMailServer Is and Is Not's About this fork and Version History to 6.2.10's lineage, in its text and its drawing, no longer say that the original went quiet for years, which README.md no longer says since batch52, the original being developed again; the lineage names the original as Martin Knafve's and says, as README.md does, that it has since resumed development separately. The Contributing copy keeps the clause, CONTRIBUTING.md at 72be22b4e still having it. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 22, 2026
  • Nine of this wiki's own pages say what the documents say with batch52 on master, 72be22b4e, of the fork and the original, of the channels and of the container image's copies, where they said otherwise. Home says that the wiki documents Progressive Robot's fork of hMailServer, not the original hMailServer by Martin Knafve, with a link to ForkAndOriginal.md, which says how the two differ, where it called it the modernised fork, and that the installer upgrades in place every earlier release of this fork and the original up to 5.6, not the original's 5.7 releases, where it said that it upgraded any earlier hMailServer. What hMailServer Is and Is Not's About this fork says the same, that the original released 5.7.0 on 28 September 2026 and 5.7.1 and a 5.7.2 pre-release on 29 September, and that this fork is not made by Martin Knafve or the original project and is not its successor, and links ForkAndOriginal.md; its two sentences on the design rule say that an installation it upgrades behaves no differently until something is turned on, where they said that an existing hMailServer installation upgrades. Migration's table of routes has the original's 5.7, a migration of kind imap with the domains and accounts made here first, and the Runbooks Digest's table of routes has the original up to 5.6 in place and its 5.7 by that migration, where it had the upstream hMailServer in place; Upgrading hMailServer's 18.2 points at ForkAndOriginal.md. Installing hMailServer says that the Chocolatey package is hmailserver-progressiverobot, pushed by chocolatey-publish on 20 October 2026 and waiting for moderation, that choco install hmailserver finds nothing and is not this project's, the id being the original's, that winget is not submitted and that winget install hMailServer will install the original once a community packager's pull request is merged, and that both installers register as hMailServer_is1, where it said that winget install hMailServer and choco install hmailserver would work once a first submission was reviewed; Changes Since 6.2.10's 6.3.4 entry on the manifests is titled for the manifests and names both ids, where its title was those two commands. Installing on Linux says that OBS, Copr and the PPA carry 6.3.7, for which releases and with what commands, as Channels.md gives them on 21 October 2026, and that the AUR and the Snap Store have nothing yet; it and Running in a Container say that the owner made the copy on ghcr.io public on 20 October 2026 and that the image was copied to Docker Hub as docker.io/progressiverobot/hmailserver on 21 October 2026, each pulling without signing in, where they said that the copy was private and being made public. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 22, 2026
  • Upgrading hMailServer, the Upgrading Guide and the Security Policy say that the original hMailServer's 5.7 builds of August and September 2026 are not on this fork's upgrade chain, and two headers of the copies brought to batch51 name the sections their documents changed: the original went on from schema 5708 by steps of its own - 5709, 5710 and 5711 - which the chain from 5708 to 6001 does not have, so DBUpdater stops before it changes anything after setup has replaced the program files, and the server then refuses the database as too old. Upgrading hMailServer's 18.2 says the chain is continuous from every earlier release of this fork and of the original up to 5.6, where it said from every earlier hMailServer release, says after its flowchart what to do with a 5.7 build - set this server up beside it and move the mail over IMAP (Migration) - and its table's row for 5.6 / 5.7 is 5.6's, with rows for the original's 5.7 development builds (up to 5708, upgraded as 5.6 is) and for its 5.7 builds of August and September 2026 (5709 to 5711, not the installer), where a row for the original hMailServer of any version called this fork a drop-in successor. The Upgrading Guide's paragraph on the original's databases and the Security Policy's sentence on the chain are what the next batch's Upgrading.md and SECURITY.md say, ahead of the documents on master, and each header says so. Third-Party Binaries' header names the section What checks it, where it named Deleted on 11 September 2026, and The Update Feed's names What a server built after 6.3.3 checks and its item The GitHub signer is held to the past, where it named Having the live update make that upgrade anyway: the one passage batch51 changed in ThirdPartyBinaries.md and the first of the two in UpdateFeed.md are there. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 21, 2026
  • Ten more passages of this wiki's own text, on seven pages, say what changes where the service may not write hMailServer.ini, as ServiceAccount.md's table of the writes to hMailServer.INI says with batch51 on master, 5e49abf06, and IniSettingStore has done since the tag v6.3.4, where they said without that condition what the server writes into the file, or that an edit to it is undone, the shape of the passages the previous commit corrects. Migrating the Database Backend's own sentence on the stored settings under Rolling back says that the rolled-back server rewrites the file's [Settings] section to match where the service may write the file. Warm Standby's worked commands say that a value typed into the INI is not used once the key has a stored value, where they said it was undone. Settings Overview says that DELETE /api/v1/settings/ini/{name}, hmctl ini delete and Settings.DeleteIniSetting remove the line and the row together where the service may write the file, and that where it may not and the file has the line the line stays and the row is kept holding the key's default, which the server treats the same, or the removal is refused for PasswordPepper and a key this build does not read, and that the server adds the [SettingsStore] section where it may write the file. Settings Reference's section 4a says the same of a removal, a dropped row being put back from the line at the next start and the removal said in the application log (IniSettingStore::RemoveSetting), and that what a file the service may not write changes, which the tag v6.3.4 already has, is read from the tree at 5e49abf06, where the section named 3233b0cc4 alone, a tree from before it. Installing on Linux says that on a package installation, whose file is 0640 root:hmailserver, a value stored over the API is in effect and the line left as it was is not an error, the application log saying, where application logging is on, that the file is read-only to the account the server runs as and that its [Settings] copy is not refreshed (IniFileSettings::InitializationFileWritable, IniSettingStore::WriteSetting and Synchronize), where it said that such a value was reported as HM5806 when it was stored and as HM5803 at every start; the packaging README at 5e49abf06 still says so under What lands where, and this wiki follows the code and ServiceAccount.md, which says of the Linux packages that a setting saved is no longer an error at every start. Changes Since 6.2.10's 6.3.4 entry on the settings store and its note on the closed table say that the server writes the [SettingsStore] section where it may write the file, and Upgrading hMailServer's note on rolling back from 6.3.4 says that the newer server writes the [Settings] secrets into the file as HMK1: envelopes where it may write the file. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 21, 2026
  • Nineteen of this wiki's own pages say of a [Settings] line edited in hMailServer.ini what RelocatingAnInstallation.md says with batch51 on master, 5e49abf06, and ServiceAccount.md has said since the tag v6.3.4: at the next start the stored value is used and HM5804 names the key, once, and the line is put back where the service may write the file, while under NT SERVICE\hMailServer, to which the file is read-only, as under the Linux packages' hmailserver user, the edit stays in the file (IniSettingStore::Synchronize), where they said without that condition that the line is put back, undone or restored: the APIs Reference, Backup and Restore, Capabilities and Configuration, Changes Since 6.2.10 (its 6.3.4 entry on the settings store and item 20 of its section 5), Control Panel Pages, Encryption and Certificates, the Glossary, Installing hMailServer's table of what writes each key, Monitoring and Health, Ports Reference, Routes and Relays, the Runbooks Digest, Security Hardening, Settings Overview, Settings Reference, The Control Panel, The REST API, Troubleshooting and Upgrading hMailServer. Where the same passages said that the server keeps the file's copy current, writes a deleted line back, brings an older line up to date or rewrites the line after a save, they now say so of a file the service may write, as step 9 of RelocatingAnInstallation.md now says of a save (IniSettingStore::WriteSetting) and ServiceAccount.md's table of the writes to hMailServer.INI says of every start, reinitialise and save: Settings Overview's flowchart has a step for a file the service may not write, where nothing is written, an edit is still named once and a reinitialise names the older lines in the application log where application logging is on; Settings Reference's section 4a says the same of each of its rules, and its rows for HM5803 and HM5804 say that a file the service may not write is not written at all, which the application log says, not as an error, and that HM5804 is said once there because the row records the edited line; and Upgrading hMailServer's note on rolling back from 6.3.4 to 6.3.3 says that the file's permissions under NT SERVICE\hMailServer, like a Linux package installation's unit, keep the server from writing the copy that note relies on. Where Changes Since 6.2.10, Control Panel Pages, the Control Panel Reference, Settings Overview and The Control Panel said that a Control Panel with no connection refuses rather than write a line or a file the server would undo, they say one whose edit the server would not use. The copies of documents that still say it without the condition - Contributing, Diagnosing Stalled Mail, Event Scripts, Migrating the Database Backend, The Update Feed and Warm Standby - follow their documents and are left as they are. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 21, 2026
  • The wiki's own pages say what the documents say with batch50 on master: Before You Install's table of databases has the login allowed to create the database - every privilege on its name on MySQL and MariaDB, dbcreator on SQL Server, CREATEDB on PostgreSQL - with DBSetup creating the database itself and refusing a name that exists, and its checklist an empty database made beforehand refused, where they asked for an empty database and a user that may create tables (MigratingDatabaseBackend.md, step 3); Installing on Linux that --create-database does over COM on Windows what DBSetup does, CreateExternalDatabase, DBSetupQuick creating only the built-in database, where it named DBSetupQuick; the Runbooks Digest, under its record of 4 September 2026, that since 19 October 2026 the document's step 3 runs DBSetup.exe and that DBSetupQuick creates only the built-in SQL Server Compact database when [Database] names no type, the step as it recorded it having made no usable database; the Upgrading Guide's backends table, this wiki's own, that DBUpdater runs the whole chain in one transaction on SQL Server and on SQL Server Compact, but for a chain on SQL Server Compact from a database older than 6072 that crosses 6107, which a failure from 6107 on leaves at 6106, and that on MySQL and MariaDB each step's DDL commits as it goes and the failed step may leave part of itself, where it had SQL Server Compact commit DDL as it executes and SQL Server transactional for most DDL (Upgrading.md); Monitoring and Health that Installation paths lists every path-shaped [Settings] and [Database] value but [Database] TlsCaFile, where it said every one (RelocatingAnInstallation.md); Security Hardening, The COM API and Scripting and section 5 of Changes since 6.2.10 that the rule action is "Run script function", as the Control Panel's action dialog lists it and EventScripts.md now names it, where they said "Run function", and Rules and Sieve that the mail flow rule action is "Add disclaimer", where it said "Add a disclaimer" (MailFlowRules.md); and the Glossary, Installing hMailServer, Upgrading hMailServer and the Project Handbook that SPDX and CycloneDX SBOMs come with every release from 6.2.3, the five earlier releases that carry an installer having a CycloneDX SBOM of it alone, made afterwards, where they said every release (README.md, SECURITY.md), that the release assets from 6.2.19 to 6.3.3 are signed with Sigstore but for the two SBOMs of 6.2.22-pre3, which carry no bundle, where they said every release from 6.2.19, or every asset up to 6.3.3, and that the releases up to 6.3.3 whose files GitLab has are re-published there byte for byte, 6.2.0 and 6.0.0-B4 being notes-only, where they said every release up to 6.3.3 (RegulatoryScope.md). Changes since 6.2.10's section 4h keeps "Run function" as 6.3.7's notes word it. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 20, 2026
  • The wiki's own pages say what the documents say with batch49 on master: the Project Handbook's Scorecard record that the OpenSSF API serves the GitHub copy's score since 19 October 2026, published by the copy's workflow on its first run on master, where it said the API served none for the copy yet; Changes since 6.2.10 and the Settings Reference that nothing has run the Linux suite or the checkers on GitHub Actions since 18 September 2026, and that GitLab CI's checkers job runs every build/check-*.py since 26 September 2026, where they said GitHub Actions had not run for the project at all and the checkers were run by hand; the Glossary, Installing hMailServer and the Project Handbook that the releases before 6.3.1 stay unsigned because every release up to 6.3.3 is re-published on GitLab, and copied to GitHub since 18 October 2026, with its original files and signatures, byte for byte, where they gave a published release's immutability as the reason (SECURITY.md: the GitHub copies were published before the immutable-releases setting was switched on, and can be changed); the Glossary, Installing hMailServer, the Release Process, Upgrading hMailServer, the Settings Reference and Changes since 6.2.10 that GitHub's release workflow signed the releases from 6.2.19 to 6.3.3, where they said every release up to 6.3.3 (no release from 6.0.0-B1 to 6.2.18 carries a Sigstore bundle; SECURITY.md, Verifying a release); Regulatory Scope's Annex I table that the 6.3 line's support period is defined, security fixes until 30 September 2027 and, unless the maintainers write otherwise before then, no support from 1 October 2027, where it said no support period was defined; the Release Process's note at step 9 that since 6.3.6 static-analysis and semgrep fail the pipeline on a finding new to their baselines that master's exceptions file does not accept, while dependency-scan still does not, where it said all three may fail without failing it; and Contributing's paragraphs on the Service Desk and the board without the sentence that the address may change if the project moves to the group hmailserver, which it did on 29 September 2026, and without the clause that a scoped label is not exclusive on GitLab's Free tier, the group having been on GitLab's open-source plan since 13 October 2026. The re-check of the wiki brought to batch49 found these on 19 October 2026; the same shapes were swept on the wiki's own pages, and the copies of repository documents left as their documents have them. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 19, 2026
  • Home, the sidebar, the footer and thirteen of this wiki's own pages say where the project is worked on and where to ask as the documents say it from batch49 - GitLab the one place the project is worked on, and github.com/RainbowWizard-coder/hMailServer its mirror since 18 October 2026, with Discussions and no Issues - where they said that GitHub had been unavailable to the project since 18 September 2026, sent a question to GitLab alone, called the original hMailServer unmaintained and gave the licence as AGPL-3.0; the suspension of the account Progressiverobot on 18 September 2026, and what did not run or answered 404 after it, stay as history. Home's Source and issues: the repository on GitLab, the one place the project is worked on, its mirror on GitHub with copies of the releases and of this wiki, Discussions and no Issues, a pull request there landed through GitLab, and the former account's addresses answering 404 since its suspension, where it said the project's GitHub addresses answered 404; a new Questions: an issue with the Question template, the Q&A of GitHub's Discussions or the forum, and a vulnerability privately, never in a public issue, a discussion or a pull request (SUPPORT.md, SECURITY.md and README.md from batch49). Its row for The Update Feed says since GitHub suspended the project's old account, where it said since GitHub went. The sidebar names the mirror and where a question goes, and the footer links the mirror. Troubleshooting 19.12: issues opened on GitLab alone, a question also in GitHub's Discussions or on the forum, the former project's issues and discussions still gone, a vulnerability reported privately, never in a public issue, a discussion or a pull request; and its row for an update feed answering 404 names the former account's API, where it said the project's GitHub account had been unavailable. The Glossary's footer names the mirror and the licence AGPL-3.0-or-later, and its CodeQL row says that GitHub's own CodeQL default setup analyses the copy on GitHub since 18 October 2026, no workflow of the project's, and that since 6.3.6 static-analysis (cppcheck and clang-tidy) and semgrep fail the pipeline of master, a batch* branch or a release tag on a finding new to their baselines that master's exceptions file does not accept, while dependency-scan (Trivy with OSV) blocks no pipeline and the release job reads its report, as README.md says, where it said only that the workflow had not run since the suspension and that the jobs in its place were not yet blocking. The Project Handbook's and the Runbooks Digest's status notes say that GitLab is the project's home and the one place it is worked on, the account Progressiverobot suspended and GitHub's copy GitLab's mirror, where they began "GitHub has been unavailable to the project since 18 September 2026"; the Handbook also says where a question and a security report go now - a security report never to a public issue, a discussion or a pull request - that sbom.yml and sign-release.yml ran once on 18 October 2026 on the copies of the releases up to 6.2.22-pre6 and have been disabled since, what .github/ holds from batch49, the third reporting route, and that the OpenSSF API, which on 19 October 2026 still served the old workflow's last result, of 18 September 2026, and none for the GitHub copy, is to carry the copy's score once its workflow has run on master (ContinuousIntegration.md from batch49). Changes Since 6.2.10's preamble and Capabilities and Configuration's quality-gates line say the same of the old workflows, where they said that none had run since GitHub became unavailable. Running in a Container and Installing on Linux say that the image was copied to ghcr.io/rainbowwizard-coder/hmailserver on 18 October 2026 and is private, and is not to be pulled from there, as ContainerImage.md words it from batch49, where Running in a Container said that the old account's registry had been unavailable and Installing on Linux that GitLab's registry held no image yet. Installing hMailServer says that every release from 6.0.0-B1 to 6.3.7 is also on GitHub's releases page, copied from GitLab byte for byte, where it called 6.3.4 the first release published on GitLab alone, and gives the licence as AGPL-3.0-or-later; Upgrading hMailServer names the suspended account's Releases API that a server from 6.2.28 to 6.3.3 reads, and the original hMailServer without "unmaintained"; Version History to 6.2.10 says the original project had gone quiet for years and has since resumed development separately, as README.md does from batch49, and What hMailServer Is and Is Not's About this fork says so too, and that Progressive Robot Ltd forked it in 2026 and released 6.0.0 on 12 June 2026, where it said that the original project stopped being maintained; and The COM API and Scripting names GitHub's private vulnerability reporting beside the confidential issue and the Service Desk address. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 19, 2026
  • Upgrading hMailServer's upgrade path says that a 6.3.6 server installed from a distribution release's own package is upgraded with its package manager, as Home now does, and Installing on Linux's note says that 6.3.5's packages were made by its tag's pipeline, where the row gave 6.3.6 the live update or the installer alone and the note had 6.3.4's and 6.3.5's packages both built by hand. Upgrading hMailServer, 18.2, the row Coming from 6.3.6: its live update installs 6.3.7, or the 6.3.7 installer is run, and one installed from a distribution release's own package is upgraded with its package manager (18.4f; the CHANGELOG's From 6.3.6 at v6.3.7: apt refuses the generic package on Debian 12 and dnf on Enterprise Linux 9). Installing on Linux, the note at the head of the page: 6.3.4 and 6.3.5 carried the x86-64 .deb and .rpm only - 6.3.4 built by hand after GitHub's suspension, with no ARM machine to build on, and 6.3.5 by its tag's pipeline, which kept its AArch64 packages and AppImages as CI artifacts, out of the release (the CHANGELOG's 6.3.5 section, What the release carries) - where it said that both were built by hand, a sentence 35b7545 wrote on 5 October 2026 when it added 6.3.5 to one first written for 6.3.4. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 18, 2026
  • Changes Since 6.2.10, Upgrading hMailServer and Home say that 6.3.7 is not on the Snap Store, that MariaDB Connector/C 3.4.11 is in the x64 installer alone, where the three trust settings are cleared and which 6.3.6 servers the live update does not upgrade, and the history's picture ends at 6.3.7, where they said that the snap job puts 6.3.7 on the store, that both Windows installers carry the client, pointed at 18.5 for the clearing, said that every 6.3.6 server's live update installs 6.3.7, and marked 6.3.4 as the latest release. Changes Since 6.2.10, section 4h's Known issues: 6.3.7 is not on the Snap Store, which holds the project's name and no snap yet - the job that puts a release on its edge and candidate channels, started by hand once the release is published, failed for 6.3.7 on a tool missing from its image, after both snaps were built - where it gave the CHANGELOG's sentence from before the release, that the job puts it there (the store answers that it has no snap named hmailserver). The timeline's row for 6.3.7, 4h's Also fixed or hardened and section 4.6: the .NET Desktop Runtime 10.0.13 is in both Windows installers and MariaDB Connector/C 3.4.11 in the x64 one, and the ARM64 installer carries no MySQL or MariaDB client (section_files_common.iss:31-34, which ships libmysql.dll only #ifndef HM_ARM64, section_files_arm64.iss:47 and WindowsOnArm.md:47 at v6.3.7), where they gave the client to both installers. 4h's pointer for clearing the three GitLab trust settings is Upgrading hMailServer 18.7, What the live update installs, where the instructions are, where it said 18.5, which is Things that changed; the same pointer is mended in 18.4e, wrong since 35b7545 wrote it on 5 October 2026 - a section number, not what the section says of 6.3.6 - and in 18.4f. The same history as a picture: 6.3.4 is no longer marked LATEST, and a box for 29 September to 17 October 2026 adds 6.3.5 (6105), 6.3.6 (6108) and 6.3.7 (6108, LATEST). Home, the Download paragraph and the Current release row: a 6.3.6 server's live update installs 6.3.7 but for one installed from a distribution release's own package, which is upgraded with its package manager, as the CHANGELOG's From 6.3.6 says (apt refuses the generic package on Debian 12 and dnf on Enterprise Linux 9), and a server whose three GitLab trust settings still name the path the project began at refuses it until they are cleared, and a container's update check names the image to pull and installs nothing, as 18.4f says, where Home gave the route with no exception. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 18, 2026
  • Changes Since 6.2.10, Upgrading hMailServer and Home call 6.3.7 the first security release since releases paused, and say of the libraries, the schema and the AArch64 files what is true at 6.3.7, where three sentences still said it of 6.3.6. Changes Since 6.2.10's timeline row and section 4h, Upgrading hMailServer's 18.4f and Home's Current release row say "since releases paused" where they said "made while releases pause": the fact is the same, and the pages that state the pause itself stay the four that state the policy - Security Policy, Release Process, the Project Handbook and Home. Changes Since 6.2.10, section 4.6: today, at 6.3.7, OpenSSL 4.0.3, Boost 1.92.0 and PostgreSQL 18.6's libpq, as at 6.3.6, and on Windows MariaDB Connector/C 3.4.11, where 6.3.6 carried 3.4.9 (build/Get-LibraryVersions.ps1 at the tags v6.3.6 and v6.3.7), where it said today, at 6.3.6. Capabilities and Configuration: 6.3.6 and 6.3.7 require schema 6108, where it named 6.3.6 alone. Installing on Linux: 6.3.6 and 6.3.7 carry the AArch64 packages and AppImages again, where it said 6.3.6 does. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 18, 2026
  • The release record and the pages on upgrading and installing say what 6.3.7 is - build 46 at schema 6108, which it leaves as 6.3.6 has it, the first security release made while releases pause, tagged and published on 17 October 2026 at the group's path, the same sixty-two files - and how each kind of server reaches it, and Home, the footer, the sidebar and the Glossary name it as the latest release, where they named 6.3.6. Changes Since 6.2.10: the timeline's rows for 6.3.5, 6.3.6 and 6.3.7, 6.3.4's row no longer marked the latest, with the tag pipeline's gates for 6.3.7 (windows-gate on bench150, 2,794 tests, 2,732 passed, 0 failed, 62 skipped; windows-gate-s1vm on S1-WINBENCH, 1,652 tests, 1,634 passed, 0 failed, 18 skipped; linux-suite, 2,652 tests, 2,284 passed, 0 failed, 368 skipped) and the installer smoke test (an upgrade from 6.3.6, 98 checks, and a new installation, 64, none failed); 6.3.7's stamp; section 2 to 6108, and 6.3.7 adding no step; and a section 4h for 6.3.7 - the files and their bundles (160 links), the x64 installer's SHA-256, the container image and its tags, who installs the release by the live update, the flaws fixed with the five identifiers GitLab has assigned and "CVE requested" for the twelve requests still queued, the hardening beside them, the three reports from outside, the four cases of the program folder's permissions not fixed in this release, the thirty-three items of "What changes on upgrade without a switch" in the CHANGELOG's numbering, and what else 6.3.7 carries; section 5's heading points at it, and the CHANGELOG pointer names 6.3.7's section. Upgrading hMailServer: 18.1 gives 6.3.7's schema, 6108, where it gave 6.3.4's 6104 as the current release's; the path's chart and table gain 6.3.5, 6.3.6 and 6.3.7, with the count of steps from each older version to 6108; 18.4's download, its check and the version About shows are 6.3.7's; a section 18.4f for upgrading to 6.3.7, in the release notes' order (the backup and no schema step; the live update's routes from 6.3.6, from 6.3.4 and 6.3.5 and from older versions; the three leftover trust settings; the install by hand; the container; what may need doing before the upgrade; the .NET 10 runtime an upgraded server keeps; what 6.3.7 does not fix; the Control Panel's moved pages); and 18.7's Updates page and the refusal of every release after 6.3.6 by the three leftover settings. Home: the latest release, the download's check, the Current release, Database schema and Regression suite rows and the Changes Since 6.2.10 row. Installing hMailServer: the download link's release, and the program folder, Bin and ControlPanel that /ProtectFolders hardens from 6.3.7. Installing on Linux: 6.3.7's files and schema, and the update applied by the helper of the version it replaces - 6.3.6's helper applies 6.3.7 - where it said so of 6.3.6. Before You Install and Running in a Container: 6.3.7's files and image, and the registry, which held no image when that page's note was written. Each page's header says it was brought up on 18 October 2026 to 6.3.7 for what 6.3.7 changes on it, or what of 6.3.7 is not yet reflected. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 18, 2026
  • The release record and the pages on upgrading and installing say what 6.3.6 is - build 45 at schema 6108, published 6 October 2026, signed at the group's path, the last release for the time being - and what an upgrade from 6.3.5 needs. Changes Since 6.2.10: section 2's schema table gains the steps 6104 to 6105, 6105 to 6106, 6106 to 6107 and 6107 to 6108; a section 4f for 6.3.5 (build 44, schema 6105, the first release the tag's pipeline made, its five items) and a section 4g for 6.3.6 - the flaws fixed, with the identifier GitLab has assigned to each or "CVE requested" where the request was still queued, the hardening beside them, the forty-six items of "What changes on upgrade without a switch" in the CHANGELOG's numbering, and what else changes in Operations; section 5's heading points at them. The libraries at the tag (OpenSSL 4.0.3, PostgreSQL 18.6's libpq), days to keep -1 for a move, and the AArch64 packages 6.3.6 carries again. Upgrading hMailServer: 18.2a's step table, 18.4d (upgrading to 6.3.5) and 18.4e (upgrading to 6.3.6, in the release notes' order: the backup and the three one-way steps; DANE and a resolver that strips DNSSEC; the outbound TLS deferrals; days to keep; COM; the administrator's commands, the service account and the installer; the live update's trust and the three leftover settings; the by-hand install under NT SERVICE\hMailServer; Linux by the package manager; the reverse proxy and Host; port 25, the URI lists, ManageSieve, IP addresses in text and the auto-ban across a stop; the webmail's S/MIME certificates; an account's retention; the full restore; the Compose file, the monitor sentence and tlds.txt); 18.5 clears the three leftover trust settings before the update; 18.6 has the installer's exit codes 10 and 11 and the Linux helper's rule. Home: the latest release, the downloads, the Current release and Platform rows. The footer, the sidebar and the Glossary: the stamp. Installing hMailServer: /ProtectFolders at every installation and upgrade, the grant through a junction the administrators control and /GrantServiceAccess's exit code 7, --grant-database-login, the program folder's folders private, a new installation set up with no window; the download link's release. Installing on Linux: 6.3.6's packages for both architectures and each supported distribution release, the version-less download links, the AppImage's folders made 0700, the schema line, the packages' requirements and licence files, the .rpm's character-set converters, a store command run as root, --check-config's character sets, tlds.txt gone, the backup and event logs in UTF-8, the live update helper's --unit and --image and the copies it installs from, the drain left on a refused request (HM7151), the auto-ban after a stop, and the AArch64 row. Before You Install: what 6.3.6 carries, libpq 18.6, the pre-flight line. Running in a Container: the image at the group's registry path and its 6.3.6 tag, PostgreSQL 18 at /var/lib/postgresql in the Compose file, the container's update check, HM_DB_WAIT_SECONDS. Each page's header says it was brought up on 5 October 2026 to 6.3.6 for what 6.3.6 changes on it. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 5, 2026
  • Every link to the project points at its address in the group, gitlab.com/hmailserver/hmailserver, where it has been since 29 September 2026; the identities 6.3.5 was signed with, and the setting row that lists both paths, keep the path the project began at. The project's path in all 63 pages that linked it (548 links), 6.3.6 being the first release made at the group's path. Left as they were: the seven signing identities https://gitlab.com/Progressiverobot/hmailserver//.gitlab-ci.yml@refs/tags/v... (Release Process, Security Policy, The Update Feed, and the UpdateSigningIdentity row of Settings Reference), which name what 6.3.5 was signed as; and the UpdateSourceRepository row of Settings Reference, which lists both paths on purpose. The container registry's name is corrected with the container page. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 5, 2026
  • Seven features 6.3.4 added have a page of their own, each a copy of its repository document as the tag v6.3.4 (51e2dbda0) has it, headed by the Source of truth note the other copies carry (GitLab issue #25): The SNMP Agent (Snmp.md), Event Scripts (EventScripts.md: the JavaScript engine of the Linux builds, and the contract for all three languages), Secure Defaults (SecureDefaults.md), The Service Account (ServiceAccount.md), Secrets at Rest (SecretsAtRest.md), Database TLS (DatabaseTls.md) and The Update Feed (UpdateFeed.md). A link to a document the wiki copies became a wiki link - Command Line, Third-Party Binaries, Warm Standby, High Availability Runbook, Upgrading Guide and The Service Account, the last two to their sections - and every other became a link to the document at v6.3.4. Each note says where the tag has moved on from its document. The installer smoke test SecureDefaults.md expects on a branch is in the tree at the tag, and does not yet make the checks it lists. ServiceAccountName and ServiceAccountPassword, which ServiceAccount.md calls no longer read, are still loaded by the settings loader (IniFileSettings.cpp:457-458) and used by nothing. The site that UpdateFeed.md's opening note calls not yet deployed has served the feed over HTTPS since 26 September 2026, and at 05:31 UTC on 27 September answered /releases/latest and /releases.json with 6.3.4 and /download/hMailServer-x64.exe with a 302 to 6.3.4's installer. The sidebar and the landing page list each page in its group: Database TLS, Secure Defaults, The Service Account and Secrets at Rest under Secure it; The SNMP Agent and The Update Feed under Operate it; Event Scripts under Extend it. The landing page counts 72 pages (the 74 files less the sidebar and the footer), the other 71, and twenty-two with a Source of truth note; the guides stay 38, since a copy is a repository document. The Runbooks Digest names the seven among the copies. Monitoring and Health, The COM API and Scripting, Security Hardening, Encryption and Certificates, Migrating the Database Backend and Upgrading hMailServer keep what they say of each feature, and gain a line pointing to its page. Every page was rendered with GitLab's Markdown API in the project's context on 27 September 2026: every wiki link, relative link, anchor and link into the repository, at master and at v6.3.4, resolves, and nothing on the new pages is HTML that could be stripped. The one finding, a link to Sigstore's cosign on GitHub from Installing hMailServer, is that project's own page and predates this change.

    Christopher Holloway committed Sep 27, 2026
  • The wiki is brought up to the published release: 6.3.4 is the signed tag v6.3.4 at 51e2dbda0, published on GitLab on 27 September 2026 (02:37:56 UTC), not 8adce850a of 26 September, where the tag was first made and whose release gate failed. Every page that named 8adce850a as the tag or the release names 51e2dbda0, and every page that dated the release 26 September dates it 27 September: the footer, the sidebar, the page headers, the landing page's Current release, the release timeline's row and picture, section 4e's heading. Each fact those pages took from 8adce850a was checked at 51e2dbda0: the commits between the two change 42 files, whose only documents are CHANGELOG.md, BrandLogos.md, OpenPGP.md and SecretsAtRest.md, none of which a page copies, and which include none of Constants.h, Version.h, formMain.cs, the create scripts, IniFileSettings.cpp, SettingsDefaults.h, the IDL, the Control Panel or .gitlab/allowed_signers, so every file and line cited at the tag holds. Where a page said it read the tag on 26 September, it says it read 8adce850a and that what it read is the same at the tag. The suite has 3,811 [Test] attributes at the tag, not 3,809 (the fixes add two tests); twelve places say so. Changes Since 6.2.10 gains, in batch 40, what the release gate found and the eleven fixes: three change tests alone; of the other eight, three fix what 6.3.3 did too - a relay that refused the OAuth2 login got the server's token into the bounce and the logs (open since 6.2.22-pre1), a rule's forward, copy, reply or notice and an account's forwarding could wait a minute in the queue, and IMAP LIST and LSUB took a literal's length for the pattern - and five fix code new in 6.3.4 (sealed mail and an unnamed part, a closed key's FETCH refusal logged as a critical error, the help desk's password reset read as bytes, the logo and key-directory holds, an alert's encoded Subject over 76 characters). The gate table and the timeline give the re-run on 51e2dbda0 as the logs have it: 2,349 on the first bench (2,252 passed, 0 failed, 97 skipped) and 1,462 on the second (1,446 passed, 0 failed, 16 skipped), the 71 live-update tests elevated, all passed, and the Linux suite on the packaged binary, 2,013 tests, 1,562 passed, 0 failed, 451 skipped (results/b40full3 on linix); the database upgrade gates, the security scans, the fuzzers and the installer smoke test, 65 of 65. The JScript flaw is CVE-2026-100741 (CVSS 3.1 9.8), and the project's issue #43 is public: Security Hardening 17.11, the scripting page, the changes, the capabilities and the API reference name them. The project's download links work (the site has served HTTPS since 26 September; on 27 September they led to 6.3.4's files), so Installing on Linux and Running in a Container no longer say they work once it does. The copies of SECURITY.md and CONTRIBUTING.md give the day GitLab published the release, and the security policy's copy counts the 455 findings .gitlab/security-exceptions.yml accepts at the tag - the 169 of the SAST triage and the 286 that held the release scan - where the repository document still says 169; each header says where the copy differs. Three places said no pipeline had run on the fixed tree; one has, the schedule of 27 September 2026 on master 6bc09509d, which ran the update feed's pages and package-repos jobs alone, and they say so.

    Christopher Holloway committed Sep 27, 2026
  • The wiki is brought up to the release itself, the signed tag v6.3.4 at 8adce850a: what it said of 6.3.4 had been read from master 92b8f9f63, which the tag's last batch, batch40, follows. Schema 6104, not 6103: 6.3.4 is sixty-four steps from 6.3.3's 6040, the last, 6103 to 6104, adding hm_fetchaccounts.faorigin (Constants.h:1224, formMain.cs:314 and the three create scripts at the tag); every header, table, count and diagram that gave 6103 as 6.3.4's schema says 6104, the upgrade table's step counts are each one more, the step tables gain the 6104 row, and where 6103 means the secrets-at-rest step it stays. No page calls 92b8f9f63 the release or the tree 6.3.4 was cut from any more: a page checked against it says so and that the tag adds a last batch, and a page that copies a repository document the tag leaves as it was says the document is the same at the tag. The copies of repository documents batch40 changes are brought up to the tag, hunk by hunk from the version each copy had reached, their own additions kept: Security Policy (the SSH-signed sums of a release made by hand and the two commands that check a download, an SBOM for every compiled file, a release held by its security scans, secrets refused before they are pushed; its note no longer says the document calls 6.3.3 the latest), Release Process (A release made by hand, the security gate, the SBOM jobs), Upgrading Guide (the installer's HM_ADMIN_PASSWORD, the named lock on MySQL and MariaDB, the probe that stops an upgrade on too old a server at 6041 and the repair of a half-done one), Contributing, Governance (rebuilt on the tag's document, which gives the GitLab roles the owner set on 26 September 2026; the map and the note on code-signing material kept), Assurance Case, Regulatory Scope, Third-Party Binaries, Fuzzing, Migrating the Database Backend and Regression Test Environment. The installer's password handling as the tag has it: the password page is skipped for HM_ADMIN_PASSWORD as for /adminpassword, the database step hands the password (or the live update's token, as token:<hex>) to DBSetupQuick and DBSetup in HM_ADMIN_PASSWORD and DBSetupQuick to DBUpdater the same way, never on a command line, the switch table has the variable, and the unattended upgrade takes either (Installing hMailServer, Upgrading hMailServer 18.4a). How to verify a download: 6.3.4's hmailserver-6.3.4-SHA256SUMS.txt and its .sig, checked with ssh-keygen -Y verify against .gitlab/allowed_signers and sha256sum -c, as SECURITY.md at the tag gives them, and each installer's and package's own SBOM (Installing hMailServer 4.1, Installing on Linux, Upgrading hMailServer 18.4 and 18.4c, home, Release Process, Project Handbook, Troubleshooting, Glossary, Assurance Case, Regulatory Scope). The /download/ links no longer wait on issue #30: the feed's site has had its certificate since 26 September 2026. Changes Since 6.2.10 gains batch 40 in section 4e (the audit before the release, GitLab's SAST and the release gate, the installer's password, the SBOMs and signed sums, the stable download links, the release chain and landing through merge requests, what the first pipeline found, Windows on ARM compiled), items 47 to 51 in section 5 (reserved domain names, a one-time code taken once, the outbound relay's OAuth2 token over TLS only, the fetchers and schema 6104, a pre-6.3.4 hash of a password above U+00FF refused), SQLOLEDB in item 38, the 6041 probe in item 36, and the installer's own PBKDF2 in item 39. Also what the tag makes false elsewhere: the suite has 3,809 [Test] attributes, not 3,698; hmailserver/docs holds 105 documents; Windows on ARM compiles and has never run, where it was "not built"; IMAP offers STARTTLS only before sign-in and TLS and COMPRESS=DEFLATE only after sign-in (Capabilities and Configuration); a parent-domain passkey relying party needs passkey_allowed_origins (Sign-in and Identity); the Settings Reference counts 193 hm_settings rows with PasskeyAllowedOrigins and WebPushLoopbackHttpForTests; and the Linux suite's CI job first ran in the pipeline of 26 September 2026 rather than never.

    Christopher Holloway committed Sep 26, 2026
  • What the check of the batch40 wiki pass found, put right. The group signer was described from e3df8b5e6, before 396c01d4d moved the rule to the match: a certificate that names hmailserver/hmailserver, or its repository, is refused without the project's id whatever UpdateSigningIdentity, UpdateSigningIssuer and UpdateSourceRepository say, `-` included. Security Policy lacked SECURITY.md's "whatever its update settings say"; the Settings Reference said `-` switches the repository check off with no exception and cited the older lines, now SigstoreVerifier.cpp at 396c01d4d; and the Settings Reference, Upgrading and the 6.3.4 changes now carry UpdateFeed.md's warning that a server from 6.2.28 to 6.3.3, which checks no id, is never to have the three settings pointed at the group's path and is upgraded by hand after the move. From ci-hyg, which is now committed: Contributing says the two machines take no job for a push that changes only Markdown at the root or under .gitlab/, and its header no longer says the repository document names the renovate schedule by a variable; Security Policy replaces "Nothing scans pushes to GitLab yet" with the secret_detection job and the one scan of the whole history. Governance said Christopher Holloway alone holds the project's administration, where GitLab listed all three members - Progressiverobot, zainulabidin1990 and chrisholloway5 - as Owner on 26 September 2026 (GET projects/86730559/members/all); it says so, and that lowering those roles is the owner's decision.

    Christopher Holloway committed Sep 26, 2026
  • The wiki is brought up to the tree batch40 will contain: the branches ns-verifier, gl-project, gov, ci-hyg and tf, read from the repository on 26 September 2026. The copies of repository documents take the changes batch40 makes to them - CONTRIBUTING, SECURITY, RELEASE, GOVERNANCE, ASSURANCE-CASE, Fuzzing, RegulatoryScope, ThirdPartyBinaries and RegressionEnvironment - each header saying so. The seven links into /-/blob/master/.github/ point at .gitlab/allowed_signers, .gitlab/hmailserver.openvex.json, or name the GitHub workflow as being in the git history at v6.3.3, since .github/ is gone from the tree; the verify-tag commands read .gitlab/allowed_signers. What the sweep made false is put right: the PKGBUILD builds from the tag on GitLab; the Compose file and the chart name registry.gitlab.com/progressiverobot/hmailserver, a registry that is switched on and holds no image yet; OpenSSL's release archive comes from Debian's archive against its pinned hash; linuxdeploy is no longer downloaded; the build-inputs-1 files come from the package registry; the manifests name the installer's file there. The live update's third signer, the group hmailserver the project is to move to, with the project's id required, is on the update and security pages, the Settings Reference and the changes for 6.3.4, with the three GitLab settings that keep a server to the present path. Governance names Zain Ul Abidin as zainulabidin1990 on GitLab and gives the owner's rule that release tags are created by the Progressiverobot account alone. The /download/ links at updates.progressiverobot.com are given beside the permalinks, labelled as working once that site serves HTTPS (issue #30; it still failed at 05:16). Contributing gains a section of its own on the issue and merge-request templates, the Service Desk, the two boards and the labels as they are on GitLab.

    Christopher Holloway committed Sep 26, 2026
  • What the check of the merged wiki found, put right. The landing page counted 61 pages, 34 guides and 'the other 60', and listed none of the four pages written for 6.3.4: it counts 65, 38 and 64, and Message Storage, Compliance and eDiscovery, Rooms and Equipment and Mail In to a Webhook have their rows where the sidebar groups them. Twelve sentences named the next release as 6.3.5; each now says the releases after 6.3.4, since nothing after 6.3.4 has a number yet. Installing on Linux said the AppImages began in 6.3.2, where the GitLab releases of 6.3.0 and 6.3.1 carry both of them. Capabilities and Configuration gave 23 per-account tables as today's count, where AccountStores.cpp declares 62 in 6.3.4, 24 carried and 38 exceptions; the old figures stay, labelled with 3233b0cc4. The Settings Reference counted 26 bootstrap keys, where build/ini-settings-baseline.txt has 29. And Stopping Spam said the quarantine digest needs its domain's switch and hour, when an account may hold a value of its own for both (EffectiveSetting.cpp, QuarantineDigestTask.cpp).

    Christopher Holloway committed Sep 26, 2026
  • What the check of the wiki's 6.3.4 pages found, read against 92b8f9f63: the compiled-in security.txt Policy URL has named SECURITY.md on GitLab since commit 9660893f1, so the APIs Reference no longer says it points at GitHub and that moving it is not done; the Runbooks Digest no longer says .github/SECURITY.md exists. No job on the project's own runners had run when 6.3.4 was made, and the fuzz job waits for the owner's schedule, so the home page, the gate table, the CI entry and the capabilities page say the Linux suite and the fuzzing are defined there and were run by hand, and the old nightly-fuzzing entry says it stopped with the GitHub account. DeckParity's census reads 586 routes, 258 of them writes, in 6.3.4, not 553 and 243. Roles cover 27 permissions, not 24. A backup carries an account's own stores, not everything an account has: passkeys, shares, recoverable and expiring mail, IMAP annotations and the out-of-office memory stay out, as AccountStores.cpp says. --decompress goes with --compress-store; the PST reader reports codes 7550 to 7553, and the administrator copies the file in; a spam trap bans the connecting address and blocks the envelope sender; a shaping wait spares retries only while the message is within its retry schedule; the quarantine digest is off until a domain or an account turns it on. /Register no longer uses ServiceAccountName and ServiceAccountPassword, which are still read rather than retired, and under the virtual account an administrator downloads the installer from the release page and checks its Authenticode signature rather than running the copy the server downloaded. Settings Reference section 17 counts its server-written rows as seven, and three labels that still said 'in the tree' say 6.3.4. The one piped wiki link whose text differed from its page becomes a plain Markdown link.

    Christopher Holloway committed Sep 26, 2026
  • The reference pages, the figures and the release notes now describe 6.3.4, the latest release, published on 26 September 2026 at schema 6103, read from 92b8f9f63, the tree it was cut from. What the pages called the tree after 6.3.3, not yet released, is in 6.3.4 and is labelled so, and what landed after master 540347500 is added as 6.3.4's. Changes Since 6.2.10 gains 6.3.4 as a release: its row in the timeline and the picture, its gate size (3,698 tests), the seven schema steps 6097 to 6103 with what each script does, the four steps that deserve planning (6101 on hm_messages and 6102, which rebuilds every MySQL and MariaDB table, beside 6025 and 6030), the upgrading note, section 4e retitled as New in 6.3.4 with a new part for batches 34 to 39 - eDiscovery, storage compression and de-duplication, mailbox encryption at rest, mail in to a webhook, rooms and equipment, utf8mb4, secrets at rest, the JScript escaping fix, event scripts on Linux in QuickJS, PST import and its reader process, SNMP, secure defaults and the service account, database TLS, object storage, the update feed off GitHub and the Updates folders, address erasure, the scan fixes and 7-Zip 26.03, the IMAP fixes, the webmail at 100,000 messages, the load generator, Windows on ARM and the CI on the project's own runners, each with its schema step, its commits and its repository document - and eleven more behaviour changes without a switch (items 36 to 46). Windows on ARM, the published numbers and the webmail's timings are said to be written, empty and unmeasured, as they are. The landing page and the footer stamp 6.3.4 as the latest release; the figures are recounted from 92b8f9f63: 65 Control Panel pages, 441 OpenAPI paths and 621 operations, 40 Deck views and DeckParity.md's 458 of 466, 3,698 [Test] attributes. The download line says 6.3.4 has x86-64 packages only and points the AArch64 packages and the AppImage at 6.3.3's release, and the PKGBUILD's GitHub source is named for what it is. The APIs Reference and The REST API gain the 24 paths added after 540347500 (nine for eDiscovery, seven for the inbound webhooks, four for mailbox encryption at rest, the booking policy, the store's two and the webmail's bulk action) and the routes that answer differently; The COM API and Scripting gains Settings.MessageStoreCompression, MessageStoreDedupMinKB, MessageStoreStatus and Account.Kind, what a COM change to a shared configuration object now does (a copy, in effect at Save(), commit 15cfff25d), the JScript escaping fix of 5a3de9001 and what an administrator with a JScript EventHandlers.js must do (a rule's Run function name a plain identifier), and event scripts on Linux in JavaScript, with what a handler cannot reach. Settings Overview and Settings Reference gain the 27 hm_settings rows of 6.3.4 (191 in all), [Database] TlsMode and TlsCaFile, [Security] StoredSecretsKey and the sealed secrets, and ServiceAccountName no longer used by /Register. Ports Reference gains the SNMP agent, the secure defaults a new installation's listeners get, and the outbound connections 6.3.4 adds. Upgrading hMailServer gains 18.4c: every server installs 6.3.4 by hand, since it carries no Sigstore bundle; the UpdateFeedUrl line for 6.2.28 to 6.3.3; the slow steps and what 6102 needs; what an upgrade keeps. Capabilities and Configuration, the Glossary (eDiscovery and legal hold, object store, sealed secret, stored-secrets key and the rest) and the Runbooks Digest (the nineteen new documents) are brought up to the same tree.

    Christopher Holloway committed Sep 26, 2026
  • The operator pages that name GitHub because the code or the packaging still does now say, beside each such fact, that moving it off GitHub is planned roadmap work and not yet done, as the reference pages already do. Installing hMailServer says that only GitHub Actions can issue the signing identity the update verifier pins, so no later release can carry it, and that the package-manager manifests and their workflow are to move; Installing on Linux says it of the PKGBUILD, whose source is git+ its url and whose url is still github.com/Progressiverobot/hmailserver at master 540347500, of the default release feed, and of the image on ghcr.io; Running in a Container of the image and of the ghcr.io names in the Compose file and the chart (docker-compose.yml and values.yaml at master); the Control Panel Reference of the default feed and the About view's compiled-in GitHub link (AboutView.cs); and Troubleshooting, Upgrading hMailServer and the Control Deck's Update view of the default feed (UpdateChecker.cpp's STABLE_FEED and PRERELEASE_FEED).

    Christopher Holloway committed Sep 24, 2026
  • Upgrading hMailServer's schema table linked Changes Since 6.2.10 with an escaped pipe inside a table cell, which GitLab may split at; it links [[Changes-Since-6210]] plainly, as the landing page's tables now do.

    Christopher Holloway committed Sep 24, 2026
  • The four pages on operating the server are brought up to master 540347500. Monitoring and Health counts 38 metric families and lists the six added since 6.3.3 (country blocking, complaints, spam traps), has eleven alert conditions where it had six - the create scripts seed eleven, one more than the audit counted - gives the audit trail its put-back route and the auditor role's access, says which of the trail's recorded gaps are closed and which remain, corrects the reports (spam, virus and storage are per domain since schema 6062), and adds following one connection live and the new places mail can wait: held for review, held for the sandbox, a shaping back-off, a warm-up ceiling, a drain. Backup and Restore says the account stores are 57 tables, 21 carried and 36 declared exceptions with passkeys and shares among the ones left out, adds the encrypted archive and restoring one mailbox or one message, and says how a zero-access mailbox and a domain's S/MIME authority travel. Troubleshooting explains the update check's 'The update feed answered HTTP 404.' on every release since 6.2.28, the applies marks and a setting the environment manages, and where a message waits in the tree. Upgrading hMailServer has the schema at 6096 and fifty-six steps after 6.3.3 (none touches hm_messages; 6072 scales with the greylisting table), the drain, [Database] UpgradeOnStart and the reported roll-back, and says the update settings apply when saved.

    Christopher Holloway committed Sep 24, 2026
  • The wiki's links move from GitHub to GitLab, where the project has lived since 22 September 2026. GitHub suspended the account on 18 September and every one of the project's GitHub addresses answers 404, so the download links, the source links, the security route, the support route and the "report an error" link all led nowhere. Every link to a file in the repository now opens it on GitLab, and the four community files that moved to the repository root on master 540347500 - CONTRIBUTING.md, SECURITY.md, SUPPORT.md and CODE_OF_CONDUCT.md - are linked there, which also mends the seven links to a root SECURITY.md that did not exist when they were written. The download links open the latest GitLab release, and the installer has a link that always fetches the latest one. A private report goes to a GitLab confidential issue or the project's Service Desk address, a question is an issue with the Question template because GitLab has no Discussions, and a reader who wants to hear of releases is told how to watch the project on GitLab. The Project Handbook, written against GitHub on 4 September, says that its GitHub process is the project as it was then. The GitHub facts that stay are facts about the product, and each now says what is true of it: the update feed the server reads by default, which answers 404, so a check fails with "The update feed answered HTTP 404." until UpdateFeedUrl names another feed; the Sigstore identity and issuer that signed every release up to 6.3.3, which verify those files wherever they are hosted and which the verifier's defaults still name, so a release signed anywhere else is refused unless the three settings are changed; and the two GitHub addresses compiled into the product, the Policy line of the security.txt the server serves and the Control Panel's About link. Every GitHub issue, discussion and pull-request number written with a hash is now written in words - "GitHub issue 114", "GitHub discussion 18", "upstream PR 602" - with the kind the repository's CHANGELOG gives each number, because GitLab turns a hash and a number into a link to its own issue of that number, which is something else. The one maintainer handle left in running text is in code, and the webmail's mentions no longer read as a GitLab user. Four things GitLab rendered wrongly are put right. The Stopping Spam link to Routes and Relays was split by a line break and led to a page that does not exist. The Fuzzing page's two repository-relative links resolved inside the wiki; they open the fuzz folder and its regression README on GitLab. Placeholders written outside code, such as <host:port>, <addr> and <culture>, were read as HTML and dropped or turned into links; they are in code now. And the Assurance Case's eight section headings began "1. " above a setext rule, which CommonMark reads as a list and a thematic break, so its contents links had nothing to land on; they are ATX headings with the ids those links name.

    Christopher Holloway committed Sep 24, 2026
  • The wiki describes the tree after 6.3.3 as it lands on master: the settings store, the audit trail and alerts, what a domain does to a message, remote-domain policy, a backup that carries everything, and the rest of three batches Twenty-seven pages, each written from the code at 3233b0cc4 and then checked sentence by sentence against it by a second reader: 166 claims verified, 23 corrected before this commit. Everything the tree holds that no release has is labelled as in the tree after 6.3.3 and not yet released, and the next release is called that rather than given a number. The changes page carries the four schema steps 6042 to 6045 in section 2, the second and third batches in section 4e beside the first, the gate for 3233b0cc4 (2,410 tests, 2,402 passed, none failed, 8 skipped; the Linux figures are a placeholder until that run lands), and in section 5 the changes an upgrade makes with no switch - above all that the database is the settings store, that an edit to [Settings] in hMailServer.ini is undone at the next start and reported as HM5804, what to do instead, and that the password pepper stays in the file and out of every backup, so a restore onto new hardware needs it brought along. Fourteen pages that told a reader to edit the file now say how the same setting is changed once the store lands, and what an edit to the file does then; the settings reference says the table of INI keys is closed. The feature pages cover the backup that carries every per-account store, the audit trail and alerts with what each does not yet record or raise, syslog export, per-domain reports, remote-domain policy and mandatory TLS, SPF as RFC 7208, hmctl's configuration document, the tours, and the REST routes counted at the commit rather than guessed at. The checking found things the tree itself gets wrong, which are recorded for the next batch rather than papered over here: hmctl's configuration document has an empty ini section because it reads a route that answers names only; the packaged Linux ini's RestApiPort=0 is adopted into the store at first start, so the packaging README's edit-the-file way of turning the REST listener on no longer works; the OpenAPI text for the ini routes and the note the server writes into hMailServer.ini still describe the file as the store; and five repository documents say what their wiki copies said before this commit.

    @chrisholloway5 chrisholloway5 committed Sep 15, 2026