New catalog categories and DELETE behavior change

Envelope product categories

17 new ProductCategory values are now available when creating or updating a catalog item with type=PRODUCT:

ROOF_COVERING, ROOF_UNDERLAYMENT, ROOF_MEMBRANE, ROOF_FLASHING, ROOF_VENT, WALL_CLADDING, WALL_TRIM, WEATHER_BARRIER, WINDOW, EXTERIOR_DOOR, SKYLIGHT, OPENING_FLASHING, GUTTER, DOWNSPOUT, INSULATION, SEALANT, SHEATHING.

tradeGroup remains optional. When provided, it must be ENVELOPE for these categories. For PATCH /catalog-items/{catalogItemId}, this validation is enforced when both category and tradeGroup are included in the patch payload (consistent with the current PATCH validation behavior).

Permitting service category

PERMITTING has been added to ServiceCategory (between OPTIMIZATION and RELOCATION) and is available when type=SERVICE.

DELETE /catalog-items/{catalogItemId} now returns 204 No Content

DELETE /catalog-items/{catalogItemId} previously returned 200 or 204 (sometimes with a body). It now always returns 204 No Content. Clients should no longer expect a response body on successful deletion.