This repository was archived by the owner on Jul 30, 2024. It is now read-only.
v0.12.0🌈
·
541 commits
to master
since this release
🗒️ Notable Changes
- This introduces some 💥breaking changes (source-incompatible & binary-incompatible) for better typings and performance.
- This is a final version for Scala.js 0.6.x. Consider update to Scala.js 1.x.
- Node.js v14 support is added. Currently Node.js v14.7.0 is supported.
- Parameter objects (e.g.
MkdirOptions
forFs.mkdir
) are nowtrait
instead ofclass
. Instances for such traits can be constructred via factory method (e.g.val option = MkdirOptions(recursive = true)
, just like case classes. This change is intended for performance and small footprint of generated JS file. - Most of method definitions now uses method overrides, instead of pseudo union types and default values (e.g.
def foo(bar: String | Int, buz: Boolean = js.native)
), for better source/binary compatibility.
🚀 Features
- Typing: Prefer "overload" over "default parameter" for backward compat @exoego (#259, #260)
- Typing: Prefer "overload" over "union types" for better type inference and backward compat @exoego (#261)
- Update to Nodejs v14.7.0 @exoego (#302)
- Use Factory macro for optimization and maintainability @exoego (#234)
- [Error] Update ErrorCodes for Node.js v14 @exoego (#236)
- [UDP/Datagram] Add addSourceSpecificMemberShip/dropSourceSpecificMemberShip @exoego (#269)
- [child_process][cluster] Add serialization option (Node.js v13.2.0+, v12.16.0+) @exoego (#226)
- [console] Add groupdIndentation to ConsoleOptions (Node.js v14.2.0+) @exoego (#228)
- [console] Allow 0 argument logging & Allow seq.foreach(Consoe.log) @exoego (#297)
- [console] Allow passing scala.Any to console @exoego (#299)
- [crypto] Various updates for Node.js v14 @exoego (#229)
- [dns] Added DNS.ALL flags (Node.js v14.0.0+) and other flags (Node.js v10+) @exoego (#230)
- [events] Add experimental captureRejections, events.on, add events.errorMonitor @exoego (#237)
- [fs] Various updates for Node.js v14 @exoego (#238)
- [http2] Update to Node.js v14 @exoego (#241)
- [http] Various updates for Node.js v14 @exoego (#239)
- [https] Add highWaterMark to RequestOptions , Add agent.onKeylog event hander @exoego (#242)
- [module] Move Module object to dedicated package, Various updates on Module object @exoego (#243)
- [os] Add OS.version @exoego (#256)
- [perf_hooks] Add new perf_hooks module @exoego (#257)
- [readline] Various updates for Node.js v14 @exoego (#258)
- [repl] Add preview field to StartOptions, Delete Unused REPLOptions @exoego (#265)
- [stream] Add writable.writableCorked @exoego (#267)
- [tls] Update ConnectOptions for Node.js v14 @exoego (#268)
- [util] Node.js v14 ready @exoego (#224)
- [vm] SecureContext is renamed to Context and now just an alias of js.Object @exoego (#270)
- [worker_thread] Add transferList and resourceLimits @exoego (#271)
🐛 Bug Fixes
- Extension method should not expose value @exoego (#263)
- "option" objects should extend js.Object & ClusterSettings.serialization should be optional @exoego (#281)
- [fs] WriteStream wrongly imports ReadStream @exoego (#248)
- [stream] Fix stream.pipeline returning wrong type @exoego (#266)
- [stream] Readable.redableFlowing should be nullary @exoego (#249)
📚 Docs
🧰 Maintenance
- Add type annotation for public members @exoego (#264)
- CI: Cache dependencies more aggressively @exoego (#233)
- CI: Linting README @exoego (#240)
- Cleanup .gitignore @exoego (#246)
- DRY sub project definitions @exoego (#245)
- Do not add factory macro as transitive dependency @exoego (#293)
- Fix setup.sh @exoego (#252)
- More cleanup default values @exoego (#262)
- Scala upgrade @exoego (#300)
- Separate projects (Node.js v14, v12 and v10) @exoego (#244)
- Simplify build matrix @exoego (#250)
- Simplify scalacOptions for Scala.js 0.6 @exoego (#251)
- Update sbt to 1.3.11 @scala-steward (#254)
- Update sbt to 1.3.12 @scala-steward (#255)
- Update sbt to 1.3.13 @scala-steward (#285)
- Update sbt-scalajs, scalajs-compiler to 1.1.1 @scala-steward (#288)
- Update sbt-sonatype to 3.9.3 @scala-steward (#279)
- Update sbt-sonatype to 3.9.4 @scala-steward (#289)
- Update scalafmt and reformat @exoego (#276)
- Update scalafmt to 2.6.1 @exoego (#283)
- Update scalafmt-core to 2.6.2 @scala-steward (#290)
- Update scalafmt-core to 2.6.3 @scala-steward (#291)
- Update scalafmt-core to 2.6.4 @scala-steward (#292)
- Update scalajs-types-util to 0.2.2 @scala-steward (#284)
- Update scalajs-types-util to 0.3.0 @scala-steward (#294)
- Update scalatest to 3.2.0 @scala-steward (#277)
- Use Factory macro where inheriting other trait (Follow-up of #234) @exoego (#235)
- Use factory macro to reduce cost of maintaining factory methods @exoego (#232)
- optimization: Add final to allow constants inlining @exoego (#303)
- refactoring: Cleanup constructor @exoego (#274)
- refactoring: Constructor cleanup @exoego (#273)
- refactoring: Extract module trait so it can be extended/mocked @exoego (#272)