Releases: endatix/endatix
v0.6.0
🚀 Endatix v0.6.0
✨ Release Highlights
🛠️ Effortless Self-Hosting (Docker 2.0)
We’ve completely overhauled our Docker setup and infrastructure. With improved multi-platform support and streamlined builds, it’s never been easier for developers to spin up a local instance or self-host Endatix in production.
🔄 Dynamic Exports & Data Transformation
Our new Dynamic Exports engine allows you to export submissions as JSON and - more importantly - transform that data to match the exact "shape" required by your third-party tools or internal databases.
👉 Learn how to customize exports
📚 A Brand New Docs Experience
The Endatix Documentation portal just got a major upgrade:
- Algolia Search: Find exactly what you need in seconds.
- End User Focus: New Knowledge Base articles specifically for non-technical users.
- Architecture Deep-Dives: Clearer separation between Endatix Hub and Endatix API logic.
👉 Explore the new docs
📊 Better Form & Submission Management
Managing large volumes of data is now smoother with:
- Advanced Filtering & Sorting: Quickly find specific form submissions.
- Native JSON Support: We’ve moved to native JSON types in the database (PostgreSQL JSONB) for lightning-fast querying and better performance.
⚙️ Administrative Improvements
- User List Screen: A dedicated UI to manage platform users.
What's Changed
- feat: Update docker build by @dspetrov in #549
- feat: Support multiple platforms in Dockerfile by @dspetrov in #550
- feat: Add support for exporting submissions as JSON by @PeterMarinov in #555
- feat: Mask Sensitive Data in Logs by @PeterMarinov in #557
- feat: Support for Dynamic Exports by @PeterMarinov in #562
- feat: Create endpoints for short-lived submission access tokens by @dspetrov in #564
- feat: Create Submission endpoint supports setting submittedBy by @dspetrov in #569
- feat: Adding Algolia search to docs by @PeterMarinov in #571
- feat: Use native JSON types in DBs by @dspetrov in #574
- feat: Authenticated endpoint for submission creating by @dspetrov in #578
- feat: Add sample forms and seeding logic by @dspetrov in #600
- feat: Rewrite Storage Urls by @PeterMarinov in #595
- feat: Get Submission by Access Token supports "export" permission by @dspetrov in #583
- feat: Use Form flag IsEnabled by @dspetrov in #589
- feat: List users endpoint by @PeterMarinov in #590
- feat: Filtering by status and changes in filtering format by @dspetrov in #592
Fixes
- fix: Assigning seeded user to PlatformAdmin role by @PeterMarinov in #554
- fix: Merge submission metadata on update by @dspetrov in #584
- fix: Migration fixes and enable forms by @dspetrov in #597
Security Fixes
- chore(deps): override node-forge to >=1.3.2 due to CVE-2025-66031 by @PeterMarinov in #548
- chore: FluentAssertions to 7.2.0 by @PeterMarinov in #559
- chore: bump qs to v6.14.1 to fix GHSA-6rw7-vpxm-498p by @PeterMarinov in #561
MIsc
- chore: Bump Serilog to 10.0.0 to fix S108 issues by @PeterMarinov in #580
- docs: 599 end user docs by @orilux in #601
- docs: Changed year and links on readme and license file by @orilux in #563
- docs: Added banner to README by @orilux in #565
- docs: Form Prefilling and Sharing by @dspetrov in #576
- docs: Add embedding section in Form Prefilling guide by @dspetrov in #579
- docs: PostgreSQL JSONB Migration guide by @dspetrov in #581
- docs: Add API Permissions Reference, update Form Prefilling by @dspetrov in #585
- docs: Add new End User docs and Product navigation by @PeterMarinov in #588
- docs: Form display modes, navigation options, and choice randomization by @orilux in #591
Full Changelog: v0.5.1...v0.6.0
Ready to upgrade? Pull the latest Docker image or check out our installation guide.
v0.5.1
🚀 Endatix v0.5.1 is here!
A tiny release with few nice changes.
What's Changed
- feat: Remove draft filter from Forms List endpoint by @PeterMarinov in #542
- fix: Updated launch.json by @orilux in #544
- chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /docs/endatix-docs in the npm_and_yarn group across 1 directory by @dependabot[bot] in #539
Full Changelog: v0.5.0...v0.5.1
v0.5.0
🚀 Endatix v0.5.0 is here!
We are proud to share the new Endatix Version. We have a lot of things packed and a lot more to come!
Highlights
- Multiple authentication providers (breaking change) – the platform now supports more than one auth provider. Includes out of the box support for Google OAuth and Keycloak
- Role-Based Access Control (RBAC) – fine-grained permission management with improved error handling.
- Password reset flow – full password recovery and reset functionality added.
- Advanced webhook configuration – webhooks can now be configured per tenant and per form. Also added support for FormDeleted webhook event
- Custom exports – users can define and generate tailored export formats.
- Platform upgrade to .NET 10 – core runtime and dependencies are now on .NET 10.
- Docker setup improvements – image names fixed, docker-compose updated, and setup guides refreshed.
Breaking Changes
- Multiple authentication providers – the platform now supports more than one auth provider. Includes out of the box support for Google OAuth and Keycloak
- fix: Return webhooks payload long values as string (#531)
Security Improvements
- Google reCAPTCHA support – bot and abuse protection added to public endpoints.
- Email verification system – includes SMTP support, Mailgun integration, and a new send-verification endpoint.
- Improved auth failure responses – /register, /verify-email, and sign-in now return detailed, consistent error information.
- Webhook security upgrade – webhook messages are now authenticated.
- Configurable submission token policies – token expiration and post-completion validity are now per-tenant.
- Submission version history – every change to submission JSON is now stored and auditable.
- Submitter identity tracking – submitter ID is now captured from the JWT sub claim and stored on submission.
es.
What's New
- feat: Add SMTP email provider, send-verification endpoint and send verification emails by @dspetrov in #446
- feat: Return failure details in /register and /verify-email endpoints by @dspetrov in #447
- feat: Add FormDeleted event and webhook handlers by @dspetrov in #449
- feat: Support for Google reCAPTCHA by @PeterMarinov in #450
- feat: Set up Mailgun as email provider by @dspetrov in #454
- feat: Store the submitter ID on submission creation when the user is logged in by @dspetrov in #455
- feat: Upgrade to .NET 10 by @PeterMarinov in #532
- feat: Update webhooks implementation by @dspetrov in #456
- feat: Change the remaining webhook field names to camelCase by @dspetrov in #457
- feat: Authenticate webhook messages by @dspetrov in #460
- feat: Create table SubmissionVersions and store history of each JSON data change by @dspetrov in #470
- feat: Password Reset Support by @PeterMarinov in #469
- feat: Seed user fixes, prevent double healthcheck and update Docker setup files by @dspetrov in #482
- feat: Obtain the submitter ID from the "sub" token field by @dspetrov in #481
- feat: Fix Docker images names and add a guide in the Docs website by @dspetrov in #484
- feat!: Support for Multiple Auth Providers by @PeterMarinov in #451
- feat: upgrade frameworks and packages by @PeterMarinov in #490
- feat: Webhook message ID fields changes by @dspetrov in #467
- feat: Configure webhook URLs per tenant in app settings by @dspetrov in #498
- feat: Configure submission token expiration and validity after completion per tenant by @dspetrov in #503
- feat: Configure webhook URLs per form by @dspetrov in #510
- feat: Update docker-compose by @dspetrov in #513
- feat: Add native JSON fields in FormCreate endpoint by @dspetrov in #515
- feat: Role Based Access Control by @PeterMarinov in #486
- feat: Custom exports by @dspetrov in #523
- feat: RBAC Error Handling and Refinement by @PeterMarinov in #529
What's fixed
- fix: Return webhooks payload long values as string by @dspetrov in #531
- fix: Ensure consistent error message for invalid credentials by @PeterMarinov in #501
- fix: Fix EF Core entity constructors warnings by @dspetrov in #504
- fix: Fix/p89 Change Password API by @PeterMarinov in #474
- fix: Sign In endpoint validation by @PeterMarinov in #477
- fix: Unable to change password due to user not being able to be retrieved by @dspetrov in #463
- fix: Problem error details by @PeterMarinov in #465
Misc
- chore: DB migrations for Audio Recorder Question by @PeterMarinov in #473
- chore: Upgrade docs to Docusaurus v3.8.1 by @PeterMarinov in #462
- refactor: Support TenantId in Decoupled Modules by @PeterMarinov in #445
- docs: Delete old setup docker docs page by @dspetrov in #495
- docs: Update Docs Docker Setup link by @dspetrov in #496
- docs: Fix Docker links by @dspetrov in #497
- docs: Fix Docker URLs and redirect old Docker setup page by @dspetrov in #499
- docs: Authorization docs by @PeterMarinov in #526
- chore: Upgrade to latest docusaurus and dependencies by @PeterMarinov in #528
- docs: Update webhooks configuration guide by @dspetrov in #530
- docs: Updated the readme file by @orilux in #512
Full Changelog: v0.4.2...v0.5.0
v0.4.2
🚀 Endatix v0.4.2 Release Notes
Endatix 0.4.2. release is out! Another step, which gets us closer to the answer to the ultimate question of Life, the Universe, and Everything. Enjoy exciting new features like CSV export of submissions or downloading all attachments of a submission.
🎉 Highlights
- Custom Questions - now Endatix support custom form questions with new endpoints and database persistence
- Exporting all submissions to CSV - we added a highly requested feature for users to export all form's submissions to CSV
- Downloading Submission attachments - for all these forms full of user uploaded files like docs, images, videos and audio you can now get a nice zip archive will all attachments ready for sharing and processing
- User Registration - more features to support seamless user with email verification
What's Changed
- feat: Custom Questions persistence and create/list endpoints by @dspetrov in #429
- feat: Register User endpoint support for public account creation by @dspetrov in #437
- feat: Add CSV Export for a form Submissions [v1] by @PeterMarinov in #435
- feat: Download Submissions Files as Zip by @PeterMarinov in #440
- feat: verify-email endpoint by @dspetrov in #441
- feat: Support create submission via metadata only + fixes for default submission page by @PeterMarinov in #442
What's Fixed
- fix: Seed initial user with default tenant and verified email by @dspetrov in #438
- fix: Fix prefixing logic of file names by @PeterMarinov in #444
- fix: Using hidden tag to hide endpoints from the API documentation by @PeterMarinov in #443
Full Changelog: v0.4.1...v.0.4.2
v0.4.1
🚀 Endatix v0.4.1 Release Notes
Version 0.4.1 is here, packed with exciting updates to supercharge integration use cases. Enhancing domain events with samples on how to trigger Webhooks, this release is all about making your workflows smoother and more connected. Let’s dive into the action! 💥
Webhooks made easy!
🎉 Highlights
- Adds more domain events and sample how to use Web Hooks
What's Changed
- fix: GTM container ID by @PeterMarinov in #427
- chore: Fixing the default submissions sorting expression + pnpm version upgrade by @PeterMarinov in #428
- feat: Add form events and webhook samples by @dspetrov in #430
Full Changelog: v0.4.0...v0.4.1
v0.4.0
🚀 Endatix v0.4.0 Release Notes
🎉 Highlights
🎨 Themes Support for Forms – Customize the look and feel of your forms with new theming capabilities. Make your forms uniquely yours!
📚 Revamped Docs Site – Our new and improved documentation site is live! Explore updated guides, like the Getting Started guide for the Setup API, and enjoy a smoother experience with fixed links and Google Tag Manager integration. Visit now.
⚙️ Enhanced Setup API – Register custom MediatR assemblies and configure EmailSender with Endatix-specific namespacing for more flexibility and control.
🛠 Improved Reliability – Fixed unintended claims mapping and optimized the docs site deployment process for a more robust experience.
What's Changed
- fix: Set MapInboundClaim to false to prevent unintended claims mapping in #414
- chore: change Docs site deployment action in #417
- feat: Adds Endatix into the EmailSender config namespacing in #418
- feat: Setup API - Add Support for registering custom MediatR assemblies in #420
- feat: Themes support for Forms by in #415
- docs: Getting Started guide to use new Setup API in #424
- chore: Adding Google Tag Manager to docs in #425
- docs: fix broken links in doc site in #426
Full Changelog: v0.3.0...v0.4.0
v0.3.0
🚀 Endatix v0.3.0 Release Notes
🎉 Highlights
🔥 Public API Overhaul! Fluent API configurations are now exposed via a builder pattern or AppSettings.json. Configure like a boss. [More info here](https://docs.endatix.com/docs/getting-started/setup-nuget-package).
💾 DB Storage for Settings – Because real devs store configs in the database, not just .json files.
🏢 Multi-Tenancy – One app to rule them all. Now you can handle multiple tenants seamlessly.
📄 Form Templates Support – Build once, reuse forever. Templates are here to save the day!
🛠 Custom Submission Statuses – Because "Submitted" was just too basic for you. Define your own!
💻 Moving Endatix Hub to a new Repo - We have done this, so we can keep this repo focused on .NET developers and can develop the Next.js based Endatix Hub in it's own repo and audience
"Me explaining the new API to my teammates":
What's Changed
- feat: Adding hover effect to table rows and actions menu by @PeterMarinov in [#389](#389)
- fix: Adding fix via force expanding the panel when added by @PeterMarinov in [#390](#390)
- feat: Revamping toast UI by @PeterMarinov in [#391](#391)
- fix: Logout issue | Part 2 - Change Delete Cookie logic by @PeterMarinov in [#392](#392)
- refactor: Cleanup Auth Feature by @PeterMarinov in [#394](#394)
- feat: p122 upgrade survey libs by @PeterMarinov in [#395](#395)
- chore: Upgrading Next.js to v15.2 + Fixing Telemetry Issues by @PeterMarinov in [#397](#397)
- feat: Schema and auth/access changes for multi tenancy by @dspetrov in [#401](#401)
- feat: Configure tenant slack settings by @dspetrov in [#402](#402)
- feat: Form Templates DB changes and endpoints by @dspetrov in [#403](#403)
- chore: Moving Endatix Hub in its own repository by @PeterMarinov in [#404](#404)
- feat: New Endatix Setup API: Simplified Configuration via Fluent API by @PeterMarinov in [#400](#400)
- fix: Create template issue by @PeterMarinov in [#407](#407)
- fix: Slack notifications by @PeterMarinov in [#409](#409)
- feat: Configure Swagger and API settings via AppSettings by @PeterMarinov in [#411](#411)
- chore: Update architecture with new projects part of the solution by @PeterMarinov in [#412](#412)
Full Changelog: [Compare v0.2.0...v0.3.0](v0.2.0...v0.3.0)
v0.2.0
🚀 Announcing Endatix v0.2.0!
We've come a long way since v0.1.0, and v0.2.0 is packed with exciting new features that bring us closer to our mission—empowering you to manage form-centric applications on your own terms.
This release enhances data collection with improved submissions, file & media support, and webhook integrations. Hosting sees major upgrades with Docker, PostgreSQL, and telemetry. Forms management gets a boost with versioning, submission tokens, and refined UI/UX. Developers benefit from new APIs, better logging, and Slack integration, while security and authorization features ensure greater control and data protection.
Endatix is evolving into a powerful open-source backend for SurveyJS, and we can’t wait for you to explore what’s new. Stay tuned for more! 🚀
Release Highlights
Data Collection
- Enhanced Submission Support – Webhook, filtering, paging, partial submission, and status tracking.
- File & Media Support – BLOB storage for images, video question support, server-side PDF export with images, and image resizing.
Hosting
- Docker Support – Set up Docker for Endatix API and Hub.
- PostgreSQL Support – Added PostgreSQL as a database option.
- Telemetry & Monitoring – OpenTelemetry logs, AppInsights, and improved error handling.
Forms Management
- Advanced Form Versioning – Database schema updates to support versioning.
- Submission Enhancements – Support for submission token, edit submission, and form deletion.
- UI/UX Improvements – Updated form lists, design screens, submission details, and loading indicators.
Dev Experience
- Next.js App Integration – Added Next.js app following the agreed structure.
- Improved API – New endpoints (GET, PUT, PATCH) for forms and submissions.
- Configuration & Logging – Enforced Node version, configurable storage hostname, and enhanced logging.
- Slack & Web Integrations – Slack notifications and OAuth flow.
Security
- Data Protection – Mask sensitive data and enforce secure storage paths.
- Submission Privacy – Submissions list endpoint no longer returns raw JSON data.
Authorization
- Identity & Authentication – Integrated Identity with login/logout and session management.
- Access Control – Change password functionality and role-based session handling.
What's Changed
New Features
- feat: DB Schema changes to support advanced form versioning by @PeterMarinov in #244
- feat: Adding Next.js app following the agreed directory structure (#88) by @dspetrov in #92
- feat: Add support for CORS policy via AppSettings.json by @PeterMarinov in #87
- feat: Set up docker for Endatix API and Endatix Hub by @dspetrov in #90
- feat: Update sample app to showcase the usage by @orilux in #94
- feat: Add GET PUT and PATCH endpoints for a form by @dspetrov in #105
- feat: Adding fire and forget publishing of MediatR notifications using custom INotificationPublisher by @PeterMarinov in #137
- feat: improve WebApp sample with list of forms support, error handling and Endatix API client goodies by @PeterMarinov in #142
- feat: Improve support for Results Union Type and Result in Fast Endpoints by @PeterMarinov in #136
- feat: Form Submission Webhook by @PeterMarinov in #169
- feat: Integrate Identity by @dspetrov in #178
- feat: Endatix Hub add Login screen and Session Management, Login and Logout functionality by @PeterMarinov in #118
- feat: Adding basic form UI - Form List, Form Edit, Submission List and Logout by @PeterMarinov in #232
- feat: Introduce Central Package Management ("CPM") for the Endatix Solution by @PeterMarinov in #234
- feat: Upgrade to .NET 9 by @PeterMarinov in #236
- feat: Adding default redirect from root to swagger for Non Prod environments by @PeterMarinov in #242
- feat: Submission token support by @dspetrov in #243
- feat: Add GetByToken and PartialUpdateByToken endpoints for submission by @dspetrov in #246
- feat: Add tests for submissions by token and fix namespaces by @dspetrov in #262
- feat: Cover Forms, FormDefinitions and Submissions endpoints with tests by @dspetrov in #263
- feat: Cover submissions commands and queries with unit tests by @dspetrov in #264
- feat: Endatix Hub:Adding Partial Submission on the Form by @PeterMarinov in #266
- feat: Restore submission state from Cookie by @PeterMarinov in #271
- feat: Upgrade Survey.js and React 19 by @PeterMarinov in #270
- feat: Changes to the submission grid columns by @PeterMarinov in #293
- feat: Adding paging to Submission Table by @PeterMarinov in #298
- feat: Support submissions list filtering by @dspetrov in #295
- feat: Create Form sheet changes by @dspetrov in #302
- feat: Update Design Form screen according to the latest design by @dspetrov in #303
- feat: feature slack notification message integration by @orilux in #294
- feat: Submission details page by @PeterMarinov in #306
- feat: Design Form saving behavior changes by @dspetrov in #307
- feat: Update Form Card according to the latest design by @dspetrov in #310
- feat: Change form patch and post update form methods to generate new version on json schema changes by @orilux in #304
- feat: Adding support for images in submission answers by @PeterMarinov in #309
- feat: Adding Form sheet as per the design by @PeterMarinov in #312
- feat: Temporary Slack oauth flow by @orilux in #314
- feat: Do not return submissions JSON data in List Submissions endpoint by @dspetrov in #315
- feat: Adding Loading experience by @PeterMarinov in #320
- feat: Increase server action limit to 30Mb by @PeterMarinov in #324
- feat: Create new forms as draft and do not display drafts on the forms screen by @dspetrov in #323
- feat: Login pending indication by @PeterMarinov in #327
- feat: Enable Swagger by @PeterMarinov in #329
- feat: Image resizing by @orilux in #330
- feat: Adding BLOB Storage for user generated images by @PeterMarinov in #332
- feat: Adding improved logging and error handling for file storage processing by @PeterMarinov in #344
- feat: Add safety nets and checks to ensure target Node version is used by @PeterMarinov in #340
- feat: 33 server-side download submission as pdf with images from blob by @orilux in #351
- feat: BLOB storage support for form content by @PeterMarinov in #350
- feat: Adding PostgreSQL Support by @PeterMarinov in #347
- feat: Open telemetry logs and AppInsights by @PeterMarinov in #356
- feat: Add configurable storage hostname by @PeterMarinov in #358
- feat: Mask sensitive data by @dspetrov in #359
- feat: Environment variable for image host by @orilux in #365
- feat: Adding support for
submissionIdin user uploaded storage path by @PeterMarinov in #366 - feat: Internal test forms filtering and Slack message bypass by @orilux in #372
- feat: Video Support with Specialized Video Question by @PeterMarinov in #374
- feat: Change password by @PeterMarinov in #376
- feat: Support form deletion by @dspetrov in #377
- feat: Edit Submission by @PeterMarinov in #378
- feat: Submission status by @PeterMarinov in #382
Fixes
- fix: Change DB and API healthcheck config, remove healthz requests from logs by @dspetrov in #104
- fix: Set Submission CompletedAt time correctly by @dspetrov in #109
- fix: Fixing build issues detected post merge by @PeterMarinov in #265
- fix: Adding fix for current page set to zero as starting index by @PeterMarinov...
v0.1.0
Hey, hey, hey! Endatix is here!
We are proud to release the first of many versions of Endatix. We thinк big and start small. This is one of the many, many steps and leaps we will take to build the best open-source data collection and management platform. We are excited about the journey ahead.
What's Changed
- ci: Adding GitHub Actions to improve Dev experience and commits quality by @PeterMarinov in #45
- feat: Add unit tests for the classes from UseCases in Endatix.Core by @dspetrov in #44
- docs: Updated product description in readme. by @orilux in #61
- docs: Add MIT LICENSE by @PeterMarinov in #63
- feat: Activate .editorconfig rules in the project by @dspetrov in #48
- docs: Enhance README by @dspetrov in #71
- docs: Small API documentation changes to sync with the other endpoints by @dspetrov in #72
- refactor: Refactor solution architecture to be used as library #52 by @PeterMarinov in #69
- feat: Package and configure Endatix NuGet packages by @PeterMarinov in #73
- ci: automated NuGet publish and GitHub release integration/setup by @PeterMarinov in #75
- docs: Update README.md to fix the build & test badge by @PeterMarinov in #76
- ci: fixing release ci test command by @PeterMarinov in #77
New Contributors
- @PeterMarinov made their first contribution in #45
- @dspetrov made their first contribution in #44
- @orilux made their first contribution in #61
Full Changelog: https://github.com/endatix/endatix/commits/v0.1.0





