Changelog

Stay up to date with the latest features and bug fixes.

SaasRock v1.3.0 πŸŽ‰ - Widget-based apps and Subscriptions improvements

Let your tenants create and embed widgets in their apps. Plus, a bunch of new features and improvements.

Done

  • βœ… ⭐ Widgets (Enterprise-only)
  • βœ… ⭐ New β€œmultiple” Subscriptions flag (false = cancel active subscriptions on subscribe)
  • βœ… πŸ”¨ Stripe Checkout: allow_promotion_codes if discount not set
  • βœ… πŸ”¨ Remix 2.10.0 upgrade
  • βœ… πŸ”¨ Row Permissions: SuperAdmin bypass checks
  • βœ… πŸ”¨ Refactor cancel tenant subscription function
  • βœ… πŸ”¨ TenantSelector: fixed navigate, it was deleting the URL search params
  • βœ… πŸ”¨ Knowledge Base: QoL improvements for listing all articles
  • βœ… 🐞 Combobox: fix search
  • βœ… 🐞 i18n: fix cache bug when changing key values, not updating on new deployments
  • βœ… 🐞 Entities: fix groups UI
  • βœ… 🐞 Page Blocks: fix cache issue (removed cache)
Learn more

SaasRock v1.2.0 πŸŽ‰ - Deploy to AWS, Vercel is back, API rate limiting and more

SaasRock 1.2.0 comes with 2 new deployment providers (AWS Lightsail and Vercel is back) plus a bunch of features and improvements.

Done

  • βœ… ☁️ Deploy to AWS Lightsail β›΅ with Docker πŸ‹ guide
  • βœ… ☁️ Vercel deployments β–³ are back
  • βœ… ⭐ Rate limiting per minute/second (Enterprise-only)
  • βœ… ⭐ JsonProperty Types: added wysiwyg and monaco
  • βœ… ⭐ Pricing Features: order, clear, and 'copy from product' buttons
  • βœ… ⭐ Knowledge Base: New docs layout (one-page)
  • βœ… ⭐ CRM: Sync contacts from Users and ConvertKit
  • βœ… ⭐ Email Marketing: replace current email editor (react-quill) with novel/monaco like blog
  • βœ… ⭐ saasrock-portal 1.2.0
  • βœ… ⭐ Entity Builder Import: Select tenant (or admin) to import
  • βœ… πŸ”¨ SEO sitemap.xml: fix articles in sitemap lastmod fix (had knowledge base creation date)
  • βœ… πŸ”¨ CRM: Create contact when user registers
  • βœ… πŸ”¨ Scripts Injector: head and body scripts at /admin/settings/general
  • βœ… πŸ”¨ Vercel: Fixed i18n (thanks @praneybehl!)
  • βœ… πŸ”¨ Delete heavy dependencies: pdfjs-dist (CDN instead), octokit, hyperformula
  • βœ… πŸ”¨ New analytics period filters: ytd, mtd, wtd, last hour, last 10 min
  • βœ… πŸ”¨ Dashboard: duplicate scrolls minor fix
  • βœ… πŸ”¨ Unit tests: fixed 8 tests
  • βœ… πŸ”¨ Remove InputText.uppercase and lowercase (rendering loop)
  • βœ… 🐞 Email Marketing: fix pageSize creating a campaign selecting a contacts view
  • βœ… 🐞 Portals: Analytics now have portalUserId (visitors, views, events)
  • βœ… 🐞 Knowledge Base: dark mode fixes
  • βœ… 🐞 Header fix: withThemeSelector
  • βœ… 🐞 Known error fix: When working with portals, if you get 'Error: insert or update on table "AnalyticsUniqueVisitor" violates foreign key constraint "AnalyticsUniqueVisitor_portalId_fkey"': run this in your database: DELETE FROM "AnalyticsUniqueVisitor" WHERE "portalId" is not null and "portalId" not in (select "id" from "Portal"). And apply the changes to the database again.
  • βœ… ❗ SERVER_URL and DOMAIN_NAME: removed these unnecessary and annoying environment variables
  • βœ… ❗ baseUrl: string renamed to getBaseURL(request: Request)
  • βœ… ❗ Header and Footer: withThemeSwitcher β†’ withDarkModeToggle
  • βœ… ❗ Header and Footer: withLanguageSwitcher β†’ withLanguageSelector
  • βœ… ❗ FAQ: Items are no longer an array of 'front.faq.questions[]' but 'front.faq.questions.q1', 'front.faq.questions.a1'… because Vercel can’t find t(…).map function.
  • βœ… ❗ Removing the /components directory routes
  • βœ… ❗ defaultSocials.ts: add full URLs to defaultSocials
  • βœ… ❗ JsonPropertiesUtils: 'properties' changed to 'attributes'
  • βœ… ❗ Portals: changed PortalPage schema (attributes instead of title, description, content)
  • βœ… ❗ Portals configuration: moved into a new file appPortalConfiguration
  • βœ… ❗ Portals are now disabled by default
