Large amount of contributions from many awesome people in this one, but one definitely stands out:
Using his sorcerous knowledge of the typescript compiler internals @schusovskoy was able to significantly reduce the possibility of the notorious Type instantiation is excessively deep and possibly infinite
compiler error throughout Kysely. Check out the PR here #483 🧙. In our typing tests, we were able to at least double the complexity of the troublesome queries without hitting slowdowns or compiler errors. In some cases the issue seems to have gone away completely.
Simply amazing work. Thank you so much @schusovskoy ❤️
Other fixes and improvements in no particular order:
- Add new
case when then end
builder #404. Thanks @igalklebanov ❤️ - Allow specifying column sort order when creating indexes #375. Thanks @igalklebanov ❤️
- Add
$narrowType
helper for narrowing the query output type #380. Thanks @igalklebanov ❤️ - Make subquery selections nullable by default #420
- Fix alter table schema handling #471. Thanks @hannesj ❤️
- Add
agg
method to expression builder for arbitrary aggregate function calls #417 @igalklebanov ❤️ - The
$if
method should no longer cause performance issues or excessively deep types - Make logger support async calls #425. Thanks @mehulmpt ❤️
In addition to this there were small fixes from multiple awesome people including:
- #499 #463 by @neographer
- #444 by @rafaumlemos
- #478 by @thdxr
- Work on kysely.dev by @wirekang and @naorpeled