Releases: GalaChain/sdk
v1.5.9
What's Changed
- dto and save support for MintFeeConfiguration v1 by @sentientforest in #463
- v1.5.9 by @sentientforest in #464
Full Changelog: v1.5.8...v1.5.9
v1.5.8
What's Changed
- Chain sale by @befitsandpiper in #403
- Bump Version to 1.5.8 by @galachain-release-bot in #437
- fix: post-mint-lock calculation decimal handling v1 by @sentientforest in #453
- fix: lock authorities can unlock fungibles by @sentientforest in #455
- v1: configure additional mint fees for specific tokens by @sentientforest in #460
Full Changelog: v1.5.7...v1.5.8
v2.0.0
GalaChain SDK 2.0.0 Release Notes
GalaChain SDK version 2.0.0 introduces several enhancements aimed at improving flexibility, security, and consistency for developers. While some changes may require updates to existing codebases, these updates provide significant benefits for building more robust and decentralized applications.
Note: Version 1.x.x will continue to receive issue fixes (no new features) until January 31, 2025.
For a detailed breakdown of required updates, refer to the Breaking Changes Documentation.
Notable features
1. Role-Based Access Control
This release introduces Role-Based Access Control (RBAC), replacing the organization-based authorization model (allowedOrgs
) with a more flexible role-based system (allowedRoles
).
- Roles such as
CURATOR
,EVALUATE
, andSUBMIT
enable granular permission management. - Roles can be assigned using the
PublicKeyContract:UpdateUserRoles
method. - Deprecated
allowedOrgs
in decorators; replaced byallowedRoles
. - Roles provide greater flexibility and are better suited to decentralized applications, allowing permissions to align with user roles rather than organizations.
2. Strict UserAlias
and UserRef
Validation
This release introduces stricter validation for user-related fields, enhancing reliability and consistency when working with user data.
UserAlias
: A unique identifier for a user on the chain (e.g.,client|abc
oreth|<checksumed-addr>
).UserRef
: A reference to the user, which can include multiple formats, such as Ethereum addresses (lower-cased or checksumed) or GalaChain uses aliases.- Utility methods like
asValidUserAlias()
andasValidUserRef()
help validate or transform these fields.
3. Bidirectional Aliases
Bidirectional Aliases enhance how user-related fields are handled in DTOs, allowing for flexible input and automatic resolution of user identifiers.
- Accept both GalaChain aliases (e.g.,
client|abc
) and raw Ethereum addresses for user-related fields. - Automatic resolution of user references (
UserRef
) to registered aliases (UserAlias
). - The
resolveUserAlias()
function available in the chaincode mapsUserRef
values (e.g., Ethereum addresses) to correspondingUserAlias
identifiers stored on the chain. - It allows easier integration with GalaChain for applications that use external signing (like MetaMask), and do not have direct access to GalaChain user aliases.
4. REST API Access for Local Development
Local development is now easier with the introduction of the Operation API, a REST service that mirrors the public GalaChain Gateway API.
- Interact with the Hyperledger Fabric network in local environments via REST API.
- Streamlined transitions between local and production environments without code changes.
- Simplified application testing with consistent API behavior.
5. Enforced Unique Keys for Transactions
Submit transactions now require a uniqueKey
to enhance security and prevent replay attacks.
- Validation ensures
uniqueKey
is present and not reused. - Utility methods, such as
createValidSubmitDTO()
andcreateUniqueKey()
, simplify compliance.
6. Unified TokenBalance API
The TokenBalance
chain object API has been refined for clarity and ease of use. Validation and mutation methods are now combined (e.g., addInstance()
replaces ensureCanAddInstance().add()
).
7. Improved Unit Testing
- Test utilities now reflect the updated authorization model, requiring signed DTOs for transactions.
- Simplified syntax for testing interactions, including
getWrites()
for observing chain state changes.
8. Enhanced Security:
Signature verification is enforced for all methods updating the chain. DER signatures without additional metadata (signer address or signer public key) are no longer supported.
Preparing for the Update
Version 2.0.0 introduces several changes that may require adjustments to existing projects. For a full list of updates, including migration steps and deprecations, refer to the Breaking Changes Documentation.
GalaChain SDK 2.0.0 is designed to provide a more flexible, secure, and developer-friendly experience. If you have questions or need support during the upgrade, consult our community forums or official documentation.
What's Changed
- Role based authorization by @dzikowski in #252
- Fix missing instance in balance check for allowances by @dzikowski in #356
- Update Fablo to 2.0.0 by @dzikowski in #372
- Enforce uniqueKey by @dzikowski in #351
- Drop support for legacy CA-based auth by @dzikowski in #369
- Mocked chaincode client for running e2e tests with no Fabric network by @dzikowski in #361
- Migrate fees to SDK v2 by @dzikowski in #398
- Bidirectional aliases by @dzikowski in #427
- Remove dd-trace by @dzikowski in #425
- Unify TokenBalance methods by @dzikowski in #424
- Fix branch check in publish CI by @dzikowski in #447
- Operation API - REST API for GalaChain by @dzikowski in #442
- Polishing and improvements before the release by @dzikowski in #450
- Bump Version to 2.0.0 by @galachain-release-bot in #448
Full Changelog: https://github.com/GalaChain/sdk/pull/368/files
v1.5.7
What's Changed
- Add command to get chaincode logs by @umegbewe in #432
- Bump Version to 1.5.7 by @galachain-release-bot in #435
- Fix TON libraries bundling if they are optional (for Webpack) by @dzikowski in #436
Full Changelog: v1.5.6...v1.5.7
v1.5.6
What's Changed
- Bump Version to 1.5.6 by @galachain-release-bot in #430
- Fix import mistake for connect by @erikgala in #433
- Add repository field in package.json by @mistval in #431
- fix: oracle cross rate exchange calculations, tests, documentation by @sentientforest in #434
New Contributors
Full Changelog: v1.5.5...v1.5.6
v1.5.5
What's Changed
- Bump Version to 1.5.5 by @galachain-release-bot in #428
- fix: post mint lock supports user calling on behalf of owner by @sentientforest in #429
Full Changelog: v1.5.4...v1.5.5
v1.5.4
What's Changed
- Bump Version to 1.5.4 by @galachain-release-bot in #422
- Fix/oracle dto types by @sentientforest in #423
Full Changelog: v1.5.3...v1.5.4
v1.5.3: finalize Oracle Cross-rate price assertions (#421)
support bridge out, destination chain fee transaction calculations in tokens that aren't directly priced in GALA, using a common cross-rate exchange rate denominated in a widely used token.
v1.5.2
What's Changed
- Contructor args typings and error handling by @erikgala in #418
- Bump Version to 1.5.2 by @galachain-release-bot in #419
Full Changelog: v1.5.1...v1.5.2
v1.5.1
What's Changed
- Bump Version to 1.5.1 by @galachain-release-bot in #417
- Initial TokenMintConfiguration implementation by @sentientforest in #412
Full Changelog: v1.5.0...v1.5.1