<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mason/lua/mason-core/installer/context/InstallContextSpawn.lua, branch v2.0.1</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/mason/atom/lua/mason-core/installer/context/InstallContextSpawn.lua?h=v2.0.1</id>
<link rel='self' href='http://git.sudomsg.com/mirror/mason/atom/lua/mason-core/installer/context/InstallContextSpawn.lua?h=v2.0.1'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/mason/'/>
<updated>2025-02-19T11:15:49Z</updated>
<entry>
<title>refactor: turn StdioSink into a proper class</title>
<updated>2025-02-19T11:15:49Z</updated>
<author>
<name>William Boman</name>
<email>william@redwill.se</email>
</author>
<published>2025-02-16T16:07:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/mason/commit/?id=5063ba98dc220a754caf68e510fb192755b1bdf0'/>
<id>urn:sha1:5063ba98dc220a754caf68e510fb192755b1bdf0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor!: change Package API</title>
<updated>2025-02-19T11:15:48Z</updated>
<author>
<name>William Boman</name>
<email>william@redwill.se</email>
</author>
<published>2023-11-06T23:29:18Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/mason/commit/?id=6a7662760c515c74f2c37fc825776ead65d307f9'/>
<id>urn:sha1:6a7662760c515c74f2c37fc825776ead65d307f9</id>
<content type='text'>
This changes the following public APIs:

**(_breaking_) Events on the `Package` class**
The `uninstall:success` event on the `Package` class now receives an `InstallReceipt` as argument, instead of an
`InstallHandle`. This receipt is an in-memory representation of what was uninstalled. There's also a new
`uninstall:failed` event for situations where uninstallation for some
reason fails. Note: this also applies to the registry events (i.e.
`package:uninstall:success` and `package:uninstall:failed`).

---

**(_breaking_) `Package:uninstall()` is now asynchronous and receives two new arguments, similarly to `Package:install()`**
While package uninstallations remain synchronous under the hood, the public API has been changed from synchronous -&gt;
asynchronous. Users of this method are recommended to provide a callback in situations where code needs to execute after
uninstallation fully completes.

---

**(_breaking_) `Package:get_install_path()` has been removed.

---

**`Package:install()` now takes an optional callback**
This callback allows consumers to be informed whether installation was successful or not without having to go through a
different, low-level, API. See below for a comparison between the old and new APIs:
```lua
-- before
local handle = pkg:install()
handle:once("closed", function ()
    -- ...
end)

-- after
pkg:install({}, function (success, result)
    -- ...
end)
```
</content>
</entry>
</feed>