Learn more

SaasRock v1.1.0 πŸŽ‰ - Build B2B2C SaaS apps

Build Marketplaces, Membership sites, Blogging platforms, Customer service apps, and more!

Done

  • βœ… ⭐ Portals
  • βœ… ⭐ Dynamic JSON properties
  • βœ… πŸ”¨ shadcn/ui: install all components script
  • βœ… πŸ”¨ Minor fixes: ProfileButton logout fix, Delete profile pic fix, Input Selectors overflow
  • βœ… πŸ”¨ Minor improvements: Remove useEffect from SidebarMenu and TenantSelector
Learn more

SaasRock v1.0.1 πŸŽ‰ - Code generator is back

The 'Yes-code' generator for the Entity Builder has returned.

Done

  • βœ… πŸ”¨ Entity Builder: Code generator

SaasRock v1.0.0 πŸŽ‰ - Launch!

After almost 2 years of development, I'm finally launching SaasRock 1.0.0!

Done

  • βœ… ⭐ Add shadcn/ui support
Learn more

SaasRock v0.9.6 πŸŽ‰ - Remix 2.7.0

Upgrade to Remix 2.7.0 and other minor improvements.

Done

  • βœ… πŸ”¨ Upgrade: Remix 2.7.0
  • βœ… πŸ”¨ API logs: Performance improvements
Learn more

SaasRock v0.9.5 πŸŽ‰ - Rewardful integration and Credit management

Rewardful integration, Credit management, Pricing improvements, New front account pages, track Events, Feedback modal, and more!

Done

  • βœ… ⭐ Affiliates using Rewardful
  • βœ… ⭐ Credits Management: Track your users' usage with credits
  • βœ… ⭐ Pricing improvements
  • βœ… ⭐ New Front Account Pages
  • βœ… ⭐ Analytics Events: Track user clicks
  • βœ… ⭐ Feedback: Let your users give feedback
  • βœ… πŸ”¨ Entities: Added RowValue createdAt and updatedAt
  • βœ… πŸ”¨ Entities: Skip delete permission check if SuperUser
  • βœ… πŸ”¨ Entities: Fix custom tenant properties (not updating values)
  • βœ… πŸ”¨ API Logs: Fixed status color with ApiCallStatusBadge
  • βœ… πŸ”¨ Pricing: Subscription cache issue
  • βœ… πŸ”¨ Pricing: Pricing package reset or accumulate features
  • βœ… πŸ”¨ Pricing: Settings > Subscription : incorrect currency
  • βœ… πŸ”¨ Pricing: What's wrong with the API reset?
  • βœ… πŸ”¨ Pricing: Bulk delete selected plans (with no subscriptions)
  • βœ… πŸ”¨ Knowledge Base: Fix save article image & fix search bar navigation issues
Learn more

SaasRock v0.9.4 πŸŽ‰ - Vite ⚑ supoport!

Migrating to Remix v2 was a great choice since now we can use the latest releases of everything: React 18, Tremor Charts, and now Vite!

Done

  • βœ… ⭐ Vite ⚑ support!
  • βœ… ⭐ Dynamic Currency
  • βœ… ⭐ Quarterly Pricing
  • βœ… πŸ”¨ Subscription Features Badge
  • βœ… πŸ”¨ New Set Pricing Features page
  • βœ… πŸ”¨ Optimize the loading of api logs
  • βœ… πŸ”¨ Hardcoded FAQ values
Learn more

SaasRock v0.9.3 πŸŽ‰ - Remix v2, Cache & Events + Workflows

Finally, Remix v2 is here! And I've added Cache, & Events now work with Workflows.

