• v0.1.0 e056dde105

    v0.1.0
    Some checks failed
    CI / check-and-build (push) Successful in 35s
    Release / deploy (push) Has been cancelled
    Stable

    EgorEast released this 2026-08-13 14:00:07 +00:00 | 102 commits to main since this release

    Features

    • add case-insensitive sermon search
    • add playlists field to PlaylistSermon and setup pre-commit type-check hook
    • restrict sermon audio to MP3, add middle transform option, allow PDF/FB2 uploads
    • add cover reuse and drag-and-drop reordering
    • login by username instead of email
    • phase 11 cleanup — strict mode, dead code removal, sermon entity fix, CI docs, server URL
    • migrate to Zod input+output validation
    • presigned URLs, PgBouncer support, keyset pagination, GIN index for 200 concurrent users
    • disable Swagger in backend, move OpenAPI spec to standalone service
    • extend DTOs and services for many-to-many relations
    • add health endpoint
    • fix, add Makefile and .vault
    • align backend endpoints with OpenAPI spec
    • update Dockerfile from backend
    • added nginx and update uploadFile method
    • section-playlist relation and update sevices methods
    • update relations
    • sermons added
    • added readme file

    Bug Fixes

    • send null for cleared nullable fields in forms and regenerate types
    • correct HTTP error codes and add position to section response
    • populate nested playlists sections and sermons in API response
    • normalize entities on create/findOne/update (fix 500 when relations attached)
    • make files bucket public-read (s3:GetObject) so stored URLs stop 403ing
    • default undefined relation arrays to [] in findAll (fix GET list 500)
    • make @UploadedFile param a permissive ZodDto (strict global pipe → 500)
    • return sections:[] and sermons:[] on create (match @ZodResponse contract, fix 500)
    • return playlists:[] on create (match @ZodResponse contract, fix 500)
    • remove redundant class-validator ValidationPipe
    • drop whitelist from global ValidationPipe (stripped zod DTO props → login 500)
    • move js-yaml to runtime dependencies (loaded unconditionally in main.ts)
    • bump node 18->20 (global File for orval-generated zod schemas)
    • --legacy-peer-deps on prod install too (orval/prettier peer conflict)
    • npm install --legacy-peer-deps (orval/prettier peer conflict)
    • add http code for login endpoint
    • harden OpenAPI spec for correct Zod schema generation
    • limit Node.js heap during build to prevent server OOM
    • update Dockerfile, added build for server(9)
    • update Dockerfile, added build for server(8)
    • update Dockerfile, added build for server(7)
    • update Dockerfile, added build for server(7)
    • update Dockerfile, added build for server(6)
    • update Dockerfile, added build for server(5)
    • update Dockerfile, added build for server(4)
    • update Dockerfile, added build for server(3)
    • update Dockerfile, added build for server(2)
    • update Dockerfile, added build for server(1)
    • update Dockerfile, added build for server
    • update package.json

    Refactors

    • rename SWAGGER_* env vars to DOCS_*
    • move openAPI.yaml to docs repo, fetch spec from remote URL, remove local yaml

    Maintenance

    • use node 24 in docker and release workflow
    • bump node to 24
    • add Forgejo Actions CI/CD with self-contained deploy
    • add .env to gitignore
    • fix jest coverageDirectory for standalone repo
    • apply prettier formatting to playlist and section services
    • update openapi spec version
    • format generated schemas with prettier in gen-schemas script
    • enable strict Zod object validation in orval
    • regenerate Zod schemas from updated OpenAPI spec
    • format some files
    • fix stale controller specs
    • phase 1 - Set up OpenAPI-first Zod validation

    Other

    • update docs
    • added swagger and edit docs
    • first commit
    Downloads