Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

Update solc-js dependency to the latest version #4401

Closed
cameel opened this issue Nov 5, 2021 · 7 comments
Closed

Update solc-js dependency to the latest version #4401

cameel opened this issue Nov 5, 2021 · 7 comments

Comments

@cameel
Copy link

cameel commented Nov 5, 2021

I have raised this issue before in #4134 and solc-js dependency has been updated from 0.6.0 to 0.6.9 but nodejs 10 support was an obstacle to updating it further. Now that nodejs 10 support has been dropped Truffle should be able to update to the latest version.

In general solc-js is guaranteed to be forward-compatible only with the same major release series of Solidity. It may happen that older versions of solc-js still work with newer versions of soljson.js, but an upgrade is normally needed after every breaking release. The latest version of solc-js is always kept compatible with all previous versions of the compiler.

In 0.8.10 we'll be dropping a workaround that keeps pre-0.6.9 version working with latest soljson.js binaries (ethereum/solidity#12236). Truffle won't be affected since it's using 0.6.9 but an update to at the very least 0.8.0 is recommended anyway.

@haltman-at
Copy link
Contributor

Yeah I was planning to make this upgrade as soon as 0.8.10 is out. :)

@cameel
Copy link
Author

cameel commented Nov 6, 2021

Ah, right! It'll have that fix for the filenames with colons. I guess I should also ping other frameworks so they can benefit from it. Some might not even be aware of the problem.

@gnidan
Copy link
Contributor

gnidan commented Nov 8, 2021

Will solc-js v0.8.10 completely fail to work on Node v10?

@cameel
Copy link
Author

cameel commented Nov 8, 2021

I don't think so. We're not actively keeping it compatible any longer but 0.8.10 does not change anything that would break the compatibility. The workaround we're removing from soljson.js wasn't aimed at node compatibility and solc-js itself did not have any recent changes that would make it incompatible. We even still have a leftover CI run that tests one of the external projects on nodejs 10 (it will be upgraded soon though).

@gnidan
Copy link
Contributor

gnidan commented Nov 10, 2021

Ah awesome. That's our stance, too, but just thought to ask in case there'd be ✨ surprises ✨. Thanks for letting us know!

@cameel
Copy link
Author

cameel commented Nov 10, 2021

Actually, looks like we do support not only nodejs v10 but also v8. I was convinced that we removed the jobs running on older versions from solc-js but just noticed that we did not. So we apparently still test solc-js on the whole v8-v16 range and even have jobs for v4 and v6 (I suspect that they won't pass though).

EDIT: Yeah, I checked just for fun and no v4 or v6: ReferenceError: WebAssembly is not defined. So these are definitely unsupported :)

@haltman-at
Copy link
Contributor

OK, this is out now, closing!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants