Skip to content

v0.0.1-beta.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Sep 21:00
· 13 commits to master since this release

What's Changed

  • feat(services): install a service package, and create a service (T31a) by @haiquang9994 in #1
  • feat(services): php-fpm pools, one per installed PHP (T32) by @haiquang9994 in #2
  • ci(linux): let a run say what happened to the secret service by @haiquang9994 in #3
  • feat(services): MariaDB as a service MixEngine runs (T33) by @haiquang9994 in #4
  • feat(runtimes): PHP extensions through a generated conf.d set (T28) by @haiquang9994 in #5
  • feat(services): PostgreSQL as a service MixEngine runs (T34, T34a) by @haiquang9994 in #6
  • feat(services): MySQL, and the port allocator every service now shares (T34c) by @haiquang9994 in #7
  • feat(services): two instances of one server, at two versions (T36) by @haiquang9994 in #8
  • feat(services): nginx as the other front end, and the rule that there is one (T37) by @haiquang9994 in #9
  • feat(projects): a directory the daemon knows about, and step 3 of the resolution order (T39) by @haiquang9994 in #10
  • feat(sites): the site model, its four kinds, and the manifest halves that describe them (T39a) by @haiquang9994 in #11
  • feat(elevate): the one-shot helper's frame, its file protocol, and Probe (T40) by @haiquang9994 in #12
  • fix(elevate): re-assert the audit directory's permissions on every run (T40) by @haiquang9994 in #13
  • feat(platform): the Elevation trait and its three OS launchers (T40a) by @haiquang9994 in #14
  • feat(elevation): the elevation queue in the daemon (T40b) by @haiquang9994 in #15
  • feat(elevation): read what is about to be allowed before allowing it (T64) by @haiquang9994 in #16
  • feat(elevation): PrivilegedOp::HostsApply, and the first producer of the queue (T41) by @haiquang9994 in #17
  • feat(platform): PortAccess — 80 and 443 without root (T42) by @haiquang9994 in #18
  • feat(sites): a site somebody declared is a site the front end answers for (T43) by @haiquang9994 in #19
  • test(services): put a number on M3, and gate the warm half of it by @haiquang9994 in #20
  • feat(dns): a wildcard for every managed TLD, and the mode it does not switch on yet (T44) by @haiquang9994 in #21
  • feat(dns): a machine that sends a managed name to MixEngine's own server (T45) by @haiquang9994 in #22
  • feat(domains): what actually happens to a name, and the two verbs a client cannot compose (T46) by @haiquang9994 in #23
  • docs(roadmap): M4 requires only what phase 4 builds, and T87 owns the dry run by @haiquang9994 in #24
  • feat(doctor): nine checks, and the three shapes that keep them honest (T47a) by @haiquang9994 in #25
  • test(services): a port test that asks about MixEngine and not about the runner (T34c) by @haiquang9994 in #26
  • feat(doctor): daemon.doctor_repair, and the decision T64 reversed (T47b) by @haiquang9994 in #27
  • feat(doctor): mix doctor --bundle, and the word the task did not need (T93) by @haiquang9994 in #28
  • docs(roadmap): T41a needs a VM and not a certificate, so T94 takes the half that does by @haiquang9994 in #29
  • feat(platform): tell an absent secret service from one that refused (T15b) by @haiquang9994 in #30
  • feat(certs): the internal CA, and the identifier a certificate cannot carry about itself (T48) by @haiquang9994 in #31
  • feat(certs): this machine's trust store on three systems, and the four things only a real one could answer (T49a) by @haiquang9994 in #32
  • feat(platform): the NSS databases Firefox and Chrome read instead (T49b) by @haiquang9994 in #33
  • feat(core): one leaf per site, and the fourth question tls.md did not ask (T50) by @haiquang9994 in #34
  • feat(core): a site is served over TLS, and a front end binds a TLS port for the first time (T51) by @haiquang9994 in #35
  • feat(daemon): a clock renews certificates, and the outcome that gave two answers one name (T52) by @haiquang9994 in #36
  • feat(cli): mix cert status, measured against a live handshake (T53) by @haiquang9994 in #37
  • feat(cli): cert ca-rotate and ca-uninstall (T54) by @haiquang9994 in #38
  • feat(platform): ResourceLimits per OS (T68) by @haiquang9994 in #39
  • feat(daemon): stop a service nothing is using (T69) by @haiquang9994 in #40
  • fix(platform): verify who is serving the named pipe before sending by @haiquang9994 in #41
  • ci(test): run the connections suite the workflow never called by @haiquang9994 in #42
  • ci(system): open the MIXENGINE_SYSTEM_TESTS gate nothing set by @haiquang9994 in #43
  • ci(test): fail the Linux leg when a real-server package is missing by @haiquang9994 in #44
  • perf(daemon): take a blocking removal off the worker thread by @haiquang9994 in #45
  • refactor(daemon): give SpecSource a typed error (R8) by @haiquang9994 in #46
  • chore(deps): make a duplicate version a decision somebody wrote down (R9) by @haiquang9994 in #47
  • test(supervisor): assert the retry a command ready check exists for (R13) by @haiquang9994 in #48
  • test(proto): gate the rule that per-OS code lives in platform (R14) by @haiquang9994 in #49
  • fix(generate): give each render a staging directory of its own (R17) by @haiquang9994 in #50
  • chore(deps): move off a yanked chacha20 and fail on the next one (R18) by @haiquang9994 in #51
  • test(bench): print MariaDB's own log when a warm round misses the budget (R19) by @haiquang9994 in #52
  • feat(supervisor): hand over the tail with the subscription so first lines survive (T16c) by @haiquang9994 in #53
  • feat(core): start a service from the connection that needed it (T70) by @haiquang9994 in #54
  • feat(daemon): start a database from the connection that needed it (T70a) by @haiquang9994 in #55
  • feat(metrics): sample what is running, and keep a day of it (T71) by @haiquang9994 in #56
  • feat(daemon): warn and restart a service over a memory ceiling this machine cannot enforce (T71a) by @haiquang9994 in #57
  • test(bench): gate what MixEngine costs when nobody is using it (T72) by @haiquang9994 in #58
  • feat(core): give a pool on a socket the probe that lets it sleep and wake (T72a) by @haiquang9994 in #59
  • perf(core): dev-tuned defaults across the service templates (T73) by @haiquang9994 in #60
  • feat(core): LAN sharing, per site and reversible (T74) by @haiquang9994 in #61
  • chore(repo): follow the transfer to the mixnz organisation by @haiquang9994 in #62
  • feat(core): mDNS, the name in the certificate, and the CA a phone can install (T75) by @haiquang9994 in #63
  • feat(core): revoking a share by itself (T76) by @haiquang9994 in #64
  • feat(core): the blueprint manifest, capture, and the plan an apply would carry out (T77) by @haiquang9994 in #65
  • feat(core): creating a database and the account that reaches it (T77a) by @haiquang9994 in #66
  • feat(core): executing a blueprint plan (T78) by @haiquang9994 in #67
  • feat(core): running a blueprint's own command, and trusting it (T78a) by @haiquang9994 in #68
  • feat(blueprints): the built-in gallery (T79) by @haiquang9994 in #69
  • feat(blueprints): publishing the gallery as signed files (T79a) by @haiquang9994 in #70
  • feat(blueprints): saying why a blueprint is untrusted (T79b) by @haiquang9994 in #71
  • feat(extensions): the extension model (T80) by @haiquang9994 in #72
  • feat(extensions): the extension registry and lifecycle (T81) by @haiquang9994 in #73
  • feat(extensions): publishing the extension registry (T81a) by @haiquang9994 in #74
  • fix(cli): an empty registry is not a build too old by @haiquang9994 in #75
  • feat(extensions): the site a web-app is served on (T81b) by @haiquang9994 in #76
  • feat(extensions): wire [recipe] front_end fragments (T81c) by @haiquang9994 in #77
  • feat(extensions): the first three extensions (T82) by @haiquang9994 in #78
  • feat(extensions): a php-fpm pool of the extension's own (T82a) by @haiquang9994 in #79
  • feat(extensions): MixDB connection handoff (T83) by @haiquang9994 in #80
  • feat(extensions): MixDB in the registry and one keyring (T84) by @haiquang9994 in #81
  • feat(packaging): install the privileged helper and ship per-OS installers (T85) by @haiquang9994 in #82
  • feat(packaging): the second architecture (T85a) by @haiquang9994 in #83
  • feat(autostart): register the daemon's autostart entry (T85b) by @haiquang9994 in #84
  • feat(updates): the updater signing key and its CI pipeline (T86) by @haiquang9994 in #85
  • feat(packaging): measure what an unsigned release shows SmartScreen and Gatekeeper by @haiquang9994 in #86
  • feat(uninstall): complete uninstall path, and a clean-VM smoke test (T87) by @haiquang9994 in #87
  • feat(platform): answer whether a certificate repairs Smart App Control (T94) by @haiquang9994 in #88
  • feat(updates): mix self-update (T88) by @haiquang9994 in #89
  • fix(packaging): ship mixengine-shim in every artifact (T85c) by @haiquang9994 in #90
  • feat(elevate): the privileged helper's own update path (T88a) by @haiquang9994 in #91
  • fix(proto): one rule for a growing DaemonStatus (T88c) by @haiquang9994 in #92
  • feat(proto): publish the API contract (T56) by @haiquang9994 in #94
  • feat(daemon): crash reporting that is recorded by default and sent by nothing (T91) by @haiquang9994 in #96
  • feat(index): the six-target matrix, and the target with nothing on it (T92) by @haiquang9994 in #97

Full Changelog: https://github.com/mixnz/mixengine/commits/v0.0.1-beta.1