github kysely-org/kysely 0.23.0

latest releases: 0.27.4, 0.27.3, 0.27.2...
21 months ago

So many fixes and features in this one. @igalklebanov has been on fire 🔥. Almost all of these are his awesome work.

  • Fix bug that prevented ArrayBuffer usage with CamelCasePlugin #193. Thank you @igalklebanov ❤️
  • Add fn.coalesce helper #179. Thank you @igalklebanov ❤️
  • Refactor internals to use the new Expression interface
  • Allow aggregate functions to return a nullable value #183. Thank you @igalklebanov ❤️
  • Fix bug with multiple default values in inserts #202. Thank you @igalklebanov ❤️
  • Support the exactOptionalPropertyTypes typescript setting #210. Thank you @igalklebanov ❤️
  • Fix migrationKey calculation keeping dot when .mjs #220. Thank you @igalklebanov ❤️
  • Allow subqueries and raw sql in distinctOn #239. Thank you @naorpeled ❤️
  • Support multiple column operation in alter table query #238. Thank you @naorpeled ❤️
  • Add numInsertedOrUpdatedRows to InsertResult #188. Thank you @igalklebanov ❤️
  • Fix #235. Thank you @tobiasfoerg ❤️
  • Add call method to create/alter table statement builders #242. Thank you @jacobpgn ❤️
  • Add filter clause support at AggregateFunctionBuilder #208. Thank you @igalklebanov ❤️

Breaking changes

  • The types are now more strict in some places. If you are using raw sql expressions or the RawBuilder class, you may need to specify a type for the expression like this:
sql<string>`something`
  • Following the changes in #238, you can alter multiple columns, and the alterations have moved to a callback:

Before:

  await db.schema
    .alterTable('person')
    .alterColumn('first_name')
    .setDataType('text')
    .execute();

After:

await db.schema
  .alterTable('person')
  .alterColumn('first_name', (ac) => ac.setDataType('text'))
  .execute()

Don't miss a new kysely release

NewReleases is sending notifications on new releases.