Done

  • βœ… ⭐ Remix v2 + React v18 migration
  • βœ… ⭐ Cache
  • βœ… ⭐ Events + Workflows
  • βœ… ⭐ Tremor Charts
  • βœ… ⭐ Stripe Webhooks
  • βœ… ⭐ Stripe Coupons
  • βœ… ⭐ Auto-subscribe to trial plans
  • βœ… ⭐ Multiple one-time payments
  • βœ… ⭐ App Redirects: /my-subscription -> /app/:tenant/subscription…
  • βœ… ⭐ New Plan 'billingAddressCollection' toggle for tax purposes
  • βœ… πŸ”¨ API limits β†’ email: sends notification to β€œadmin-users” channel
  • βœ… πŸ”¨ Table API Logs: Implemented Group by API calls screen
  • βœ… πŸ”¨ Load page API Logs: Fixed keys loading API calls
  • βœ… πŸ”¨ API access for unpaid invoices: Throws 429 status if open invoice
  • βœ… πŸ”¨ Bug subscription one-time: Users can now subscribe multiple times
  • βœ… πŸ”¨ Register - Email checker
  • βœ… πŸ”¨ πŸš€ Upgrade Openai library
Learn more

SaasRock v0.9.2 πŸŽ‰ - Workflow Builder + a new Starter 🌱 edition

Workflow Builder to create custom workflows with triggers and actions. And a new Starter 🌱 edition to get started with SaasRock.

Done

  • βœ… ⭐ Workflow Builder
  • βœ… 🌱 New Starter Edition
  • βœ… πŸ”¨ Shadow Delete rows (deletedAt)
  • βœ… πŸ”¨ Handlebars.js Syntax to use Entity Rows in Templates
  • βœ… πŸ”¨ Minor fixes: KB dark-mode fixes
  • βœ… πŸ”¨ Bug subscription one-time
  • βœ… πŸ”¨ If tenant deactivated, disable API keys
  • βœ… πŸ”¨ Knowledge base responsive
  • βœ… πŸ”¨ Article Order Set to 0 on saveΒ 
  • βœ… 🚫 Cancelled: Yes-Code bug with entities that have a space in the nameΒ 
  • βœ… 🚫 Cancelled: Code generator does not use form groupsΒ 
  • βœ… 🚫 Cancelled: Help text not added to formΒ 
  • βœ… 🚫 Cancelled: Webhooks for workflow changesΒ 
  • βœ… ❗ Deprecated: Entity.workflowStates, EntityWorkflow, EntityWorkflowSteps…
  • βœ… ❗ Deprecated: Entity.hasWorkflow
  • βœ… ❗ Deprecated: Property.isDynamic: No support for nonDynamic (custom database models)
  • βœ… ❗ Deprecated: LinkedAccount
Learn more

SaasRock v0.9.1 πŸŽ‰ - RowRepository + RowModel, Blog for Tenants & Prompt Mapping

Implementing custom code is now easier with RowRepository and RowModel. Tenants can now have their own blog @ /b/:tenant-slug. And Prompt Mapping to create from AI.

Done

  • βœ… ⭐ RowRepository & RowModel: Easier custom code
  • βœ… ⭐ Blog for Tenants v1
  • βœ… πŸ”¨ Bulk Delete
  • βœ… πŸ”¨ New Property Types: WYSIWYG (novel with AI) & iframe src
  • βœ… πŸ”¨ Other small fixes
Learn more

SaasRock v0.8.9 πŸŽ‰ - Knowledge Base with WYSIWYG and AI suggestions

New Knowledge Base feature to write in tiptap WYSIWYG editor with AI-powered suggestions.

Done

  • βœ… ⭐ Knowledge Base with WYSIWYG editor and AI suggestions
  • βœ… ⭐ Tenant Custom Properties
  • βœ… πŸ”¨ Blog Posts can now be written in WYSIWYG
  • βœ… πŸ”¨ ChatGpt for blog posts
  • βœ… πŸ”¨ +Other fixes I forgot to document
Learn more

SaasRock v0.8.8 πŸŽ‰ - Autogenerated API Docs + View Manager

Autogenerated specs for Swagger (OpenAPI) and Postman Collections for the Entity Builder.

