# January 14, 2025

## 0.47.0

**`(feat):`** Add support for `nullable` properties. Users can now specify explicit `null` values
for types that specify `nullable` properties like so:

```typescript
await client.users.update({ username: "john.doe", metadata: null });
```

## 0.46.11

**`(fix):`** Don't double check whether an optional string literal alias (see example below) is a string when using serializer to build query string parameters.

```yml
types:
  LiteralAliasExample: literal<"MyLiteralValue">

service:
  endpoints:
    foo:
      path: /bar
      method: POST
      request:
        name: FooBarRequest
        query-parameters:
          optional_alias_literal: optional<LiteralAliasExample>
```

```ts
// before
if (optionalAliasLiteral != null) {
    _queryParams["optional_alias_literal"] = typeof serializers.LiteralAliasExample.jsonOrThrow(optionalAliasLiteral, {
        unrecognizedObjectKeys: "strip",
    }) === "string" ? serializers.LiteralAliasExample.jsonOrThrow(optionalAliasLiteral, {
        unrecognizedObjectKeys: "strip",
    }) : JSON.stringify(serializers.LiteralAliasExample.jsonOrThrow(optionalAliasLiteral, {
        unrecognizedObjectKeys: "strip",
    }));
}

// after
if (optionalAliasLiteral != null) {
    _queryParams["optional_alias_literal"] = serializers.LiteralAliasExample.jsonOrThrow(optionalAliasLiteral, {
        unrecognizedObjectKeys: "strip",
    });
}
```

## 0.46.10

**`(fix):`** Use serialization layer to convert types to JSON strings when enabled.