v9.2.2 (2024-04-10)
Bug fixes:
- fix(tls_mutual_authentication): support null for ID value #514
v9.2.1 (2024-04-09)
Bug fixes:
- fix(tls_custom_activation): only error if no fields provided #511
v9.2.0 (2024-03-15)
Enhancements:
- feat: expose project_id field of scalyr logging config #508
v9.1.0 (2024-03-13)
Enhancements:
- feat(kv-store-entry): allow parallelization of batch put item #502
- feat(historical-stats): add aggregate endpoint #506
v9.0.1 (2024-03-12)
Bug fixes:
- fix(config_store): decoding #503
Enhancements:
- style: resolve gofumpt issues #500
Dependencies:
- build: bump minimum go version #504
v9.0.0 (2024-02-05)
Breaking:
To summarize the key items in the v9 release:
- The paginators for Services, ACL Entries and Dictionary Items have been replaced with a generic paginator.
- The KV Stores Entries paginator was NOT replaced as it has a incompatible implementation.
- The
List*
methods no longer sort results, and will now return all results. - All endpoints (except those using JSONAPI) use pointers consistently for Create/Update methods.
The complete list of breaking changes are:
- fix(token): add ListTokensInput to ListTokens #487
- feat(config store): adds
ListConfigStoresInput
when returningListConfigStores
#481 - Use integer instead of string #486
- fix(request_settings): make action a pointer in update #488
- feat: generic paginator #491
- fix: all relevant fields to be pointers #493
Enhancements:
- feat: domain inspector #483
- Move CBool helper with the other helpers #484
- Support retrieving a secret store by name #485
- replace: pointer helpers to generic ToPointer function #489
- refactor(helpers): avoid explicit types in favour of tilda type constraint #490
- refactor(secret_store): replace json.NewEncoder with c.PostJSON #492
- refactor: rename files #494
- refactor: resolves linter issues #495
- refactor: use consistent naming conventions #496
- feat: fastly alerts #499
- refactor: use explicit naming for IDs #497
Dependencies:
- build(deps): bump golang.org/x/crypto from 0.1.0 to 0.17.0 #498
v8.6.4 (2023-10-31)
Enhancements:
- feat: add kv-store list keys
consistency
param #479
v8.6.3 (2023-10-31)
Enhancements:
- feat(client): expose DebugMode field #477
Documentation:
- docs: support for Compute #476
v8.6.2 (2023-09-28)
Bug fixes:
- fix(client): simplify key-redaction logic #472
v8.6.1 (2023-08-31)
Bug fixes:
- fastly: fix return value for errors during kvstore pagination #468
Dependencies:
- build: bump minimum go version to 1.19 #467
v8.6.0 (2023-08-30)
Enhancements:
- feat(backend): add share_key field #463
v8.5.9 (2023-08-09)
Bug fixes:
- revert(backend): revert removal of redundant ErrorThreshold field #464
v8.5.8 (2023-08-04)
Enhancements:
- Add support for the New Relic OTLP logging endpoint #460
Bug fixes:
- remove(backend): remove redundant ErrorThreshold field #461
v8.5.7 (2023-07-24)
Enhancements:
- feat(kv_store): add interface for easier testing of paginator #458
v8.5.6 (2023-07-24)
Enhancements:
- fix(kv_store): support parallel calls to delete keys #456
v8.5.5 (2023-07-21)
Enhancements:
- fix(errors): support KV Store batch endpoint error response #454
v8.5.4 (2023-06-29)
Bug fixes:
- fix: ensure Fastly-Key is stripped from the dump #453
v8.5.3 (2023-06-29)
Enhancements:
- feat: add debug mode #451
v8.5.2 (2023-06-23)
Bug fixes:
- fix(errors): use title if present #449
v8.5.1 (2023-06-14)
Enhancements:
- Add support for file_max_bytes field to s3 logging endpoint #446
- feat(errors): expose rate limit headers #447
v8.5.0 (2023-06-07)
Enhancements:
- feat(config_store): implement batch endpoint #444
v8.4.1 (2023-06-01)
Enhancements:
- feat(mutual_authentication): add Enforced to CREATE #442
v8.4.0 (2023-05-31)
Enhancements:
- Support Mutual Authentication (mTLS) endpoints #440
v8.3.0 (2023-05-12)
Enhancements:
- fix(kv_store): allow buffering io for key insert #437
v8.2.1 (2023-05-11)
Enhancements:
- feat(package): FilesHash #435
v8.2.0 (2023-05-11)
Enhancements:
- Secret Store: Support PUT & PATCH methods when creating secret #433
v8.1.0 (2023-05-10)
Enhancements:
- feat: kv_store batch API endpoint #431
v8.0.3 (2023-05-09)
Enhancements:
- fix(kv_store): support parallel requests #429
v8.0.2 (2023-05-09)
Bug fixes:
- fix(kv_store): allow file read support #427
v8.0.1 (2023-04-26)
Enhancements:
- Add project id for GCP in logging #425
v8.0.0 (2023-04-12)
Breaking:
- breaking(secret-store): rename
ValidateSignature
toVerifySignature
#397 - breaking(object-store): rename
ObjectStore
toKVStore
#422
v7.5.5 (2023-03-31)
Enhancements:
- feat(ratelimiter): add uri_dictionary_name property #420
v7.5.4 (2023-03-31)
Bug fixes:
- fix(ratelimiter): use separate structs for input/response serialization #418
v7.5.3 (2023-03-31)
Bug fixes:
- fix(ratelimiter): serialize with mapstructure tag #416
v7.5.2 (2023-03-30)
Enhancements:
- feat(erl): add missing fields #414
v7.5.1 (2023-03-28)
Bug fixes:
- fix(lint): avoid range variable being captured by func literal #411
- fix(ratelimit): add missing LoggerType input for CREATE/UPDATE #412
v7.5.0 (2023-03-15)
Enhancements:
- feat: Add Config Store support #398
Bug fixes:
- fix(tls-subscription): serialise warnings field #409
v7.4.0 (2023-03-07)
Enhancements:
Dependencies:
- Bump golang.org/x/crypto from 0.0.0-20210921155107-089bfa567519 to 0.1.0 #404
v7.3.0 (2023-02-17)
Enhancements:
v7.2.0 (2023-02-08)
Enhancements:
- allow Go binary to be specified when running make #393
- add support for Secret Store client keys #392
- resource: improve parameter naming; support JSON encode #394
- feat(http3): implement HTTP3 API endpoints #395
v7.1.0 (2023-01-19)
Enhancements:
- fastly: allow uploading compute package from memory #384
- Improve error response handling #386
- secret-store: Add created_at fields to store and secret #387
- Add compute_requests to usage response struct #388
- feat(resource): implement Resource API #390
Bug fixes:
- fastly: fix invalid package uploading test #385
- Fix typo in AttackRequestHeaderBytes field name #389
v7.0.0 (2022-11-07)
The biggest change in this release is the majority of input fields are now pointers rather than primitives. This is to enable users to set an empty value for fields when they are being sent to the Fastly API, in cases where the user wishes to override an otherwise default value provided by the API.
There has been a bunch of interface fixes (e.g. consistent use of int
over uint
equivalents, typos in field names fixed, response types renamed to be less ambiguous etc) and also many other changes to better support consistency and documentation across the code base.
Breaking:
- Backend resource tweaks to allow setting zero value #375
- Sort all struct fields #376
- Address FIXME notes #379
- Revive fixes #378
- Ensure all relevant 'create' input fields are using pointers #382
Bug fixes:
- Ensure parameters are sent to API #380
Enhancements:
- Add google account name to all google logging endpoints #377
v6.8.0 (2022-10-10)
Enhancements:
- Support Health Check Headers #373
v6.7.0 (2022-10-06)
Enhancements:
- Add Secret Store API support #367
v6.6.0 (2022-10-05)
Enhancements:
v6.5.2 (2022-09-08)
Bug fixes:
- Avoid duplicate
Close()
call onhttp.Response.Body
#365
v6.5.1 (2022-09-07)
Bug fixes:
- Ensure
http.Response.Body
is closed #363
v6.5.0 (2022-08-22)
Enhancements:
- TLS Subscriptions: add filter for active orders #357
v6.4.3 (2022-07-20)
Bug fixes:
Token
field is required for some log endpoints #355
v6.4.2 (2022-07-11)
Bug fixes:
- purge: fail to purge with query string #353
v6.4.1 (2022-06-23)
Enhancements:
- Implement missing
ListServiceAuthorizations
#351
v6.4.0 (2022-06-20)
Enhancements:
v6.3.2 (2022-04-27)
Enhancements:
- Add
Backends
field toDirector
#347
v6.3.1 (2022-04-04)
Bug fixes:
- Fix typo in
filter[tls_certificate.id]
#344
v6.3.0 (2022-03-25)
Enhancements:
- Support for Edge Rate Limiting #341
Bug fixes:
- go.mod: downgrade to 1.16 #340
v6.2.0 (2022-02-23)
Enhancements:
- Origin Inspector: Get Historical Origin Metrics for a Service #335
v6.1.0 (2022-02-22)
Enhancements:
- Support
Fastly-RateLimit-Remaining
andFastly-RateLimit-Reset
#337 - Stats: Add test for fetching stats by service and field #333
Documentation:
- Fix README typo #334
v6.0.1 (2022-01-17)
Bug fixes:
- Correctly set and advance current page for pagination types #330
v6.0.0 (2022-01-13)
Enhancements:
v5.3.0 (2022-01-10)
Enhancements:
- Add pagination support for
GET /service
endpoint #326
v5.2.0 (2022-01-07)
Enhancements:
- Bump deps to side-step
gopkg.in/yaml.v2
security vulnerability #323 - Add support for
modsec_rule_id
filter parameter #322 - Add support for Link header pagination #321
v5.1.3 (2021-12-03)
Bug fixes:
- Do not omit zero int values on create operations #318
- Fix
len < 0
in test: len cannot return negative values #319
v5.1.2 (2021-11-04)
Bug fixes:
v5.1.1 (2021-10-11)
Bug fixes:
- Manually fill
ActiveVersion
value inGetService
#312
v5.1.0 (2021-10-05)
Enhancements:
- Add
UseTLS
field for Splunk logging #309
v5.0.0 (2021-09-23)
Breaking:
- Switch from
bool
toCompatibool
for ACL entries #307
v4.0.0 (2021-09-21)
Breaking:
- Change Backend
SSLCiphers
field from[]string
tostring
#304
Bug fixes:
- Fix issues with serialising x-www-form-urlencoded data #304
v3.12.0 (2021-09-15)
Enhancements:
- Implement
DELETE /tokens
(bulk token deletion) API #302
v3.11.0 (2021-09-15)
Enhancements:
- Implement user password reset #300
v3.10.0 (2021-09-13)
Enhancements:
- Add domain validation API #298
v3.9.5 (2021-09-08)
Bug fixes:
- Allow creating dynamic VCL snippets with empty content #296
v3.9.4 (2021-09-07)
Enhancements:
- Add region support for NewRelic logging endpoint #292
Bug fixes:
- Remove
omitempty
fromSSLCheckCert
field #294
Documentation:
- Correct indentation in README code example #293
v3.9.3 (2021-07-23)
Bug fixes:
- ACL entry
Subnet
field should be integer type (missed references) #290
v3.9.2 (2021-07-23)
Bug fixes:
- ACL entry
Subnet
field should be integer type #288
v3.9.1 (2021-07-21)
Bug fixes:
omitempty
should be set for ContentTypes and Extensions #282- Check pointer struct type isn't nil before referencing its fields #286
v3.9.0 (2021-06-29)
Enhancements:
- Batch Surrogate-Key purge #284
v3.8.0 (2021-06-28)
Enhancements:
- Update VCL snippets to more closely align with API #281
v3.7.0 (2021-06-10)
Enhancements:
- Add S3 Logging ACL parameter and add Redundancy options #279
- Add HTTP
206 Partial Content
to stats #277
v3.6.0 (2021-04-15)
Enhancements:
- Fix testing behavior for logging endpoints the support compression #271
v3.5.0 (2021-04-06)
Enhancements:
- Support usage of IAM role in S3 and Kinesis logging endpoints #269
v3.4.1 (2021-03-25)
Bug fixes:
Closed issues:
- Potentially misleading comment in README.md #260
v3.4.0 (2021-02-18)
Enhancements:
- Add PATCH endpoint for TLS Subscriptions #262
v3.3.0 (2021-02-15)
Enhancements:
- Updates needed to support Terraform TLS resources #259
v3.2.0 (2021-02-04)
Enhancements:
- Add more support for compression_codec to logging endpoints #257
v3.1.0 (2021-01-28)
Enhancements:
- Add support for file_max_bytes configuration for azure logging endpoint #255
v3.0.0 (2021-01-19)
There were a few breaking changes introduced in v3:
- A new
FieldError
abstraction for validating API struct fields. - Changing some mandatory fields to Optional (and vice-versa) to better support more practical API usage.
- Avoid generic ID field when more explicit naming would be clearer.
Enhancements:
- Strip TLS prefix from TLS struct fields #250
- Avoid generic ID field when more explicit naming would be clearer #247
- Update Test Fixtures #245
- Add region support to logentries logging endpoint #243
- Add basic managed logging endpoint support to go-fastly #241
- Create new error abstraction for field validation #239
Bug fixes:
- NewName should be optional #252
- Dictionary ItemValue isn't optional #251
- Ensure consistent naming for ServiceID (fixes missed references) #249
- Update to RequestMaxBytes to align with updated API and regenerate fixtures #248
- Cleanup naming of Kinesis to be more consistent. #246
- Reword expected error message based on API changes #244
Closed issues:
- Remove uninitialized ActiveVersion field from Service struct? #242
- Cache setting is missing the 'deliver' action #136
v2.1.0 (2020-12-11)
Enhancements:
- Add support for TLS client and batch size options for splunk #236
- Add support for compression_codec to logging file sink endpoints #235
- Add support for Kinesis logging endpoint #234
- Add SASL fields support for Kafka Logging Endpoint #226
- Custom TLS API #225
Closed issues:
- Any plan to add custom TLS certificates? #224
v2.0.0 (2020-11-17)
The move from major version v1 to v2 has resulted in a couple of fundamental changes to the library:
- Consistent field name format for IDs and Versions (e.g.
DictionaryID
,PoolID
,ServiceID
,ServiceVersion
etc). - Input struct fields (for write/update operations) that are optional (i.e.
omitempty
) and use basic types, are now defined as pointers.
The move to more consistent field names in some cases will have resulted in the corresponding sentinel error name to be updated also. For example, ServiceID
has resulted in a change from ErrMissingService
to ErrMissingServiceID
.
The change in type for basic types that are optional on input structs related to write/update operations is designed to avoid unexpected behaviours when dealing with their zero value (see this reference for more details). As part of this change we now provide helper functions to assist with generating the new pointer types required.
Note: some read/list operations require fields to be provided but if omitted a zero value will be used when marshaling the data structure into JSON. This too can cause confusion, which is why some input structs define their mandatory fields as pointers (to ensure that the backend can distinguish between a zero value and an omitted field).
Enhancements:
- v2 #230
Closed issues:
- Fails to Parse Historic Stats when no Service Provided #214
v1.18.0 (2020-10-28)
v1.17.0 (2020-07-20)
Enhancements:
- Added support to list all datacenters #210
v1.16.2 (2020-07-13)
Bug fixes:
- Allow message_type support for FTP endpoint #212
v1.16.1 (2020-07-07)
Bug fixes:
- ci: add GH Action for fmt, vet, staticcheck, test #184
v1.16.0 (2020-06-25)
Enhancements:
- Add support for Compute@Edge Packages #203
v1.15.0 (2020-06-04)
Enhancements:
- Add PublicKey field to S3 all CRUD actions #198
- Add User field to Cloudfiles Updates #197
- Remove extraneous Token field from all Kafka CRUD #196
- Add Region field to all Scalyr CRUD actions #195
- Add MessageType field to all SFTP CRUD actions #194
- Add MessageType field to GCS Updates #193
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v1.14.0 (2020-05-26)
- ip: Support for accessing Fastly's IPv6 ranges (#189).
v1.13.0 (2020-05-19)
- helpers: Add
NullString
helper (#187).
v1.12.0 (2020-05-15)
- waf: Support for
link
field (#179).
v1.11.0 (2020-05-13)
- test: Updates testing helper for fix fixtures to support macOS (#177).
- helpers: Add raw access to stats JSON responses (#176).
- datadog: Add Datadog logging endpoint support (#182).
- sftp: Add SFTP logging endpoint support (#175).
- scalyr: Add Scalyr logging endpoint support (#174).
- pubsub: Add Google Cloud Pub/Sub logging endpoint support (#173).
- openstack: Add OpenStack logging endpoint support (#172).
- newrelic: Add New Relic logging endpoint support (#171).
- logshuttle: Add Log Shuttle logging endpoint support (#170).
- loggly: Add Loggly logging endpoint support (#169).
- kafka: Add Kafka logging endpoint support (#168).
- honeycomb: Add Honeycomb logging endpoint support (#167).
- heroku: Add Heroku Logplex logging endpoint support (#166).
- ftp: Update FTP logging endpoint support to include
PublicKey
(#165). - elasticsearch: Add Elasticsearch logging endpoint support (#164).
- digitalocean: Add DigitalOcean Spaces logging endpoint support (#163).
- rackspace: Add Rackspace Cloud Files logging endpoint support (#162).
- test: Improve testing experience (#161).
- doc: Fix typos in
GetRealtimeStats
documentation (#160).
v1.10.0 (2020-04-24)
- tls: Add support for Platform TLS API endpoints (#154).
v1.9.0 (2020-04-23)
- splunk: Add missing TLS fields to the Splunk logging endpoint (#156).
- https: Add support for HTTPS logging endpoints (#155).
v1.8.0 (2020-04-21)
- client: Add NewRealtimeStatsClientForEndpoint API (#152).
v1.7.2 (2020-03-30)
- client: Allow purge requests to run in parallel (#147).
v1.7.1 (2020-03-24)
- client: Serialize all non readable requests (#146).
v1.7.0 (2020-02-26)
- user: Support for Fastly's User Management (#145).
- purge: Request method for purging an individual URL (#116).
v1.6.0 (2020-02-18)
- s3: Support for
server_side_encryption_kms_key_id
andserver_side_encryption
fields (#144).
v1.5.0 (2020-01-29)
- pool/server: Support for Fastly's Load Balancer (#142).
v1.4.0 (2020-01-06)
- dictionary_info: Support to retrieve metadata for a single dictionary (#122).
- syslog: Support for
tls_client_cert
andtls_client_key
fields (#139).
v1.3.0 (2019-10-02)
- vcl_snippets: Support for
hash
type (#133). - service: Support for
type
field (#132). - token: Support for API tokens (#131).
- client: Codebase dependency management from
dep
to Go modules (#130).
v1.2.1 (2019-07-25)
- acl: Constant to represent the maximum number of entries that can be placed within an ACL (#129).
- dictionary: Constant to represent the maximum number of items that can be placed within an Edge Dictionary (#129).
v1.2.0 (2019-07-24)
- acl: Support for Create, Delete and Update BatchOperations (#126).
v1.1.0 (2019-07-22)
- dictionary: Support for Create, Delete, Update and Upsert BatchOperations (#125).
v1.0.0 (2019-06-14)
- bigquery: Support for
format_version
field (#97). - ftp: Support for
format_version
field (#97). - gcs: Support for
format_version
field (#97). - papertrail: Support for
format_version
field (#97). - backend: Support for
override_host
field (#120). - backend: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - cache_setting: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - condition: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - domain: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - gcs: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - gzip: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - header: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - health_check: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - request_setting: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - response_object: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - vcl: Support for
created_at
,updated_at
, anddeleted_at
fields (#121). - version: Support for
created_at
,updated_at
, anddeleted_at
fields (#121).
- bigquery: Function signature to list all of the BigQuery logging objects (#97).
- acl: Data types of all timestamp fields (#121).
- acl_entry: Data types of all timestamp fields (#121).
- dictionary: Data types of all timestamp fields (#121).
- dictionary_item: Data types of all timestamp fields (#121).
- director: Data types of all timestamp fields (#121).
- event_logs: Data types of all timestamp fields (#121).
- service: Data types of all timestamp fields (#121).
- vcl_snippets: Data types of all timestamp fields (#121).
v0.4.3 (2019-05-24)
- waf: Support for OWASP (74c03ce, cf4b60f, cee4e1d).
- waf: Support for rules (34f0b9f, c1e80fc).
- waf: Support for rule sets (a3cdd36, bb50c5a).
- loggers: Support for
placement
field (22a781b, #88, #89, #92). - waf: Support for rule statuses (41be101, 959f73b, 9ac3984, f07eebf, 629aea3, 7c0a4cb, 8dea9d3, d0959bb, 787809f, 313dc49, 10e52ed, ad02a14).
- waf: Support for configuration sets (572ae53).
- bigquery: Support for BigQuery (c4d7e54, ba3228c, a5ccfe9, d9957b4, cd9a5e6, #81).
- event_logs: Support for event logs (2a7fdb8, dc37f61, f833123, 6c902bc, f771fa0, c7f7044, cee4e1d, 10d525c).
- dictionary_item: Support to create multiple items (a162398).
- vcl_snippets: Support for VCL snippets (#80, #82, #84, #85, #96).
- acl: Support for
deleted_at
,created_at
, andupdated_at
fields (#86). - acl_entry: Support for
deleted_at
,created_at
, andupdated_at
fields (#86). - backend: Support for
comment
field (#86). - condition: Support for
name
andcomment
fields (#86). - dictionary: Support for
write_only
field (#86). - director: Support for
shield
,name
,deleted_at
,created_at
, andupdated_at
fields (#86). - health_check: Support for
comment
field (#86). - service: Support to list the domains within a service (#90).
- vcl: Support for
main
field (#93). - version: Support for
comment
field (#103). - splunk: Support for Splunk (#101).
- blobstorage: Support for Azure Blob Storage (#99).
- settings: Support for
stale_if_error
andstale_if_error_ttl
fields (#104).
- dictionary: Response struct to align with API (6a8a1c6).
- dictionary_item: Response struct to align with API (7d31c4a).
- user-agent: client.go and fixtures to reference fastly in the user-agent (#109.
- domain:
locked
field (#86).
v0.4.2 (2017-09-05)
- logentries: Support for
format_version
field (#50). - gcs: Support for
message_type
field (#52). - waf: Support for firewall (216f9cb, c6feafe, 50fef06).
v0.4.1 (2017-08-07)
- syslog: Support for
hostname
,ipv4
,tls_hostname
, andmessage_type
fields (2b863da).
v0.4.0 (2017-07-27)
- realtime_stats: Support for real-time analytics (#48).
- acl: Names of all types, functions, and variables to follow Go standards (#46).
- condition: URL encoding for forward slashes (3d6dabb).
v0.3.0 (2017-07-19)
- Initial tagged release