July 25th, 2024 - v1.3.0 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
May 31st, 2024 - v1.2.0 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 β
#365 : β 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 β
#367 : π¨ 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
April 12th, 2024 - v1.1.0 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
March 1st, 2024 - v1.0.1 SaasRock v1.0.1 π - Code generator is back The 'Yes-code' generator for the Entity Builder has returned.
Done β
π¨ Entity Builder: Code generator
February 1st, 2024 - v0.9.5 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 β
#344 : π¨ Entities: Added RowValue createdAt and updatedAt β
#343 : π¨ Entities: Skip delete permission check if SuperUser β
#346 : π¨ Entities: Fix custom tenant properties (not updating values) β
#345 : π¨ API Logs: Fixed status color with ApiCallStatusBadge β
#349 : π¨ Pricing: Subscription cache issue β
#347 : π¨ Pricing: Pricing package reset or accumulate features β
#348 : π¨ Pricing: Settings > Subscription : incorrect currency β
#350 : π¨ 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
January 5th, 2024 - v0.9.4 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 β
#339 : π¨ Optimize the loading of api logs β
#334 : π¨ Hardcoded FAQ values Learn more
December 11th, 2023 - v0.9.3 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 β
#204 : π¨ API limits β email: sends notification to βadmin-usersβ channel β
#305 : π¨ Table API Logs: Implemented Group by API calls screen β
#322 : π¨ Load page API Logs: Fixed keys loading API calls β
#323 : π¨ API access for unpaid invoices: Throws 429 status if open invoice β
#327 : π¨ Bug subscription one-time: Users can now subscribe multiple times β
#333 : π¨ Register - Email checker β
#331 : π¨ π Upgrade Openai library Learn more
November 27th, 2023 - v0.9.2 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 β
#327 : π¨ Bug subscription one-time β
#326 : π¨ If tenant deactivated, disable API keys β
#325 : π¨ Knowledge base responsive β
#312 : π¨ Article Order Set to 0 on saveΒ β
#313 : π« Cancelled: Yes-Code bug with entities that have a space in the nameΒ β
#314 : π« Cancelled: Code generator does not use form groupsΒ β
#315 : π« Cancelled: Help text not added to formΒ β
#316 : π« 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
June 3rd, 2023 - v0.8.8 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...) β
#304 : π¨ Yes-Code: Multi-select missing in generated files β
#302 : π¨ Multiselect attribute not added to Yes-Code Helper β
#303 : π¨ Row Form Number Input cannot clear β
#272 : π¨ Footer Block needs translations β
#268 : π¨ Edit entity give wrong path... β
#264 : π¨ ActionResultModal no way to set title Learn more
May 22th, 2023 - v0.8.7 SaasRock v0.8.7 π - Tenant Types & Relationships Enable multiple account types like Teacher and Student, where Teachers can access Student's accounts.
Done β
#295 : API Get account info β
#293 : Improve Loader Speed - useAppData getTenant β
#279 : Code 429 /api/usage
May 7th, 2023 - v0.8.6 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 β
#94 : β 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
April 30th, 2023 - v0.8.5 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
April 12th, 2023 - v0.8.4 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 (Click here to show images) β
#19 : 1. β Feature: Feature Flags β
#28 : 2. π¨ GitHub Issue: Add Admin users from Dashboard β
#147 : 3. π¨ GitHub Issue: Deactivate Account β
#68 : 4. π¨ GitHub Issue: Tenant IP Logging β
#148 : 5. π¨ GitHub Issue: Filter Users by Last Login Learn more
April 4th, 2023 - v0.8.3 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 (Click here to show images) β
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
Dec 8th, 2022 - v0.8.0 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 β
#166 : Use baseURL instead environment variable everywhere β
#167 : Log email data to console when sending email β
#168 : Don't require Stripe for signing up β
#169 : Change ^1.6.3 to 1.6.3 remix version β
#170 : fix contributing CLA link β
#171 : Run prettier in 320 files β
#172 : Novu integration β
#174 : Entity Builder 2.0, CRM 2.0, and Email Marketing π β
#175 : Row createdBy deleted? β
#176 : added rows default column: createdByUser β
#178 : Custom Entity Views with custom property order & visibility β
#179 : migration: entity_view_created_fields β
#180 : Table β Overlay of tags β
#182 : Favicon Guide + SaasRock Favicon β
#183 : Fixes 180, 181 and 154 β
#186 : Remove duplicated no-code and email-marketing loaders and actions β
#187 : Google SSO β
#192 : Bug: CRM entities fields cannot be edited after creation
Added issues β #164 : Remove TenantUserType, it's confusing now that there are granular permissions β #173 : Ability to add members to the entity β #181 : Table β Btn download attachment β #184 : Linked account Rows not displaying β #185 : Feature: Entity Properties that are unique β #188 : Discord SSO β #189 : Replacing process.env.APP_NAME with appconfig.app.name β #190 : Bug: Cannot add parent to child with no dynamic properties β #191 : Bug: Entity Property Name does not show correct value in Form β #193 : Feature: Entity Property Format β #194 : Feature: Entity Property Value calculated from formula β #195 : Import .csv (remove null columns) β #196 : isSuperUser and isSuperAdmin use same test β #197 : Feature: Ability to create new users from Admin β #198 : Feature: Update entities via any mass editor method β #199 : Feature: Mass Update Rows β #200 : Bug? SSO should work for invited users β #201 : Bug: tenant users can see too many permissions β #202 : Filters β Set a checkbox for boolean attributes β #203 : Allow Webhooks to have relative URL β #204 : API limits β email β #205 : Bug: db.RowTask.findMany does not like createdByUser β #206 : Bug: Import Entities wrong Permissions created β #207 : API endpoint to know who owns the row Learn more
Nov 1st, 2022 - v0.7.0 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.
Sep 12, 2022 - v0.6.0 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 (Click here to show images) β
#64 : Add Plan Feature Limit: Usage-based β
#106 : Missing the currency on the pricing β
#127 : Profile Tabs needs to be hidden if a user does not have rights β
#130 : Delete Account β Delete Stripe Customers β
#142 : Registration β Filter emails β
#152 : Sign Up Flows β
#158 : Old stripe subscription is not cancelled on subscription upgrade or downgrade β
#161 : Tiered pricing
Added issues (Click here to show images) β #161 : Tiered pricing β #162 : Entity table order by Learn more
Jul 19, 2022 - v0.5.0 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 (Click here to show images) β
#9 : Add Component: GDPR cookie consent page and banner β
#86 : Analytics - Log page views β
#87 : Analytics - Log button clicks β
#132 : Option to verify the email β
#153 : Blacklist username, domains and IP β
#115 : Use Supabase API for file storage (RowValueMedia)
Added issues (Click here to show images) β #126 : Image uploader component with drag and drop sorting β #127 : Profile Tabs needs to be hidden if a user does not have rights β #128 : Manage Application Command Palette from the Admin portal β #129 : Set up screen for first time install β #130 : Delete Account β Delete Stripe Customers β #131 : Show/Hide Crisp chatbot β #132 : Option to verify the email β #136 : Upload images to a third party provider such as S3 ? β #137 : Register page for tenant members at /:tenant-slug/register β #141 : Entities β media option standardize file name β #142 : Registration β Filter emails β #143 : Hierarchy relationship view β #144 : Simple Notifications System β #145 : Workflow State change Notifications β #146 : Onboarding Steps β #147 : Activate/deactivate a tenant β #148 : Filter the last accounts that have logged in β #149 : Public tenant profile, e.g. saasrock.com/tenant-1 β #150 : News block at /app/:tenant/dashboard β #151 : Create Tenants and Users manually (From /admin) with or without Email notifications β #152 : Sign Up Flows β #153 : Blacklist username, domains and IP β #154 : Get usage API β #155 : App Configuration β #157 : Deployment Flags β #158 : Old stripe subscription is not cancelled on subscription upgrade or downgrade Learn more
Jul 11, 2022 - v0.4.0 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 (Click here to show images) β
#125 : Events and Webhooks β
#123 : Property Attributes in separate model + UI Tests β
#121 : Property options with description β
#120 : HTML attributes Mix, Min, Rows, Rows, DefaultValue for certain Property Types
Added issues (Click here to show images) β #124 : Manage API entities as administrator Learn more
Jul 03, 2022 - v0.3.2 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 (Click here to show images) β
#119 : Entity Row Filters by URL, Tags, Tasks, Comments, and Workflow β
#118 : URL filters for /admin/accounts,users,roles,permissions β
#117 : Upgrade remix to 1.6 β
#110 : No se pueden asignar imΓ‘genes a un campo de una entidad si hay varios campos de imΓ‘genes β
#107 : Update Guide β
#101 : API Key Limits should have configurable interval β
#93 : Enable no expiration for API Keys β
#92 : Plan Limits for API Keys and Usage β
#91 : Entity Details Views: Page (default) and Modal β
#90 : Entity Form Views: Page (default) and Modal β
#89 : Entity List Views: Table and Kanban board (with Pagination?, show/hide columns, default filtersβ¦) β
#78 : Dashboard β Entity stat β
#11 : Add Module: Workflows with Custom Forms and Custom Fields
Added issues β #104 : Admin should be able to manually change the plan for all accounts β #105 : Single Sign On β #106 : Missing the currency on the pricing β #109 : Improve Registration/Onboarding β #111 : Limit the users (anti-scraping) β #113 : Affiliate Management β #114 : Deploy with Docker β #115 : Use Supabase API for file storage (RowValueMedia) β #116 : Entities Import & Export CSV Learn more
Jun 18, 2022 - v0.2.7 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 (Click here to show images) β
#14 : Add Page: Roles and User roles β
#15 : Add Page: Object-level permissions (Create, Read, Update, Delete) β
#52 : Rename the 'tenant' nomenclature to 'account'
Added issues (Click here to show images) β #101 : API Key Limits should have configurable interval β #96 : Custom code β #94 : Parallelize database calls Learn more
May 31, 2022 - v0.2.6 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 (Click here to show images) β
Rebranding β
Testimonials β
Upcoming Features β
Pricing CTA β
Newsletter β
#41 : Entity Builder β
Autogenerated Views and Forms β
Autogenerated API β
Entity Webhooks β
Plan Entity Limits β
Per-seat Pricing Model β
Documentation
Added issues β #93 : Enable no expiration for API Keys β #92 : Plan Limits for API Keys and Usage β #91 : Entity Details Views: Page (default) and Modal β #90 : Entity Form Views: Page (default) and Modal β #89 : Entity List Views: Table and Kanban board (with Pagination?, show/hide columns, default filtersβ¦) β #88 : TopBanner per-page manager, e.g. Pre-launch pricing! β #87 : Log button clicks β #86 : Log page views β #85 : Let the Admin change the Tenant/Account alias, e.g. Company β #84 : More entity property variants β #83 : Table: Query text with URL debounce β #82 : Feedback page: Let tenants submit and vote ideas, e.g. feedback.canny.io β #80 : Documentation β how to gen icons β #78 : Dashboard β Entity stat β #76 : Create API Key as User -> 404 β #72 : Better design for login and registration β #71 : CRUD for blog authors and categories β #69 : Add dynamic translations β #68 : A table to log the IPs of the tenants β #66 : Portuguese translations β #65 : German translations β #64 : Add Plan Feature Limit: Usage-based β #63 : French translations β #60 : Open API / Swagger Spec Generation β #59 : Blog Content Editor β #56 : Carry Dark / Light Theme Through to App β #55 : SEO - schema.org and sitemap β #45 : Social Auth & Magic Link Learn more
April 28, 2022 - v0.2.5 Blogging Added /blog, /blog/:slug, /admin/blog and /admin/blog/new.
Done (Click here to show images) Learn more
April 19, 2022 - v0.2.3 Custom Pricing Plans builder Now you can create subscription plans with: Title, Badge, Description, Features, and Monthly/Yearly Price.
Done (Click here to show images) β
#40 : Create custom pricing plans β
#37 : Delete a Tenant as Admin
Added issues β #41 : Epic Feature: Entity Builder Learn more
April 12, 2022 - v0.2.2 Tenant on URL Now you can access the tenant with the URL, and added App/Admin Command palettes, Dashboards, and User events.
Done (Click here to show images) β
#13 : Remove TenantSelector and WorkspaceSelector and have {tenantId}/{workspaceId} on the URL β
#18 : Extend command palette β
#23 : Add Page: Admin dashboard with indicators β
#24 : Tenant with their own alias instead of cuid on the URL β
#27 : Add user activity logs β
#30 : Modify Subscriptions on Tenants as Admin
Added issues β #19 : Feature flags β #20 : Add Module (a minimal version): Support Desk β #21 : Add Module (a minimal version): CRM β #22 : Add Module (a minimal version): Email β #28 : Add multiple Admin users β #29 : API Keys for end-users Learn more
April 4th, 2022 Vercel deployment + i18n Demo deployed on Vercel, and added Locale Selector, Page Loading component and more.
Done (Click here to show images) β
#1 : Vercel deployment not translating with remix-i18next β
#2 : Implement a global loading component β
#3 : Display Stripe invoices β
#4 : Add a locale dropdown β
#5 : Mobile site not responsive β
#10 : Translate meta titles β
#17 : Add /admin/accounts table columns: Workspace, User and Contracts count, Plan, and Revenue
Added issues (Click here to show images) β #6 : Upgrade to React 18 β #7 : Make fewer database calls β #9 : Add Component: GDPR cookie consent page and banner β #11 : Add Module: Workflows with Custom Forms and Custom Fields β #12 : Add Page: Blog β #13 : Remove TenantSelector and WorkspaceSelector and have {tenantId}/{workspaceId} on the URL β #14 : Add Page: Roles and User roles β #15 : Add Page: Object-level permissions (Create, Read, Update, Delete) β #16 : Remove Postmark hard-coded dependency Learn more