ContentBuilder.js 5.6.5
- Miscellaneous fixes & adjustments.

ContentBuilder.js 5.6.4
- New AI Code Chat.
- New Slider plugin.
- Miscellaneous fixes & adjustments.

ContentBuilder.js 5.6.3
- Updated Accordion/FAQ plugin.
- Updated runtime library to support advanced plugins.
- Miscellaneous fixes & adjustments.

ContentBuilder.js 5.6.2
- Plugin updates (/assets/plugins)
- Miscellaneous fixes & adjustments.

ContentBuilder.js 5.6.1
- New runtime library for ContentBuilder-generated content.
- New plugin system. Example: 
    
        public/example-plugins.html
        
- New parameters to simplify configuration:
    - autoSave
    - filePicker
    - filePickerSize
    - uploadFile
- Improved Button templates.
- Miscellaneous fixes & adjustments.
- Updated documentation.

ContentBuilder.js 5.6
- Support for AI media generation (images, video, and audio).
    Obtain API keys from Fal.ai and update the .env file.
    Refer to readme.txt to try the examples.
- Smoother editing experiences and miscellaneous fixes.

ContentBuilder.js 5.5.37
- Miscellaneous fixes: button template, translation, and snippets.

ContentBuilder.js 5.5.36
- Updated examples.
- Drag & drop multiple file upload fixes in Slider and Media Grid module.
- Minor updates (media grid style adjustment, WAV audio embed, etc).

ContentBuilder.js 5.5.35
- Drag & drop image embed.
- Base64 image upload is no longer used; standard upload will be used instead.
- Dictation in AI Assistant panel is hidden by default. To enable, set enableDictation to true during ContentBuilder initialization.
- The default value for snippetModal is now set to true. If you prefer the old snippets sidebar, set snippetModal to false.
- New metadata option added. Metadata value will be included in each API request (e.g., sendCommandUrl, textToImageUrl)
    let builder = new ContentBuilder({
        //..
        metadata: {
            appId: 5 // your custom data
        },
    });
- Miscellaneous fixes.

ContentBuilder.js 5.5.34
- Added a form block to snippets.
- Added option to disable lightbox on media grid (gallery).
- Drag & drop multiple file upload in Slider and Media Grid module settings.

ContentBuilder.js 5.5.33
- New blocks.
- Miscellaneous fixes.

ContentBuilder.js 5.5.32
- Form module enhancements (more elements and controls)
- Miscellaneous fixes.

ContentBuilder.js 5.5.31
- OpenRouter support. See the updated readme.txt.
- Miscellaneous fixes & adjustments.

ContentBuilder.js 5.5.30
- Form Module Enhancements:
    - Added support for selecting submission types: JSON submission or Standard form submission.
    - Integrated lightweight form protection with an invisible input field (name: reference_code) 
      using a honeypot approach to help block unwanted submissions.
      You can check this field on the server-side endpoint and block submissions if the field is not empty.
    - Option to enable reCAPTCHA v2. To activate, simply provide a Site Key in the settings.

ContentBuilder.js 5.5.29
- Fixed Form submission

ContentBuilder.js 5.5.28
- New AI Form Generator feature
  To enable this feature, specify the sendCommandUrl parameter:

        const builder = new ContentBuilder({
            // ...
            sendCommandUrl: '/sendcommand',
        });

  (see readme.txt on using the AI Assistant).
- Form Builder fixes

ContentBuilder.js 5.5.27
- Fixed required fields (Form Builer)

