- fix: remove cross-fetch by @PhearZero in algorand#833
- @PhearZero made their first contribution in algorand#833
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v2.6.0...v2.7.0
- signer: Only merge multisigs if there are more than 1 by @acfunk in algorand#822
- Simulate: Application State Change and Hash of Executed Bytecode by @ahangsu in algorand#818
- node: Update to node 18, drop support for node 16 by @jasonpaulos in algorand#827
- api: Regenerate client. by @winder in algorand#826
- @acfunk made their first contribution in algorand#822
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v2.5.0...v2.6.0
- bug-fix: include currency-greater-than param for 0 value by @shiqizng in algorand#807
- Simulation: Execution trace (PC/Stack/Scratch) support by @ahangsu in algorand#803
- fetch: Add Cloudflare Workers support (cross-fetch v4) by @spencercap in algorand#794
- logging: Add rn warning and logging by @Eric-Warehime in algorand#798
- CICD: Update Chromedriver version and CI orb by @algochoi in algorand#802
- CICD: Update chromedriver in package.json to 116+ by @algochoi in algorand#811
- @spencercap made their first contribution in algorand#794
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v2.4.0...v2.5.0
- docs: fix error message by @barnjamin in algorand#780
- Algod: Simulation run with extra budget per transaction group by @ahangsu in algorand#784
- DevOps: Update CODEOWNERS to only refer to the devops group by @onetechnical in algorand#783
- Client: Don't send auth header when token is empty by @Eric-Warehime in algorand#782
- algod: Add state delta APIs by @Eric-Warehime in algorand#785
- deps: Remove coveralls, mocha lcov by @Eric-Warehime in algorand#787
- algod: Add json query arg to delta endpoints by @Eric-Warehime in algorand#793
- Bump semver-regex from 3.1.2 to 3.1.4 by @dependabot in algorand#580
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v2.3.0...v2.4.0
- Docs: Repair the links in the docs to developer.algorand.org by @bbroder-algo in algorand#755
- Fix: Allow nonParticipation flag to be a boolean by @barnjamin in algorand#757
- BugFix: Min fee sp fix by @barnjamin in algorand#760
- Simulation: Lift log limits option in SimulateRequest by @ahangsu in algorand#768
- Docs: Examples by @barnjamin in algorand#754
- API: Support updated simulate endpoint by @jasonpaulos in algorand#764
- algod: Add blockOffsetTimestamp, syncRound APIs to algod client by @Eric-Warehime in algorand#769
- node: Drop support for node v14, npm audit fix by @Eric-Warehime in algorand#773
- client: Export token header types by @Eric-Warehime in algorand#772
- DevOps: Add CODEOWNERS to restrict workflow editing by @onetechnical in algorand#775
- Docs: Update README & FAQ by @jasonpaulos in algorand#774
- @bbroder-algo made their first contribution in algorand#755
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v2.2.0...v2.3.0
- bugfix: Satisfy typescript constraints by @aorumbayev in algorand#741
- algod: Minor improvements to simulation support by @jasonpaulos in algorand#749
- CICD: Update ssh fingerprint for gh-pages by @algobarb in algorand#745
- Docs: add examples to be pulled in for docs by @joe-p in algorand#747
- algod: Simulate Endpoint by @algochoi in algorand#743
- @aorumbayev made their first contribution in algorand#741
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v2.1.0...v2.2.0
- Enhancement: Add foreign array objects to ATC
addMethodCall
by @algochoi in algorand#725 - API: verifyTealSign utility function by @M-Picco in algorand#735
- Packaging: Don't use global
Buffer
object by @jasonpaulos in algorand#733 - algod REST API: Add support for algod /v2/teal/disassemble by @michaeldiamant in algorand#702
- @M-Picco made their first contribution in algorand#735
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v2.0.0...v2.1.0
- Remove v1 algod API (
client.algod
) due to API end-of-life (2022-12-01). Instead, use v2 algod API (client.v2.algod.algod
). - Remove
cost
field inDryrunTxnResult
in favor of 2 fields:budget-added
andbudget-consumed
.cost
can be derived bybudget-consumed - budget-added
. - Remove logicsig templates (
logicTemplates
),logic/langspec.json
,logic.logic
depending onlangspec.json
. - Regenerate algod models so every constructor requires an object to be passed in. Previously, only constructors with more than 4 argument specified this.
- Remove unused generated types:
CatchpointAbortResponse
,CatchpointStartResponse
. - Remove following methods in favor of the methods with
WithSuggestedParams
suffix:makePaymentTxn
,makeKeyRegistrationTxn
,makeAssetCreateTxn
,makeAssetConfigTxn
,makeAssetDestroyTxn
,makeAssetFreezeTxn
,makeAssetTransferTxn
.
- Remove
makeLogicSig
in favor of either usingLogicSigAccount
(preferred) or directly invokingLogicSig
constructor. - Remove
EncodedMultisigBlob
in favor of `EncodedSignedTransaction.
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.24.1...v2.0.0
- Packaging: Improve source map and browser usage for external bundlers by @jasonpaulos in algorand#707
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.24.0...v1.24.1
- Bug-Fix: encode ABI string with non-ASCII characters by @ahangsu in algorand#700
- Tests: Migrate v1 algod dependencies to v2 in cucumber tests by @algochoi in algorand#693
- REST API: Add KV counts to NodeStatusResponse by @michaeldiamant in algorand#696
- Fix: createMultisigTransaction name in comments by @nullun in algorand#694
- Enhancement: allowing zero-length static array by @ahangsu in algorand#698
- ABI: Refactor ABI encoding test to round-trip by @michaeldiamant in algorand#701
- @nullun made their first contribution in algorand#694
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.23.2...v1.24.0
- SDK: Dryrun and transaction decoding fix for boxes by @jasonpaulos in algorand#690
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.23.1...v1.23.2
- fix: mergeMultisigTransactions logic error by @AlgoDoggo in algorand#675
- CI: Remove unneeded dependency & update package-lock by @jasonpaulos in algorand#684
- Boxes: Add support for Boxes by @algochoi in algorand#604
- Enhancement: Code generation improvements by @jasonpaulos in algorand#663
- Network: Replace
superagent
withfetch
for HTTP requests by @jasonpaulos in algorand#676 - API: Fix docs typo by @PabloLION in algorand#677
- CI: Upgrade node.js from v12 to v14 by @michaeldiamant in algorand#680
- @PabloLION made their first contribution in algorand#677
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.22.0...v1.23.1
- Bug-Fix: Fix typo in documentation for
searchAccounts
currencyGreaterThan
by @fionnachan in algorand#572
- REST API: Add algod block hash endpoint, add indexer block header-only param. by @winder in algorand#665
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.21.0...v1.22.0
- Enhancement: Removing more unused steps by @tzaffi in algorand#637
- Enhancement: Add deprecation tag to algod v1 client by @algochoi in algorand#642
- enhancement: add unit test for ParticipationUpdates field by @shiqizng in algorand#652
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.20.0...v1.21.0
- Bug-Fix: Pass verbosity to the harness and sandbox by @tzaffi in algorand#630
- Enhancement: Use sandbox for SDK Testing and remove Indexer v1 steps by @algochoi in algorand#623
- Tidy: Ignore algorand-sdk-testing test-harness dir by @michaeldiamant in algorand#634
- Enhancement: Deprecating use of langspec by @ahangsu in algorand#632
- enhancement: Initial stateproofs support by @Eric-Warehime in algorand#629
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.19.1...v1.20.0
- Bug-Fix: Pass verbosity to the harness and sandbox by @tzaffi in algorand#630
- Enhancement: Use sandbox for SDK Testing and remove Indexer v1 steps by @algochoi in algorand#623
- Tidy: Ignore algorand-sdk-testing test-harness dir by @michaeldiamant in algorand#634
- Enhancement: Deprecating use of langspec by @ahangsu in algorand#632
- enhancement: Initial stateproofs support by @Eric-Warehime in algorand#629
- @ahangsu made their first contribution in algorand#632
Full Changelog: https://github.com/algorand/js-algorand-sdk/compare/v1.19.1...v1.20.0-beta.1
- API: Support attaching signatures to standard and multisig transactions by @jdtzmn in algorand#595
- AVM: Consolidate TEAL and AVM versions by @michaeldiamant in algorand#609
- Testing: Use Dev mode network for cucumber tests by @algochoi in algorand#614
- tech-debt: Remove unused/unmaintained templates by @Eric-Warehime in algorand#607
- Dev Tools: Source map decoder by @barnjamin in algorand#590
- Enhancement: Upgrade typedoc and plugins by @fionnachan in algorand#605
- Github-Actions: Adding PR title and label checks by @algojack in algorand#600
- docs: tealSign by @AlgoDoggo in algorand#610
- Properly set maxWidth in trace by @joe-p in algorand#593
- fix: safe intDecoding by @AlgoDoggo in algorand#599
- Remove code that relies on node's path module by @bmdelacruz in algorand#598
- @AlgoDoggo made their first contribution in algorand#599
- @bmdelacruz made their first contribution in algorand#598
- Add method to abi results by @barnjamin in algorand#578
- Add getMethodByName function to Contract and Interface by @barnjamin in algorand#583
- Allow Uint8Arrays public keys for kmd signing by @vividn in algorand#549
- Update generated files by @Eric-Warehime in algorand#569
- Build: Add SDK code generation workflow by @Eric-Warehime in algorand#570
- Update codegen.yml by @Eric-Warehime in algorand#574
- Generate updated client API code by @algoidurovic in algorand#566
- @vividn made their first contribution in algorand#549
- @Eric-Warehime made their first contribution in algorand#569
- @algoidurovic made their first contribution in algorand#566
- Dryrun stack printer
- Document more Indexer methods
- Corrected type of KMD keys
- Include foreign app addr in dryrun requests
- Support unlimited assets REST API changes. (#527)
- Fix app creation createDryrun error (#539)
- Fix cucumber tests for asset lookup step (#540)
- Fix searchForApplications filter by creator parameter type. (#546)
- Support unlimited assets REST API changes. (#527)
- Fix app creation createDryrun error (#539)
- Fix cucumber tests for asset lookup step (#540)
- Add stateproof keyreg field (#463)
- Implement C2C tests (#498)
- Moving from travis to circleci (#507)
- Add installation instructions for vite users (#512)
- Update langspec for TEAL 6 (#518)
- Docs for
lookupAssetByID
andlookupAccountTransactions
(#516) - Make FromObject parameter IntelliSense human readable (#528)
- Bump url-parse from 1.5.1 to 1.5.8 (#529)
- Use HTTP request format arg to determine response type (#532)
- Update chromedriver (#535)
- Add stateproof keyreg field (#463)
- Implement C2C tests (#498)
- Moving from travis to circleci (#507)
- Add installation instructions for vite users (#512)
- Update langspec for TEAL 6 (#518)
- Add app creator to dryrun request (#499)
- Adding note to use bigint (#501)
- Fix JSON decoding (#502)
- Create dryrun (#478)
- Support ABI reference types and other improvements (#482)
- Improve HTTP error messages (#485)
- Enabling a custom client for Algod and Indexer (#477)
- Export sdk subclasses to typedoc (#479)
- ABI Support for JS library (#454)
- ABI interaction support (#466)
- Wait for confirmation function (#469)
- Add freezeAccount encoding in display method (#460)
- Regenerate code from specification file (#456)
- Document Indexer methods (#491)
- Document Algodv2 methods (#486)
- Update chromedriver (#492)
- Fix wait for confirmation function (#480)
- Fix type for foreignAssets (#472)
- Support ABI reference types and other improvements (#482)
- Improve HTTP error messages (#485)
- Enabling a custom client for Algod and Indexer (#477)
- Export sdk subclasses to typedoc (#479)
- Fix wait for confirmation function (#480)
- ABI Support for JS library (#454)
- ABI interaction support (#466)
- Wait for confirmation function (#469)
- Add freezeAccount encoding in display method (#460)
- Regenerate code from specification file (#456)
- Fix type for foreignAssets (#472)
- Support AVM 1.0
- Support deserializing nonparticipating and offline keyreg
- Support deserializing nonparticipating transaction
- Key registration transaction with nonParticipation=true
- Properly decode transaction extra pages field (#419)
- Signing support for rekeying to LogicSig/MultiSig account
- Add missing fields
msig
andlsig
toEncodedSignedTransaction
type - Add the missing type
SignedTransaction
, which helped fix theany
return value forTransaction.from_obj_for_encoding
- More internal types are now exported
- Support the new base64 asset fields in algod models
- Add ability to install the package from a git URL with npm
- Remove BigInt literals from package
- Support encoding transactions with a first round of zero
- Fix msgpack encoding of dryrun objects
- Support for dynamic opcode accounting, backward jumps, loops, callsub, retsub
- Ability to pool fees
- Ability to pay for extra pages
- Add link to docs in readme
- Update examples on getting
suggestedParams
- Grammatical fixes
- Fix asset creation transaction types that should be optional
- Remove synthetic default imports
- Use DryrunRequest instead of DryrunSource in constructor
- Changed our browser bundle from webpack's
window
type toUMD
, which fixes issues when using the library from React (#352).
- TypeScript support (#302, #314, #315, #317, #313, #319, #323, #318, #331, #325, #337).
- Allow BigInts to be used to construct Transactions (#263).
decodeAddress
now verifies the address checksum (#269).- Add support for nonparticipating key registration transactions (#271).
- Allow LogicSigs to sign transactions with a different AuthAddr (#268).
- Support for decoding BigInts from API calls (#260).
- Add helper functions to encode and decode integers (#281).
- Support new features from indexer v2.3.2 (#296).
- Support TEAL 3 programs (#294).
- Properly validate
assetMetadataHash
andlease
(#253, #280). - Fix the
Algodv2.versionsCheck().do()
method (#258). - Fix an issue using
mergeMultisigTransactions
in React (#259). - Fix the inability to specify rekey addresses in several makeTransaction functions (#267).
- Stop the Transaction constructor from modifying input arrays (#279).
- Allow
signLogicSigTransaction
to accept Transaction objects (#290).
- Update examples to use v2 endpoints (#289).
- Improve error trace reporting (#291).
- Establish consistent code style (#299).
- Remove
dist
folder from repo (#326).
- Added
toString
and print methods to Transaction (#243). - Added functions to create Transactions from objects (#246).
- Fixed issues using the library with webpack, including switching dependencies from
keccak
tojs-sha3
(#247).
- Add
encodeAddress
anddecodeAddress
to convert between the binary and text form of Algorand addresses (#216). - Add
encodeUnsignedTransaction
,decodeUnsignedTransaction
,decodeSignedTransaction
to convert between binary transactions and transaction objects (#218). - Add optional
rekeyTo
parameter to transaction builder functions (#221). - Support testing on Chrome and Firefox in addition to Node (#228 and #235).
- Update keccak to 3.0.1, which fixes a build error that would occur every time the package was installed (#151).
- Allow
assignGroupID
to accept raw transaction objects and instances of theTransaction
class (#236). - Allow
signTransaction
to accept instances of theTransaction
class (#233). - Improve type checking and documentation (#233 and #231).
- Switch to using algo-msgpack-with-bigint, which is a fork of @msgpack/msgpack with support for encoding and decoding BigInts (#229).
- Update dependencies (#237).
- Fixed msgpack endpoints returning undefined in browsers (#210 and #215).
- Removed use of class properties (#213).
- Remove unneeded dependency js-yaml and changed mock-http-server to a dev dependency (#214 and #212).
- Fixed set Accept on GET calls
- Change algosdk.signMultisigTransaction to accept either a built Transaction or a dict of constructor args
- Support for Application Call Transactions, also known as Stateful TEAL
- Support for TEAL Compile and Dryrun
- Support for Rekeying Transactions
- An encoding failure due to an empty field will now indicate which field was empty
- Browserify can now handle newly exported modelsv2 package
- Fixed bug where submitting an array of transactions to v2 client's sendRawTransaction would cause an error.
- Fixed bug where Indexer and algod V2 clients were omitted from module exports.
- Clients for Indexer and algod V2
- additional Algorand Smart Contracts (ASC)
- support for Dynamic Fee contract
- support for Limit Order contract
- support for Periodic Payment contract
- support for Suggested Params
- Added asset decimals field.
- Added support for Algorand Standardized Assets (ASA)
- Added support for Algorand Smart Contracts (ASC)
- Added support for Hashed Time Lock Contract (HTLC)
- Added support for Split contract
- Added support for Group Transactions
- Added support for leases
- msgpack lib was replaced with the official https://github.com/msgpack/msgpack-javascript
- algod.transactionById returns the note as Uint8Array and not as base64
- Support for key registration transactions
- Support for flat fees
- Signing and verifying bytes
- deleteMultisig uses post instead of get
- "MultiSig" standardized to "Multisig"
- Support for Optional Parameters for GetTransactionsByAddress
- Support for GetTransactionByID
- Handle the case of undeclared noteField
- Support of GenesisHash and Close Remainder To fields
- Bug Fix for Suggested Fee
- Support for multisignatures
- kmd can now sign transactions
- Support in more than one token for algodClient
- Support in new Suggested Fee scheme
- Now the client handles empty transactions list
- Bug Fix
- Update to a newer msgpack version (Support 64bit numbers)
- Update algod client to convert b64 to buffer
- Support for arbitrary encoding and decoding of javascript objects
- Support for transaction information in algodClient
- Support for "genesis ID" field in transactions