From 7e33e033cd4bb5969bcead291e8c16e941882da8 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Mon, 18 Aug 2025 13:20:34 +0200 Subject: [PATCH 01/10] docs: update AGENTS.md to include enterprise guidelines (#12213) - Update agent.md to include enterprise guidelines --- AGENTS.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index ad374799c..e3b022a2e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -55,4 +55,21 @@ ## Ruby Best Practices -- Use compact `module/class` definitions; avoid nested styles \ No newline at end of file +- Use compact `module/class` definitions; avoid nested styles + +## Enterprise Edition Notes + +- Chatwoot has an Enterprise overlay under `enterprise/` that extends/overrides OSS code. +- When you add or modify core functionality, always check for corresponding files in `enterprise/` and keep behavior compatible. +- Follow the Enterprise development practices documented here: + - https://chatwoot.help/hc/handbook/articles/developing-enterprise-edition-features-38 + +Practical checklist for any change impacting core logic or public APIs +- Search for related files in both trees before editing (e.g., `rg -n "FooService|ControllerName|ModelName" app enterprise`). +- If adding new endpoints, services, or models, consider whether Enterprise needs: + - An override (e.g., `enterprise/app/...`), or + - An extension point (e.g., `prepend_mod_with`, hooks, configuration) to avoid hard forks. +- Avoid hardcoding instance- or plan-specific behavior in OSS; prefer configuration, feature flags, or extension points consumed by Enterprise. +- Keep request/response contracts stable across OSS and Enterprise; update both sets of routes/controllers when introducing new APIs. +- When renaming/moving shared code, mirror the change in `enterprise/` to prevent drift. +- Tests: Add Enterprise-specific specs under `spec/enterprise`, mirroring OSS spec layout where applicable. From 67d7ee018535dbe6298a50f53d3ee4207204ee63 Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Mon, 18 Aug 2025 21:40:13 +0530 Subject: [PATCH 02/10] feat: Add full change log to profile (#12215) **Preview** CleanShot 2025-08-18 at 19 48 37@2x --- .../sidebar/SidebarProfileMenu.vue | 17 +++++++++++++---- .../dashboard/i18n/locale/en/settings.json | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/javascript/dashboard/components-next/sidebar/SidebarProfileMenu.vue b/app/javascript/dashboard/components-next/sidebar/SidebarProfileMenu.vue index 5f7fa0755..36aad75d0 100644 --- a/app/javascript/dashboard/components-next/sidebar/SidebarProfileMenu.vue +++ b/app/javascript/dashboard/components-next/sidebar/SidebarProfileMenu.vue @@ -86,6 +86,15 @@ const menuItems = computed(() => { nativeLink: true, target: '_blank', }, + { + show: true, + showOnCustomBrandedInstance: false, + label: t('SIDEBAR_ITEMS.CHANGELOG'), + icon: 'i-lucide-scroll-text', + link: 'https://www.chatwoot.com/changelog/', + nativeLink: true, + target: '_blank', + }, { show: currentUser.value.type === 'SuperAdmin', showOnCustomBrandedInstance: true, @@ -114,7 +123,7 @@ const allowedMenuItems = computed(() => { - + + Date: Wed, 20 Aug 2025 15:45:19 +0200 Subject: [PATCH 09/10] fix(migrations): skip AddFeatureCitationToAssistantConfig on OSS (#12244) --- ...20250808123008_add_feature_citation_to_assistant_config.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/db/migrate/20250808123008_add_feature_citation_to_assistant_config.rb b/db/migrate/20250808123008_add_feature_citation_to_assistant_config.rb index e1f5c3f03..d5b037ec6 100644 --- a/db/migrate/20250808123008_add_feature_citation_to_assistant_config.rb +++ b/db/migrate/20250808123008_add_feature_citation_to_assistant_config.rb @@ -1,5 +1,7 @@ class AddFeatureCitationToAssistantConfig < ActiveRecord::Migration[7.1] def up + return unless ChatwootApp.enterprise? + Captain::Assistant.find_each do |assistant| assistant.update!( config: assistant.config.merge('feature_citation' => true) @@ -8,6 +10,8 @@ class AddFeatureCitationToAssistantConfig < ActiveRecord::Migration[7.1] end def down + return unless ChatwootApp.enterprise? + Captain::Assistant.find_each do |assistant| config = assistant.config.dup config.delete('feature_citation') From c6113852d7debd064272800f65468f3d86472920 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Wed, 20 Aug 2025 16:23:38 +0200 Subject: [PATCH 10/10] Bump version to 4.5.1 --- config/app.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/app.yml b/config/app.yml index c9b08cd07..cc7233c18 100644 --- a/config/app.yml +++ b/config/app.yml @@ -1,5 +1,5 @@ shared: &shared - version: '4.5.0' + version: '4.5.1' development: <<: *shared diff --git a/package.json b/package.json index 441dcbd90..8dc6b2565 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@chatwoot/chatwoot", - "version": "4.5.0", + "version": "4.5.1", "license": "MIT", "scripts": { "eslint": "eslint app/**/*.{js,vue}",