What's Changed
⭐ Features
- [LS] Add inlay hints by @turbolent in #1697
- Add AST inspector which allows efficient element traversal by @turbolent in #1730
- Show stack trace in runtime error by @turbolent in #1549
- Add dependency resolution package by @turbolent in #1634
- Contract analyzer by @turbolent in #1732
- Move unnecessary force lint check to the contract analyzer by @dsainati1 in #1743
- Migrate casting lints to the new linter by @dsainati1 in #1758
- Add defensive check for member accesses by @turbolent in #1759
- Migrate number conversion hints to the contract analyzer by @dsainati1 in #1763
- Add support for adding breakpoints to the debugger by @turbolent in #1736
- Expose runtime storage by @turbolent in #1679
🛠 Improvements
- Include static types when exporting arrays and dictionaries by @turbolent in #1762
- Switch to OpenTelemetry tracing library by @SaveTheRbtz in #1824
- Use pretty printing for AST element String implementations by @turbolent in #1552
- [LS] Update types by @turbolent in #1696
- Allow decoding of types in pre-0.3.0 format (just type ID) by @turbolent in #1734
- Suggest optional chaining when member access is on optional type by @turbolent in #1614
- Improve pretty printing by @turbolent in #1520
- Improve batch script / contract requesting tool by @turbolent in #1619
- [LS] Run language server with Delve by @turbolent in #1629
- Tutorial Re-organization by @joshuahannan in #1727
- Change script and transaction locations to arrays by @turbolent in #1735
- Improve analysis package by @turbolent in #1731
- Use location instead of location ID by @turbolent in #1742
- Pass interpreter instead of nil to StaticType function by @turbolent in #1754
- Bump onflow/atree from 0.3.0 to 0.4.0 by @fxamacker in #1760
- Prepare contract analyzer to be moved to separate repo by @dsainati1 in #1769
- Pass location range getter by @turbolent in #1756
- Remove contract analyzer package by @turbolent in #1771
- Separate user errors from internal errors by @SupunS in #1718
- Refactor parser errors by @SupunS in #1746
- Make
@onflow/cadence-parser
support node.js (Hybrid ESM/CJS) by @Pure-Peace in #1786 - Update language server to use new linter for hints by @dsainati1 in #1801
- Update go.js in NPM packages to Go 1.18.1 by @turbolent in #1789
- Use generics for ordered map, lazily allocate inner map and list by @turbolent in #1804
- Don't copy code string if there's no error by @pattyshack in #1807
- Switch to generic list by @turbolent in #1808
- [LS] Use a hosted emulator from flowkit by @sideninja in #1739
- refactor ExecuteTransaction body into Executor object by @pattyshack in #1797
- Refactor InvokeContractFunction into Executor object by @pattyshack in #1826
- refactor ExecuteScript body into Executor object by @pattyshack in #1800
- Refactor intervalst to be generic by @dsainati1 in #1833
- Fix typos and broken links on docs by @alilloig in #1834
- Fix tutorial numerations by @alilloig in #1841
- Change Runtime.InvokeContractFunction signature by @janezpodhostnik in #1811
- Replace
interface{}
withany
by @SupunS in #1703 - Rename
parser2
package toparser
by @SupunS in #1753 - Collape benchstat results by @janezpodhostnik in #1782
- Language server should no longer depend on Flow CLI by @dsainati1 in #1788
- Separate type equality checker from contract update validator by @SupunS in #1787
- Append special prefix to all internal error string messages by @SupunS in #1858
- Refactor parser to always return syntax errors by @SupunS in #1764
- Update languageserver to newest version of flowkit by @dsainati1 in #1828
🐞 Bug Fixes
- Ignore missing comma in parameter list parse error for contract updates by @turbolent in #1712
- Fix decoding of repeated/recursive encoded types by @turbolent in #1721
- Conversion to Word types should wrap instead of under/overflowing by @dsainati1 in #1723
- Fix deadlock and simplify debugger by @turbolent in #1728
- Fix capability check and borrow functions by @turbolent in #1745
- Resource destruction should also invalidate references by @turbolent in #1744
- Forbid contract transfers by @turbolent in #1747
- Fail invalidated-resource use with a proper error by @SupunS in #1783
- Fix json encoding for builtin composite types by @turbolent in #1792
- Panic on duplicate key for resource-typed dictionary literal by @turbolent in #1794
- Fix typo in how to run docgen tool by @alilloig in #1810
📖 Documentation
- Update Crypto docs by @masterEye-07 in #1716
- update the space in value and types by @danishtroon in #1722
- Add documentation for type json encoding by @dsainati1 in #1725
- Improve type json docs by @dsainati1 in #1726
- Update design-patterns.mdx by @masterEye-07 in #1737
- Fix example code from the docs section "design patterns/Script-Accessible report" by @fcostasilva in #1738
- Fixes tutorial callout and removes screenshot by @joshuahannan in #1741
- fix hello world link and screenshot by @joshuahannan in #1755
- Fix typo in nft-2 tutorial by @ncpenke in #1766
- Removes invalid MDX html comment by @10thfloor in #1780
- update the docs for design pattern by @danishtroon in #1776
- Update msg sender by @saadtroon in #1778
- Update values-and-types.mdx by @masterEye-07 in #1779
- Repair markdown for new site. by @10thfloor in #1795
- Update incorrect example code by @jjiajun in #1768
- Improve documentation by @turbolent in #1765
- Fix documentation, add linter by @turbolent in #1785
- Update 05-non-fungible-tokens-2.mdx by @masterEye-07 in #1820
- x has type Int8 by @Skandesh in #1859
- Update contract-updatability.md by @ppichier in #1860
- Update anti-patterns.mdx by @masterEye-07 in #1798
- Update 05-non-fungible-tokens-2.mdx by @masterEye-07 in #1809
- Update capability-based-access-control.md by @masterEye-07 in #1814
- Update anti-patterns.mdx by @masterEye-07 in #1819
New Contributors
- @masterEye-07 made their first contribution in #1716
- @danishtroon made their first contribution in #1722
- @fcostasilva made their first contribution in #1738
- @ncpenke made their first contribution in #1766
- @Pure-Peace made their first contribution in #1786
- @jjiajun made their first contribution in #1768
- @pattyshack made their first contribution in #1807
- @Skandesh made their first contribution in #1859
- @ppichier made their first contribution in #1860
Full Changelog: v0.24.1...v0.25.0