Skip to content

Releases: AppDaddy-Software-Solutions-Inc/framework-markup-language

v2.0.1

21 Jun 18:26
b6904a1
Compare
Choose a tag to compare

New/Improved Features:

  • Added datetime functions
  • Improved code editor widget sizing
  • Consolidated color helper

Breaking Changes:

  • The #rrggbb color code now complies with expectations when adding alpha, is now #rrggbbaa rather than starting with opacity (previously #aarrggbb).
  • The substring([negativevalue]) now functions as substring([negativevalue], 0) by default instead of substring(0,[negativevalue]))

Bug Fixes:

  • Header sizing and box attribute inheritance
  • Fixed popover to inherit from a datasource
  • Fixed sample app package
  • Fixed calculations for safearea and insets
  • Fix for animation controller getting the wrong type
  • Fix for HTML on linux
  • Gave datasources observables to notify changes
  • Fixed PIVOT datasource
  • Fix for TABLE to build from PIVOT datasource
  • Fix for chart series labels
  • Fix for bindings in chart
  • Fix for bindings in table
  • Fix for bindings in pager
  • CHART no longer crashes when missing a datasource
  • Grid binds correctly and is selectable
  • Chart displays without data
  • Button text color no longer is hidden by being the incorrect color
  • Tree map chart and list all size correctly with flex=
  • Paint crash with rendering error fixed on pie chart
  • Added even margins on button by default
  • Fixed null issue for list data
  • Updated firebase dependencies

v2.0.0

13 Jun 14:12
0f0172d
Compare
Choose a tag to compare

Welcome to Flutter Markup Language Version 2.0.0! We have some exciting upgrades that make a massive difference in both performance, ease of templating, and more!

Many of you have noticed the large gap in release schedule. This was due to the amount of restructure and testing to vastly improve layout ease and performance, with a few experimental iterations going in along the way!

Now that that's out of the way, we have a consistent release and fix schedule with many improved features planned and as usual, up to date bug fixes as they're reported!

We would also like to take this chance to announce our release of the VSCODE Flutter Markup Language extension! The repo can be viewed here: https://github.com/AppDaddy-Software-Solutions-Inc/Flutter-Markup-Language-VS-Code-Extension for any issues and suggestions pertaining to the extension!

The extension currently comes with syntax highlighting, code snippets, and a Realtime preview with hot reload of your template within VSCODE!

Linting will be coming within the next couple of months as well!

Continue reading below for the full release notes:

New Features:

- VSCode Extension for FML released in beta! This contains code snippets, syntax highlighting, and a live Template Preview with hot reload!
- New VIDEO Widget has been added to conform with licenses.
- New ALARM widget addded for all FormFields.
- New FIELD widget added for non visual data within forms. 
- New constraint system for added performance and predictability of layout.
- All layout widgets now inherit BOX's decoration attributes, and have a defined layout structure.
- SBOX created as a shorthand for a non expanding box.
- Added LABEL to chart.
- Added set() event to datasources to fill data.
- added distance() eval to compute haversine distance between two coordinates. 
- **New**
- Added  selectable lists, and grids, and the ability to bind to a list item prototype
- Added onclick to list item
- Added selectable text
- Added codeblock into text markdown, improved parsing
- Added SUBQUERY widget to allow for nested datasources to make rest calls.

Improvements:

- All FormField widgets have a consistent and controllable error state set by the system, widget, or alarm widget level. 
- Error handling for camera screen tap improved.
- Improved splash and NFC prompts.
- Improved toast() event.
- Allow FORM to autofill from a data="datasource" base on field id's.
- STASH is now an accessable datasource.
- Improved pager with currentpage property.
- Remove stash keys when values are null.
- Improvements to theme colors on LIST.
- Button and label sizing and alignment improved.
- Improved MODAL with location based opening, better styled buttons.
- Improved CHART axis label sizing. 
- Improved CHART axis visibility with data.
- Truncate CHART Y axis values at a certain length.
- Font size on CHART legend for better visibility.
- CHART theme improved.
- CHART added datetime axis tick lines.
- MAP MARKER now allows for any widget as child. 
- MAP can now take multiple layers.
- CHART y axis added numeric tick lines.
- CHART selection enabled.
- Improved default layout size, color, and structure of all formfield widgets.
- Allowed check and radio to have a fuly clickable label area to select option.
- Onfail on GPS datasource.
- POPOVER now takes a data="" datasource to create a list of items.
- FORM inherits box layout removing the need to nest layout widgets in each form.
- **New**
- Fix typeahead hint color
- Allow ALARM to bind to this. to get value of parent
- MAP now fully operational with better zooming
- Colored emojis now working
- Allow scroller to have expand="false"
- Clarified chart types
- Fixed constraints on SIZE animation
- Added % size for min and max dimensions

