Skip to content

v1.0.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 19 Dec 04:26
· 16 commits to main since this release
c9deda4

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)