Repository navigation
Releases
Release v1.2.142
Backend image: dculus/forms-backend:v1.2.142 (promoted from the build verified on dev).
What's Changed
- feat(templates): add 50 public templates across 16 categories by @bannarisoftwares in #466
- fix(templates): address CodeRabbit review of #466 by @bannarisoftwares in #467
- feat(fields): add Rating field with stars/numbers and NPS analytics by @bannarisoftwares in #468
Full Changelog: v1.2.141...v1.2.142
Release v1.2.141
Backend image: dculus/forms-backend:v1.2.141 (promoted from the build verified on dev).
What's Changed
- feat(templates): public templates, sign-up from template, save as template by @bannarisoftwares in #461
- fix(templates): address CodeRabbit review of #461 by @bannarisoftwares in #462
- feat(templates): SEO template catalog, @vercel/og thumbnails and form link previews by @bannarisoftwares in #464
Full Changelog: v1.2.140...v1.2.141
Release v1.2.140
Backend image: dculus/forms-backend:v1.2.140 (promoted from the build verified on dev).
What's Changed
- build(deps): bump the patch-updates group across 1 directory with 68 updates by @dependabot[bot] in #431
- Remove unbacked SLA and "thousands of teams" claims from pricing page by @bannarisoftwares in #439
- fix(security): resolve all High findings from the security review by @bannarisoftwares in #442
- fix(security): complete remaining security review items (plugins, automations, encryption at rest) by @bannarisoftwares in #445
- fix(security): only reject nested credential writes when encryption is enabled by @bannarisoftwares in #447
- docs(security): update findings tracker with remediation status by @bannarisoftwares in #448
- fix(security): resolve Medium findings from the security review by @bannarisoftwares in #449
- test(e2e): only refuse the public default password on hosted targets by @bannarisoftwares in #452
- fix(auth): relax sign-in rate limit on dev for post-deploy E2E by @bannarisoftwares in #453
- fix(backend): restore default DB pool size of 2 by @bannarisoftwares in #454
- docs(security): update review tracker by @bannarisoftwares in #455
- refactor(billing): Chargebee-only plan limits + add-on support by @bannarisoftwares in #456
- feat(billing): add-on management in admin app + catalog-driven plans across apps by @bannarisoftwares in #457
- feat(billing): SES-aware plan sizing + AI credits add-on; setup script adds feature levels by @bannarisoftwares in #458
Full Changelog: v1.2.139...v1.2.140
Release v1.2.139
Backend image: dculus/forms-backend:v1.2.139 (promoted from the build verified on dev).
What's Changed
- feat(automations): autosave builder edits to a draft, publish explicitly by @bannarisoftwares in #428
- test(e2e): expect blank cells for stripped responses by @bannarisoftwares in #430
Full Changelog: v1.2.138...v1.2.139
Release v1.2.138
Backend image: dculus/forms-backend:v1.2.138 (promoted from the build verified on dev).
What's Changed
- feat(responses): sticky primary column dropdown, full response IDs, tags column last by @bannarisoftwares in #420
- feat(plugins): destination folder for Google Sheets / Excel; create file on save by @bannarisoftwares in #422
- fix(plugins): folder pickers on deployed envs (Referrer-Policy + MS client id) by @bannarisoftwares in #423
- fix(infra): Referrer-Policy for form-app via zone transform rule by @bannarisoftwares in #424
- chore(form-app): correct Referrer-Policy _headers comment by @bannarisoftwares in #425
- fix(plugins): OneDrive personal picker URL by @bannarisoftwares in #426
- fix(plugins): OneDrive picker recovers from rejected cached token by @bannarisoftwares in #427
Full Changelog: v1.2.137...v1.2.138
Release v1.2.137
Backend image: dculus/forms-backend:v1.2.137 (promoted from the build verified on dev).
What's Changed
- fix: show previews for file upload and phone fields in field insights by @bannarisoftwares in #417
Full Changelog: v1.2.136...v1.2.137
Release v1.2.136
Backend image: dculus/forms-backend:v1.2.136 (promoted from the build verified on dev).
What's Changed
- feat: add file upload field analytics by @bannarisoftwares in #416
Full Changelog: v1.2.135...v1.2.136
Release v1.2.135
Backend image: dculus/forms-backend:v1.2.135 (promoted from the build verified on dev).
Full Changelog: v1.2.134...v1.2.135
Release v1.2.134
Backend image: dculus/forms-backend:v1.2.134 (promoted from the build verified on dev).
What's Changed
- fix(plugins): keep Google Sheets/Excel columns stable when form field… by @bannarisoftwares in #411
- ci: promote dev-verified builds to production via a one-click Release workflow by @bannarisoftwares in #413
- ci: build frontends once and inject environment config at deploy time by @bannarisoftwares in #414
- ci: fix fetch-frontend-build artifact name by @bannarisoftwares in #415
Full Changelog: v1.2.133...v1.2.134
Release v1.2.133
🚀 Dculus Forms Release v1.2.133
📦 Build Artifacts
This release includes production-ready build artifacts for all applications:
Backend:
- backend-build-v1.2.133.zip - Backend API (Node.js)
- Includes compiled code, dependencies, and deployment documentation
- Alternative to Docker for direct Node.js deployment
- See included
README-DEPLOYMENT.mdfor setup instructions
Frontend Applications:
- form-app-build-v1.2.133.zip - Form Builder Application
- form-viewer-build-v1.2.133.zip - Form Viewer Application
- admin-app-build-v1.2.133.zip - Admin Dashboard Application
⚠️ IMPORTANT: Security NoticeThese build artifacts are generic builds without hardcoded secrets or API keys.
You MUST configure environment variables in your hosting provider before deployment.
Never commit secrets to version control or include them in public releases.
📋 Deployment Instructions
Backend Deployment (Choose One):
Option 1: Docker (Recommended)
# Pull using version tag with v prefix
docker pull dculus/forms-backend:v1.2.133
# Or pull latest
docker pull dculus/forms-backend:latest
# Run with environment file
docker run -d -p 4000:4000 --env-file .env dculus/forms-backend:v1.2.133Available Docker Tags for this Release:
dculus/forms-backend:v1.2.133(e.g., v1.2.3)dculus/forms-backend:v{{ steps.version.outputs.major }}.{{ steps.version.outputs.minor }}(e.g., v1.2)dculus/forms-backend:v{{ steps.version.outputs.major }}(e.g., v1)dculus/forms-backend:latest(always points to the most recent stable release)
Option 2: Node.js Direct
unzip backend-build-v1.2.133.zip
cd backend-build-v1.2.133
cp .env.example .env
# Edit .env with your values
node dist/apps/backend/src/index.jsSee included README-DEPLOYMENT.md for detailed backend deployment instructions including PM2, systemd, and production best practices.
Frontend Deployment:
- Download the desired application ZIP file from the assets below
- Extract:
unzip <app-name>.zip - Configure environment variables in your hosting provider (see below)
- Deploy the
dist/folder:- Cloudflare Pages:
wrangler pages deploy dist/ - Netlify:
netlify deploy --prod --dir=dist - Vercel:
vercel --prod dist/ - AWS S3:
aws s3 sync dist/ s3://bucket --acl public-read - nginx: Copy
dist/to web root
- Cloudflare Pages:
🔧 Environment Variables Configuration
Backend (see .env.example):
DATABASE_URL- MongoDB connection stringBETTER_AUTH_SECRET- Min 32 character secretBETTER_AUTH_URL- Public API URLCORS_ORIGINS- Allowed frontend URLsS3_*- S3 storage configuration- Full list in
README-DEPLOYMENT.md
Form App:
VITE_API_URL- Backend API URLVITE_GRAPHQL_URL- GraphQL endpointVITE_FORM_VIEWER_URL- Base URL for the public form viewerVITE_CDN_ENDPOINT- CDN endpointVITE_PIXABAY_API_KEY- Pixabay key
Admin App:
VITE_API_URL- Backend API URLVITE_GRAPHQL_URL- GraphQL endpoint
Form Viewer:
- No build-time env vars needed
📚 Documentation
For detailed deployment guides and documentation, visit the repository README.
What's Changed
- fix(form-app): keep builder layout in place when jumping to a settings error by @bannarisoftwares in #379
- fix: Grid Layout Phase 0b prerequisite bug fixes by @bannarisoftwares in #380
- test(backend): stop aiChat permission mocks leaking between tests by @bannarisoftwares in #378
- test: golden baselines for grid-less forms (Grid Layout Phase 0c) by @bannarisoftwares in #381
- feat(types): grid field type, layout props and pure layout helpers (Grid Phase 1a) by @bannarisoftwares in #382
- feat(collab): persist grid layout through Y.js and Hocuspocus (Grid Phase 1b) by @bannarisoftwares in #383
- fix: skip layout fields in analytics, PDF, fake responses, Sheets, AI tools and condition targets (Grid Phase 1c) by @bannarisoftwares in #384
- feat(viewer): render grid layouts with container-query stacking (Grid Phase 2a) by @bannarisoftwares in #385
- fix(validation): skip layout fields in schema, defaults and submission; condition auto-hide (Grid Phase 2b) by @bannarisoftwares in #388
- feat(builder): grid-aware store actions and permission wrapper (Grid Phase 3a) by @bannarisoftwares in #389
- feat(form-app): grid layout builder authoring behind VITE_ENABLE_GRID_LAYOUT (phase 3b) by @bannarisoftwares in #391
- feat(form-app): pin the Field Library by default on first launch by @bannarisoftwares in #393
- Move deleted-field columns to the end and hide unanswered ones by @bannarisoftwares in #394
- feat(grid): Phase 4 builder polish, label wrapping, and kill-switch removal by @bannarisoftwares in #396
- fix(form-builder): re-flow grid blocks and page card in the mobile canvas frame by @bannarisoftwares in #398
- Save and resume for signed-in respondents by @bannarisoftwares in #399
- Respondent self-service: one response per person, view and edit my response by @bannarisoftwares in #400
- build(deps): bump compression from 1.8.1 to 1.8.2 by @dependabot[bot] in #395
- build(deps-dev): bump axios from 1.19.0 to 1.20.0 by @dependabot[bot] in #386
- build(deps): bump dompurify from 3.4.13 to 3.4.16 by @dependabot[bot] in #387
- build(deps): patch-updates group (61 updates) with better-auth schema fix by @bannarisoftwares in #404
- fix(ai): fix chat question replies, routing gaps, bill AI tagger, add evals, upgrade to AI SDK 7 by @bannarisoftwares in #405
- Offer sign-in to save progress on forms that don't require it by @bannarisoftwares in #408
- Browse uploaded files and download them as a ZIP by @bannarisoftwares in #410
Full Changelog: v1.2.132...v1.2.133