Breaking Changes:

- The base layout and constraint system have been upgraded and ruleset altered. You can see the new layout basics and layout rules in the wiki for the full overview.

Deprecations:

- CENTER Widget is no longer used with the constraint system. center="true" attribute or halign and valign attributes can be used on any widget for alignment. 
- PAD Widget is no longer reccomended as a wrapper. pad="" and margin="" attribute can be used on any layout widget, and will be taken into account during layout.
- SELECT type="typeahead" is no longer in the codebase. We now use the TYPEAHEAD widget to seperate function.
- EXPAND is no longer used. All widgets will attempt to share space by default, and flex="" will allow users to set a flexfactor on any widget.
- url= on DATA datasource is now value="".
- DATA datasource now must be passed the binding of a widgets data rather than the id of the widget.

Bug Fixes:

- FILTER transform widget features repaired.
- FORM Autoposting error fixes. 
- Datasources can be called by id.function().
- Fixed endless busy and double validate() call in FORM.
- Fix incorrect datetime logging.
- Fix for flutter based double build on navigation. 
- Fixed list notifier.
- Selectedcolor and selectedbordercolor all working for TABLE.
- Busy widget in FML store now displaying correctly when adding and removing app.
- Fixes for CHART mismatch between axis and chart types causing chart to fail.
- toBool no longer assesses yes and no as booleans.
- ios Updates to allow for build.
- DISTINCT transform now working. 
- JSON interpretation on CHART and DATA improved.
- Fix for chart axis init error.
- BAR chart enforces string based x axis. 
- Fixed default of password input to be obscured.
- Fix for transform, flip and slide ANIMATE if value not supplied.
- **New**
- Improved splitview function
- Map non nullsafe bug
- Scrollto event fix
- Resize up the tree when inner child resizes
- MAP can now display static markers
- Removed some cases that broke CHART

Codebase Improvements and Refactors:

- Upgraded to Flutter 3.10+
- Ensure all lint errors are now passed
- Updated naming conventions to comply with lints.
- Refactor and restructure to constraint system.
- Improved formfield inheritance structure.
- Updated pubspec
- Removed unused imports.
- **new**
- Upgraded all possible packages that do not effect older dependencies
- More code cleanup
- Upgraded to flutter 3.10.4

v2.0.0 - pre

05 Jun 13:25
b580c23
Compare
Choose a tag to compare
v2.0.0 - pre Pre-release
Pre-release

Welcome to Flutter Markup Language Version 2.0.0! We have some exciting upgrades that make a massive difference in both performance, ease of templating, and more!

Many of you have noticed the large gap in release schedule. This was due to the sheer amount of restructure and testing to vastly improve layout ease and performance, with a few experimental iterations going in along the way!

Now that that's out of the way, we have a consistent monthly release schedule with many improved features planned and as usual, up to date bug fixes as they're reported!

We would also like to take this chance to announce our release of the VSCODE Flutter Markup Language extension! The repo can be viewed here: https://github.com/AppDaddy-Software-Solutions-Inc/Flutter-Markup-Language-VS-Code-Extension for any issues and suggestions pertaining to the extension!
The extension currently comes with syntax highlighting, code snippets, and a Realtime preview with hot reload of your template within VSCODE!

Linting will be coming within the next couple of months as well!

Continue reading below for the full release notes:

New Features:

- VSCode Extension for FML released in beta! This contains code snippets, syntax highlighting, and a live Template Preview with hot reload!
- New VIDEO Widget has been added to conform with licenses.
- New ALARM widget addded for all FormFields.
- New FIELD widget added for non visual data within forms. 
- New constraint system for added performance and predictability of layout.
- All layout widgets now inherit BOX's decoration attributes, and have a defined layout structure.
- SBOX created as a shorthand for a non expanding box.
- Added LABEL to chart.
- Added set() event to datasources to fill data.
- added distance() eval to compute haversine distance between two coordinates. 

Improvements:

- All FormField widgets have a consistent and controllable error state set by the system, widget, or alarm widget level. 
- Error handling for camera screen tap improved.
- Improved splash and NFC prompts.
- Improved toast() event.
- Allow FORM to autofill from a data="datasource" base on field id's.
- STASH is now an accessable datasource.
- Improved pager with currentpage property.
- Remove stash keys when values are null.
- Improvements to theme colors on LIST.
- Button and label sizing and alignment improved.
- Improved MODAL with location based opening, better styled buttons.
- Improved CHART axis label sizing. 
- Improved CHART axis visibility with data.
- Truncate CHART Y axis values at a certain length.
- Font size on CHART legend for better visibility.
- CHART theme improved.
- CHART added datetime axis tick lines.
- MAP MARKER now allows for any widget as child. 
- MAP can now take multiple layers.
- CHART y axis added numeric tick lines.
- CHART selection enabled.
- Improved default layout size, color, and structure of all formfield widgets.
- Allowed check and radio to have a fuly clickable label area to select option.
- Onfail on GPS datasource.
- POPOVER now takes a data="" datasource to create a list of items.
- FORM inherits box layout removing the need to nest layout widgets in each form.

