Changelog
Last updated
Last updated
Config loader is rewritten [Details]
This version comes with backward incompatible changes.
Database configs throws exception if conenction setting couldn't be found.
MySQL global and connection-specific configuration support is added.
Custom Queries can return results. [Details]
MySQL 8.0 compability update
MySQL 8.0 compability update
butterfly
notification provider is added for forgotten passwords
readonly function is added for ObjectSpec migration
readonly mode is added for not-changelable object fields
Object Logs module is added to listing page
Performance improvements for Object Logs Module
Bugfix: Login page not working without refreshing the page after wrong password entry.
id
and item_id
fields are restricted for updates. (It doesn't change even if there are object specs)
Added session storage check to bin/butterfly health-check
command
Updated error message for secure password when SSL config in app/Config/security.php
and Request Type doesn't match
Bugfix: Approve Request emails cannot be send when there are special characters in change text
Added Static Pages and Object Subpages to usage information in Design Edit page
On page editing mode is added
Report View and Export are improved. It limits results to 500 in preview mode and exports to CSV instead of XLSX when record count is more than 10.000
cache()
function is added for multiple cache driver usage. [Details]
cache
and registry
functions are added to Database Queries [Details]
raw
function is added to Database Queries for statements like CURRENT_TIMESTAMP()
[Details]
forSharedLock
and forUpdateLock
functions are added for Database Locking on MySQL Database. [Details]
bin/butterfly search:update
command is added to update elastic index for specific object types.
Bugfix on Item Relation Ordering
bin/butterlfy console
command is added
Decreased Content Pool Release Date check intervals from 5 minutes to 1 minute
Improvement on Object Logs. It logs when a user deletes a record
Improvement in Item Relations. It logs when a user adds or delete a relation
"Login Expired" error that occurs when using multiple servers with different session storages is fixed.
Migrations are updated not to alter larger columns to smaller once. If ID column is updated to bigint, it won't be reverted back to id column anymore.
Custom endpoint and Proxy support is added to S3 File Storage
Linked Dropdown Optimization for Nested Field Types
Add New Option is added for Tag Field Type
Added searchable support on ElasticSearch for Tag Field Type
Last X Days hit updater command is added bin/butterfly search:stats
Pinned Items
feature is added to Streams
LinkedDropdown Support for DropdownFieldType Bulk Data Import
Condition type is added to Permission Exceptions. [Details will be added]
Improvement for search:reindex
command to add ID to error logs.
admin:menus:check
command is added to relate admin menus to objects for permission management.
CMD
.
(or CTRL
+ .
for windows) Quick Search Menu now matches table names and Objects. (It was searching just in Admin Menus before.)
You can filter multiple values in Integer field types using comma seperated filter.
config:cache:clear
command is added to clean Config cache after production deployments.
cookie
twig:filter is added.
Redirect check for 404 url's is updated to prevent redirecting to same URL if the url is not found to prevent infinite loop.
Frontend
.not_found
Event is added to be able to manipulate results of 404 pages. (Example: Redirecting 404 pages to another page.)
Updated AJAX response for Expired Sessions. It returns 401 status code and a message instead of trying to redirect the request.
MAX File Size support is added to File Uploads
bin/butterfly connection:test
command is added to test connectivity of a server.
SFTP Permission Improvement for NFS Environments.
Nested field type supports Folder List field types now.
APCU
support is added
Improvement on Nested Field Sorting.
Hotfix on MySQL Select Queries. Fixed queries returning '*' and aliased columns.
Added AMP Cache Invalidation feature, for example usage please read after_save hook details.
Added new data field validation for accessibility. It checks field has img and anchor tags with required alt and title attributes.
Improved hierarchy data field.
Updated webp generator command.
Added app name to elasticsearch alert email subject.
Image Crop Improvement. Minimum image size restrictio is disabled on cropping when Restrict Minimum is disabled for File Storage.
Column Based Permissions for Draft Mode is added.
Fixed a bug for Many to Many Relation Filters
Object List Improvement for Tag Field Type.
Fixed a bug causing Object List pagination not displaying correctly for pages bigger than 1.
Image Processing optimisation: Source Image is not oriented if it doesnt need.
Image Size Limit is added to Image Configs.
Enable Debug Mode is added to Admin Panel to enable Debug Mode on Production.
Hotfix for Multiple Database Configurations for Objects.
Pagination fix for Object List filters on Admin Panel.
Remove button for One to Many relations is added to Admin Panel.
BulkImageUpload
after_add
Hook is added.
Total count optimisation is enabled for tables having more than 10.000 records. (It was 1.000.000 before)
Bugfix for Object Spec Management Screen.
Many to Many relations improvement. It now uses tag field type for better performance when there is thousands of child records.
Draft Mode is added for Objects. When enabled, only users with Approve permission can publish changes.
Preview Mode is added
Auth Support is added for Redis Queue Workers
mailer:test
command is added to bin/butterfly
Added support Dropdown field type override from app
folder
CSV Load improvements
ElasticSearch field limit is increased to 10.000
Object Listing filter improvements
datetime_mysql field type defaults to NULL instead of "0000-00-00 00:00:00"
app/Widget/Cms/ directory is added for overriding Butterfly Core Widget Templates
Added Pagination widget to Butterfly Core
bin/butterfly health-check
command is added to check environment configs.
CmsObject->refreshItemsByEntityIds function is added.
refreshItem methods automatically add redirections now.
File upload endpoint added for Butterfly Api.
Sms integration updated.
Webp support added to manipulated images.
design widgets - drag & drop fix for nested fields
design widgets - new line character fix for textarea_with_editor in nested fields
fixed a bug causing elastic search queries with boolean value not working as expected
HTTPS Redirection to outside domains support is added for Redirect Maps.
Fixed a bug causing false security errors on Login
Fixed a bug causing object duplication while updating existing Objects
Updated Object Import to allow imports if column exists but doesn't show in Admin
Rest API Module is added
Cms Image Upload API is added
Cms Login API is added
Fixed bug on Designs Permissions for Non-Administrator Users.
Passive Method is added for FTP Connections
Fixed a bug on Bulk Edits that prevents data's to be set from Hooks.
Fixed a bug causing URL's to be redirected when there is a .
in the URL.
Ignore Unmapped parameter is added for Sorting on ElasticSearch.
Widget Parameters now supports Nested Field Type.
Added additional class name to Frontend Renders.
Improved design rendering to prevent errors when target Widget doesn't exist.
Added support for passwordless auth for SMTP Servers.
Registry is cleared after each test-run
Refresh button is added to Dropdown Field Type
twig
support is added to Code
Field Type.
Elastic Search query improvements.
Fixed Elastic Search Index mapping for label
and title
Migration functions for FileUpload Field Type and DropdownFromClass are added
Fixed a bug prevents the system to start when Turkish Locale is installed to Web Server.
Security Improvement: Additional security checks are added to image and file uploads.
cron:refresh-items
command and refresh items operation in admin panel is speeded up 100x times.
Data Pool improvements. (It has 3 different types: manual, automatic, advanced)
You can now add elastic search query string to Data Pools (Advanced Mode)
Customer and Design Segmentations are added
Added language option to Elastic Search Integration
Improved Data Pool page. It now lists contents of Data Pool in edit page.
Fixed a bug in ImageManipulations
Symlink support for Windows is added for bin/butterfly folders:create
command.
ColorPicker Field Type is fixed to use in NestedField
Fixed a bug causing Cms Widget Refresh not to update Widget Parameters.
Object Import and Multi Image upload bugs are fixed.
make:hook
and make:event
commands are added.
Multiple Replacement support for Object Listing customizations action buttons.
Fixed a bug causing auto_increment feature removal on duplicate runs for migrations.
Publicly accessible files are moved to public
folder for enhanced security.
Fixed a bug in Bulk Edits. (It was ignoring characters after &
character in String Fields.)
Nested Fields Visual Improvements
FTP Support for File Storages is added.
nested
field type support is added for Settings
butterfly current installed version information is added to page header in Settings
page.
AdminTemplateGenerator hotfix
multicheckbox
update for Nested Field Type
. You can use multicheckbox's with Nested Field Type
frontend template engine is moved to twig.
bin/butterfly convert:twig
command is added for smarty => twig conversions
image_upload
Field Type includes data all sizes inside of Elastic Index.
vendor/butterfly/src/Core/Assets folder is symlinked to assets/core folder
Table Name and Column Name format check is added. Valid Format: [a-z]|[A-Z]|_|[0-9])+
Hotfix for where clauses with null as second parameter. (Example: ->where('id', null) will run query WHERE id IS NULL)
Hotfix for image manipulation operations. Now, it gets config from File Storages.
IAM Authentication Support for Amazon S3 is added.
Index support is added for Objects. [Details]
Security enhancement. X-Frame-Options: SAMEORIGIN header is added to Admin.
Download image filename bugfix.
Performance Improvement for first() and one() database functions
Image Crop bug is fixed which causes 1 pixel black line after image manipulation.
Fixed - User / List onclick event fix (it opens edit page again)
Fixed a bug in ObjectSpec Migrations which causes new Object Spec to placed top instead of bottom of the current EditPage.
CrudHelper - Security Updates // Permission Check is added
Object Save Handler - Security Updates // Permission Check is added
Fixed - Object list page excel export error (objects with more then 26 field on list page)
Excel Import Improvement. It now ignores fully empty lines at the end of the file.
Utils - Storage Type support added for download_image and download_file functions
Multiple object export hotfix
Fixed a bug in Nested Fields occurs when Nested Field is the first field of the Object
Login As support is added for Users with User Add / Edit Permission.
Fixed Admin Menu's doesn't show up when Permitted Object is a SubMenu
Money field type fixes
Admin Left Menu fix for object / detail pages.
Garbage Collector (cron:garbage-collector
) performance update.
Hotfix for ObjectController list action display
Hotfix for Widget Reload operation
Performance Improvement for Objects - Multi-Database Support
Hotfix for Admin / Reports button display status
Hotfix for custom admin layouts
Updated Object Listing for remote_image
field type. Now displays image in list.
Fixed a bug in make:content-widget
command.
Removed unnecessary duration
column from Item->Refresh method
Added bin/butterfly publish:admin:template
command
Added bin/butterfly make:model
command
Added bin/butterfly install
command
tables
function is added to Schema
Added bin/butterfly admin:user:create
command
Added bin/butterfly make:hook
command
Added bin/butterfly make:controller
command
Added bin/butterfly make:widget
command
Added bin/butterfly make:content-widget
command
Added bin/butterfly upgrade
command for Database Upgrades
Added whereNotIn
function
Added Object Migrations
Added ability to customize column based views for Objects.
This version comes with backward incompatible changes.
Design Widget Operation Logs are added
Amazon RabbitMQ Support is added.
renderPlaces
parameter is added to filter places to be rendered in Frontend.
Added new method groupByWithFilter for Elasticsearch.
Added new hook called after_save
window.minCharacterCount is added for manipulating autocomplete minimum character count for specific pages
Sanitize Filename checkbox is added to File Storages
columnType is added for migrations to override default column type for fields.
Overwrite Strategy is added for File Storages.
Sub Folder Format support is added for File Storages.
fill
operation type is added for Image Uploads.
Custom Filters support
for Admin / Listing Page is added.
Please check
Optional Sub Folder parameter is added to File and Image Upload Handlers
Added make:event:object:detail
Command
New Admin Panel Customization for Objects with Parent / Child Record relationship is added.
Nested Clause with Multiple Depth
is added.
Added make:twig:function
and make:twig:filter
isWindows
function is added to Server Helpers
Block field type is added
Game Changer :)
Elastic Search Integration for Database Layer.
Frontend>Bootstrap event is added.
parse
filter is added to TwigFilters.
json_decode
filter is added to TwigFilters.
New Function to access image full paths is added.
New Function to access file full paths is added.
Please check
Real IP Access Headers are added to security
config.
Flysystem is integrated
Upload Handlers are added for easier File and Image Upload through API's
Conditional Show/Hide helpers are added for Object Specs.
svg
support is added for Image Upload Types
setting
function is added to twig functions.
Updated code field type to prevent unrelated Doctype syntax errors for HTML type.
hide_action_buttons variable is added for custom list pages
Environment based configuration override is added.
placeAfter
and placeBefore
positioning is added for Migrations
.
config
filter is added to twig filters.
Fixed a bug causing not to be able to unchecked.
git_version
function is added.
datetime
field type is vanilla jsified
Nested field supports recursive nested fields.
Azure Blob Storage integration is added.
Please check
count
, registry
, truncate
filters are added for twig.
widget
, file_path
, image_path
, include_file
current_url
functions are added for twig.
Please check
createOrUpdateTable is added to Schema
dropColumns is added to Schema
removeObjectSpec is added to Migrations
Readonly Permission (View Permission is added to system)
Admin Menu Creation is added to Object Migrations.
Custom Permission Defitions are added.
Overriding Records Per Page options support is added for Admin Panel.
Cms Controller Generator Command is added bin/butterfly publish:admin:controller
for objects.
Install / Upgrade support for Core + App is finalized.
Added bin/butterfly publish:admin:layout
command.