Skip to content

2.0.0

Compare
Choose a tag to compare
@Tiagoperes Tiagoperes released this 04 Apr 12:08
· 6 commits to main since this release
3e42f60

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

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.