SQLite is great, but the article misses the greatest weakness: It is almost entirely untyped. Feel free to specify fancy types for your columns. But SQLite doesn't care in the least. You can create an INTEGER column and write text to it. Or bytes. Or anything you'd like!
The other thing I miss often is better support for schema migrations. For a lot of things (like adding certain constraints after table creation) the "create new table, copy data over, delete old table" workaround is needed. However, it's only a minor annoyance, and if it allows the codebase to be more maintainable, that's OK with me (given the fantastic quality track record of SQLite).
SQLite has a solution for this! There's called strict tables and final SQLite to get mad at you when you try to put a string into a number column, etc.
The other thing I miss often is better support for schema migrations. For a lot of things (like adding certain constraints after table creation) the "create new table, copy data over, delete old table" workaround is needed. However, it's only a minor annoyance, and if it allows the codebase to be more maintainable, that's OK with me (given the fantastic quality track record of SQLite).