Skip to content

1.3.1

Choose a tag to compare

@chase-mew chase-mew released this 01 Mar 14:56
· 525 commits to main since this release

What's Changed

  • Align skittles output directories with Hardhat conventions by @Copilot in #29
  • Rewrite docs, README, and webapp to focus on using Skittles, not Solidity compilation by @Copilot in #30
  • Fix --version flag to show Skittles compiler version by @Copilot in #92
  • Update Node.js requirement from 20+ to 22+ across docs, website, CI, and package.json by @Copilot in #91
  • Support exponentiation operator (**) by @Copilot in #88
  • Support Map<K, V> as alias for Record<K, V> by @Copilot in #84
  • Fix pure internal function calls incorrectly marking caller as view by @Copilot in #93
  • Support multiple return values (tuple returns) by @Copilot in #87
  • Support try/catch for external calls by @Copilot in #86
  • Support object destructuring for struct fields by @Copilot in #85
  • Support for...in loops over enum values by @Copilot in #82
  • Add abi.decode TypeScript syntax with type parameters by @Copilot in #80
  • Add watch mode for the compiler (skittles compile --watch) by @Copilot in #79
  • Support optional constructor parameters with default values by @Copilot in #78
  • Add source maps from TypeScript to generated Solidity by @Copilot in #77
  • Add unreachable code and unused variable warnings at the TypeScript level by @Copilot in #75
  • Support readonly arrays (compile to internal storage + public getter) by @Copilot in #94
  • Support console.log for debugging (compile to Hardhat console.log) by @Copilot in #95
  • Add string.length and string comparison support by @Copilot in #96
  • Support external contract calls via Contract() pattern by @Copilot in #97
  • Support abstract classes → abstract contracts by @Copilot in #98
  • Support ETH transfers from contracts via addr.transfer(amount) by @Copilot in #99
  • Filter unused shared definitions from generated contracts by @Copilot in #100
  • Fix duplicate shared definitions in same-file parent/child contracts by @Copilot in #101
  • Fix cross-file inheritance to generate Solidity import statements by @Copilot in #102
  • Fix EVM globals incorrectly marked as pure instead of view by @Copilot in #103
  • Fix super() call in constructor generates invalid Solidity by @Copilot in #105
  • Docs: Add common testing patterns to the Testing guide by @Copilot in #158
  • Add npm link to website header navigation by @Copilot in #160
  • Support ternary with void/side-effect expressions by @Copilot in #161
  • Add missing ETH transfer in staking contract withdraw() by @Copilot in #159

New Contributors

  • @Copilot made their first contribution in #29

Full Changelog: v1.2.6...v1.3.1