This repository has been archived by the owner on Jun 1, 2024. It is now read-only.
Releases: ZupIT/beagle
Releases · ZupIT/beagle
2.1.0
All Platforms
- Multi-instances support: Beagle, before version 2.1, relied on singletons and, for this reason, could not be instantiated multiple times. This problem has been solved and although Beagle can still work like before (no breaking changes), it can also work in a way where multiple instances are allowed (useful for multi-module applications).
- The ListView and GridView now create the implicit context “index” that tells the position of the current item in the list. To change the name of the implicit context, the property “indexName” has been added.
- When an item of the ListView or GridView is altered from within the List or Grid, this change will now propagate to every other component that depends on the same data source.
- The operations eq, gt, lt, gte, lte, sum, subtract, multiply and divide now have implicit type coercion, i.e. they can operate with different data types. Examples: eq('18', 18) returns true, even if the type is different; sum(10, 20.2) returns 30.2, even though the arguments types differ.
- New operations: int, double and string. They all accept a single argument and converts the type of the data.
iOS
- Fixes problem where a space could make an operation unreadable inside an expression.
- The Image Provider now supports multi-module applications.
- The BeagleScreenViewController was made public.
WEB
- Fixes the image mode of the Image Component on React.
2.0.0
General
- All deprecated code has been removed from all plataforms.
- Customizable caching system through the new "ViewClient" service. The ViewClient is built on top of the HttpClient and only serves to retrieve server driven screens, which makes it much easier to implement non-standard behavior for screen requests.
- Navigation context: It is a specialized Context ideal for sending information in a server driven screen stream.
- Style values via Expressions: Several style properties now support expressions, making it possible to implement themes in the application's Global Context. These properties are: backgroundColor, borderColor, borderWidth, cornerRadius, size, margin, padding, position and flex.basis.
- Updates the Alert and Confirm actions: These elements now support multiple actions.
- Updates the Analytics 2:
- It now includes the "rootId" property that reports the id of the first component that appears in the UI tree. This was done as we noticed that some users used this id to identify their screens.
- Since Analytics 1 was deprecated and removed, Analytics 2 now is refered as just Analytics.
- Updates the ScreenComponent:
- The "navigationBar.items[i].action" property has been renamed to "onPress" and now supports multiple actions.
- The "identifier" property has been removed, leaving only "id".
- The "navigationBar.items[i].image" property now accepts Expression, which should be the mobileId of the image.
Flutter (new!)
- Beagle now works in Flutter too! Check out our documentation to learn how to use it.
Typescript Backend (new!)
- The Beagle backend (BFF) can now also be written with Typescript and JSX, if you know React, you will quickly get familiar with this new way of declaring server driven screens. In addition, we made use of the full potential of the language to ensure that the types of contexts and operations are always correct, allowing for much safer and more intuitive programming! Check out our documentation to get started!
Android
- Java 8 support has been returned to the platform.
- Adds BeagleTypeAdapter: Creates a class responsible for serializing/deserializing json components that users can now use to build custom type adapters that have attributes with types known by Beagle.
- Fixes bug where sendRequest didn't raise onError event.
- Fixes bug in ListView where nested lists generated incoherent ids.
- Fixes bug where the onInit event, in components that supports it, was triggered again when returning to a previous screen (popView).
- Attention: if your application uses this wrong behavior that only happened on Android, it will be necessary to review the code. Let us know via our GitHub if you really need an event that fires whenever the page is "shown" and not "started".
- Fixes bug where Analytics crashed the application if the backend passed the "additionalEntries" property.
iOS
- Refactored some of the lib's internal code to improve maintainability, scalability, and stability.
- New container for deserializing components and actions using a property wrapper. It is no longer necessary to implement custom serialization for components containing actions or other components.
- New dependency structure with injection via property wrappers.
- Improvements to the networking API that add more power and ease for the developer.
- Improved BeagleRenderer adds AutoLayoutWrapper automatically if needed.
- Fixed a bug that prevented the user from setting transparency in the Screen's backgroundColor.
- Removes widgetProperty property for compatibility with other platforms. The style, id and accessibility properties now come in the component root, making it easier to create custom components.
Web
- Navigation subsystem was refactored to ensure better customization by platforms that use Beagle Web Core (React, Angular and Flutter).
- Loop rendering function has been refactored to ensure interoperability with Beagle Flutter.
- Fixes bug where Text component would not render number 0 or boolean false.
- Fixes bug where Button component did not render non-string text.
- Fixes the "platform" header to send the value expected by the backend: "WEB".
Kotlin backend
- Contexts and operations can now be typed, making it easier and safer to develop server driven screens using the Context feature.
1.6.3-iOS
1.6.2-android
Bug Fixes
Update the support android library from TextView to AppCompatTextView
Updates library on BeagleView Factory from EditText and Button to AppCompatEditText and AppCompatButton
1.9.0
Release notes 1.9.0
Changes:
Features
- improve Appium tests CI/CD strategy (#1599)
- Adds jacoco (#1621)
- Sonarcloud (#1628)
- removes module dependency from Beagle and uses lib import instead (#1629)
- add Android pull to refresh component (#1636)
- improve Appium iOS tests speed (#1645)
- iOS - Pull to Refresh Component (#1648)
- iOS - Adds init from Encodable to DynamicObject (#1650)
- pullToRefresh Appium tests (#1651)
- flutter/scrollView (#1658)
- flutter: implement missing features of TextInput and fixes bugs (#1661)
- add gridview in backend and android (#1663)
- GridView span count and direction (#1657)
- iOS - AutoLayoutWrapper enhancement (#1669)
- improve Appium iOS tests speed (#1656)
- add default logger in beagle (#1679)
Bug fixes
- contract adjustment grid view (#1595) (#1601)
- adjustment contract grid view (#1596) (#1600)
- improvements in Appium tests (#1619)
- popView with a single view in stack (#1616)
- Appium Android app compilation (#1627)
- Navigation tests on iOS (#1635)
- adjust proguard (#1638)
- Flutter lib upgrades + fix to image component (#1641)
- iOS - PullToRefresh with Text (#1652)
- components and actions in Flutter are now case insensitive (#1654)
- text component when is aligned to center (#1659)
- flutter: page view (#1662)
- flutter: tabbar and image (#1666)
- flutter: webview component must react to changes in the url property (#1672)
- adjust deploy release (#1682)
Code refactoring
- remove project automated test (#1605)
- update dependencies and necessary code (#1608)
- Android serialization tests (#1622)
- android view factory (#1639)
- remove debug logs (#1673)
- rename field custom operation to operation (#1675)
- remove class beagle config (#1676)
- remove shared preferences and use memory to save data (#1677)
Building system
- adjust automated test (#1607)
- adjust docs (#1611)
- update dependencies beagle android (#1614)
- iOS - Update Beagle Dependencies (#1606)
- iOS - Remove legacy tests (#1615)
- adjust PullToRefresh (#1653)
- update tests (#1681)
Testing
- create unit test to gridview (#1602)
Other work
1.8.1-backend
1.8.1-android
1.8.0
Release notes 1.8.0
Changes:
Features
- iOS Appium tests with deep links (#1493)
- add support to bind in field value in action add children (#1544)
- Adds Android GridView (#1550)
- add yoga from repository in zup (#1553)
- Adds bridge communication for loggers (#1549)
- add component grid view in backend (#1563)
- Grid View in iOS (#1557)
- listview in Appium (#1571)
- Android listView multiple templates support (#1590)
- iOS ListView/GridView templates (#1585)
Bug fixes
- popToView error message when route doesnt exist (#1517)
- PageView component size (#1524)
- image resize behaviour on android. Adds and refactor imageView tests (#1548)
- adjust image corner radius (#1552)
- support expression in action AddChildren (#1547)
- android RequestData constructor and utilization (#1562)
- GlobalContext set object (#1566)
- android image placeholder reset (#1572)
- allow to use applyStyle and applyFlex in the same implementation (#1573) (#1576)
- run BFF on custom branch (#1579)
- image android with screenshot tests (#1578)
- iOS - ListView layout changes (#1556, #1581) (#1582)
- ListView's manager id and GridView contract (#1593)
Code refactoring
- remove codecov by security (#1537)
- remove widgetView inheritance from PageIndicator component (#1592)
Building system
- ignore appium yml (#1519)
- link update (#1520)
- add doc in backend and android to component gridview (#1564)
- update Gemfile.lock (#1580)
- updates the http client default (#1587)
Documentation
- iOS - Add some code documentation for components and actions (#1567)
CI/CD
- update horusec script (#1526)
Other work
1.7.1-backend
1.7.0
Release notes 1.7.0
Changes:
Features
- action open external url (#1379)
- create component to load screen. (#1377)
- add screen request in flutter (#1392)
- flutter action open native route (#1380)
- deprecated field isLoggingEnabled in beagle sdk and BeagleDependencies (#1408)
- create field enabled in text input and deprecated field disabled (#1407)
- add support to add parameters in request to push view (#1411)
- custom operations (#1412)
- Adds BuildContext reference to ActionHandler (#1413)
- Improve iOS test script setup step (#1429)
- add to support to style id in Container (#1455)
- add new Layout Widgets: Center, Column and Row. (#1457)
- create a beagle flex view to others developers use (#1466)
- add support to additional data on navigate action (#1424)
- add methods observer and evaluate in bind (#1468)
- Adds secret manager configuration (#1485)
- added support to empty children to Beagle components (#1503)
- added bindable fields to navigate methods (#1507)
- Adds support to beagle gRPC library (#1497)
- iOS - Add SPM support (#1484)
Bug fixes
- iOS - SubmitForm validations (#1389)
- make triggered scripts run on custom branch (#1394)
- changed Android PageView component to suit BFF contract (#1420)
- PageView retain cycle (#1434)
- iOS - TextInput enabled custom style config (#1440)
- iOS - ErrorView retry block (#1428)
- adjust crash when passing color in page indicator (#1452)
- adjust instance of text (#1456)
- including missing files (#1476)
- analytics test fix on Android (#1479)
- analytics tests (#1481)
- add conditional to dokka s3 upload steps (#1480)
- image downloader test (#1483)
- RecyclerView id access from ListView (#1489)
- iOS - TextInput disabled without expression (#1486)
- renderScreen replacement method (#1495)
- micronaut starter stopped hanging when underlying client fails (#1502)
- mantain the image aspect ratio (#1494)
- iOS - Make children property optional (#1498)
- support expression in actions OpenExternalURL, OpenNativeRoute, PopToView (#1505)
- shouldPrefetch variable is nullable (#1510)
- toolbar set title in beagle android (#1513)
Code refactoring
- Refactored BeagleJSEngine and added unit tests (#1388)
- move dependencies to service locator (#1395)
- remove deprecated tests (#1417)
- deprecated dsl in backend (#1431)
- adjust body parameter http additional data in route remote (#1454)
Building system
- Adds flutter tests (#1397)
- update codeowners (#1435)
- adjust error in horusec (#1441)
- release 1.6.1 android into master (#1462)
- update danger file (#1471)
- Update CODEOWNERS (#1506)
- iOS - Update dependencies in Podspec and Package.swift (#1511)
Testing
- change button attribute to enabled (#1409)
Documentation
- generating kdocs and uploading them (#1391)