ContentBuilder.js 5.5.26
- New Form Builder (Form block).
  To view or enable the form, add the following JS and CSS includes:

    <link href="assets/scripts/formviewer/formviewer.css" rel="stylesheet">
    <script src="assets/scripts/formviewer/formviewer.min.js"></script>

  The form supports custom actions. You can also use Formspree (https://formspree.io/).
  Simply specify the form action in the Settings dialog, and your form will be ready.

- Miscellaneous fixes.

ContentBuilder.js 5.5.25
- Fixed Canvas mode print (removed unwanted spacing)
- New parameters: 
    - elementMoreButtons (configures "More" popover buttons for elements)
    - columnMoreButtons (configures "More" popover buttons for columns)
    - rowMoreButtons (configures "More" popover buttons for rows)
    - quickAddButtons (configures "Quick Add snippet" popover buttons)
    - noSnippets (hides the "Quick Add snippet" "More" button)

    These parameters can be used to simplify controls during editing.

    Example usage:

        const builder = new ContentBuilder({
            container: '.container',

            columnTool: false, // hide column tool
            // columnMoreButtons: ['moveleft', 'moveright', 'moveup', 'movedown', 'increase', 'decrease', 'duplicate'],
            elementMoreButtons: ['moveup', 'movedown', 'duplicate'],
            rowMoreButtons: ['moveup', 'movedown', 'duplicate'],
            
            quickAddButtons: ['paragraph', 'headline', 'image', 'list', 'heading1', 'heading2', 'heading3', 'heading4', 'quote', 'preformatted', 'map', 'youtube', 'video', 'audio',  'icon', 'svg', 'table', 'social', 'code', 'spacer', 'line'],

            noSnippets: true,
            
            // Example of simpler toolbar button configuration
            // that removes livepreview, preferences, and zoom buttons:

            buttons: ['bold', 'italic', 'underline', 'formatting', 'color',  'align', 'textsettings', 'createLink', 'tags', '|', 'undo', 'redo',  'aiassistant', 'more'],  
            buttonsMore: ['icon', 'svg', 'image', '|', 'list', 'font',  'formatPara', '|', 'html'], 
            elementButtons: ['left', 'center', 'right', 'full' , 'undo',  'redo', 'aiassistant', 'more'],  
            elementButtonsMore: ['|', 'html'], 
            iconButtons: ['icon', 'color','textsettings', 'createLink','|', 'undo', 'redo', 'aiassistant', 'more'],  
            iconButtonsMore: ['html'], 
        });

- Miscellaneous fixes.


ContentBuilder.js 5.5.24
- Updated element tools UI.
- Miscellaneous fixes.

ContentBuilder.js 5.5.23
- Improved AI image generation (now supports FLUX.1 Schnell model).
  To enable the model, please specify the 'imageModel' parameter:

    let builder = new ContentBuilder({

        imageModel: 'flux-schnell',

    });

- Updated server side endpoints for supporting the new models:
    - Node.js: (/texttoimage and /controlnet)
        - server.js
    - PHP:
        - public/api/texttoimage.php

- Click-to-edit on Canvas mode blocks.
- Updated Color Picker (now accepts up to 35 predefined colors).
- Fixed lightbox captions on mobile.
- Miscellaneous fixes.

ContentBuilder.js 5.5.22
- Added Muted option in embed video dialog.
- Fixed removed style when applying list.
- Miscellaneous fixes.

ContentBuilder.js 5.5.21
- Miscellaneous fixes.

ContentBuilder.js 5.5.20
- Improved text editing to maintain selection even if the mouse or touch event ends outside the editable area.

ContentBuilder.js 5.5.19
- Improved text editing to maintain selection even if the mouse or touch event ends outside the editable area.

ContentBuilder.js 5.5.18
- Miscellaneous fixes & adjustments.

ContentBuilder.js 5.5.17
- Fixed an issue where the modal would suddenly close when using the new color picker.
- Miscellaneous fixes.

ContentBuilder.js 5.5.16
- Enhanced the gradient picker.
- Updated the gallery module to allow videos to be clickable and open in a lightbox.
- Miscellaneous fixes.

ContentBuilder.js 5.5.15
- Updated the Color Picker.
- Added a Gallery snippet.
- Updated snippets.
- Miscellaneous fixes.

ContentBuilder.js 5.5.14
- Introduced new Lightbox.
- Enabled SVG selection when using Files.js Asset Manager.
- Miscellaneous fixes.

ContentBuilder.js 5.5.13
- Fixed an issue where the AI Assistant was not working when clearPreferences was set to true.

ContentBuilder.js 5.5.12
- Introduce the 'defaultHeaders' parameter for use in applications that need to specify 
  certain headers when sending requests to server endpoints.
  Example:

    const builder = new ContentBuilder({
        //...
        defaultHeaders:  {
            'X-CSRF-TOKEN': '[TOKEN]',
            'Content-Type': 'application/json'
        }
    });

  These headers will be used for working with server endpoints 
  (e.g., when using an AI Assistant or Asset Manager).

ContentBuilder.js 5.5.11
- Excluded the 'Symbol' insert from the default plugins to reduce script blocking and improve performance. 
  The 'Symbol' plugin can be re-added by setting the 'plugins' parameter as follows:

    const builder = new ContentBuilder({
        plugins: [
            ...
            { name: 'symbols', showInMainToolbar: true, showInElementToolbar: false }
        ]
    });

- Miscellaneous fixes.

ContentBuilder.js 5.5.10
- Miscellaneous fixes.

ContentBuilder.js 5.5.9
- Updated the Code View module to support text wrapping.
- Updated the block CSS (block.css) for canvas mode.
- Miscellaneous fixes.

ContentBuilder.js 5.5.8
- Added a link URL input for each slide in the Slider Settings dialog.
- Miscellaneous fixes.

ContentBuilder.js 5.5.7
- Minor fixes

ContentBuilder.js 5.5.6
- Fixed copy-paste image block.
- Miscellaneous fixes.

ContentBuilder.js 5.5.5
- Prevented blocks from moving outside the canvas.
- Miscellaneous fixes.

ContentBuilder.js 5.5.4
- Miscellaneous fixes.

ContentBuilder.js 5.5.3
- Miscellaneous fixes.

ContentBuilder.js 5.5.2
- Miscellaneous fixes.

ContentBuilder.js 5.5.1
- Miscellaneous fixes.

ContentBuilder.js 5.5
- New Canvas Mode (free positioning of blocks). Example: example-canvas.html
- New Code View snippet.
- Miscellaneous fixes.

ContentBuilder.js 5.4.3
- Typography style adjustment on content.css
- Miscellaneous fixes.

ContentBuilder.js 5.4.2
- Introduced SVG insert functionality.
- Miscellaneous fixes.

ContentBuilder.js 5.4.1
- Miscellaneous fixes.

ContentBuilder.js 5.4
- Introducing the new AI Assistant (refer to readme.txt for details).
- New icons and fonts search functionality.
- New draggable snippet panel. To enable, use the following code:

    const builder = new ContentBuilder({
        container: '.container',
        snippetModal: true,
        // snippetModalLeft: true,
    });

- Miscellaneous fixes & improvements.
- Updated readme.txt.

ContentBuilder.js 5.3.14
- Updated snippets dropdown
- Miscellaneous fixes

ContentBuilder.js 5.3.13
- Updated system font selection
- Miscellaneous fixes

ContentBuilder.js 5.3.12
- Fixed paste issues

ContentBuilder.js 5.3.11
- Improved paste operation
- Added a button for manually refreshing a module
- Improved overall performance
- Miscellaneous fixes

ContentBuilder.js 5.3.10
- Fixed circular image resizing responsive issue.
- Improved compatibility when using ContentBuilder within an iframe.
  Updated example: example1-iframe2.html
- Miscellaneous fixes

ContentBuilder.js 5.3.9
- Fixed issue with using ContentBuilder with an iframe.
  Updated example: example1-iframe2.html

ContentBuilder.js 5.3.8
- Fixed the videoSelect parameter (now able to hide the video select button)

ContentBuilder.js 5.3.7
- Added a new button to open the asset/image picker from the selected image.
- Added parameters to configure dialog size:

  const builder = new ContentBuilder({
      container: '.container',

      imageSelectWidth: '88vw',
      imageSelectHeight: '88vh',
      fileSelectWidth: '88vw',
      fileSelectHeight: '88vh',
      videoSelectWidth: '88vw',
      videoSelectHeight: '88vh',
      audioSelectWidth: '88vw',
      audioSelectHeight: '88vh',
      mediaSelectWidth: '88vw',
      mediaSelectHeight: '88vh',

      imageSelectMaxWidth: '1600px',
      fileSelectMaxWidth: '1600px',
      videoSelectMaxWidth: '1600px',
      audioSelectMaxWidth: '1600px',
      mediaSelectMaxWidth: '1600px',
      otherSelectMaxWidth: '1600px',

      codeEditorWidth: '80vw',
      codeEditorHeight: '80vh',
      codeEditorMaxWidth: '1600px',

      blockCodeEditorWidth: '80vw',
      blockCodeEditorHeight: '45vh',
      blockCodeEditorMaxWidth: '960px',
  });
  
- Fixes & adjustments

ContentBuilder.js 5.3.6
- New parameter: deleteConfirm (default: false)
- Updated PHP example
- Fixed animation not running on Live Preview
- Fixed column resize for module/custom block
- Other fixes and adjustments

ContentBuilder.js 5.3.5
- Flexible column resizing for default grid
- Adding DIV in Paragraph option
- Fix pasteHtmlAtCaret() method
- Other fixes

ContentBuilder.js 5.3.4
- Fix modules not showing on Live Preview window
- Other fixes

ContentBuilder.js 5.3.3
- Fix live preview resize (to make smooth) 

ContentBuilder.js 5.3.2
- Live Preview quick update
- Columns per Line for different screen sizes in Row Settings dialog
- Reverse Columns in Row Settings dialog
- Fixes & enhancements

ContentBuilder.js 5.3.1
- Fixes (Fix Live Preview error & adjust window display/z-index)

ContentBuilder.js 5.3
- New Live Preview. To open, click the 'Live Preview' button on the toolbar.
  Optional:
    To configure Live Preview window, use the following new parameters:
    - previewStyle: 'top:auto;bottom:50px;left:50px;right:auto;'  (can be used to adjust the initial position)
    - livePreviewOpen: true (to automatically open Live Preview window on first load)
    - previewURL: 'preview.html' (to specify custom preview page for Live Preview - sample preview.html provided)
- New Row Settings dialog
- New Text Slider block
- New in Preferences Settings dialog:
    - Toolbar Visibility settings
    - Toolbar Position: Top (Full Width) => new option
    - HTML View: Shorten HTML or Actual
- New in Column Settings dialog: Column Visibility settings
- New in Element panel: Background Image settings, Grayscale checkbox, Element Visibility settings & more
- Improved Slider block (mobile settings, pause on hover option, caption animation options)
- Improved drag drop blocks (easier to position)
- Updated examples
- Fixes

ContentBuilder.js 5.2.9
- Fix drag & drop issue

ContentBuilder.js 5.2.8
- Fix button bg color saving

ContentBuilder.js 5.2.7
- New 'Hide Column on Mobile' on Column Settings dialog
- webp image support
- Updated Button Editor: padding top & bottom
- Fixes
   
ContentBuilder.js 5.2.6
- Improved performance
- Fixes

ContentBuilder.js 5.2.5
- New parameters for file/document upload:
  - fileHandler (Form method)
  - onFileUpload (AJAX method)
  If used, file upload button will be visible on the Hyperlink dialog
- Remove duplicate line break in source view/editor
- New 'Hide Column on Mobile' checkbox on the Column Settings dialog
- Fix paste text to preserve line break
- Fixes

ContentBuilder.js 5.2.4
- Improved Slider settings (arrow & dots color)
- Video support for slider
- Updated snippets (contact forms)
- Quick access asset manager/dialog from column settings
- Fixes

ContentBuilder.js 5.2.3
- Add 16xx9 option for image crop
- Button editor adjustments with new templates
- Fixes

ContentBuilder.js 5.2.2
- New font weight settings (on the Text Settings dropdown).
  To hide: set simpleTextSettings: true.
- Fixes

ContentBuilder.js 5.2.1
- New lightbox arrow to open previous or next media.
  New Parameter: lightboxArrow (default: true)
- Fixes

ContentBuilder.js 5.2
- Iframe support. 
  Try the examples: 
    - public/example1-iframe.html
    - public/example1-iframe2.html
- Drag to resize column.
  New Parameter: enableDragResize (default: true)
- Fixes

ContentBuilder.js 5.1.8
- Fix show pop bug
- Fix & improve block sorting and drag & drop (DONE)

ContentBuilder.js 5.1.7
- Bug fixes

ContentBuilder.js 5.1.6
- New audio block
- Fix onRender not triggered

ContentBuilder.js 5.1.5
- Improved accessibility support
- Improved editing performance
- CDN support for module files
- Updated code editor
- Updated button editor
- New shortcut info dialog. To open: CMD+/
- Snippets css update:
  assets/minimalist-blocks/content.css
- Fixes

ContentBuilder.js 5.1.4
- Update button editor color picker
- Snippets css update:
  assets/minimalist-blocks/content.css
- Fix column content alignment not applied

ContentBuilder.js 5.1.3
- Fix adding custom block error
- New Contact Form Snippets can be enabled from:
  minimalit-blocks/content.js
  Note: contact form requires end point to receive the submitted form
- Snippets css update:
  minimalit-blocks/content.css
- Fixes

ContentBuilder.js 5.1.2
- Fix paste

ContentBuilder.js 5.1.1
- Fixes

ContentBuilder.js 5.1
- Cleaner HTML output (class-based formatting, less inline styles)
- Improved button editor
- New example using Tailwind css framework
- Fix image embed orientation bug
- Other fixes

ContentBuilder.js 5.0.4
- Fix paste problem
- Other fixes

ContentBuilder.js 5.0.3
- Add more font sizes on the toolbar
- Fix image crop preview size
- Fix two buttons position in a cell/column
- Fix button edit not visible in cell/column
- Fix initial theme load problem
- Other fixes

ContentBuilder.js 5.0.2
- Fix Uppercase & Italic formatting
- Fix spacer that makes a cell uneditable
- New image/media browser example: assets.html
- New params: mediaHandler, onMediaUpload, returnUrl 
- Updated themes
- Basic snippets update
- Insert HTML5 Video (mp4)
- New params: videoHandler, onVideoUpload
- Toolbar for Icon (hide uneeded buttons on icon click)
- New params: iconButtons, iconButtonsMore
- Fix preview plugin
- Fix Button text editing
- Other fixes & adjustments
- Updated README.md & pdf documentation
- Updated React & Vue examples

ContentBuilder.js 5.0.1
+ Fix font selection style not refreshed after changing color theme
+ Fix lightbox opened before column locked

ContentBuilder.js 5.0
+ New Column Settings
+ Lock/Unlock Column
+ Built-in Lightbox to open Image, Video (mp4), Youtube
+ New Color Themes
+ New Zoom Control
+ New Documentation: https://innovastudio.com/docs/contentbuilder.pdf
+ Beautify Code View
+ Fixes
+ For Source Code Package (Super License):
  + scss files (to customize, create custom themes)
  + npm start (to run the ContentBuilder on live server, make code change and see the result immediately)

ContentBuilder.js 4.1.7
- New param: maxEmbedImageWidth (to specify maximum width of the embedded image). 
  See the updated readme.txt.
- New params/method to programmatically upload images:
    - onLargerImageUpload
    - applyLargerImage()
    - saveImages()
  See the updated readme.txt.
- Fix button editable inside non editable column
- Fix translation

ContentBuilder.js 4.1.6
- Updated React and Vue example (using axios to upload image, programmatically load snippets file and language file)
- New loadSnippets() method to load snippets programmatically
- Add image select option on Link input in image dialog (if imageSelect param or onImageSelectClick specified)
- Prevent unwanted click (that clears controls & selection) while slider (color opacity) is still in use.
- Fix loadHtml() method to be able to run custom Code block
- Fix adding snippet as element issue
- Fix incorrect type & quality on image embed
- Other fixes 

ContentBuilder.js 4.1.5
- Updated dependencies

ContentBuilder.js 4.1.4
- Fix curcular image resizing
- Fix toolbar dissapear in wrong selection
- Fix destroy
- Fix embedding image
- Fix onAdd event not triggered
- Other fixes 

ContentBuilder.js 4.1.3
- Fix onAdd not triggered
- Fix snippets' circular image
- Fix button editing issues in email mode
- Fix quick add block on empty content still displaying 'Left' & 'Right'
- Other fixes 

ContentBuilder.js 4.1.2
- Fix image embed orientation
- Fix image resize
- Fix toolbar on multiple paragraph selection
- Updated readme.txt: see elementButtons & elementButtonsMore, links on snippet module & plugin development
- Other fixes

ContentBuilder.js 4.1.1
- Fix add snippet as element problem (ex. Map, Video)
- Fix onChange not triggered on drag to sort 
- Fix problem embedding same image twice
- Updated readme.txt ( new parameters: elementButtons & elementButtonsMore )

ContentBuilder.js 4.1
- Refined UI
- New/updated snippets
- Updated language files
- Change auto hide toolbar with button show/hide (easier to align image and perform undo/redo)
- Fix fileSelect dialog bug
- Fix PNG transparent embed & crop problem
- Fix some buttons that cause form submit
- Fix apply text color problem in IE11
- Fix insert link problem in IE11 & Edge
- Fix onChange not triggered
- Fix paste problem on Safari
- Other fixes

ContentBuilder.js 4.0.14
- Update dropdown snippet
- Fix relative image URL (prevent being converted to absolute)
- Fix button editor class cleanup
- Fix font size on email blocks css (content.css)
- Other fixes

ContentBuilder.js 4.0.13
- Fix drag & drop snippet (lost focus) problem in Safari
- Fix add snippet error on column (left/right) in an empty area
- Fix failed image upload after cropping
- Other fixes (z-index of image crop dialog, list style, color picker)

ContentBuilder.js 4.0.12
- Remove unwanted pixel on top left of screen
- Add public undo() & redo() methods (See readme.txt)
- Other fixes (data-fixed image attribute, translation)

ContentBuilder.js 4.0.11
- Updated email blocks (assets/email-blocks) & font list for usage in email application

ContentBuilder.js 4.0.10
- Fix image resize bugs (incorrect dimension)
- Fix preferences' parameters on first load problem
- Fix browser compatibility issues (font, symbol plugins, image resize)
- Fix button editor plugin bugs (doesn't trigger onChange, failed to undo/redo)
- Fix insert icon bug
- Other important fixes
- Updated snippets (fix layout problem)
- Updated readme for source code version

ContentBuilder.js 4.0.9
- Fix destroy() issue
- Update example1.html (adding some example methods)

ContentBuilder.js 4.0.8
- Fix tool style & outline style options
- Clean empty class on HTML output
- Add width attribute on image resize (email mode)
- Fix PHP image handler example
- Fix unwanted scroll during paste
- Fix incorrect inspected element on element panel
- Fix embed image for small images
- Fix adding column next to custom code/module snippet
- Other important fixes (IE support, image resize, tooltip, email mode)

ContentBuilder.js 4.0.7
- Fix element tool positioning during editing
- Hide element tool during editing
- Fix image control positioning after edding an image (on element level)
- Fix unable to insert same image twice
- Fix uneditable content after inserting a button (on element level)
- Enable scrolling during block dragging
- Fix CTRL-A selection that select the entire content
- Fix toolbar dissapear during undo redo
- Re-arrange toolbar button (list & text setting)
- Other fixes

ContentBuilder.js 4.0.6
- Responsive image resizer
- Snippets adjustment 
- Fixes

ContentBuilder.js 4.0.5
- Fix onChange event
- Fix viewHtml that cannot render/run custom code snippet after applied
- Fix image embed progress incorrect position
- Fix color picker text input problem
- Fix bootstrap grid columns building 
- Updated language files
- More font selections
- Improved undo redo
- Other fixes

ContentBuilder.js 4.0.4
- Undo redo fix & improvement
- New preference: Snippets sidebar visibility
- Other fixes

ContentBuilder.js 4.0.3
- Fix element inspect
- Other fixes

ContentBuilder.js 4.0.2
- Fix Colum Tool positioning during editing
- Fix appylying font on text selection

ContentBuilder.js 4.0.1
- Undo redo fix & improvement
- Minor fixes

ContentBuilder.js 4.0
- Rewritten in pure Javascript
