···11# CHANGELOG
2233+## Unreleased
44+55+- Squirrel now adds type annotations to the generated code.
66+ ([Giacomo Cavalieri](https://github.com/giacomocavalieri))
77+38## 4.3.0 - 2025-08-22
49510- Added support for the `citext` type.
···11---
22-version: 1.3.2
22+version: 1.4.0
33title: generated type has the same name as the function but in pascal case
44file: ./test/squirrel_test.gleam
55test_name: generated_type_has_the_same_name_as_the_function_but_in_pascal_case_test
66---
7788import gleam/dynamic/decode
99-import pog
99+import pog.{type Connection}
10101111pub type QueryRow {
1212 QueryRow(res: Bool)
1313}
14141515-pub fn query(db) {
1515+pub fn query(db: Connection) {
1616 let decoder = {
1717 use res <- decode.field(0, decode.bool)
1818 decode.success(QueryRow(res:))
···2525 |> pog.returning(decoder)
2626 |> pog.execute(db)
2727}
2828+
···11---
22-version: 1.3.2
22+version: 1.4.0
33title: query that needs utils and enums has two sections
44file: ./test/squirrel_test.gleam
55test_name: query_that_needs_utils_and_enums_has_two_sections_test
···7788import gleam/dynamic/decode
99import gleam/time/calendar.{type Date}
1010-import pog
1010+import pog.{type Connection}
11111212pub type QueryRow {
1313 QueryRow(squirrel_colour: SquirrelColour, date: Date)
1414}
15151616-pub fn query(db) {
1616+pub fn query(db: Connection) {
1717 let decoder = {
1818 use squirrel_colour <- decode.field(0, squirrel_colour_decoder())
1919 use date <- decode.field(1, pog.calendar_date_decoder())
···4242 _ -> decode.failure(LightBrown, "SquirrelColour")
4343 }
4444}
4545+
+4-3
birdie_snapshots/query_with_comment.accepted
···11---
22-version: 1.3.2
22+version: 1.4.0
33title: query with comment
44file: ./test/squirrel_test.gleam
55test_name: query_with_comment_test
···1111////
12121313import gleam/dynamic/decode
1414-import pog
1414+import pog.{type Connection}
15151616/// A row you get from running the `query` query
1717/// defined in `query.sql`.
···2828/// > 🐿️ This function was generated automatically using v-test of
2929/// > the [squirrel package](https://github.com/giacomocavalieri/squirrel).
3030///
3131-pub fn query(db) {
3131+pub fn query(db: Connection) {
3232 let decoder = {
3333 use res <- decode.field(0, decode.bool)
3434 decode.success(QueryRow(res:))
···4242 |> pog.returning(decoder)
4343 |> pog.execute(db)
4444}
4545+
···11---
22-version: 1.3.2
22+version: 1.4.0
33title: query with multiline comment
44file: ./test/squirrel_test.gleam
55test_name: query_with_multiline_comment_test
···1111////
12121313import gleam/dynamic/decode
1414-import pog
1414+import pog.{type Connection}
15151616/// A row you get from running the `query` query
1717/// defined in `query.sql`.
···2929/// > 🐿️ This function was generated automatically using v-test of
3030/// > the [squirrel package](https://github.com/giacomocavalieri/squirrel).
3131///
3232-pub fn query(db) {
3232+pub fn query(db: Connection) {
3333 let decoder = {
3434 use res <- decode.field(0, decode.bool)
3535 decode.success(QueryRow(res:))
···4444 |> pog.returning(decoder)
4545 |> pog.execute(db)
4646}
4747+
···11---
22-version: 1.3.2
22+version: 1.4.0
33title: there is only one empty line between code generated for different queries
44file: ./test/squirrel_test.gleam
55test_name: there_is_only_one_empty_line_between_code_generated_for_different_queries_test
···1111////
12121313import gleam/dynamic/decode
1414-import pog
1414+import pog.{type Connection}
15151616/// A row you get from running the `one` query
1717/// defined in `one.sql`.
···2929/// > 🐿️ This function was generated automatically using v-test of
3030/// > the [squirrel package](https://github.com/giacomocavalieri/squirrel).
3131///
3232-pub fn one(db) {
3232+pub fn one(db: Connection) {
3333 let decoder = {
3434 use res <- decode.field(0, decode.int)
3535 decode.success(OneRow(res:))
···5757/// > 🐿️ This function was generated automatically using v-test of
5858/// > the [squirrel package](https://github.com/giacomocavalieri/squirrel).
5959///
6060-pub fn two(db) {
6060+pub fn two(db: Connection) {
6161 let decoder = {
6262 use res <- decode.field(0, decode.int)
6363 decode.success(TwoRow(res:))
···6868 |> pog.returning(decoder)
6969 |> pog.execute(db)
7070}
7171+