com_componentbuilder
component
3.2.5
- Fix Save failed issue in dynamicGet. #1148
- Fix Checked Out to be null and not 0. (#1194)
- Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194)
- Fix the noticeboard to display Llewellyn's Joomla Social feed
- Add [AllowDynamicProperties] in the base view class for J5
- Added new import powers for custom import of spreadsheets.
- Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues.
- Add the DateHelper class and improve the date methods.
- Add simple SessionHelper class.
- Add first classes for the new import engine.
- Update the trashhelper layout to work in Joomla 5.
- Update all core date fields in table class. (#1188)
- Update created_by, modified_by, checked_out fields in table class.
- Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run.
- Move the _prepareDocument above the display call in the base view class
- Move the setDocument and _prepareDocument above the display in the site view and custom admin view.
- Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]
- Improve the [VDM Registry] to be Joomla Registry Compatible
- Move all registries to the [VDM Registry] class
- Implementation of the decentralized Super-Power CORE repository network. (#1190)
com_componentbuilder
component
4.2.0
- Fix Power namespace reconstruction to correctly preserve custom aliases and apply NamespacePrefix and ComponentNamespace placeholders.
- Fix duplicate Compile button submissions that could start concurrent builds and cause intermittent folder creation or deletion errors. #1318
- Fix Extrusion self-compilation by preserving runtime marker literals and align import authorization with native view-access permissions.
- Fix API record creation when IDs and GUIDs are omitted, generate record keys on the server, and preserve existing GUIDs during updates.
- Fix API item and list model selection, including resource names with irregular plural forms.
- Fix API read permissions to support read-only users and return native JSON:API access-denied responses instead of administrator redirects.
- Fix cross-site scripting risks in generated views through corrected text sanitization, Joomla-native HTML escaping, and field escape settings.
- Fix edit-own permission bypasses by checking stored record ownership and applying field permissions to the record being saved.
- Fix subform updates that could overwrite or reassign records belonging to another parent.
- Fix generated IIS library access configuration and add missing index.html files to compiled folders.
- Fix JCB Search to prevent matching records from being skipped when processing successive batches.
- Fix compilation of database-aware Joomla 4 modules caused by a missing utility class import.
- Fix CLI repository resolution to report unresolved repository GUIDs without triggering a fatal error.
- Fix PHP warnings when the compiler's placeholder report contains no results.
- Fix toolbar generation when descriptions are missing or null.
- Restore language strings and compiler placeholders in imported code, field XML, view markup, and SQL.
- Add a dedicated Extrusion view for importing existing Joomla components and PHP libraries into JCB.
- Add PHP class harvesting into JCB Powers, including automatic class matching and dependency linking.
- Add import pairing with Create, Update, and Skip controls, dry runs, and per-record change previews.
- Add Repair Existing Power Namespaces with automatic matching and namespace-only updates that preserve class code, GUIDs, and settings.
- Add API_ROUTES and API_ROUTES_METHOD placeholders for linked webservices plugins, supporting routes by record ID, GUID, and unique fields.
- Add read-only API resources for supported Site Views and Custom Admin Views using their existing Dynamic Gets.
- Detect unchanged records and avoid unnecessary writes during repeated Extrusion runs.
- Protect Extrusion imports against ambiguous matches, conflicting compiler paths, and stale change previews.
- Refactor the Power parser to use PHP's native lexer for reliable handling of modern syntax, multiline declarations, and complex types.
- Preserve original source line endings when compiler processing leaves the content unchanged.
- Unify component-folder and SQL-dump extrusion through a single engine.
- Improve SQL schema reconstruction to preserve column types, defaults, keys, indexes, and table configuration.
- Improve field imports to preserve XML settings, options, GUID relationships, and storage formats without double-encoding subform data.
- Reuse shared field definitions across views and preserve existing customizations during repeated imports.
- Improve Site View and Custom Admin View discovery, template recovery, and Dynamic Get relationships.
- Improve Power discovery performance with component-scoped matching, dependency indexes, and reusable parsing.
- Improve Extrusion error reporting and recovery after interrupted import requests.
- Improve the Extrusion interface with folder pickers, grouped filtering, bulk selection, responsive layouts, and a dedicated dashboard icon.
- Replace execution of imported SQL with static parsing and validate source paths without executing imported PHP.
- Complete JSON:API generation for API-enabled Admin Views, including CRUD operations, relationships, filtering, pagination, and field-level permissions.
- Include generated API files in component manifests so they are installed with compiled components.
- Strengthen file upload and deletion permissions with ownership and component permission checks.
- Block unsafe URL schemes in Markdown links and images.
- Use cryptographically secure randomness for generated passwords and upload names, and sanitize uploaded filenames.
- Complete extraction of generated-code logic from the legacy Fields, Interpretation, and Infusion helpers into dedicated compiler services.
- Consolidate shared compiler logic across Joomla versions while retaining version-specific generation where required.
com_componentbuilder
component
5.2.0
- Fix Power namespace reconstruction to correctly preserve custom aliases and apply NamespacePrefix and ComponentNamespace placeholders.
- Fix duplicate Compile button submissions that could start concurrent builds and cause intermittent folder creation or deletion errors. #1318
- Fix Extrusion self-compilation by preserving runtime marker literals and align import authorization with native view-access permissions.
- Fix API record creation when IDs and GUIDs are omitted, generate record keys on the server, and preserve existing GUIDs during updates.
- Fix API item and list model selection, including resource names with irregular plural forms.
- Fix API read permissions to support read-only users and return native JSON:API access-denied responses instead of administrator redirects.
- Fix cross-site scripting risks in generated views through corrected text sanitization, Joomla-native HTML escaping, and field escape settings.
- Fix edit-own permission bypasses by checking stored record ownership and applying field permissions to the record being saved.
- Fix subform updates that could overwrite or reassign records belonging to another parent.
- Fix generated IIS library access configuration and add missing index.html files to compiled folders.
- Fix JCB Search to prevent matching records from being skipped when processing successive batches.
- Fix compilation of database-aware Joomla 4 modules caused by a missing utility class import.
- Fix CLI repository resolution to report unresolved repository GUIDs without triggering a fatal error.
- Fix PHP warnings when the compiler's placeholder report contains no results.
- Fix toolbar generation when descriptions are missing or null.
- Restore language strings and compiler placeholders in imported code, field XML, view markup, and SQL.
- Add a dedicated Extrusion view for importing existing Joomla components and PHP libraries into JCB.
- Add PHP class harvesting into JCB Powers, including automatic class matching and dependency linking.
- Add import pairing with Create, Update, and Skip controls, dry runs, and per-record change previews.
- Add Repair Existing Power Namespaces with automatic matching and namespace-only updates that preserve class code, GUIDs, and settings.
- Add API_ROUTES and API_ROUTES_METHOD placeholders for linked webservices plugins, supporting routes by record ID, GUID, and unique fields.
- Add read-only API resources for supported Site Views and Custom Admin Views using their existing Dynamic Gets.
- Detect unchanged records and avoid unnecessary writes during repeated Extrusion runs.
- Protect Extrusion imports against ambiguous matches, conflicting compiler paths, and stale change previews.
- Refactor the Power parser to use PHP's native lexer for reliable handling of modern syntax, multiline declarations, and complex types.
- Preserve original source line endings when compiler processing leaves the content unchanged.
- Unify component-folder and SQL-dump extrusion through a single engine.
- Improve SQL schema reconstruction to preserve column types, defaults, keys, indexes, and table configuration.
- Improve field imports to preserve XML settings, options, GUID relationships, and storage formats without double-encoding subform data.
- Reuse shared field definitions across views and preserve existing customizations during repeated imports.
- Improve Site View and Custom Admin View discovery, template recovery, and Dynamic Get relationships.
- Improve Power discovery performance with component-scoped matching, dependency indexes, and reusable parsing.
- Improve Extrusion error reporting and recovery after interrupted import requests.
- Improve the Extrusion interface with folder pickers, grouped filtering, bulk selection, responsive layouts, and a dedicated dashboard icon.
- Replace execution of imported SQL with static parsing and validate source paths without executing imported PHP.
- Complete JSON:API generation for API-enabled Admin Views, including CRUD operations, relationships, filtering, pagination, and field-level permissions.
- Include generated API files in component manifests so they are installed with compiled components.
- Strengthen file upload and deletion permissions with ownership and component permission checks.
- Block unsafe URL schemes in Markdown links and images.
- Use cryptographically secure randomness for generated passwords and upload names, and sanitize uploaded filenames.
- Complete extraction of generated-code logic from the legacy Fields, Interpretation, and Infusion helpers into dedicated compiler services.
- Consolidate shared compiler logic across Joomla versions while retaining version-specific generation where required.
com_componentbuilder
component
6.1.2
- Fix the template and layout linker for packages.
- Fix auto-check(in) method for Joomla 4/5 compatibility
- Fix Custom Rule Validation Bug
- Fix issues in the site view HtmlView caused by the refactor, including missing class calls and outdated function references.
- Fix issue where the DatabaseSchemaCheckAll pulled all Component Builder tables into DB on install. #1253
- Fix issue in the Dynamic Get when the value key is 0 it wouldn't add the 'WHERE' statement to the generated code. #1254
- Fix issue where custom powers was not added to PowerloaderHelper. #1256
- Fix normalization issue when compiling on Windows systems. #1219
- Fix installer issue on Joomla 6 where components containing multiple plugins failed during installation.
- Add Joomla 6 build option
- Add native module builder for Joomla 4/5
- Add Joomla 6 build option :)
- Adds check to ensure expert mode subforms in the Demo Component remain set and unchanged when user lacks edit permissions
- Add functionality to add component changelog into the package if configured.
- Add extra xml details to Modules built with JCB that adds advance options to the module. #1248
- Add a default VARCHAR(36) length to easily create fields intended to store GUID values.
- Refactor dynamic get methods into dedicated classes
- Refactores event handling (contentPrepare, titlePrepare, contentBeforeDisplay, contentAfterDisplay) to use Joomla 5's native event dispatcher via the model's new getDispatcher() method.
- Updates table classes to properly support NULL values, both in the store() method and in table variable definitions. #1245
- Refactors the Compiler Model by dropping deprecated calls and adopting Joomla 5+ conventions
- Refactors Compiler Controller to remove deprecated usage and follow Joomla 5+ best practices
- Refactor PHP classes for building HTML view files in admin and site views to align with Joomla 5+ standards.
- Change radio buttons with a empty option to save Datatype CHAR instead of TINYINT as other radio buttons. #1252
- Refactor compiler Move file update to classes.
- Refactor compiler Move plugin and module fields and rules files mover to classes.
- Completely refactors the Compiler Dashboard to align with Joomla 5+ architecture and Bootstrap 5 standards.
- Update the file uploader in the Demo Component for more dynamic file display and naming.
- Update the SQL file dump generator to handle large SQL dumps in batches, ensuring safe and reliable database imports.
- Update example hints in the field expert mode options.
- Remove setDocumentTitle method from the admin view since it is not being used by Joomla. #1255
- Move Joomla DB handling into compiler injector flow
- Migrates view HTML classes to use getModel() directly instead of the deprecated magic get() calls to model methods.
- Extractes the setAutoCheckIn() and setCheckInCall() logic into a dedicated CheckInNow class for cleaner design.
- Replace all direct $app->input property calls with the recommended $app->getInput() method across the entire codebase.
- Unpublish Joomla 6 Backward Compatibility Plugin
- Improves validation handling of Fields by ensuring field validation rules are properly registered
- Replace StringHelper with the correct Super Power key so it loads in the Compiler Controller
com_componentbuilder
component
6.1.3
- Fix a security vulnerability in custom code redirect URL validation.
- Stability update addressing a post-release field issue. #1262
- Add an alert to the Compiler view when no Components exist. #1263
com_componentbuilder
component
6.1.4
- Enhanced security in edit views by moving access validation into the model, ensuring protection even when Joomla bypasses the controller layer.
- Fix the linked [new] button to use the correct init_default params.
- Fix the Components list view to better display long website urls.
- Fix language text area css. #1264
- Add fix for empty currentFullPath in the Structuresingle class.
- Fix the buildSelectPart method to not access an empty select value in the Queries class.
- Fix that ensure that we always load and int into loadUserById.
- Fix the subform permission behaviour to use removeField.
- Fixed linked admin views with New and New & Close buttons to correctly initialize fields using global unique IDs and default conventions.
- Fixed a bug caused by missing option settings in the model configuration.
- Fix permission issue in the list view. #1266
- Fix php8.3 deprecation warnings in compiler templates. #1265
- Fix an issue where the Email Helper send() function was executed twice.
- Fix a issue where layouts added to the PHP Ajax Model were not loaded during compilation.
- Fix the Compiler success message to display both build seconds and project weeks.
- Fix bug in the search editor in JCB Search Engine.
- Fix issue where Custom Gets linked to a Site view did not ship correctly with JCB packages. #1272
- Fix issue where the Icon linked to a Custom Admin Menu did not ship with JCB packages. #1271
- Fix and Improve Normalize Class to better handle different files Linked to JCB packages. #1274
- Fix an issue with the JCB version notice on Joomla 5.
- Fix an issue where components without a component image failed to compile successfully. #1282
- Fix issue where the Language Translations export button was not displayed due to recent toolbar changes.
- Fix a bug that caused language filters to malfunction because of a broken field configuration. #1278
- Fix issue where components without a layout added to the Component failed to compile correctly. #1132
- Resolved missing language strings when linked admin views are also configured as site edit views.
- Add functionality for importing translated language strings directly into the Language Translations area of JCB.
- Add version 6 to the version 5 update server, for easier upgrade path.
- Added user access verification logic in the model to prevent unauthorized direct item loading.
- Add options for overriding default toolbars in all Admin, Site, and Custom Admin Views. #1268
- Add method to unify getDatabase handling across Joomla versions and prevent undefined method calls. #1270
- Add new functionality to the toolbar override system, enabling the inclusion of custom buttons via placeholders.
- Add Development Valuation Model to calculate JCB component pricing.
- Add functionality to push JCB packages to Self hosted Git system that uses a self signed SSL.
- Add functionality that will include Validation Rules linked to fields in JCB packages. #1273
- Add a Pull button to all main JCB entities, allowing a complete reset of a selected entity together with all entities linked to it, from a selected remote repository.
- Add functionality to the compiler to automatically pull missing entities from a remote repository when they are referenced by a component but not present locally in JCB.
- Add new Compiler Classes to modernise ancient tech previously embedded in the compiler and replace it with a clean, modern architecture.
- Add a dedicated CLI plugin to the JCB core, enabling direct interaction with JCB through the Joomla CLI console.
- Add structured CLI commands and options to Init, Reset, Push, and Pull JCB entities via the Joomla CLI.
- Add full support for compiling Components directly via the CLI, enabling automated and headless build workflows.
- Add functionality to place Super Power classes into the component src folder for both Admin and Site areas, using the correct namespaced structure.
- Add functionality to the CLI compiler to directly install compiled components and apply compiler options used during compilation.
- Add functionality to the compiler to automatically pull a missing component from a remote repository when a compilation is triggered and the component is not locally available.
- Add functionality to add and replace classes in module and plugin src folders that are linked to a component, when using correct namespace resolution.
- Add a Documentation tab to the Joomla Component Builder dashboard.
- Refactor the JS selText method.
- Refactored the view class to introduce a class constructor that initializes key dependencies more reliably.
- Began aligning the view class structure with Joomla 6's updated MVC architecture for future compatibility.
- Updated and refined the site view class for greater consistency with backend view logic.
- Refactor the list view buttons.
- Refactor the getActions helper method.
- Refactor toolbar into version specific classes to resolve getToolbar errors. #1267
- Refactor and enhance the JCB Email Helper class for a more robust and maintainable design.
- Refactor and Improve Router Helper Class to new standard Site Router practice.
- Refactor and Improve JCB Search engine for better searching of JCB areas.
- Refactor Utilities/Response classes for Joomla 6+ compatibility and improved version-agnostic behavior.
- Refactor the File Upload Manager to achieve improved maintainability, greater customization flexibility, and easier extensibility.
- Refactor the Item Importer to improve data management, structural clarity, and long-term maintainability of the import process.
- Refactor the Packaging Engine into separate set and get classes to improve separation of concerns, readability, and overall maintainability.
- Refactor and restructure the demo console item import plugin to improve usability, maintainability, and reusability across other areas of JCB.
- Refactor the Compiler to remove deprecated code paths and legacy classes that are no longer maintained.
- Remove batch feature from JCB compiler Templates due to lack of use and outdated code.
- Corrected misconfiguration of the isModal property for site-linked views to default to false since modals are not yet supported on the site area.
- Improved initialization handling in the view to reduce dependency errors during rendering.
- Continued progressive improvements across view classes to ensure compatibility with Joomla's evolving MVC patterns.
- Rename Custom Buttons tab to Toolbar for clearer grouping of toolbar functions. #1268
com_componentbuilder
component
6.1.5
- Fix variable name mismatch for organization in the Network Resolve class. #1291
- Fix issue where Admin Field relations using custom code did not automatically include multiple fields as expected. #1293
- Fix issue where Admin Field relations did not correctly apply concatenation/glue options. #1294
- Fix deprecated warnings triggered in the JCB CLI.
- Fix resolve PHP syntax errors and PHP 8.4 deprecations across codebase.
- Fix four fatal parse/compile errors.
- Fix implicit nullable parameter deprecations.
- Refactor Compiler functions to improve maintainability and align with modern PHP coding best practices.
- Refactor the JCB Dashboard, introducing a modernized layout, improved usability, and full responsiveness across desktop, tablet, and mobile devices.
com_componentbuilder
component
6.1.6
- Fix the Field edit view to ensure full compliance with Joomla 6 standards and updated UI/UX conventions.
- Fix deprecated JText usage in Admin Custom Tabs area for Joomla 5+ compatibility. #1302
- Fix snippet loading for Joomla 6, improving reliability and removing legacy UIkit dependencies during migration.
- Add Health Check buttons to the JCB Compiler and Component list view to verify system PHP configuration.
- Add the Toolbar Custom Buttons subform to the Global Subform settings for improved usability and presentation.
- Complete Bootstrap 5 refactor of all primary views and core UI.
- Refactor the JavaScript waiting spinner to use solid, native JavaScript with improved page-loading handling.
- Continue phased removal of UIkit with full transition planned for upcoming releases.
- Remove all manually linked Bootstrap v4 assets from the component.
- Begin migration from UIkit to Bootstrap 5 to align JCB with Joomla 6+ standards.
- Introduced strict version-aware compilation to ensure libraries are only included when explicitly defined for Joomla 6.
- Disabled automatic UIkit injection for Joomla 6, preventing auto-loading across custom admin views, site views, templates, and layouts.
- Migrate Search view for J6 to use Bootstrap and Joomla-native HTML and JavaScript.
- Improve subform ordering fields for clearer display and better readability.
com_componentbuilder
component
6.2.0
- Fix Power namespace reconstruction to correctly preserve custom aliases and apply NamespacePrefix and ComponentNamespace placeholders.
- Fix duplicate Compile button submissions that could start concurrent builds and cause intermittent folder creation or deletion errors. #1318
- Fix Extrusion self-compilation by preserving runtime marker literals and align import authorization with native view-access permissions.
- Fix API record creation when IDs and GUIDs are omitted, generate record keys on the server, and preserve existing GUIDs during updates.
- Fix API item and list model selection, including resource names with irregular plural forms.
- Fix API read permissions to support read-only users and return native JSON:API access-denied responses instead of administrator redirects.
- Fix cross-site scripting risks in generated views through corrected text sanitization, Joomla-native HTML escaping, and field escape settings.
- Fix edit-own permission bypasses by checking stored record ownership and applying field permissions to the record being saved.
- Fix subform updates that could overwrite or reassign records belonging to another parent.
- Fix generated IIS library access configuration and add missing index.html files to compiled folders.
- Fix JCB Search to prevent matching records from being skipped when processing successive batches.
- Fix compilation of database-aware Joomla 4 modules caused by a missing utility class import.
- Fix CLI repository resolution to report unresolved repository GUIDs without triggering a fatal error.
- Fix PHP warnings when the compiler's placeholder report contains no results.
- Fix toolbar generation when descriptions are missing or null.
- Restore language strings and compiler placeholders in imported code, field XML, view markup, and SQL.
- Add a dedicated Extrusion view for importing existing Joomla components and PHP libraries into JCB.
- Add PHP class harvesting into JCB Powers, including automatic class matching and dependency linking.
- Add import pairing with Create, Update, and Skip controls, dry runs, and per-record change previews.
- Add Repair Existing Power Namespaces with automatic matching and namespace-only updates that preserve class code, GUIDs, and settings.
- Add API_ROUTES and API_ROUTES_METHOD placeholders for linked webservices plugins, supporting routes by record ID, GUID, and unique fields.
- Add read-only API resources for supported Site Views and Custom Admin Views using their existing Dynamic Gets.
- Detect unchanged records and avoid unnecessary writes during repeated Extrusion runs.
- Protect Extrusion imports against ambiguous matches, conflicting compiler paths, and stale change previews.
- Refactor the Power parser to use PHP's native lexer for reliable handling of modern syntax, multiline declarations, and complex types.
- Preserve original source line endings when compiler processing leaves the content unchanged.
- Unify component-folder and SQL-dump extrusion through a single engine.
- Improve SQL schema reconstruction to preserve column types, defaults, keys, indexes, and table configuration.
- Improve field imports to preserve XML settings, options, GUID relationships, and storage formats without double-encoding subform data.
- Reuse shared field definitions across views and preserve existing customizations during repeated imports.
- Improve Site View and Custom Admin View discovery, template recovery, and Dynamic Get relationships.
- Improve Power discovery performance with component-scoped matching, dependency indexes, and reusable parsing.
- Improve Extrusion error reporting and recovery after interrupted import requests.
- Improve the Extrusion interface with folder pickers, grouped filtering, bulk selection, responsive layouts, and a dedicated dashboard icon.
- Replace execution of imported SQL with static parsing and validate source paths without executing imported PHP.
- Complete JSON:API generation for API-enabled Admin Views, including CRUD operations, relationships, filtering, pagination, and field-level permissions.
- Include generated API files in component manifests so they are installed with compiled components.
- Strengthen file upload and deletion permissions with ownership and component permission checks.
- Block unsafe URL schemes in Markdown links and images.
- Use cryptographically secure randomness for generated passwords and upload names, and sanitize uploaded filenames.
- Complete extraction of generated-code logic from the legacy Fields, Interpretation, and Infusion helpers into dedicated compiler services.
- Consolidate shared compiler logic across Joomla versions while retaining version-specific generation where required.