Done

  • βœ… ⭐ Autogenerated API Docs with Swagger (OpenAPI) and Postman Collections
  • βœ… ⭐ Code generator support for new types (MULTI_SELECT, MULTI_TEXT, RANGE_NUMBER, RANGE_DATE) and subtypes (email, phone, URL)
  • βœ… ⭐ New Entity View Manager at /admin/entities/views
  • βœ… ⭐ New Subscriptions page at /admin/accounts/subscriptions
  • βœ… ⭐ Row Hooks: Added functions to customize your BL (onBeforeGetAll, onAfterGetAll, onBeforeEdit, onAfterEdit...)
  • βœ… πŸ”¨ Yes-Code: Multi-select missing in generated files
  • βœ… πŸ”¨ Multiselect attribute not added to Yes-Code Helper
  • βœ… πŸ”¨ Row Form Number Input cannot clear
  • βœ… πŸ”¨ Footer Block needs translations
  • βœ… πŸ”¨ Edit entity give wrong path...
  • βœ… πŸ”¨ ActionResultModal no way to set title
Learn more

SaasRock v0.8.7 πŸŽ‰ - Tenant Types & Relationships

Enable multiple account types like Teacher and Student, where Teachers can access Student's accounts.

Done

  • βœ… API Get account info
  • βœ… Improve Loader Speed - useAppData getTenant
  • βœ… Code 429 /api/usage

SaasRock v0.8.6 πŸŽ‰ - Metrics and Formulas

Track your app performance by measuring function duration. And use formulas to calculate values based on other properties.

Done

  • βœ… ⭐ Performance - Parallel async functions on most loaders: using promiseHash
  • βœ… ⭐ Performance - Track duration with Server-Timing: by Function, Route, User...
  • βœ… ⭐ Performance - Set metrics settings: enabled, ignoredUrls, saveToDatabase?
  • βœ… ⭐ Performance - Logs: Track durations in milliseconds
  • βœ… ⭐ Metrics - Operators: ADD, SUBTRACT, MULTIPLY, DIVIDE, CONCAT...
  • βœ… ⭐ Metrics - Triggers: ALWAYS, IFUNSET, BEFORELISTED, AFTERCREATED
  • βœ… ⭐ Metrics - Run formulas against Rows
  • βœ… ⭐ Metrics - Logs: Formula calculations
  • βœ… πŸ”¨ Branding: Update logo, icon, and favicon at /admin/settings/general
  • βœ… πŸ”¨ InputSearchWithURL debounced by default
  • βœ… πŸ”¨ Entity.onCreated redirect settings: redirectToOverview (default), redirectToNew...
  • βœ… πŸ”¨ Prisma: jsonProtocol by default

SaasRock v0.8.5 πŸŽ‰ - GPT Prompt Builder, New Property Types, and more!

You can now seamlessly implement GPT in real-world applications and enjoy the benefits of new property types, designed to simplify no-code MVP iteration.

Done

  • βœ… ⭐ Prompt Flow Builder πŸ€– πŸš€ (a.k.a. prompt-chaining)
  • βœ… ⭐ New Property Types & Subtypes
  • βœ… ⭐ System Entitiesβ€Š-β€ŠTenantSettings
  • βœ… πŸ”¨ Remix v2 Future Flags (v2_meta & v2_erroBoundary)
  • βœ… πŸ”¨ Minor Improvements
Learn more

SaasRock v0.8.4 πŸŽ‰ - Feature Flags 🚩 + Minor admin portal improvements

Implemented Feature Flags management in the admin portal + manually adding users + deactivating accounts + tenant IP logging + filtering users by last login.

Done

  • βœ… 1. ⭐ Feature: Feature Flags
  • βœ… 2. πŸ”¨ GitHub Issue: Add Admin users from Dashboard
  • βœ… 3. πŸ”¨ GitHub Issue: Deactivate Account
  • βœ… 4. πŸ”¨ GitHub Issue: Tenant IP Logging
  • βœ… 5. πŸ”¨ GitHub Issue: Filter Users by Last Login
Learn more

SaasRock v0.8.3 πŸŽ‰ - ChatGPT Page Blocks Generator

Implemented OpenAI API to generate copy with ChatGPT for marketing pages using the Page Blocks Builder.