Breaking Changes:

- The base layout and constraint system have been upgraded and ruleset altered. You can see the new layout basics and layout rules in the wiki for the full overview.

Deprecations:

- CENTER Widget is no longer used with the constraint system. center="true" attribute or halign and valign attributes can be used on any widget for alignment. 
- PAD Widget is no longer used. pad="" and margin="" attribute can be used on any layout widget, and will be taken into account during layout.
- SELECT type="typeahead" is no longer in the codebase. We now use the TYPEAHEAD widget to seperate function.
- EXPAND is no longer used. All widgets will attempt to share space by default, and flex="" will allow users to set a flexfactor on any widget.
- url= on DATA datasource is now value="".
- DATA datasource now must be passed the binding of a widgets data rather than the id of the widget.

Bug Fixes:

- FILTER transform widget features repaired.
- FORM Autoposting error fixes. 
- Datasources can be called by id.function().
- Fixed endless busy and double validate() call in FORM.
- Fix incorrect datetime logging.
- Fix for flutter based double build on navigation. 
- Fixed list notifier.
- Selectedcolor and selectedbordercolor all working for TABLE.
- Busy widget in FML store now displaying correctly when adding and removing app.
- Fixes for CHART mismatch between axis and chart types causing chart to fail.
- toBool no longer assesses yes and no as booleans.
- ios Updates to allow for build.
- DISTINCT transform now working. 
- JSON interpretation on CHART and DATA improved.
- Fix for chart axis init error.
- BAR chart enforces string based x axis. 
- Fixed default of password input to be obscured.
- Fix for transform, flip and slide ANIMATE if value not supplied.

Codebase Improvements and Refactors:

- Upgraded to Flutter 3.10+
- Ensure all lint errors are now passed
- Updated naming conventions to comply with lints.
- Refactor and restructure to constraint system.
- Improved formfield inheritance structure.
- Updated pubspec
- Removed unused imports.

v1.3.0

17 Mar 18:11
6cb12c7
Compare
Choose a tag to compare

Features and Improvements:

- Complete redo of TOOLTIP. Tooltip can now take other children, and is the child of a widget. Can also be opened and closed using events.
- Rewrite of animations. Animations are now children of the widget that is being animated. Multiple animations can be passed to the main widget as individual animations, or synced animations using ANIMATE as a parent. widgetid.animate(), widgetid.animate('animationid') and animationid.animate() all allow for animations to be executed.
- Added animated tweens and transforms. 
- Increased TEXT performance
- Updated loading and splash animations
- Improved 404 page.
- Fixed horizontal scrolling gestures in web
- Added onscreen and offscreen event attributes to all visible widgets.
- LOG allows transforms
- Various layout improvements
- Added icons and fonts to deferred loading to improve initial startup speed on web.
- Enhanced customization options of SPLITVIEW.
- Started integration testing modules.
- Added system bindable to determine if mouse is available
-  Added "this" keyword for events

Breaking Changes:

- ANIMATION can no longer be a widgets parent.
- TOOLTIP can no longer be a widgets parent.
- VIDEO removed temporarily.

Bug Fixes:

- Fix for debug logging
- Fix for android web showing default app name
- Enhanced new version cache clearing for web
- Grid calling super at the correct time.
- Fix for flutter web entrypoint
- Fix timeout for HTTP
- Fix for autoquery and response bugs on datasources
- Fix for some box layout="stack" alignment inconsistencies
- Datasource default message and error message fixes
- Fix for table theme and layout
- Cleaned up compiler warnings
- Fix for box contracting with stack layout causing an error.
- Fix for image permissions on mac/ios
- sound() error handling.

v1.2.2

24 Feb 17:10
12a897c
Compare
Choose a tag to compare

Features and Improvements:

- Improved CAMERA error handling.
- Improved CAMERA permissions.
- Added join() eval function.

Breaking Changes:

Socket & MQTT:
- onmessage added, replaces onsuccess
- onsuccess is now called with a return status code 1000
- onfail is now called with any other return code
- ondisconnect is now called only when a socket disconnects

Camera
- onsuccess is called when a image is taken and stored int he datasource successfully
- onfail is called when an image cannot be taken and will return a statusmessage on the camera datasource with the reason why

Deprecations:

- Hold to copy on text has been removed.

Bug Fixes:

