# What changed in alasql

> 37 changes in alasql 4 from its official release notes, upgrade guides and advisories: 1 breaking. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/npm/alasql/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## alasql 4

### Breaking changes

- Fixes ordering dates in queries with incomplete type information. (4.0.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.0.0)

### Performance

- Improves caching for alasql.compile(). (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Improves caching for LIKE. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Improves performance for recursive CTE with UNION. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)

### Behavior and default changes

- SOURCE and REQUIRE read files through alasql.utils.loadFile. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- DEFAULT is now a context-aware keyword. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Subqueries in JOIN can read files. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)

### Fixes and other changes

- Fixes ALTER TABLE ADD COLUMN. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes ALTER TABLE RENAME TO and SHOW CREATE TABLE. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes toString() for ARRAY expressions. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Improves BREAK and CONTINUE for async calls. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Improves the error message for BREAK and CONTINUE. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes cache invalidation after a table change. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Cached statements and views are fixed after a schema change. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes CALL arguments. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- CREATE TABLE supports double-quoted identifiers. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes index creation in CREATE TABLE. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes groups from different sets being merged. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- DATEADD supports quoted units. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- DATEDIFF supports quoted units. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes DISTINCT in any case. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Foreign key errors show an improved message instead of undefined. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes groups from different sets being merged. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- SELECT aliases can be used in HAVING. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- CALL INTO XLS works without an options object. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes joined subqueries in expressions. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes JSON file error handling. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes ESCAPE in the text of a LIKE expression. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Improves error handling for ORDER BY ... COLLATE NOCASE. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes ORDER BY and LIMIT for SELECT on a set operation. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes concurrency cache collisions when using Promise.all. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes a global variable issue involving ROUND and grouped aggregates. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes reading of scientific notation numbers. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes order keys in a set operation. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- Fixes ALTER TABLE RENAME TO and SHOW CREATE TABLE. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- TIMESTAMPDIFF supports quoted units. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
- VALUE and VALUES are now context-aware keywords. (4.21.0) — [release notes](https://github.com/AlaSQL/alasql/releases/tag/v4.21.0)
