๐Ÿ“ข ๐ŸŽ‰ Steem.js v1.0.9 Alpha Release Coming

in #steem โ€ข 11 days ago (edited)

Release Date: December 6, 2025
Version: v1.0.9
Status: ๐ŸŸก Alpha - Ready for Community Testing


๐Ÿ“ข Overview

We are excited to announce that Steem.js v1.0.9 is now available as an alpha release for community testing! This version represents a significant milestone in our ongoing modernization effort, with major improvements in code quality, browser compatibility, and developer experience.

After extensive refactoring and testing over the past week, we believe this version is stable enough for community feedback and real-world testing scenarios.


๐Ÿš€ What's New in v1.0.9

โœจ Major Features & Improvements

1. Complete Modernization Stack (v1.0.5 โ†’ v1.0.8)

  • โœ… Removed Legacy Dependencies: Eliminated axios, bluebird, websocket, lodash, and crypto-browserify
  • โœ… Modern Cryptography: Migrated to @noble/hashes and @noble/ciphers for universal browser/Node.js compatibility
  • โœ… Native APIs: Replaced axios with native fetch API, Bluebird with native Promises
  • โœ… ESLint 9 Migration: Updated to latest ESLint with improved code quality rules
  • โœ… Type Safety: Replaced any types with unknown for better type safety

2. Browser Compatibility Enhancements

  • โœ… Buffer Polyfill Support: Full Buffer polyfill support for browser ESM builds
  • โœ… UMD Build Improvements: Fixed Buffer initialization issues in UMD builds
  • โœ… Cross-Platform Support: Works seamlessly in Node.js, browsers, and modern bundlers

3. Critical Bug Fixes

  • โœ… custom_json Serialization: Fully implemented custom_json operation serialization
  • โœ… TypeScript Type Errors: Fixed Buffer type compatibility issues in ecdsa.ts
  • โœ… Test Suite Updates: Updated all unit tests to handle dependency changes

4. Developer Experience

  • โœ… Version Property: Added steem.version property accessible at runtime
  • โœ… API Simplification: Removed getAccount() convenience method (use getAccounts() instead)
  • โœ… Comprehensive Test Suite: Added full API test suite to test-umd.html for browser testing
  • โœ… Documentation Updates: Updated API documentation and refactoring guides

5. Configuration & API Management (v1.0.9)

  • โœ… Comprehensive Configuration Documentation: Added detailed documentation for steem.config.set() and steem.api.setUrl()
  • โœ… Singleton API Instance: Unified API instance management to ensure steem.config.set() automatically syncs with steem.api singleton
  • โœ… Multiple API Instances Support: Exported Api class for creating custom API instances with different configurations
  • โœ… Configuration Synchronization: steem.config.set({ nodes: [...] }) now automatically updates the API singleton's URL

๐Ÿ“ฆ Installation

# npm
npm install @steemit/steem-js@1.0.9

# pnpm (recommended)
pnpm install @steemit/steem-js@1.0.9

# yarn
yarn add @steemit/steem-js@1.0.9

Browser CDN

<script src="https://cdn.jsdelivr.net/npm/@steemit/steem-js@1.0.9/dist/index.umd.min.js"></script>

๐Ÿ”ง Breaking Changes

API Changes

  • All callback-based methods now have Promise-based alternatives (e.g., getAccountsAsync())
  • WebSocket transport support has been removed (HTTP only)

๐Ÿงช Testing

We've added comprehensive test coverage:

  • โœ… Unit Tests: 95.8% coverage with Vitest
  • โœ… Browser Tests: Full test suite in test-umd.html
  • โœ… Type Checking: Full TypeScript type safety

Run Tests Locally

# Install dependencies
pnpm install

# Run unit tests
pnpm test

# Run browser tests
# Open test-umd.html in a browser after building
pnpm build

๐Ÿ“Š Version History (v1.0.5 โ†’ v1.0.9)

v1.0.9 (December 3, 2025)

  • Add comprehensive configuration documentation for steem.config.set() and steem.api.setUrl()
  • Unify API instance management using singleton pattern
  • Export Api class for creating multiple API instances
  • Ensure steem.config.set() automatically syncs with API singleton
  • Remove all non-official API endpoints from documentation

v1.0.8 (December 3, 2025)

  • Add steem.version property from package.json
  • Add Buffer polyfill support for browser ESM builds
  • Add comprehensive API test suite to test-umd.html

v1.0.7 (December 3, 2025)

  • Fix Buffer polyfill initialization in UMD builds
  • Improve browser compatibility

v1.0.6 (December 3, 2025)

  • Implement custom_json serialization
  • Fix TypeScript type errors
  • Remove getAccount() convenience method

v1.0.5 (November 30, 2025)

  • Major refactoring: Remove legacy dependencies
  • Modernize codebase with ESLint 9
  • Replace crypto libraries with @noble packages

๐ŸŽฏ What We Need from the Community

As this is an alpha release, we're looking for:

  1. ๐Ÿ› Bug Reports: Report any issues you encounter
  2. ๐Ÿ’ก Feedback: Share your experience with the new API
  3. ๐Ÿงช Real-World Testing: Test in your applications and report compatibility issues
  4. ๐Ÿ“ Documentation: Help us improve documentation with your use cases

Known Limitations

  • โš ๏ธ WebSocket transport is not supported (HTTP only)
  • โš ๏ธ Some edge cases in browser environments may need additional testing
  • โš ๏ธ Migration from old steem-js may require code updates

๐Ÿ”— Resources


๐Ÿ› ๏ธ Quick Start Example

import { steem } from '@steemit/steem-js';

// Configure API endpoint
steem.config.set({
  nodes: ['https://api.steemit.com'],
  address_prefix: 'STM'
});

// Check version
console.log('Steem.js version:', steem.version); // "1.0.9"

// Get account information
const accounts = await steem.api.getAccountsAsync(['ety001']);
console.log(accounts[0]);


๐Ÿ“ Next Steps

  1. Test the alpha release in your development environments
  2. Report any issues you encounter
  3. Share your feedback on the API design and usability
  4. Stay tuned for beta and stable releases based on community feedback

Happy Testing! ๐Ÿš€

For questions or support, please open an issue on GitHub or reach out to the maintainers.

Sort: ย 

Upvoted! Thank you for supporting witness @jswit.

Hello @ety001! You are Great!


command: !thumbup is powered by witness @justyy and his contributions are: https://steemyy.com
More commands are coming!