v1.0.0-beta.1
Pre-release
Pre-release
github-actions
released this
19 Dec 04:26
·
16 commits
to main
since this release
1.0.0-beta.1 (2024-12-19)
Features
- Introduce a logging context which holds logs and source lines which allows for log messages to include a summary of the source code which resulted in the log message (eb48a3a)
- Add DynamicBytes and StaticBytes types (607d15f)
- Add hooks to compile process for consumers to manipulate TS AST and AWST before compilation (7635894)
- Add implicit create methods to contracts which don't have an explicit one (7ab8f02)
- Add interpretAsArc4, decodeArc4, and encodeArc4 functions in place of static member functions which are less versatile (c4e53ab)
- Add missing puya parameter for outputting source maps (974da25)
- allow construction of bytes from biguint to be orthogonal to biguint being constructed from bytes (ba23c64)
- Allow replacement tokens in outpath (d332569)
- Allow stateTotals to be specified statically in contract options (d9e3bfe)
- ARC28 emit function (d0bfed7)
- ARC4 Structs (a9d30f9)
- ARC4 Tuples and UFixedNxM (b13fbd1)
- Array indexing + bug fixes (818f1aa)
- Array push, pop, slice, and at (af98954)
- AVM11 Support (2202dce)
- BoxRef.resize (4757566)
- capture options from contract decorator as class property (2821fcb)
- Compile logic signatures and template variables (1e06a3a)
- Error when attemping to mutate an immutable tuple type (88b9a10)
- Expand and implement Bytes and BigUint factory methods (d013fa9)
- Expand arc4 type support (41b7726)
- Expand Bytes factory method to support iterable (ie. uint8array) (88bf321)
- Export encoding util methods (cdce210)
- Handle ARC4 bool and string (ce32257)
- implement AppGlobal via context manager (6e34ad2)
- implement AppLocal via context manager (62143f3)
- implement arc4.methodSelector function (5dbb752)
- implement Box via context manager (11c0c15)
- Implement missing box proxy methods (e0a6fae)
- Include --isolated-files option to compile each individual file matched by cli separately (bea7a46)
- Include option for outputting arc56 json files (dfad42c)
- Parse jsdoc comments where available and include them in AWST (7845ca1)
- Pre-compiled contracts (757e8a4)
- Provide struct definitions to puya for arc4 methods (f1af384)
- Reserved scratch space (942a109)
- Support as casting (c6670f7)
- Support Boolean() with no args (7df6e95)
- support calling bitwiseAnd, bitwiseOr, and bitwiseXor methods of bytes type (dfa9e76)
- Support empty statements (ef5f820)
- support fromBytes and fromLog methods for ARC4Encoded types (08912a1), closes #45
- Support property checks and spreading of arc4 structs (36a1661)
Bug Fixes
- Add missing slice method to bytes interface (11ffcef)
- allow uint64 type as well for Application and Asset parameter types (d84d291)
- avoid hardcoding op codes (3c6132d)
- avoid updating op-metadata file directly as it is generated by a script (796995f)
- biguint construction from uint64 and conversion to bytes (1312e9d)
- Boolean function generic param count (ce464b4)
- Bug when creating UintN<128> instance with a literal larger than 64bits (674d6b2)
- Bugs in hex decode and b32 encode (af18eb0)
- Builder can be returned as is if ptype is an exact match (a61a2b6)
- bytes.slice and bytes.at not handling negative or missing values correctly (e6b5ba5)
- Calculation of outDir for compilation output + negate boolean cli options which are enabled by default (3569bf4)
- circular dependency (9e300a1)
- Destructuring into iterator items (dcfccab)
- Ensure nested assignments use correct lvalue logic (df40d08)
- Error when parsing an unsafe numeric literal (9747254)
- Expand implicit create method logic to check base contracts and test (7352755)
- Expand supported args for uint64 constructor (df9a59b)
- Export paths for algorand-typescript package (daf87de)
- Generate a name for anonymous types used in ABI methods + stabilise output for SingleEval nodes (49f0cd6)
- Importing consts from external files (d7f0fd5)
- Include new properties required by puya in awst nodes and wtypes (ccec890)
- Issue with box value proxy not proxying all members through to proxied builder (59fea44)
- itob for uint64 should return 8 bytes when evaluating to a constant (fadeecc)
- Make all tuples immutable for now to match puya (441eb2d)
- not node still requires int to be cast to bool (c58728b)
- op codes with no arguments and void return types were throwing
Not Supported: Calling void
error (6e5a095) - Other usages of incorrect op (d17904c)
- Parse all modifiers on a method to determine if it is public (and hence exposed as an abi method) (855d18a)
- Patched awst serializer to work with puya's simplified approach to default args. Can be removed once puya has been updated (d9724e0)
- Remove circular dependencies and ensure build fails in future if one is added (20107d2)
- Remove optimization for re-interpret cast on integer constants (35d9216)
- Remove superfluous line (eae8da3)
- Resolve issue with resolution of algo-ts types from namespace objects (005551a)
- Respect declaration order of object properties and use field expression in place of item indexing (cda490d)
- Several bugs in the box proxy api (85a25b3)
- TransactionType enum name in PType (ef52014)
- Typo in logic sig visitor and typing of options decorators + increase test coverage (a11c599)
- typo which is setting wrong state value counts in arc32.json (2236742)
- undo change to BytesCompat type as it is incorrect and unnecessary (20b1567)
- Update expected output tests and standardise transient type error messages (63f78fd)
- update generate-op-ptypes script instead of directly editing op-ptypes (8d69152)
- Use correct case for copy readme script (2fc15ae)
- Use correct node type for local state expressions (d1db360)
- Use correct op (6f2d9cd)
- Use default name of Anonymous for unnamed object types (94f03bd)
- Use platform agnostic command name (88a08ee)
- wtype for box_resize (f5e0a4c)
Dependencies and Other Build Updates
- Bump version (b2a2a56)
- Bundle patched typescript package with compiler and remove peer dependency on algorand-typescript (4c3010d)
- Configure python version in CI (e8697f3)
- Disable PR trigger for now, add publish command for algo-ts (9462dd1)
- Do PR build on PR into alpha branch (3270a3c)
- Don't run commit lint on release and it checks the entire history and old commits don't lint correctly (a8d41e2)
- Drop commitlint type requirement to a warning temporarily to allow old commit messages through (0426857)
- Install puya compiler before testing (8530dfa)
- Override npm version to resolve audit issue (5451cd3)
- Remove commit lint warnings (8945391)
- Remove dry-run from package publish (5a777ab)
- Specify python version for pipx install (f444d67)
- Start algokit localnet for testing (095bc50)
- Swap to alpha branch + house keeping (1f17b34)
- Test release (312e32a)
- Test release (b721c03)
- Tweak approval tests for ci (eeb49fe)
- Use "./" instead of "." (e971c5b)
- Validate that the code built for the algo-ts package matches (6600ec3)