Done

  • βœ… 1. πŸ”¨ Upgrade: remix-run@/* from v1.6.3 to v1.14.3
  • βœ… 2. ⭐ Feature: OpenAI Playground
  • βœ… 3. ⭐ Feature: ChatGPT Page Blocks Generator
  • βœ… 4. πŸ§ͺ Enterprise Feature: Vitest by @nilportugues
Learn more

SaasRock v0.8 πŸŽ‰ - Page Blocks, Notifications πŸͺ¨ + Onboarding πŸš€

Page Blocks for building custom pages with existing (or custom) blocks, Send notifications with Novu, and create built-in Onboarding flows (enterprise πŸš€).

Done

  • βœ… Use baseURL instead environment variable everywhere
  • βœ… Log email data to console when sending email
  • βœ… Don't require Stripe for signing up
  • βœ… Change ^1.6.3 to 1.6.3 remix version
  • βœ… fix contributing CLA link
  • βœ… Run prettier in 320 files
  • βœ… Novu integration
  • βœ… Entity Builder 2.0, CRM 2.0, and Email Marketing πŸš€
  • βœ… Row createdBy deleted?
  • βœ… added rows default column: createdByUser
  • βœ… Custom Entity Views with custom property order & visibility
  • βœ… migration: entity_view_created_fields
  • βœ… Table β†’ Overlay of tags
  • βœ… Favicon Guide + SaasRock Favicon
  • βœ… Fixes 180, 181 and 154
  • βœ… Remove duplicated no-code and email-marketing loaders and actions
  • βœ… Google SSO
  • βœ… Bug: CRM entities fields cannot be edited after creation

Added issues

  • βŒ› Remove TenantUserType, it's confusing now that there are granular permissions
  • βŒ› Ability to add members to the entity
  • βŒ› Table β†’ Btn download attachment
  • βŒ› Linked account Rows not displaying
  • βŒ› Feature: Entity Properties that are unique
  • βŒ› Discord SSO
  • βŒ› Replacing process.env.APP_NAME with appconfig.app.name
  • βŒ› Bug: Cannot add parent to child with no dynamic properties
  • βŒ› Bug: Entity Property Name does not show correct value in Form
  • βŒ› Feature: Entity Property Format
  • βŒ› Feature: Entity Property Value calculated from formula
  • βŒ› Import .csv (remove null columns)
  • βŒ› isSuperUser and isSuperAdmin use same test
  • βŒ› Feature: Ability to create new users from Admin
  • βŒ› Feature: Update entities via any mass editor method
  • βŒ› Feature: Mass Update Rows
  • βŒ› Bug? SSO should work for invited users
  • βŒ› Bug: tenant users can see too many permissions
  • βŒ› Filters β†’ Set a checkbox for boolean attributes
  • βŒ› Allow Webhooks to have relative URL
  • βŒ› API limits β†’ email
  • βŒ› Bug: db.RowTask.findMany does not like createdByUser
  • βŒ› Bug: Import Entities wrong Permissions created
  • βŒ› API endpoint to know who owns the row
Learn more

SaasRock v0.7β€Š-β€ŠEntity Builder on steroids, CRM 2.0, and Email Marketing πŸš€

This is a major release with a lot of new features. Entity Builder 2.0 with 9+ Autogenerated CRUD routes; CRM module 2.0 to manage your Companies, Contacts and Opportunities; and Email Marketing module for sending marketing emails to your CRM contacts.

SaasRock v0.6β€Š-β€ŠUsage-based, One-time, and Multi-currency pricing

The first release of SaasRock came with only 2 pricing models, Flat rate and Per-seat. Soon enough I'd realize 2 things: I need to support more pricing models.

Done

  • βœ… Add Plan Feature Limit: Usage-based
  • βœ… Missing the currency on the pricing
  • βœ… Profile Tabs needs to be hidden if a user does not have rights
  • βœ… Delete Account β†’ Delete Stripe Customers
  • βœ… Registration β†’ Filter emails
  • βœ… Sign Up Flows
  • βœ… Old stripe subscription is not cancelled on subscription upgrade or downgrade
  • βœ… Tiered pricing

Added issues

  • βŒ› Tiered pricing
  • βŒ› Entity table order by
Learn more

SaasRock v0.5.0 - Cookie consent πŸͺ and built-in Analytics πŸ“ˆ

Let your users know that you use cookies, and track their page views and events with the built-in analytics Enterprise feature.

Done

  • βœ… Add Component: GDPR cookie consent page and banner
  • βœ… Analytics - Log page views
  • βœ… Analytics - Log button clicks
  • βœ… Option to verify the email
  • βœ… Blacklist username, domains and IP
  • βœ… Use Supabase API for file storage (RowValueMedia)

Added issues

  • βŒ› Image uploader component with drag and drop sorting
  • βŒ› Profile Tabs needs to be hidden if a user does not have rights
  • βŒ› Manage Application Command Palette from the Admin portal
  • βŒ› Set up screen for first time install
  • βŒ› Delete Account β†’ Delete Stripe Customers
  • βŒ› Show/Hide Crisp chatbot
  • βŒ› Option to verify the email
  • βŒ› Upload images to a third party provider such as S3 ?
  • βŒ› Register page for tenant members at /:tenant-slug/register
  • βŒ› Entities β†’ media option standardize file name
  • βŒ› Registration β†’ Filter emails
  • βŒ› Hierarchy relationship view
  • βŒ› Simple Notifications System
  • βŒ› Workflow State change Notifications
  • βŒ› Onboarding Steps
  • βŒ› Activate/deactivate a tenant
  • βŒ› Filter the last accounts that have logged in
  • βŒ› Public tenant profile, e.g. saasrock.com/tenant-1
  • βŒ› News block at /app/:tenant/dashboard
  • βŒ› Create Tenants and Users manually (From /admin) with or without Email notifications
  • βŒ› Sign Up Flows
  • βŒ› Blacklist username, domains and IP
  • βŒ› Get usage API
  • βŒ› App Configuration
  • βŒ› Deployment Flags
  • βŒ› Old stripe subscription is not cancelled on subscription upgrade or downgrade
Learn more

SaasRock v0.4.0 - Events and Webhooks

Use the Events to log essential data and use Webhooks to customize your business logic within internal or external webhooks.

Done

  • βœ… Events and Webhooks
  • βœ… Property Attributes in separate model + UI Tests
  • βœ… Property options with description
  • βœ… HTML attributes Mix, Min, Rows, Rows, DefaultValue for certain Property Types

Added issues

  • βŒ› Manage API entities as administrator
Learn more

SaasRock v0.3.2 - Row Filters, Tags, Tasks, Comments, Workflows, Kanban Board and API limits

The entity builder just got stronger with a lot of new features for every created Row. Plus a kanban board component and API limits based on the account's subscription.

Done

  • βœ… Entity Row Filters by URL, Tags, Tasks, Comments, and Workflow
  • βœ… URL filters for /admin/accounts,users,roles,permissions
  • βœ… Upgrade remix to 1.6
  • βœ… No se pueden asignar imΓ‘genes a un campo de una entidad si hay varios campos de imΓ‘genes
  • βœ… Update Guide
  • βœ… API Key Limits should have configurable interval
  • βœ… Enable no expiration for API Keys
  • βœ… Plan Limits for API Keys and Usage
  • βœ… Entity Details Views: Page (default) and Modal
  • βœ… Entity Form Views: Page (default) and Modal
  • βœ… Entity List Views: Table and Kanban board (with Pagination?, show/hide columns, default filters…)
  • βœ… Dashboard β†’ Entity stat
  • βœ… Add Module: Workflows with Custom Forms and Custom Fields

Added issues

  • βŒ› Admin should be able to manually change the plan for all accounts
  • βŒ› Single Sign On
  • βŒ› Missing the currency on the pricing
  • βŒ› Improve Registration/Onboarding
  • βŒ› Limit the users (anti-scraping)
  • βŒ› Affiliate Management
  • βŒ› Deploy with Docker
  • βŒ› Use Supabase API for file storage (RowValueMedia)
  • βŒ› Entities Import & Export CSV
Learn more

Roles, Permissions, Groups, and Row-level visibility

Added admin and application Roles & Permissions for page views and actions. Added application Groups and Row-level visibility - only you, public, or share with account members, groups, or specific users.

Done

  • βœ… Add Page: Roles and User roles
  • βœ… Add Page: Object-level permissions (Create, Read, Update, Delete)
  • βœ… Rename the 'tenant' nomenclature to 'account'

Added issues

  • βŒ› API Key Limits should have configurable interval
  • βŒ› Custom code
  • βŒ› Parallelize database calls
Learn more

Entity Builder + Per-seat Plans + Docs

Custom Entities with Autogenerated Views/Forms and API. Integrate with other apps using Webhooks. Added the PER_SEAT pricing model. Added /documentation pages.

Done

  • βœ… Rebranding
  • βœ… Testimonials
  • βœ… Upcoming Features
  • βœ… Pricing CTA
  • βœ… Newsletter
  • βœ… Entity Builder
  • βœ… Autogenerated Views and Forms
  • βœ… Autogenerated API
  • βœ… Entity Webhooks
  • βœ… Plan Entity Limits
  • βœ… Per-seat Pricing Model
  • βœ… Documentation

Added issues

  • βŒ› Enable no expiration for API Keys
  • βŒ› Plan Limits for API Keys and Usage
  • βŒ› Entity Details Views: Page (default) and Modal
  • βŒ› Entity Form Views: Page (default) and Modal
  • βŒ› Entity List Views: Table and Kanban board (with Pagination?, show/hide columns, default filters…)
  • βŒ› TopBanner per-page manager, e.g. Pre-launch pricing!
  • βŒ› Log button clicks
  • βŒ› Log page views
  • βŒ› Let the Admin change the Tenant/Account alias, e.g. Company
  • βŒ› More entity property variants
  • βŒ› Table: Query text with URL debounce
  • βŒ› Feedback page: Let tenants submit and vote ideas, e.g. feedback.canny.io
  • βŒ› Documentation β†’ how to gen icons
  • βŒ› Dashboard β†’ Entity stat
  • βŒ› Create API Key as User -> 404
  • βŒ› Better design for login and registration
  • βŒ› CRUD for blog authors and categories
  • βŒ› Add dynamic translations
  • βŒ› A table to log the IPs of the tenants
  • βŒ› Portuguese translations
  • βŒ› German translations
  • βŒ› Add Plan Feature Limit: Usage-based
  • βŒ› French translations
  • βŒ› Open API / Swagger Spec Generation
  • βŒ› Blog Content Editor
  • βŒ› Carry Dark / Light Theme Through to App
  • βŒ› SEO - schema.org and sitemap
  • βŒ› Social Auth & Magic Link
Learn more

Blogging

Added /blog, /blog/:slug, /admin/blog and /admin/blog/new.

Done

  • βœ… Add Page: Blog
Learn more

Custom Pricing Plans builder

Now you can create subscription plans with: Title, Badge, Description, Features, and Monthly/Yearly Price.

Done

  • βœ… Create custom pricing plans
  • βœ… Delete a Tenant as Admin

Added issues

  • βŒ› Epic Feature: Entity Builder
Learn more

Tenant on URL

Now you can access the tenant with the URL, and added App/Admin Command palettes, Dashboards, and User events.

Done

  • βœ… Remove TenantSelector and WorkspaceSelector and have {tenantId}/{workspaceId} on the URL
  • βœ… Extend command palette
  • βœ… Add Page: Admin dashboard with indicators
  • βœ… Tenant with their own alias instead of cuid on the URL
  • βœ… Add user activity logs
  • βœ… Modify Subscriptions on Tenants as Admin

Added issues

  • βŒ› Feature flags
  • βŒ› Add Module (a minimal version): Support Desk
  • βŒ› Add Module (a minimal version): CRM
  • βŒ› Add Module (a minimal version): Email
  • βŒ› Add multiple Admin users
  • βŒ› API Keys for end-users
Learn more

Vercel deployment + i18n

Demo deployed on Vercel, and added Locale Selector, Page Loading component and more.

Done

  • βœ… Vercel deployment not translating with remix-i18next
  • βœ… Implement a global loading component
  • βœ… Display Stripe invoices
  • βœ… Add a locale dropdown
  • βœ… Mobile site not responsive
  • βœ… Translate meta titles
  • βœ… Add /admin/accounts table columns: Workspace, User and Contracts count, Plan, and Revenue

Added issues

  • βŒ› Upgrade to React 18
  • βŒ› Make fewer database calls
  • βŒ› Add Component: GDPR cookie consent page and banner
  • βŒ› Add Module: Workflows with Custom Forms and Custom Fields
  • βŒ› Add Page: Blog
  • βŒ› Remove TenantSelector and WorkspaceSelector and have {tenantId}/{workspaceId} on the URL
  • βŒ› Add Page: Roles and User roles
  • βŒ› Add Page: Object-level permissions (Create, Read, Update, Delete)
  • βŒ› Remove Postmark hard-coded dependency
Learn more

We respect your privacy.

TLDR: We use cookies for language selection, theme, and analytics. Learn more.