Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "2.0.0"
".": "2.1.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 43
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-c7ad6f552b38f2145781847f8b390fa1ec43068d64e45a33012a97a9299edc10.yml
openapi_spec_hash: 50f281e91210ad5018ac7e4eee216f56
config_hash: 74a8263b80c732a2b016177e7d56bb9c
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-9d184cb502ab32a85db2889c796cdfebe812f2a55a604df79c85dd4b5e7e2add.yml
openapi_spec_hash: a9aa620376fce66532c84f9364209b0b
config_hash: eb4cf65a4c6b26a2901076eff5810d5d
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Changelog

## 2.1.0 (2025-11-03)

Full Changelog: [v2.0.0...v2.1.0](https://github.com/imagekit-developer/imagekit-go/compare/v2.0.0...v2.1.0)

### Features

* **api:** add GetImageAttributesOptions and ResponsiveImageAttributes schemas; update resource references in main.yaml; remove dummy endpoint ([41072da](https://github.com/imagekit-developer/imagekit-go/commit/41072da63cd2ba891a911d932af3bc8b70c90588))
* **api:** fix go sdk breaking changes ([6cbddff](https://github.com/imagekit-developer/imagekit-go/commit/6cbddffab95c89b964fc29ce119ceb70d7ebded5))


### Bug Fixes

* **docs:** update go get command to include version path in README.md ([d7d4c82](https://github.com/imagekit-developer/imagekit-go/commit/d7d4c829ebccafd1242d79a03651f1189c9f24d0))


### Chores

* **internal:** grammar fix (it's -> its) ([e35e192](https://github.com/imagekit-developer/imagekit-go/commit/e35e1922f7ad2541ed116db557bcedd8c9c088de))

## 2.0.0 (2025-10-05)

Full Changelog: [v0.0.1...v2.0.0](https://github.com/imagekit-developer/imagekit-go/compare/v0.0.1...v2.0.0)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Or to pin the version:
<!-- x-release-please-start-version -->

```sh
go get -u 'github.com/imagekit-developer/imagekit-go@v2.0.0'
go get -u 'github.com/imagekit-developer/imagekit-go/v2@v2.1.0'
```

<!-- x-release-please-end -->
Expand Down Expand Up @@ -167,7 +167,7 @@ custom := param.Override[imagekit.FooParams](12)

### Request unions

Unions are represented as a struct with fields prefixed by "Of" for each of it's variants,
Unions are represented as a struct with fields prefixed by "Of" for each of its variants,
only one field can be non-zero. The non-zero field will be serialized.

Sub-properties of the union can be accessed via methods on the union struct.
Expand Down
13 changes: 13 additions & 0 deletions aliases.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ type ExtensionAutoTaggingParam = shared.ExtensionAutoTaggingParam
// This is an alias to an internal type.
type ExtensionAIAutoDescriptionParam = shared.ExtensionAIAutoDescriptionParam

// Options for generating responsive image attributes including `src`, `srcSet`,
// and `sizes` for HTML `<img>` elements. This schema extends `SrcOptions` to add
// support for responsive image generation with breakpoints.
//
// This is an alias to an internal type.
type GetImageAttributesOptionsParam = shared.GetImageAttributesOptionsParam

// This is an alias to an internal type.
type ImageOverlayParam = shared.ImageOverlayParam

Expand Down Expand Up @@ -133,6 +140,12 @@ type OverlayTimingEndUnionParam = shared.OverlayTimingEndUnionParam
// This is an alias to an internal type.
type OverlayTimingStartUnionParam = shared.OverlayTimingStartUnionParam

// Resulting set of attributes suitable for an HTML `<img>` element. Useful for
// enabling responsive image loading with `srcSet` and `sizes`.
//
// This is an alias to an internal type.
type ResponsiveImageAttributesParam = shared.ResponsiveImageAttributesParam

// This is an alias to an internal type.
type SolidColorOverlayParam = shared.SolidColorOverlayParam

Expand Down
8 changes: 8 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#BaseOverlayParam">BaseOverlayParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#ExtensionsParam">ExtensionsParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#GetImageAttributesOptionsParam">GetImageAttributesOptionsParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#ImageOverlayParam">ImageOverlayParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#OverlayUnionParam">OverlayUnionParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#OverlayPositionParam">OverlayPositionParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#OverlayTimingParam">OverlayTimingParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#ResponsiveImageAttributesParam">ResponsiveImageAttributesParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#SolidColorOverlayParam">SolidColorOverlayParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#SolidColorOverlayTransformationParam">SolidColorOverlayTransformationParam</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#SrcOptionsParam">SrcOptionsParam</a>
Expand All @@ -18,6 +20,12 @@
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#TransformationPosition">TransformationPosition</a>
- <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared">shared</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2/shared#VideoOverlayParam">VideoOverlayParam</a>

# Dummy

Methods:

- <code title="post /v1/dummy/test">client.Dummy.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2#DummyService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2">imagekit</a>.<a href="https://pkg.go.dev/github.com/imagekit-developer/imagekit-go/v2#DummyNewParams">DummyNewParams</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>

# CustomMetadataFields

Response Types:
Expand Down
17 changes: 12 additions & 5 deletions dummy.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,22 @@ type DummyNewParams struct {
BaseOverlay shared.BaseOverlayParam `json:"baseOverlay,omitzero"`
// Array of extensions to be applied to the asset. Each extension can be configured
// with specific parameters based on the extension type.
Extensions shared.ExtensionsParam `json:"extensions,omitzero"`
ImageOverlay shared.ImageOverlayParam `json:"imageOverlay,omitzero"`
Extensions shared.ExtensionsParam `json:"extensions,omitzero"`
// Options for generating responsive image attributes including `src`, `srcSet`,
// and `sizes` for HTML `<img>` elements. This schema extends `SrcOptions` to add
// support for responsive image generation with breakpoints.
GetImageAttributesOptions shared.GetImageAttributesOptionsParam `json:"getImageAttributesOptions,omitzero"`
ImageOverlay shared.ImageOverlayParam `json:"imageOverlay,omitzero"`
// Specifies an overlay to be applied on the parent image or video. ImageKit
// supports overlays including images, text, videos, subtitles, and solid colors.
// See
// [Overlay using layers](https://imagekit.io/docs/transformations#overlay-using-layers).
Overlay shared.OverlayUnionParam `json:"overlay,omitzero"`
OverlayPosition shared.OverlayPositionParam `json:"overlayPosition,omitzero"`
OverlayTiming shared.OverlayTimingParam `json:"overlayTiming,omitzero"`
Overlay shared.OverlayUnionParam `json:"overlay,omitzero"`
OverlayPosition shared.OverlayPositionParam `json:"overlayPosition,omitzero"`
OverlayTiming shared.OverlayTimingParam `json:"overlayTiming,omitzero"`
// Resulting set of attributes suitable for an HTML `<img>` element. Useful for
// enabling responsive image loading with `srcSet` and `sizes`.
ResponsiveImageAttributes shared.ResponsiveImageAttributesParam `json:"responsiveImageAttributes,omitzero"`
SolidColorOverlay shared.SolidColorOverlayParam `json:"solidColorOverlay,omitzero"`
SolidColorOverlayTransformation shared.SolidColorOverlayTransformationParam `json:"solidColorOverlayTransformation,omitzero"`
// Options for generating ImageKit URLs with transformations. See the
Expand Down
168 changes: 168 additions & 0 deletions dummy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,168 @@ func TestDummyNewWithOptionalParams(t *testing.T) {
}, shared.ExtensionUnionParam{
OfAIAutoDescription: &shared.ExtensionAIAutoDescriptionParam{},
}},
GetImageAttributesOptions: shared.GetImageAttributesOptionsParam{
SrcOptionsParam: shared.SrcOptionsParam{
Src: "/my-image.jpg",
URLEndpoint: "https://ik.imagekit.io/demo",
ExpiresIn: imagekit.Float(0),
QueryParameters: map[string]string{
"foo": "string",
},
Signed: imagekit.Bool(true),
Transformation: []shared.TransformationParam{{
AIChangeBackground: imagekit.String("aiChangeBackground"),
AIDropShadow: shared.TransformationAIDropShadowUnionParam{
OfTransformationAIDropShadowBoolean: imagekit.Bool(true),
},
AIEdit: imagekit.String("aiEdit"),
AIRemoveBackground: true,
AIRemoveBackgroundExternal: true,
AIRetouch: true,
AIUpscale: true,
AIVariation: true,
AspectRatio: shared.TransformationAspectRatioUnionParam{
OfString: imagekit.String("4:3"),
},
AudioCodec: shared.TransformationAudioCodecAac,
Background: imagekit.String("red"),
Blur: imagekit.Float(10),
Border: imagekit.String("5_FF0000"),
ColorProfile: imagekit.Bool(true),
ContrastStretch: true,
Crop: shared.TransformationCropForce,
CropMode: shared.TransformationCropModePadResize,
DefaultImage: imagekit.String("defaultImage"),
Dpr: imagekit.Float(2),
Duration: shared.TransformationDurationUnionParam{
OfFloat: imagekit.Float(0),
},
EndOffset: shared.TransformationEndOffsetUnionParam{
OfFloat: imagekit.Float(0),
},
Flip: shared.TransformationFlipH,
Focus: imagekit.String("center"),
Format: shared.TransformationFormatAuto,
Gradient: shared.TransformationGradientUnionParam{
OfTransformationGradientBoolean: imagekit.Bool(true),
},
Grayscale: true,
Height: shared.TransformationHeightUnionParam{
OfFloat: imagekit.Float(200),
},
Lossless: imagekit.Bool(true),
Metadata: imagekit.Bool(true),
Named: imagekit.String("named"),
Opacity: imagekit.Float(0),
Original: imagekit.Bool(true),
Overlay: shared.OverlayUnionParam{
OfText: &shared.TextOverlayParam{
BaseOverlayParam: shared.BaseOverlayParam{
Position: shared.OverlayPositionParam{
Focus: shared.OverlayPositionFocusCenter,
X: shared.OverlayPositionXUnionParam{
OfFloat: imagekit.Float(0),
},
Y: shared.OverlayPositionYUnionParam{
OfFloat: imagekit.Float(0),
},
},
Timing: shared.OverlayTimingParam{
Duration: shared.OverlayTimingDurationUnionParam{
OfFloat: imagekit.Float(0),
},
End: shared.OverlayTimingEndUnionParam{
OfFloat: imagekit.Float(0),
},
Start: shared.OverlayTimingStartUnionParam{
OfFloat: imagekit.Float(0),
},
},
},
Text: "text",
Encoding: "auto",
Transformation: []shared.TextOverlayTransformationParam{{
Alpha: imagekit.Float(1),
Background: imagekit.String("background"),
Flip: shared.TextOverlayTransformationFlipH,
FontColor: imagekit.String("fontColor"),
FontFamily: imagekit.String("fontFamily"),
FontSize: shared.TextOverlayTransformationFontSizeUnionParam{
OfFloat: imagekit.Float(0),
},
InnerAlignment: shared.TextOverlayTransformationInnerAlignmentLeft,
LineHeight: shared.TextOverlayTransformationLineHeightUnionParam{
OfFloat: imagekit.Float(0),
},
Padding: shared.TextOverlayTransformationPaddingUnionParam{
OfFloat: imagekit.Float(0),
},
Radius: shared.TextOverlayTransformationRadiusUnionParam{
OfFloat: imagekit.Float(0),
},
Rotation: shared.TextOverlayTransformationRotationUnionParam{
OfFloat: imagekit.Float(0),
},
Typography: imagekit.String("typography"),
Width: shared.TextOverlayTransformationWidthUnionParam{
OfFloat: imagekit.Float(0),
},
}},
},
},
Page: shared.TransformationPageUnionParam{
OfFloat: imagekit.Float(0),
},
Progressive: imagekit.Bool(true),
Quality: imagekit.Float(80),
Radius: shared.TransformationRadiusUnionParam{
OfFloat: imagekit.Float(20),
},
Raw: imagekit.String("raw"),
Rotation: shared.TransformationRotationUnionParam{
OfFloat: imagekit.Float(90),
},
Shadow: shared.TransformationShadowUnionParam{
OfTransformationShadowBoolean: imagekit.Bool(true),
},
Sharpen: shared.TransformationSharpenUnionParam{
OfTransformationSharpenBoolean: imagekit.Bool(true),
},
StartOffset: shared.TransformationStartOffsetUnionParam{
OfFloat: imagekit.Float(0),
},
StreamingResolutions: []shared.StreamingResolution{shared.StreamingResolution240},
Trim: shared.TransformationTrimUnionParam{
OfTransformationTrimBoolean: imagekit.Bool(true),
},
UnsharpMask: shared.TransformationUnsharpMaskUnionParam{
OfTransformationUnsharpMaskBoolean: imagekit.Bool(true),
},
VideoCodec: shared.TransformationVideoCodecH264,
Width: shared.TransformationWidthUnionParam{
OfFloat: imagekit.Float(300),
},
X: shared.TransformationXUnionParam{
OfFloat: imagekit.Float(0),
},
XCenter: shared.TransformationXCenterUnionParam{
OfFloat: imagekit.Float(0),
},
Y: shared.TransformationYUnionParam{
OfFloat: imagekit.Float(0),
},
YCenter: shared.TransformationYCenterUnionParam{
OfFloat: imagekit.Float(0),
},
Zoom: imagekit.Float(0),
}},
TransformationPosition: shared.TransformationPositionPath,
},
DeviceBreakpoints: []float64{640, 750, 828, 1080, 1200, 1920, 2048, 3840},
ImageBreakpoints: []float64{16, 32, 48, 64, 96, 128, 256, 384},
Sizes: imagekit.String("(min-width: 768px) 50vw, 100vw"),
Width: imagekit.Float(400),
},
ImageOverlay: shared.ImageOverlayParam{
BaseOverlayParam: shared.BaseOverlayParam{
Position: shared.OverlayPositionParam{
Expand Down Expand Up @@ -316,6 +478,12 @@ func TestDummyNewWithOptionalParams(t *testing.T) {
OfFloat: imagekit.Float(0),
},
},
ResponsiveImageAttributes: shared.ResponsiveImageAttributesParam{
Src: "https://ik.imagekit.io/demo/image.jpg?tr=w-3840",
Sizes: imagekit.String("100vw"),
SrcSet: imagekit.String("https://ik.imagekit.io/demo/image.jpg?tr=w-640 640w, https://ik.imagekit.io/demo/image.jpg?tr=w-1080 1080w, https://ik.imagekit.io/demo/image.jpg?tr=w-1920 1920w"),
Width: imagekit.Float(400),
},
SolidColorOverlay: shared.SolidColorOverlayParam{
BaseOverlayParam: shared.BaseOverlayParam{
Position: shared.OverlayPositionParam{
Expand Down
2 changes: 1 addition & 1 deletion internal/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

package internal

const PackageVersion = "2.0.0" // x-release-please-version
const PackageVersion = "2.1.0" // x-release-please-version
2 changes: 1 addition & 1 deletion packages/respjson/respjson.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ package respjson
// Use [Field.Valid] to check if an optional value was null or omitted.
//
// A Field will always occur in the following structure, where it
// mirrors the original field in it's parent struct:
// mirrors the original field in its parent struct:
//
// type ExampleObject struct {
// Foo bool `json:"foo"`
Expand Down
Loading
Loading