- Fixed nullsafe error in string helper.
- Fixed BOX sizing when layout is stack.
- Fix log.export() event.
- Camera build order and error fix.
- Fixed rights="" parameter on TEMPLATE.
- replaceroute() fix.
- back until index fix.
- Select null value fix.
- Camera and Micriphone now properly return status messages for the following cases:
     1. cameraless device
     2. unsecure connection
     3. declined permissions (+ both ios privacy conditions)
- iOS Camera bug fixed where the camera would dispose twice on first entry
- back() event bug fix for going back to a specific index

v1.2.1

17 Feb 20:26
04faee8
Compare
Choose a tag to compare

Release Notes 1.2.1

Features and Improvements:

- Added type="flip" ANIMATION.
- Added refresh="true/false" on datasources
- Added video player for windows and linux
- Added drag to refresh with onpulldown="" event strings on scrollable widgets
- Added 4 color gradients
- Made scrollable widgets consistent and added draggable="" to determine if scrollable widgets can be dragged on cursor devices. Default allows the system to decide (false with cursor).

Deprecations:

- id.animate() is now available again as the preferred method for ANIMATE widgets. id.start() will also work to begin an animation.

Bug Fixes:

- Fixed THEME inconsistencies with chart, collapsed list, 
- Fixed CAMERA crash bug
- MQTT onsucess/onfail behavior fixes
- web navigation and ios web navigation fixes
-  Fixed globalkey crash

v1.2.0

13 Feb 19:42
2651193
Compare
Choose a tag to compare

Release Notes 1.2.0

Features and Improvements:

- Added EDITOR widget for code editing in FML apps.
- Added FMLPad sample app built in FML to default package.
- Added TYPEAHEAD widget to sepereate out SELECT.
- Added windows support for CAMERA
- Added STASH.clear() event.
- Improved id.syntax consistency.
- Added save, complete, validate, and clear to FORM
- Added expanding and multiline features to INPUT
- Improved behaviour of TEXT and BOX in scrollers.
- Added alternating color and default sort to TABLE

Deprecations:

- id.animate() is now id.start()

Bug Fixes:

- Fixed table sorting
- fixed concurrent modification in MAP
- Fixed splitview dispose calls
- Fixed theme() not defaulting to the color scheme if none passed.
- Themed tooltip
- Fix file:// in macos
- Fixed typeahead focus crash
- Scribble button visibility fixes
- MacOS permissions fixes
- Fixed EXPANDED issues with sizing
- PAD fixes
- Header and footer % sizing fix

v1.1.1

01 Feb 14:53
6224b3b
Compare
Choose a tag to compare

Release Notes 1.1.1

Features and Improvements:

  • Added dot notation to filters to create nested elements
  • added {SCOPE.id.attribute} syntax for accessing global bindings.
  • added global.xml to declare globally accessable widgets.
  • Added widget injection events remove/add/replace child(ren)().
  • Added togglevisible attribute to CAMERA to toggle visibilty.
  • Added onreadfail/success and onwritefail/success to NFC when using write() event.
  • Improved the Multiapp app store.
  • added "shrink" as a shorthand instead of expand="false" to layout widgets.
  • MIRROR reimplemented to bulk fetch templates on startup.
  • Added ability to create local file based application on desktop through app store using file:// scheme.
  • Added source= for image transforms.

Deprecations:

  • set(value, element, true) no longer sets globals.
  • set(value, attribute) no longer sets attributes. The new syntax is id.attribute.set('value').
  • global="true" on VAR and DATASOURCE no longer available, declare the datasource in GLOBAL.xml.
  • Removed legacy padd attribute, now just pad.

Bug Fixes:

  • Fixed datasource TRANSFORMS and improved their function.
  • Fixed value="" necessity for hardcoded selects, now it takes first index OPTION
  • Fixed NFC write() event for basic string writes.
  • Fixed NFC method="" attribute not deserializing.
  • Improved nfc statusmessage and fail handling
  • Fixed menu item flicker when hovering.
  • CHECKBOX and RADIO label theme fix.
  • Enabled and editable working again with CHECK and RADIO
  • CHECK mouseover with enabled and editiable handling.
  • Added payload to NFC to be accessable with the data. syntax.
  • Fixed "this" keywork not working in datasources.
  • Minwiddth and minheight now working with expand="false" on BOX
  • Improved SELECT typeahead.
  • Fixed jwt and signinwithjwt() events
  • Fixed error with websocket

Codebase Improvements:

  • Broke apart application and system level layers, each app has its own config, APP, and globals.
  • Added APP logic layer.
  • Running on flutter 3.7.
  • No longer need to comment out platform at SYSTEM level when compiling.
  • Improved nullsafe functions.

V1.0.0

29 Dec 20:41
2dc1c29
Compare
Choose a tag to compare

Initial Release