Skip to content

Releases: goinfinite/os

v0.3.3

Choose a tag to compare

@ntorga ntorga released this 13 Sep 03:41
296e50c

Warning

Version 0.3.3 upgrades the base image from Debian 11 to Debian 13.
You cannot upgrade the OS binary alone.
Migrate your application to a brand new container.

Changelog

test(marketplace): enforce https on wordpress redirects
docs: remove the deprecated goreportcard badge
test: add timing budgets for vhost delete and marketplace
test(marketplace): assert wordpress serves over http and https
test(runtime): assert the php virtual host config cleanup on delete
fix(runtime): repair the php virtual host listener map and block
fix(services): report installation check errors
test: install wordpress and uptime kuma from the marketplace
fix(ui): mark the htpasswd language key as a sonar false positive
fix(container): add the language attribute to the welcome page
fix: resolve awk by absolute path
refactor(ssl): drop the unused md5 ownership hash
fix(cron): write the crontab in a private temp directory
fix(php): match wildcard listener maps when creating virtual hosts
docs: add the sonarqube quality gate badge
docs: refresh the root context file
chore: organize the containerignore and exclude agent tooling
chore: organize the gitignore and drop the services entry
docs: trim the agent override
docs: update the development guide
test: make the services catalog test hermetic
chore: ignore the local services checkout
docs: sync the runtime feature map
test: delegate the test fixtures to the tk synthesizer
test: make the unit suites self-contained
test: add the container-backed test suite
fix(services): run the stop steps before stopping the process
fix(account): send the secure access key id on delete
fix(cron): delete the cron by id
fix(envs): define the php webserver constants used by runtime
refactor(runtime): adopt the tk v0.3.6 file clerk contract
refactor: adopt the tk v0.3.6 file clerk contract
docs: add the agent usage skill and README pointer
fix(catalog): scan only manifest files for catalog items
refactor: adopt the tk v0.3.5 file clerk contract
refactor: delegate pagination to tk
refactor: move remaining hashing to the domain helper
refactor: run scheduled tasks with the tk shell timeout
refactor: report apt cache cleanup failures
test: harden infra test setup
refactor: use tk transient database service
fix(ui): report php configs read failures instead of blaming the virtual host mapping
refactor(ui): replace the local alert component with the infinite ui alert
fix(container): enforce https on build curls and document root user per sonar
test(valueObject): align fixtures and messages with current validation behavior
fix(runtime): surface missing php virtual hosts from read configs use case
fix(valueObject): harden php setting names and values against config injection
refactor(valueObject): move strong string hashing from infra into the domain helper
chore: pin additional dev tools in mise
docs: require SIGTERM to stop a detached dev-build session
fix(container): harden image build and dev script per SonarQube
refactor(container): merge test image into multi-stage Containerfile and rework dev-build.sh
fix(files): repair build after failure reason refactor
chore: upgrade go-infinite toolkit to v0.3.3
refactor(ui): delegate php module outcomes to the scheduled tasks popover
refactor(runtime): plan php module updates from the current state in the use case
refactor(mapping): use exported PHP webserver service-name constant
feat(liaison): schedule PHP module updates and split config use cases
refactor(liaison): extract liaison helpers and dedupe operator parsing
docs(cli): record stderr logging constraint
feat(cli): wire PHP update-modules worker command
feat(api): report partial success on php module updates
refactor(valueObject): guarantee non-empty failure reasons
feat(runtime): split PHP config updates into dedicated use cases
feat(scheduledTask): return created task id to callers
fix(valueObject): raise scheduled task output limit to 64KB
refactor(valueObject): validate PHP module names by pattern
refactor(cli): centralize required flag registration errors
docs: add project agent instructions
chore: pin Go and golangci-lint with mise
fix(runtime): use exact PHP module paths and APT packages
fix(runtime): normalize PHP module discovery and skip section headers
test(valueObject): reject compile-time PHP module names
feat(services): support legacy service version label
fix(ui): show loading overlay during htmx navigation
fix(ui): preserve API base path when deleting accounts
fix(container): share toolchain data with non-root services
refactor(ui): align custom service execution fields
fix(services): migrate legacy commands only for install steps
refactor(services): gate legacy migration before command conversion
chore(services): use v2 manifests for OS v0.3.3+
feat(services): support custom start commands and working directories (Issue #274)
fix(services): stop process groups and use suffixed service directories (Issues #293, #297)
refactor(ui): use Infinite UI components for service forms
refactor(ui): refine service form controls and tooltips
fix: use debian slim trixie as base img
fix: ignore logfile when redirected to /dev
chore: bump version
fix: migrate legacy manifest install commands
refactor: use typed command step phases

v0.3.2

Choose a tag to compare

@ntorga ntorga released this 30 Jul 20:40
399db67

Changelog

fix(ssl): auto-select sole vhost on SSL import modal
fix(ssl): prevent `.crt` suffix on derived virtualHostHostname for multi-label hostnames
fix: replace multi select input with goinfinite/ui
fix: reduce tooltip textarea z-index
refactor(ssl): inline dns lookup helper into SslCmdRepo
chore: add root .context.md index

v0.3.1

Choose a tag to compare

@ntorga ntorga released this 16 Jul 01:09
229b733

Changelog

feat: add PrimaryVirtualHostSynchronizer to sync env, conf, db, and PHP vhost on restart
fix: harden primary vhost rename — ssl-safe, restart php-webserver after creation, alias search uses previous host
refactor(vhost): rebuild primary vhost conf from template via VirtualHostHelpers and read server_name via tk FileClerk (no more sed)
refactor(mapping): orchestrate PHP vhost creation in domain use case
feat(runtime): enable php webserver wildcard for new vhosts
fix(envs): rename PrimaryPublicDir, remove PRIMARY_VHOST from required, add SSL prefix to skip dns env
feat: allow ssl delete to hard delete only
fix(services): prevent restart on field-only updates, handle null values and persist fields
fix(internalSetup): create /app/logs/cron, /app/logs/nginx, and /app/.trash at runtime to prevent fuse-overlayfs whiteout accumulation
fix(ui): refresh stale mappings form state
feat: add SKIP_PHP_PROCS_COUNT_UPDATE env var (skip PHP children recalc on startup)
fix(cli): preserve commas in --envs values
fix(api): adopt context-based request timeouts
refactor(dev): upgrade hot-reload websocket handler and exempt it from UI auth
refactor(services): normalize status values and finish process manager migration
refactor(internalSetup): standardize error returns and slog keys
test: normalize test error format and cover primary-vhost sync
refactor(auth): extract AuthenticationHelper to presentation/shared/helper; use errors.Is for sentinel checks
fix(ui): use tkPresentation.NewRequesterIpExtractor (consistent with API; TRUSTED_CIDRS now applies to UI)

v0.3.0

Choose a tag to compare

@ntorga ntorga released this 06 Jul 18:40
631d385

Changelog

fix(internalSetup): create /app/html at runtime to prevent fuse-overlayfs whiteout accumulation
refactor(infra): rename webServer package to internalSetup
fix(db): enforce UTC timestamps in gorm NowFunc for all database services

v0.2.9

Choose a tag to compare

@ntorga ntorga released this 01 Jul 21:23
89eaf15

Changelog

feat(auth): migrate to tk TrustedCidrsReader and add TRUSTED_CIDRS env var
docs(readme): document verbose API panic responses for trusted networks
fix(ssl): clean up stale /validateOwnership mappings before creating new ones
feat(ssl): add SKIP_DNS_OWNERSHIP_CHECK env var to bypass DNS ownership check
refactor(ssl): move mapping repos and ownership path to SslCmdRepo struct fields
docs(readme): add environment variables reference table
chore: update go deps
fix(swagger): add missing dummy imports for swagger annotation compliance

v0.2.8

Choose a tag to compare

@ntorga ntorga released this 24 Mar 15:55
b23784b

Changelog

chore: remove temporary echo-swagger replace directive and upgrade to v1.5.2
fix(ssl): wrap SslPrivateKey around tk EnvelopedPrivateKey
fix(ssl): repair altnames filter and add pagination to ssl listing
feat(api): add swagger dto import for account endpoint
feat(ui): add database user and alias shortcut buttons
fix(files): handle root directory in file tree builder
fix(database): use WeakPassword for database user creation
fix(api): read operatorAccountId from echo context in file endpoints
refactor(liaison): migrate manual pagination to tk PaginationParser
refactor(cli): migrate to tk SimpleCliResponseRenderer
refactor(api): migrate to tk LiaisonApiResponseEmitter
refactor(liaison): migrate LiaisonOutput to tk LiaisonResponse
fix: get key path via replace
fix: show error on ssl list error
fix: add primaryKeyColumn to PaginationQueryBuilder calls
fix: sort services by name in ReadFirstInstalledItem
refactor(valueObject): eliminate pure alias files with direct tk usage
feat(files): add file privileges normalizer with ownership resolution
fix(services): use name sort for installable services pagination
refactor(infra): replace PaginationQueryBuilder alias with tk direct usage
test(auth): add security tests with repo constructors
feat(auth): add jwt v5 algorithm validation and api key hash security
refactor: remove obsolete migrateOperatorAccountIdToSri
refactor: use ActivityRecordLevelSecurity const and inline NewSriAccount
refactor: delete presentation wrappers and use tk directly
refactor: migrate infra consumers from wrappers to tk directly
fix: replace panic with ResponseWrapper in files API controller
refactor: add fileClerk field to repo structs for locality of behavior
refactor: eliminate tk type aliases from all layers
chore: add context to every src/ dir
fix: use tk input reader for api
chore: update go and deps

v0.2.7.1

v0.2.7.1 Pre-release
Pre-release

Choose a tag to compare

@ntorga ntorga released this 31 Oct 21:10

Changelog

fix: remove / from database and runtime hx-get/post to respect base href
fix: add / to footer fragment
chore: update go version

v0.2.7

v0.2.7 Pre-release
Pre-release

Choose a tag to compare

@ntorga ntorga released this 03 Oct 14:53
e00b5b3

Changelog

feat: allow account update via username
fix: autologin layout adjustments
fix: custom db connection params
fix: allow for extract .tar.gz on file manager #277
fix: add "delete index.html message" to index.html #278
fix: .trash being shown as file on file manager #279

v0.2.6

v0.2.6 Pre-release
Pre-release

Choose a tag to compare

@ntorga ntorga released this 08 Jun 15:55
a6727e3

Changelog

feat: runtime php run
feat: implement clearable fields for cron and mappings
feat: add dash link to default index
feat: prevent only account deletion
fix: add debug logs to ssl watchdog
fix(api): rename accountId to operatorAccountId
feat(ui): safe prefill user and pass on login via query params
fix(ui): missing capital letters on modals
fix(ui): use UiToolset instead of local utilities
fix(ui): add loading until login finishes redirect
fix(ui): add file.name to file manager update file content
fix(ui): resize code editor when modal is resized
fix(ui): keep file line in active state when selected
fix(ui): code editor height when full screen
fix(ui): php update settings missing vhost

v0.2.5

v0.2.5 Pre-release
Pre-release

Choose a tag to compare

@ntorga ntorga released this 28 May 18:19
7d5b9a9

Changelog

refactor(ui): sidebar
refactor(ui): merge page and presenters
refactor(ui): move state.js to individual embeds
feat(ui): add cloak and loading overlay (from goinfinite/ui)
fix(improvement): lazy load marketplace and services avatar images
fix(bug): database service is creating a default mapping [#261]