3.2.0
This release has two main features/improvements: Code Signing and Remote Assets.
Remote Assets
This has been an issue (#147, #223) for a long time, Repack users had to either manually implement a way to expose static assets (like images, videos etc) from the Remote Chunks/Federated Modules and then consume them in the Host Apps/Super Apps or, there was a more straightforward way – configure assets loader to base64 encode the images and inline them into the JS bundles. This was not the ideal solution because then the JS bundles quickly exploded in size, especially if the remote code was assets heavy.
Thanks to fantastic work from @jbroma, a built-in solution in Repack makes it easier to generate Remote Assets during build time and automatically adjust the JS bundles to use these assets. More thorough guides on handling assets are being worked on and will soon be added to the documentation website. For now, please refer to the usage section in the PR description: #331
Code Signing
This is a big one 🚀 ! Security is critical, especially in applications that allow remote code execution. That's why we bring an easy-to-configure way to cryptographically sign bundles which will be available for remote consumption in the Module Federation architecture. This will make it easy to ensure that the code the final users of your app are downloading is the code you intend them to download and is not tampered with. For more context and info on how to set it up, please refer to this PR: #348. We create a documentation page dedicated to this topic soon.
Repack
Minor Changes
Code Signing:
-
#318
6e12c14Thanks @jbroma! - Added CodeSigning abilities to RePack: -
#348
76e98e9Thanks @jbroma! - Embed code-signing signatures into the bundles:- This potentially is a breaking change: min iOS version was bumped from 10 to 12 due to the usage of JWTDecode dependency
- Introduced
CodeSigningPluginfor generating code-signed bundles - Implemented
CodeSigningUtilsextension for native part of theScriptManagerto verify signed bundles on Android and iOS
Remote Assets
-
#331
515fb05Thanks @jbroma! - Added remote-assets functionality to the assetsLoader -
#328
4f155ddThanks @jbroma! - Auto device scale resolution for inlined assets
Patch Changes
- #330
f142e06Thanks @jbroma! - Code-Signing - move execution of the plugin to the later stage of compilation
- #347
2180c09Thanks @jbroma! - Fix OutputPlugin issue where chunks have no associated files with them