Skip to content

Latest commit

Β 

History

History
888 lines (627 loc) Β· 51.5 KB

CHANGELOG.md

File metadata and controls

888 lines (627 loc) Β· 51.5 KB

0.9.1 (Thu Sep 26 2024)

πŸ› Bug Fix

Authors: 6


0.9.0 (Wed Sep 04 2024)

Release Notes

Update Rules Versions (#496)

Update JS Rules to latest Aspect major

Android/JVM - expose constantController (#489)

Expose the core Player constantsController to Android/JVM consumers

AndroidPlayer provides top-level api and plugins access including constantsController with AssetContext

Sample usage: assetContext.player.constantsController.getConstants(key, namespace)

Storybook Addon Fixes (#449)

  • Re-adds the ability to render Asset properties as a tab in storybook
  • Re-adds the flow-refresh addon
  • Fixes the dependencies & package layout for the storybook addon
  • Fix dark-mode support

[Hermes] Android integration (#410)

Initial integration with the Hermes JavaScript runtime. This shows a tremendous size improvement over the existing J2V8 integration of ~70% (7.6 MB -> 2.3 MB, architecture dependent).

Opt-in

For now, the default runtime integration provided by the Android Player will still be com.intuit.playerui:j2v8-android, but Hermes can be opted in manually by excluding the J2V8 transitive dependency and including the Hermes artifact:

dependencies {
    // Android Player dependency
    implementation("com.intuit.playerui", "android", PLAYER_VERSION) {
        // J2V8 included for release versions
        exclude(group = "com.intuit.playerui", module = "j2v8-android")
        // Debuggable J2V8 included for canary versions
        exclude(group = "com.intuit.playerui", module = "j2v8-android-debug")
    }
    // Override with Hermes runtime
    implementation("com.intuit.playerui", "hermes-android", PLAYER_VERSION)
}

// Exclude J2V8 transitive dependency for all configurations in this module
configurations { 
    all {
        exclude(group = "com.intuit.playerui", module = "j2v8-android")
        // Debuggable J2V8 included for canary versions
        exclude(group = "com.intuit.playerui", module = "j2v8-android-debug")
    }
}

Tip

If your application includes dependencies that may transitively depend on com.intuit.playerui:android, you would likely need to ensure the default runtime is transitively excluded from those as well, either manually or as a global strategy.

The AndroidPlayer will pick the first runtime it finds on the classpath - you can at least verify which runtime was used for the Player with a new log: Player created using $runtime. But that won't tell you for certain if the other runtimes were successfully excluded. You'll need to examine your APK, or your apps dependency tree, to tell for sure that redundant runtimes aren't unintentionally included.

Most of the setup for this integration is done simply by including the right dependency (and excluding the wrong one), however, the hermes-android integration also relies on the SoLoader for loading the native libraries. All that's needed is to initialize the SoLoader (should be on your classpath with the hermes-android dependency) with an Android Context somewhere before you use the AndroidPlayer, potentially in your activities onCreate:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    SoLoader.init(this, false)
    // ...
}

πŸš€ Enhancement

πŸ› Bug Fix

🏠 Internal

Authors: 8


0.8.0 (Sun Aug 04 2024)

Release Notes

Docs and Release Fixes (#474)

  • Fix next releases being tagged as latest on npm
  • Fix doc site issues with github pages
  • Fix missing dsl plugins page

Update to use TypeScript 5.5 and enable isolatedDeclarations (#431)

Update to use TypeScript 5.5 and enable isolatedDeclarations

bump js rules, use node 20 (#430)

Use Node 20 for builds

JS Package Cleanup (#442)

Fix migration issues in JS packages

Does your PR have any documentation updates?

  • Updated docs
  • No Update needed
  • Unable to update docs

Bazel 6 Migration (#252)

Swaps the repo internals to use bazel@6, rules_js, bazel modules, vitest and tsup for the core + plugin builds


πŸš€ Enhancement

πŸ› Bug Fix

🏠 Internal

πŸ“ Documentation

πŸ”© Dependency Updates

Authors: 12


0.7.4 (Tue Jul 02 2024)

πŸ› Bug Fix

Authors: 9


0.7.3 (Thu May 02 2024)

πŸ› Bug Fix

πŸ“ Documentation

Authors: 10


0.7.2 (Wed Apr 10 2024)

Release Notes

Update Player Tools Version (#334)

  • Update Player Tools to latest

Does your PR have any documentation updates?

  • Updated docs
  • No Update needed
  • Unable to update docs

Version Selector Fixes (#330)

Docs - Fix version selector not working and preserve route when changing versions

[Docs] Update the DSL Benefits in Schema Section (#326)

Docs - Update DSL Schema benefits section

Does your PR have any documentation updates?

  • Updated docs
  • No Update needed
  • Unable to update docs

Expose More Information About Expression Parsing Errors (#328)

Types - Expose types/utilities around expression parsing errors

Does your PR have any documentation updates?

  • Updated docs
  • No Update needed
  • Unable to update docs

Fix commaNumber Formatting when Using a Precision of 0 (#319)

Common Types Plugin - Fix commaNumber Formatting when Using a Precision of 0

Expression Parser Strictness (#315)

Expose Expression Parser's strictness option via the resolveOptions hook


πŸ› Bug Fix

πŸ“ Documentation

Authors: 11


0.7.1 (Tue Mar 05 2024)

Release Notes

[Android] AsyncHydrationTrackerPlugin (#296)

Introduction of AsyncHydrationTrackerPlugin to provide a mechanism for reacting when SuspendableAsset hydration is completely finished.

androidPlayer.asyncHydrationTrackerPlugin!!.hooks.onHydrationComplete.tap(this::class.java.name) {
    // process effects after hydration is complete
}

[Sync] Performance and Bugfix (#306)

  • Skip view updates for silent data changes
  • Replace reduce calls for performance reasons
  • Fix data change events not cascading properly when setting data

πŸ› Bug Fix

πŸ“ Documentation

Authors: 8


0.7.0 (Thu Feb 15 2024)

Release Notes

com.intuit.playerui publishing scope (#253)

Embracing the player-ui namespace, the base group ID, and correlating package scopes, have changed: com.intuit.player -> com.intuit.playerui

  1. Dropping .jvm from non-android artifacts
    • This was originally done to leave room for intermediate JS resource artifacts. This is no longer necessary due to improvements in our build process, and enables us to remove this redundancy.
Artifact Internal External
Headless Player com.intuit.player.jvm:core com.intuit.playerui:core
Android Player com.intuit.player.android:player com.intuit.playerui:android
Plugins com.intuit.player.plugins
com.intuit.player.jvm.plugins
com.intuit.player.android.plugins
com.intuit.playerui.plugins

Refactor existing DSL docs. (#288)

Update DSL docs

Remove Applitools (#277)

Enhance AsyncViewStub.awaitView() to ensure any child AsyncViewStubs are resolved as well. This really only affects initial hydration, preventing weird isolated rendering jank by ensuring everything is ready to be shown on screen before actually rendering the top-level asset.


πŸš€ Enhancement

πŸ› Bug Fix

πŸ“ Documentation

Authors: 14


0.6.0 (Thu Jan 25 2024)

πŸš€ Enhancement

πŸ› Bug Fix

πŸ“ Documentation

Authors: 9


0.5.1 (Thu Dec 07 2023)

πŸ› Bug Fix

Authors: 3


0.5.0 (Tue Dec 05 2023)

Release Notes

Sync Android and JVM packages to latest (#222)


πŸš€ Enhancement

πŸ› Bug Fix

Authors: 3


0.4.5 (Mon Nov 27 2023)

πŸ› Bug Fix

🏠 Internal

Authors: 9


0.4.4 (Mon Nov 20 2023)

πŸ› Bug Fix

🏠 Internal

Authors: 3


0.4.3 (Fri Nov 17 2023)

Release Notes

Add Automation ID to Error Element in Storybook (#245)

Storybook error element has a data-automation-id property which allows it to be programmably found in tests


πŸ› Bug Fix

🏠 Internal

  • Update auto version. Filter release trigger from changelogs #243 (@adierkens)

πŸ“ Documentation

Authors: 4


0.4.2 (Thu Nov 16 2023)

Release Notes

Add better error messaging for failed expression eval and parsing (#239)

Improved error messages for parse and eval failures for expressions


πŸ› Bug Fix

Authors: 4


0.4.1 (Wed Nov 15 2023)

Release Notes

Pin @moncao-editor/react to non .mjs Only Version (#230)

Pin @moncao-editor/react to 4.3.1


πŸ› Bug Fix

Authors: 3


0.3.0 (Thu Nov 03 2022)

πŸš€ Enhancement

πŸ› Bug Fix

πŸ“ Documentation

Authors: 9


0.2.0 (Tue Aug 30 2022)

πŸš€ Enhancement

πŸ› Bug Fix

πŸ“ Documentation

Authors: 6


0.1.0 (Tue Aug 02 2022)

Release Notes

Fix version stamping. Add stamping to nextjs docs (#11)

  • Fixes the stamping for version and sha in core and web modules
  • Stamps the nextjs docs for analytics id

NPM publishing support (#3)

Adding build integration to publish all js packages to npm


πŸš€ Enhancement

πŸ› Bug Fix

⚠️ Pushed to main

🏠 Internal

πŸ“ Documentation

Authors: 6