# Workflow * branch (from `main`) * do the work in Next Step * move Next Step to the top of Completed Steps * move the top item of Future Steps into Next Step * commit (`TODO.md` changes in the same commit as the work) * merge to `main` if the branch is not protected, otherwise open a PR * push # Status 1.0+ Tagged v1.0.0 (2024-06-14) and 1.0.1 (2026-02-08). In post-1.0 maintenance; the library is referenced by the Go styleguide. # Next Step Bring the Makefile up to policy in one commit: add fmt-check, check, and hooks targets (test/lint/fmt/docker exist) and add the missing policy files it depends on: .golangci.yml, REPO_POLICIES.md, .editorconfig, .dockerignore, and .gitea/workflows/check.yml running make check. # Completed Steps * 2026-02-08: fixed JSONHandler deadlock from recursive log.Println, with regression test; tagged 1.0.1 * 2024-06-14: 1.0 prep: lint and fmt enforced in Docker build, call stack depth fix so log locations report correctly, example script, removed non-building RELP code; tagged v1.0.0 * 2024-05-22: module path moved to sneak.berlin/go/simplelog * 2024-05-14: initial library: slog-based console, JSON, webhook, and RELP handlers, MultiplexHandler, caller file/line info, UTC ISO timestamps, level-colored output # Future Steps * Rewrite the Dockerfile to run make check with sha256-pinned base images (currently golangci/golangci-lint:latest and golang:1.22, unpinned, duplicating Makefile logic instead of calling it) * Restructure README.md into the standard sections: Description, Getting Started, Rationale, Design, TODO, License, Author * Delete the old plain TODO file once this TODO.md lands * Add .aider.* to .gitignore and remove the stray aider artifacts from the working tree * Pick one tag scheme before the next release (v1.0.0 vs 1.0.1 are inconsistent) * Fix RELP output to cache (from old TODO) * Re-add RELP delivery over TCP to remote rsyslog imrelp; removed 2024-06-14 because it did not build (README planned feature) * Add regex filtering for webhook logs (from old TODO) * Better console output format (from old TODO)