Repository navigation
v1.0.17 - Shop Maintenance, Security Updates, and Build Reliability
Shop Janitor Reliability
This release fixes scheduled stale-order cleanup and updates the platform dependencies, build checks, and deployment documentation.
The janitor was receiving 403 ORIGIN_BLOCKED because Node.js fetch adds browser metadata that the internal endpoint rejects.
- Replaced fetch with native HTTPS requests without browser headers
- Preserved secret authentication and the request timeout
- Preserved successful handling of rate-limited runs
- Rejected redirects instead of forwarding credentials
- Added regression coverage for request headers, authentication, HTTP errors, redirects, and incomplete responses
- Required HTTPS with certificate verification; rejected plaintext HTTP and untrusted certificates
Dependency and Security Updates
- Updated Next.js and eslint-config-next to
16.3.4 - Updated React and React DOM to
19.2.8 - Updated Drizzle ORM to
0.45.2and next-intl to4.14.2 - Updated Sentry to
10.73.0and Tiptap packages to3.31.3 - Updated Nodemailer to
10.0.1and removed its obsolete standalone type package - Refreshed compatible transitive dependencies in the lockfile
- Verified email composition without sending real messages
- Production dependency audit reported 0 known vulnerabilities at release preparation
- 4 moderate findings remain in development tooling, in the Drizzle Kit/esbuild dependency chain
Build Reliability
Outdated test fixtures and references were blocking the shared Next.js production build on Netlify and could also block a Vercel release.
- Updated blog fixtures to current IDs, string slugs, category objects, and Tiptap content
- Updated quiz guest-flow and session tests to the current server-side answer workflow
- Replaced tests for retired client-side answer encryption with server-side cache coverage
- Consolidated blog navigation tests around the current component
- Updated AI-helper authentication and server-action mocks
- Fixed test TypeScript errors without disabling build-time type checking
- Added
npm run typecheckand automatic application/test type checking in GitHub Actions
CI and Hosting
- Disabled checkout credential persistence in the security workflow
- Upgraded actions/checkout and actions/setup-node to v6
- Upgraded GitHub Actions and Netlify staging to Node.js 24
- Added janitor transport tests to scheduled runs and CI
- Kept staging on Netlify (
develop) and production on Vercel (main) - No database schema changes or migrations are required for this release
Documentation and Screenshots
- Refreshed seven application screenshots
- Updated descriptions for all nine README screenshots
- Expanded Q&A, quiz, dashboard, authentication, and other feature descriptions
- Corrected the login screenshot label and Dashboard heading level
- Clarified production/staging hosting and environment boundaries in the user guide and runbook
- Updated migration, release verification, rollback, and build troubleshooting guidance
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Staging: Netlify (develop)
Production: Vercel (main)
Live: https://devlovers.net
Full changelog: v1.0.16...v1.0.17