Golem JavaScript Library: Latest Updates
We are excited to publicly announce the latest set of releases of Golem's JavaScript library. This briefing summarises: golem-js 0.8.x; golem-js 0-9.0; golem-js 0-10-x
and golem-js 0.11.1
Let's dive into the key features, bug fixes, and other enhancements that these updates bring to the Golem ecosystem.
The Objective of the Release
The primary goal of these releases is to add new features, address bugs, improve performance, and enhance the development experience for both requestors and providers in the Golem Network.
🌟 Key Features/Enhancements
1. Library Name Update
We've simplified our library naming for better clarity. Say hello to @golem-sdk/golem-js
, the new name for our JavaScript library, previously known as yajsapi
.
2. GFTP over WebSockets
With this feature, requestors can now transfer data in scripts that run within web browsers. This opens up exciting possibilities for creating Golem apps that seamlessly handle data transfer.
3. Payload Manifest and Outbound Support
Requestors can now create apps that initiate connections to external URLs. This feature adds flexibility to your applications, however, requires the provider's permission to use the service for the requested URL.
4. Default Agreement Selection Strategy
We've revised the default agreement selection strategy to prioritize already engaged providers, leading to improved execution performance.
5. Price Filtering
Managing costs just got easier. With the addition of limitPriceFilter
, requestors can filter providers based on price criteria, providing more control over resource allocation.
6. Logging Control
We understand the importance of clean development. To that end, we've added a flag that allows you to enable or disable logging entirely, so you can focus on what matters most.
7. Golem Network API
This new API empowers developers to manage long-running jobs effectively, offering even more flexibility.
🤖 How It Affects Requestors and Providers
These new features significantly expand the potential use cases for Golem apps, improve overall execution performance, and provide a straightforward cost management solution for providers. We're excited to see how these enhancements will inspire innovative applications within the ecosystem.
🐞 Bug Fixes
In addition to these exciting new features, we've also addressed several bugs to ensure a smoother experience:
- Batch Improvements: Batches will no longer be rejected due to a single-step error, allowing users to analyze the cause.
- Payment Initialization: Initializing payments on the `yagna` service is no longer a prerequisite for creating an allocation.
- Proposal Filtering: Proposals are now correctly filtered for demands with the minCPU constraint.
- Agreement Selection: The
AgreementSelectionStrategy
now correctly selects providers for the next task. - Timeout Measurement: Timeout measurement for tasks executed in a loop has been corrected.
🔗 Upgrade Instructions
To take advantage of these improvements, make sure to update your import statements to reflect the new library name:
import { TaskExecutor } from "@golem-sdk/golem-js"
;import { TaskExecutor } from "https://unpkg.com/@golem-sdk/golem-js"
;
Additionally, follow the respective package manager procedure to update the library in your existing projects.
🚫 Deprecations and Breaking Changes
Please note that the yajsapi
library is now deprecated. Make sure to update your projects accordingly to use @golem-sdk/golem-js
.
📚 Documentation and Resources
Explore our new documentation bundle available at docs.golem.network
. This updated resource features a refreshed look and a completely new structure, including guides, examples, tutorials, and instructions for tool usage. We hope it serves as a valuable reference for your development journey with Golem.
📣 Feedback and Reporting
Your feedback is invaluable to us. Join our Discord js-discussion
channel to share your thoughts or report any issues. Alternatively, you can report issues on the golem-js GitHub repository or golem-docs GitHub repository for the library and documentation, respectively.
🌐 Conclusion and Looking Forward
We are committed to improving the Golem ecosystem continuously. Our team is hard at work on new features and API enhancements to further improve the developer experience and fully support yagna
features. Stay tuned for more exciting updates, and thank you for being a part of the Golem community!