- Fix: Fix indexer sync issue in cucumber tests by @jasonpaulos in #686
- API Update: Regenerate code with the latest specification file (8f8a9ef2) by @github-actions in #661
- Codegen: Regenerate code with the latest specification file (2335b019) by @github-actions in #715
- Test: Add minbalance tests for Java SDK. by @gmalouf in #717
- ci: upgrade checkout action to v4 by @michaeltchuang in #716
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/2.4.0...2.5.0
- Patch: Remove de-duping via HashSet from accounts,foriegn apps, and foreign … by @gmalouf in #652
- @gmalouf made their first contribution in #652
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/2.3.0...2.4.0
- bug-fix: include currency-greater-than param for 0 value by @shiqizng in #620
- api: Sync client object with latest spec. by @winder in #648
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/2.2.0...2.3.0
- DevOps: Update CODEOWNERS to only refer to the devops group by @onetechnical in #571
- deltas: Deltas apis by @Eric-Warehime in #575
- algod: Regen changes for Deltas endpoints by @Eric-Warehime in #590
- docs: remove old example from README by @winder in #561
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/2.1.0...2.2.0
Supports new devmode block timestamp offset endpoints.
- Bug-Fix: update label github action to v3 by @michaeltchuang in #531
- algod REST API: Add test for /v2/teal/disassemble by @michaeldiamant in #433
- Documentation: Adds examples to be pulled into docs by @barnjamin in #506
- Fix: improve error message for mismatched args by @barnjamin in #511
- api: Regenerate Client Interfaces and implement cucumber tests. by @winder in #555
- DevOps: Add CODEOWNERS to restrict workflow editing by @onetechnical in #559
- @michaeltchuang made their first contribution in #531
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/2.0.0...2.1.0
- Remove
TxGroup.assignGroupID(Transaction[] txns, Address address)
in favor ofTxGroup.assignGroupID(Address address, Transaction ...txns)
. - Remove
Account.transactionWithSuggestedFeePerByte
in favor ofAccount.setFeeByFeePerByte
. - Remove deprecated methods in
Transaction.java
, mark publicTransaction
constructor as hidden in favor ofcom.algorand.algosdk.builder.transaction
. - Remove deprecated
Transaction.setFee
andTransaction.setLease
methods. - Remove v1 algod API (
com.algorand.algosdk.algod.client
) due to API end-of-life (2022-12-01). Instead, use v2 algod API (com.algorand.algosdk.v2.client.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,
com/algorand/algosdk/resource/langspec.json
,com.algorand.algosdk.logic
and methods incom.algorand.algosdk.crypto
depending onlangspec.json
. - Remove the deprecated
MethodCallParams
public constructor in favor ofcom.algorand.algosdk.builder.transaction.MethodCallTransactionBuilder
. - Remove unused generated types:
CatchpointAbortResponse
,CatchpointStartResponse
.
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/1.22.0...2.0.0
- BugFix: Fix incorrect reference to global schema by @barnjamin in #427
- Bug-Fix: parsing type strings for tuples containing static arrays of tuples by @ahangsu in #431
- REST API: Add KV counts to NodeStatusResponse by @github-actions in #428
- Enhancement: Migrate v1 algod dependencies to v2 in cucumber tests by @ahangsu in #425
- Enhancement: Allowing zero length in static array by @ahangsu in #432
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/1.21.1...1.22.0
- SDK: Fix transaction decoding with boxes by @jasonpaulos in #422
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/1.21.0...1.21.1
- Boxes: Add support for Boxes by @michaeldiamant in #345
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/1.20.0...1.21.0
- REST API: Add algod block hash endpoint, add indexer block header-only param. by @winder in #413
- Deprecation: Add deprecation tags to v1
algod
API by @algochoi in #388
- Regenerate code with the latest specification file (b243e19e) by @github-actions in #387
- @github-actions made their first contribution in #387
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/1.18.0...1.19.0
- Bug-Fix: Pass verbosity to the harness and sandbox by @tzaffi in #371
- StateProofs: Add State Proof support. by @winder in #360
- Enhancement: Use Sandbox for Testing by @tzaffi in #363
- Enhancement: Deprecating use of langspec by @ahangsu in #367
- @tzaffi made their first contribution in #363
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/1.17.0...1.18.0
- Bug-Fix: Pass verbosity to the harness and sandbox by @tzaffi in #371
- StateProofs: Add State Proof support. by @winder in #360
- Enhancement: Use Sandbox for Testing by @tzaffi in #363
- Enhancement: Deprecating use of langspec by @ahangsu in #367
- @tzaffi made their first contribution in #363
Full Changelog: https://github.com/algorand/java-algorand-sdk/compare/1.17.0...1.18.0-beta-1
- DevTools: adding source map decoder by @barnjamin in #352
- Github-Actions: Adding pr title and label checks by @algojack in #339
- Enhancement: Add UNKNOWN enum type to HTTP client enums. by @winder in #351
- AVM: Consolidate TEAL and AVM versions by @michaeldiamant in #348
- Testing: Modify cucumber steps to use dev mode network by @michaeldiamant in #350
- Ignore copied over txt test resource files by @michaeldiamant in #342
- adding method to abi result object by @barnjamin in #334
- adding tests and methods for getMethodByName by @barnjamin in #337
- Rerun code generation based on new models by @Eric-Warehime in #321
- Excluding gh-pages branch from cicd by @algojack in #325
- Build: Add SDK code generation workflow by @Eric-Warehime in #327
- Add branch info to sdk gen action by @Eric-Warehime in #330
- Generate updated client API code by @algoidurovic in #318
- Introduce unified
MethodCallTransactionBuilder
& deprecateMethodCallParams.Builder
by @jasonpaulos in #324
- @Eric-Warehime made their first contribution in #321
- @algoidurovic made their first contribution in #318
- Add foreign app address to dryrun creator (#315)
- Add appTrace and lsigTrace DryrunTxnResult printer utility functions. (#305)
- Add createDryrun helper function. (#284)
- Add error message with atomic transaction composer (#311)
- Update generated client code. (#307)
- Unlimited assets regenerated code. (#302)
- Unlimited assets regenerated code. (#302)
- Add new key reg txn field (#266)
- C2C Feature and Testing (#290)
- Implement circle ci (#293)
- Update README.md (#297)
- Update langspec for teal6 (#298)
- Support Foreign objects as ABI arguments (#283)
- Upgrade
jackson
packages to resolve PRs on vulnerability (#281) - ABI Interaction Support for JAVA SDK (#268)
- Bug fix for
logs
onPendingTransactionResponse
(#275) - Add WaitForConfirmation function (#274)
- Better error message on encoding exception. (#258)
- Fix ABI source code position for ABI feature (#260)
- Add ABI encoding support (#255)
- Support Foreign objects as ABI arguments (#283)
- Upgrade
jackson
packages to resolve PRs on vulnerability (#281)
- ABI Interaction Support for JAVA SDK (#268)
- Bug fix for
logs
onPendingTransactionResponse
(#275) - Add WaitForConfirmation function (#274)
- Better error message on encoding exception. (#258)
- Revert "Revert "Fix ABI source code position for ABI feature (#260)""
- Revert "Revert "Add ABI encoding support (#255)""
- Feature/sign rekey lsig msig (#250)
- Support parsing msgpack with numeric key (#262)
- Support AVM 1.0
- Update TEAL langspec to v5
- Add function to get app address
- Regenerate REST API types
- Support new cucumber tests
- Enable new cucumber tests
- Allow non-base64 metadata hash and force 32 bytes
- mark contract templates as @Deprecated
- Added pretty print option to Object Mapper instance
- Added toSeed() method in Account.java
- Regenerate HTTP Client (Asset b64 fields + App extra pages)
- Set default header for base execute
- Implement dynamic opcode accounting, backward jumps, loops, callsub, retsub
- Implement ability to pool fees
- Update asset URL length to 96 bytes
- Implement ability to pay for extra pages
- Don't override values with lookupParams/suggestedParams
- Add static qualifiers to json creators for onCompletion enum serialization.
- Corrected Exception message for Keccak-256 hash function.
- Add TEAL 3 support.
- Regenerated comment.
- Fix custom token key comment.
- Update .gitignore.
- Regenerate Indexer Client.
- Regenerate client code, implement new cucumber tests.
- Fix base32 decode bug.
- Add secure vars and docker login.
- Don't override values with lookupParams/suggestedParams.
- New constructors for v2 and Indexer that also accepts tokenKey.
- Updated README example.
- Add custom header option to v2 client, new 'execute' method on each endpoint request.
- Add new execute method to support for Algorand Smart Contract Applications.
- Accept URI formatting in AlgodClient and IndexerClient to specify connection scheme.
- Fix Algod V2 Client encoding issue.
- Add missing TransactionBuilder helper for working with suggested parameters.
- Clients for Indexer V2 and algod API V2
- Fix javadoc and build pom.xml.
- Added additional Algorand Smart Contracts (ASC)
- Added support for Dynamic Fee contract
- Added support for Limit Order contract
- Added support for Periodic Payment contract
- Added new builder patterns for creating Transactions, see com.algorand.algosdk.builder.transaction.*
- Add missing getters to AssetHolding model object.
- 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
- IMPORTANT - This version modifies one of the mnemonic words. Please let your users to know that if they have the word "setupIfNeeded" in their mmnemonic, they should change it to "setup". Everything else remains the same.
- signing and verifying signatures for arbitrary bytes
- Compatibility with 2.9 Jackson