- Return response to GraphQL endpoint as
GdsApi::Response
instead ofHash
PR.
- Add rollup data to host content endpoint PR
- Update dependencies
- Rename
get_content_by_embedded_document
and call renamed endpoint PR
- Add page and order args to get_content_by_embedded_document test helper PR
- Add autocomplete endpoint for Search API v2 PR
- Add page and order args to get_content_by_embedded_document PR
- Add GraphQL endpoint for Publishing API PR
- Note: This endpoint is to be used for the GraphQL proof of concept prototype only.
- BREAKING: Remove ability to specify "temporary" redirects for Router API PR
- Note: This is an unused feature, so should not be breaking in practice.
- Add publishing app to Host Content PR
- Add support for getting content with embeds from the Publishing API PR
- Update Pact specs to match the email-alert-api PR
- BREAKING: Rename imminence endpoints to places_manager PR
- Note: This is used in Frontend only, so for other apps should not be breaking in practice.
- BREAKING: Drop support for email-alert-api's bulk migrate endpoint
- Added stub for attempting to delete a missing asset from Asset Manager
- Update Pact specs to match the publishing-api PR
- BREAKING: Drop 'named contact' API methods from Support app.
- Fix rack being only a development dependency as it is used at runtime.
- Fix too strict Ruby version constraint, loosened to Ruby 3.1
- BREAKING: Drop support for Rails 7.0 and earlier.
- BREAKING: Drop support for Ruby 3.0. The minimum required Ruby version is now 3.1.4.
- Add support for Ruby 3.3.
- BREAKING: removed Support app
create_foi_request
method.- Note: This is no longer used by any apps, so should not be breaking in practice.
- Add
get_subscriber_list_metrics
method to Email Alert API.
- Alter
snac
field togss
in Imminence APIplaces
method contract. - BREAKING: Remove Asset Manager API
whitehall_asset
method and helpers- Note: These are no longer used by any apps, so should not be breaking in practice.
- Add
media
method to Asset Manager.
- BREAKING: Remove Account API
get_email_subscription
method and helpers - BREAKING: Remove Account API
put_email_subscription
method and helpers - BREAKING: Remove Account API
delete_email_subscription
method and helpers- Note: These are no longer used by any apps, so should not be breaking in practice.
- Add a basic adapter for the new
search-api-v2
service, intially with a#search
method along the lines of the existing adapter forsearch-api
for consistency
- BREAKING: Change source for
GdsApi.worldwide.organisations_for_world_location
method, remove pagination and removestub_worldwide_api_has_organisations_for_location
method.
- BREAKING: Change source for
GdsApi.worldwide.world_locations
method and remove pagination. - Change source for
GdsApi.worldwide.world_location
method (the response is backwards compatible).
- Add
whitehall_media
method to Asset Manager.
- Add support for email-alert-api's bulk migrate endpoint
- BREAKING:
Router::add_route
,add_gone_route
anddelete_route
methods no longer take anoptions
parameter. The change is purely syntactic, as the only recognised option (commit
) has been a no-op since April 2021. Thestub_*
methods inTestHelpers::Router
now return the request stub directly instead of returning a pair of stubs (the second of which was never used).
- Add support in test helpers for minor change to Local Links Manager API responses.
- BREAKING: Drop support for Ruby 2.7.
- BREAKING: Changes to Imminence API to support split-postcodes. In practice, the only consumer app for this API is Frontend, which is prepared for the change.
- Remove expectation that Imminence will return the OID field in the response to #places. This is an internal Mongoid field that we shouldn't be returning anyway, and frontend (the consumer) isn't using it.
- Update the allowed params for email-alert-api's find_or_create_subscriber_list endpoint.
- BREAKING: Remove Mapit api methods. These are no longer used by any apps, so should not be breaking in practice.
- added
results_for_postcode
method to Locations API which returns the entire response from the Locations API server.
- BREAKING:
TestHelpers::Search
now usessearch-api
when constructing URLs for requests stubs. - Use the canonical name
search-api
instead of the legacy namesearch
when connecting to Search API.
- BREAKING: Remove support for
areas_for_type
endpoint for Imminence API. This was last used by the Publishing app in 2017 (and that call is now removed) and has not been used by any other apps, so it should not be breaking in practice. - Replace use of Plek.current to resolve warnings with Plek >= 4.1
- BREAKING: Remove support for
create_message
endpoint for Email Alert API. However, this has been deprecated for 6 months and no apps are using this so it should not be breaking in practice.
- Return
snac
in local_links_manager stubs for local_authority
- Make
snac
customizable in local_links_manager stubs - Set default values for coordinates in locations_api stub
- Add
local_custodian_code
andcountry_name
as optional parameters for local_links_manager stubs
- Add quality of life function to allow retrieval of subscribers to a specific topic
- BREAKING: Remove
GdsApi::TestHelpers::LocalLinksManager::stub_local_links_manager_does_not_have_required_objects
stub.
- Fix
bulk_unsubscribe
stubs sogovuk_request_id
is not a required parameter
- BREAKING: Remove support for publishing api import endpoint - a temporary endpoint that has been removed from publishing api. However, no apps are using this so it should not be breaking in practice.
Remove cookie and feedback consent attributes from Account API pact tests
- Fix the Locations API endpoints
- Deprecate
create_message
for Email Alert API
- Add
local_custodian_code_for_postcode
andcoordinates_for_postcode
methods for Locations API
- Remove references to Transition Checker in account-api pact tests
- Add both with- and without-message variants for bulk unsubscribe test helpers (for Email Alert API)
- BREAKING: Add
sender_message_id
andgovuk_request_id
to bulk unsubscribe (bad request) test helper (for Email Alert API) - Add
content_id
to subscriber lists URL helper (for Email Alert API) - Add
update_subscriber_list_details
(for Email Alert API)
- Fix
bulk_unsubscribe
requires agovuk_request_id
if you want to send a message
- BREAKING: Fix
bulk_unsubscribe
should use aslug
notsubscriber_list_id
- Add
bulk_unsubscribe
endpoint (for Email Alert API)
- BREAKING: Remove
cookie_consent
andfeedback_consent
fromupdate_user_by_subject_identifier
(for Account API)
- BREAKING: Remove
has_unconfirmed_email
parameter from Account API calls
- Add
match_user_by_email
and test helpers (for Account API) - Forbid creating a SubscriberList with a content_id AND tags or links (for Email Alert API)
- Add
feedback_consent
tostub_account_api_validates_auth_response
test helper (for Account API)
- Add
cookie_consent
andfeedback_consent
toupdate_user_by_subject_identifier
(for Account API)
- BREAKING: Remove
get_saved_pages
(for Account API) - BREAKING: Remove
get_saved_page
(for Account API) - BREAKING: Remove
save_page
(for Account API) - BREAKING: Remove
delete_saved_page
(for Account API)
- BREAKING: Replace
level_of_authentication
parameter withmfa
(for Account API)
- Add
get_end_session_url
(for Account API)
- BREAKING: Remove
get_attributes_names
method and helpers (for Account API)
- Add
delete_user_by_subject_identifier
(for Account API)
- BREAKING: Remove
create_registration_state
method and helpers (for Account API) - BREAKING: Remove
state_id
parameter from auth URL method and helpers (for Account API) - BREAKING: Remove
check_for_email_subscription
method and helpers (for Account API) - BREAKING: Remove
set_email_subscription
method and helpers (for Account API) - BREAKING: Rename
stub_account_api_get_email_subscription_unauthorized
tostub_account_api_unauthorized_get_email_subscription
for consistency (for Account API) - BREAKING: Rename
stub_account_api_delete_saved_page_unauthorised
tostub_account_api_unauthorized_delete_saved_page
for consistency (for Account API) - BREAKING: Change how we apply Sentry's fingerprinting algorithm (#1096). Updating gds-api-adapters but failing to update govuk_app_config to v4 may mean application errors are not as effectively 'grouped' in Sentry.
- Add
cookie_consent
to Account API auth callback test helper
- Add
on_conflict
parameter tochange_subscriber
(for Email Alert API) - Add test helper for Email Alert API auth tokens for GOV.UK Account users
- Add
id
to Account API user info test helper. - Add
govuk_account_id
to Email Alert API subscriber test helpers. - Add
link_subscriber_to_govuk_account
(for Email Alert API) - Add
find_subscriber_by_govuk_account
(for Email Alert API)
- Add
authenticate_subscriber_by_govuk_account
(for Email Alert API)
- Add functions and test helpers for account-linked email subscriptions.
- Add
has_unconfirmed_email
option toupdate_user_by_subject_identifier
. - Add
has_unconfirmed_email
option toget_user
test helper.
- Add
update_user_by_subject_identifier
(for Account API) - Update "save a page" helpers to use new routes.
- Add
content_id
andtitle
fields to "save a page" test helpers. - Add
get_user
(for Account API)
- Add endpoints for authenticated "Save a page" API
- Removed
LinkCheckerApi#upsert_resource_monitor
method as it’s not supported by Link Checker API itself. - Add optional
level_of_authentication
parameter to Account APIget_sign_in_url
. - Store response body in new
http_body
field of HTTP exceptions - Added Pact tests for the
LinkCheckerApi
adapters. - Add get_attributes_names method for account-api's /api/attributes/names endpoint + Pact tests.
- Add 401 and 403 test helpers for Account API methods
- BREAKING: Removed support for the Performance Platform.
- Add Pact tests for account-api
- Remove explicit JSON encoding of attribute values now that account-api parses non-string values correctly
- BREAKING: Minimum ruby version supported is updated to 2.6
- BREAKING:
content_store_endpoint
helper now accepts a keyword argument instead of a boolean - Add new account-api adapter with auth, transition checker email subscription, and attribute endpoints
- Update the local links manager adapter stubs to include the link status - defaults to
ok
- Remove unused email unpublish adapter
- Restore find_subscriber_list adapter (for Content Tagger)
- BREAKING: remove redundant test helpers for finding subscriber lists
- BREAKING: Switch "find_or_create_subscriber_list" to only call "create" endpoint
- Update the local links manager adapter stubs to include country_name - defaults to
England
- Add country_name to the Mapit
location_for_postcode
API response
- Add a
GdsApi::HTTPBadRequest
exception - Remove redundant adapter to send ad-hoc email
- BREAKING: make subscribe test helper interface more flexible
- BREAKING: update email test helper to match new API behaviour
- Remove support for unused subscription_url subscriber list field
- Remove support for unused govdelivery_title subscriber list field
- Fix bug in special route publishing
- Support non-en locales for special routes
- Support param to skip confirmation email when subscribing (for accounts)
- Fix email-alert-api subscription creation test helpers returning
subscription_id
instead ofid
- Remove unused "redirect" param for email subscriber verification adapter
- Add double splat operator to last arguments that are keyword parameters
- Accept params in
stub_publishing_api_does_not_have_item
- Upgrade to Ruby 2.7.2
- URI encode parameters in Email Alert API methods
- Remove dependency on rack-cache gem
Note: this release was misnumbered and should have been version 64 - there are no versions 64, 65, 66 of this gem.
- BREAKING: Remove deprecated test helper methods that weren't prefixed with
stub_
- BREAKING: Remove
GdsApi::PublishingApiV2
useGdsApi::PublishingApi
- Remove request body parameters from error reporting payload.
- Update Worldwide test helpers to use the website root
- Change Worldwide API requests to use the website root rather than whitehall-frontend
- Add
stub_any_publishing_api_unreserve_path
test helper. - Fix Publishing API
stub_any_publishing_api_call
methods only operating on the V2 endpoint.
- Change Worldwide API requests to be routed to whitehall-frontend by default, rather than whitehall-admin. Update the test helpers accordingly.
- Issue a warning when deprecated stub methods are called.
stub_*
methods should be used instead. - Remove methods incorrectly marked as being stubs, I don't expect any are used externally so shouldn't be a breaking change.
- Add
get_live_content
method toGdsApi::PublishingApi
- Fix
GdsApi::TestHelpers::PublishingApiV2
not requiring Publishing API test helpers.
- Make success and error responses on Publishing API path methods accurate.
- Deprecate
stub_default_*
Publishing API test helpers in favour of thestub_any_*
convention. - Add
stub_publishing_api_path_reservation
test helper method. - Combine
GdsApi::PublishingAPI
andGdsApi::PublishingApiV2
- BREAKING: Remove
GdsApi::Rummager
. UseGdsApi::Search
instead.
- BREAKING: rename Email Alert API adapter method to create auth token
- Add Email Alert API adapter method to send subscription verification email
- Add stubs for email-alert-api edge cases (auth token and subscriber update)
- Extend the email-alert-api subscription stub to support an array of subscriptions
- Removes publishing pacts for released versions as they incorrectly referenced unreleased changes
- Removes
Search#advanced_search
- Update get_subscriptions endpoint for email-alert-api to accept order param
- Renames the Email Alert API
send_alert
method tocreate_content_change
(and related test helper methods) to reflect a change in the underling endpoint. Note: this is a breaking change for users of the Email Alert API adapters. - Adds
create_email
Email Alert API method to send individual emails. - Adds
create_message
Email Alert API method to send message emails out to a subscriber list.
- Adds content_id to worldwide location test helper
- Adds middleware to allow the header
X-Govuk-Authenticated-User-Organisation
to be passed along to content-store. - Changes logging level about header forwarding from info to debug
- Adds
combine_mode
parameter to Email Alert API test helpers
- Adds
combine_mode
parameter to Email Alert APIfind_subscriber_list
method
- Adds
stub_email_alert_api_has_subscriptions
test helper method. - Ensures that
stub_email_alert_api_has_subscription
also stubs the/latest
endpoint.
- Add
get_latest_matching_subscription
method toGdsApi::EmailAlertApi
.
- Warn when
GdsApi::Rummager
is initialised andGdsApi::TestHelpersRummager
is included.
- Add
GdsApi::Search
, deprecateGdsApi::Rummager
. - Add
GdsApI::TestHelpers::Search
, deprecateGdsApi::TestHelpers::Rummager
. - Make
GdsApi.search
return aGdsApi::Search
, deprecateGdsApi.rummager
.
- Use
POST
rather thanGET
to perform anonymous feedback queries with support-api.
- Expect applications to access the bank holidays API via the public website and not internally via the calendars app.
- Rename references of subscribable to subscriber_list in Email Alert API. Note this is a breaking change for users of the Email Alert API adapters, clients will need to also update any references to subscribable.
- Support new unreserve_path endpoint for Publishing API (v1) adapter
- Remove reject_content_purpose_supergroup as optional email alert api subscriber list param
- Find rummager by using the "search" alias, rather than referring to "rummager" directly
- Add reject_content_purpose_supergroup as optional email alert api subscriber list param
- Add GdsApi::PublishingApiV2#republish endpoint to
publishing_api
- Rename
create_business_finder_feedback
tocreate_content_improvement_feedback
- Add Router API stubs for getting routes.
- Add
content_purpose_supergroup
as optional parameter tofind_subscriber_list
inGdsApi::EmailAlertApi
- Add automatic bearer tokens for
GdsApi.router
andGdsApi.content_store
.
- Add
create_business_finder_feedback
toGdsApi::SupportApi
- Add
stub_support_api_create_business_finder_feedback
toGdsApi::TestHelpers::SupportApi
- Fix more deprecated helpers (Asset Manager and Link Checker API)
- Fix stub_asset_manager_receives_an_asset not returning unique filenames each call
- Rename stub_asset_manager_is_down to stub_asset_manager_isnt_available
- Fix broken test helper for Publishing API
- Change all test helpers to use a stub_ prefix (old names are now aliases)
- Add additional Asset Manager test helper methods
- Pass
LINK_CHECKER_API_BEARER_TOKEN
in Link Checker API requests if present. - Pass
SUPPORT_API_BEARER_TOKEN
in Support API requests if present.
- Change the expected Publishing API behaviour regarding percent-encoding of URLs included in responses.
- Remove many deprecated methods
GdsApi::TestHelpers::Rummager.stub_any_rummager_post_with_queueing_enabled
- Use
stub_any_rummager_post
instead
- Use
GdsApi::Rummager.delete_content!
andGdsApi::Rummager.get_content!
- Use
delete_content
andget_content
respectively
- Use
GdsApi::PublishingApiV2.get_content!
- Use
get_content
instead
- Use
GdsApi::PublishingApi.put_path
- Use
GdsApi::PublishingApiV2.put_path
instead
- Use
GdsApi::ContentStore.get_content!
- Use
get_content
instead
- Use
- Remove the
type
parameter fromGdsApi::Router.get_route
- Remove the
GdsApi::Helpers
module- Use the
GdsApi
module methods instead
- Use the
- Add SocketError exception handling.
- Change how the default logger is assigned.
- Ensure new Publishing API patch_links stub is symbol/string-agnostic
- Change GdsApi.organisations adapter to use the public organisations API
- Fix the URL for Rummager batch queries.
- Extend Publishing API V2 unavailable stub to cover legacy V1 routes
- Extend Asset Manager not found stub to cover delete action
- Add extra Publishing API stub for conflict when patching links
- Add ability to batch search Rummager
- Expect
GdsApi::TestHelpers::Organisations
to be using the public API instead of Whitehall.
- Add methods to GdsApi to create instances of adapters with common options to reduce boilerplate code across apps
- Deprecate GdsApi::Helpers in favour of using explicit GdsApi.service_name methods
- Add Asset Manager test helpers:
asset_manager_update_asset
,asset_manager_update_failure
,asset_manager_delete_asset
andasset_manager_delete_asset_failure
.
- Remove support for caching responses.
- Add support for the
unpublish-messages
endpoint in email-alert-api
- Expose the
country_name
parameter as part of the Mapit test helper - Add
put_path
method to PublishingApiV2
- Add
generate
argument topublishing_api_has_expanded_links
which reflects the behaviour of the actual request more closely
- Make the subscription response for Email Alert API closer to reality.
- Add
create_auth_token
toGdsApi::EmailAlertApi
.
- Add
unsubscribe_subscriber
toGdsApi::EmailAlertApi
.
- Change
get_subscriptions
andchange_subscriber
to accept a subscriber ID rather than an email address
- Add a title parameter to the
get_subscription_response
stub for Email Alert API.
- Add
get_subscription
,get_subscriptions
,change_subscriber
andchange_subscription
toGdsApi::EmailAlertApi
.
- Add
GdsApi::HTTPIntermittentServerError
andGdsApi::HTTPIntermittentClientError
superclasses. - Add a
GdsApi::HTTPTooManyRequests
exception
- Remove deprecated
notifications
andnotification
methods fromGdsApi::EmailAlertApi
.
- Add support for the /feedback-by-day endpoint in the Support API
- Add
locale
param toget_expanded_links
in the Publishing API client
- Add helper method
.redirect_for_path
to GdsApi::ContentStore to allow determining a redirect destination from a request
- Add frequency param to
assert_subscribed
in Email alert api test helpers
- Include frequency as a parameter when subscribing to emails through Email alert api
- Breaking Change: Require a minimum of Ruby 2.3
- Change name of
DISABLE_JSON_API_CACHE
environment variable toGDS_API_DISABLE_CACHE
- Percent encode URLs when requesting Whitehall assets from Asset Manager API
- Add Environment variable which can disable caching of JSON API requests,
DISABLE_JSON_API_CACHE
- Add V2 api endpoints for GdsAPI::Rummager#delete_document
- Add V2 api endpoints for GdsAPI::Rummager#insert_document
- Add GdsApi::SupportApi#document_type_list to retrieve list of formats for content items
- Add GdsApi::SupportApi#document_type_summary to retrieve feedback associated with content items of a certain format.
- Add
with_drafts
optional parameter to GdsApi::PublishingApiV2#lookup_content_ids and GdsApi::PublishingApiV2#lookup_content_id
- Add #email_alert_api_refuses_to_create_subscription test helper for email-alert-api to simulate an error condition when trying to create a subscription.
- Add GdsApi::EmailAlertApi#get_subscribable to retrieve subscribable
(currently SubscriberList in the api) by
gov_delivery_id
(calledreference:
here as we will be renaming it in the API)
- Add GdsApi::PublishingApiV2#get_content_items_enum to enumerate content items
- Add GdsApi::EmailAlertApi#subscribe to allow users to subscribe to emails
- Add GdsApi::EmailAlertApi#unsubscribe to allow users to unsubscribe from emails.
- Remove GdsApi::NeedApi
- Change GdsApi::Router.delete_route to take an optional hard_delete argument, removing support for the deprecated type argument.
- Add GdsApi::Rummager#search_enum method to expose search results as an enumerator.
- Add GdsApi::LinkCheckerApi#upsert_resource_monitor method for creating/updating a collection of monitored links for an application.
- Add GdsApi::AssetManager#whitehall_asset method for retrieving Whitehall assets from Asset Manager.
- Allow rummager search to pass additional headers
- Document new optional
legacy_etag
&legacy_last_modified
attributes that can be passed intoGdsApi::AssetManager#create_whitehall_asset
within theasset
Hash (#760)
- Avoid the following warning: Overriding "Content-Type" header "application/json" with "multipart/form-data; boundary=----RubyFormBoundaryX7Na6WDQqG3kLfD7" due to payload
- Use 1.5.0 minimum of govuk-content-schema-test-helpers
- Remove gem_publisher dependency since rake task is no longer used to publish gem
- Add GdsApi::AssetManager#create_whitehall_asset method (#752)
- Remove trailing slash in call to get_link_changes
- Remove
GdsApi::GovUkDelivery
and helpers asgovuk-delivery
has been retired in favour ofemail-alert-api
- Add get_link_changes endpoint for publishing-api
- Resurrect
feedback_url
for Support (removed in 46.0.0) - Remove need-api helper Need API is being retired
- Group Sentry errors by exception type
-
Add the HTTPPayloadTooLarge exception
-
Add
get_links_for_content_ids
endpoint to Publishing API -
Add more specific exceptions for HTTPInternalServerError (500), HTTPBadGateway (502), HTTPUnavailable (503), HTTPGatewayTimeout (504) exceptions.
- Add
email_alert_api.topic_matches
- Separate
find_or_create_subscriber_list
so that individualfind
orcreate
methods can be called in email-alert-api.
- Add
generate
option for Publishing API expanded links endpoint
- Add
enable_list
anddisable_list
endpoints for govuk-delivery.
- Add a
get_paged_editions
endpoint, which returns a lazy enumerator that pages through results from the editions endpoint.
- Update
publishing-api
class to support the new get editions endpoint.
- Send the update_type of special routes on put content rather than publish.
- Make passing the
update_type
to the Publishing API on a publish optional.
- Fix Publishing API lookup_content_id and lookup_content_ids to send exclude_unpublishing_types rather than exclude_publishing_types.
- Pass exclude_document_types and exclude_publishing_types fields to to pubslishing APi
when calling
lookup_content_id
- Fixes url used for fetching search metrics from
backdrop read API
- Update
link-checker-api
class to support new message format.
- Remove support for
content-api
- Add
HTTPUnprocessableEntity
exceptions - Introduce 4 new endpoints for
backdrop read API
to be used byinfo-frontend
.
- Drop dead endpoints from support adapter
- Rename test helpers for support-api to make it clearer they stub requests to support-api
- Delete methods no longer needed by
licence-finder
:licences_for_ids
,content_api_licence_hash
,setup_content_api_licences_stubs
andcontent_api_has_licence
.
- Add api adapter for the bank-holidays json provided by calendars
- Revert changes made to
update_type
in the Publishing API pact tests in release 43.0.0 - Remove support for the
business-support-api
- Set the
update_type
to major in all of the Publishing API pact tests. - Remove support for
business_support_schemes
- Support custom schemas in the SpecialRoutePublisher
- Make
lgil
mandatory when requesting links from Local Links Manager
- Add missing
link-checker-api
test helpers from the previous release.
- Add support for the secure webhooks of the
link-checker-api
.
- Add support for the
link-checker-api
.
- Update webmock gem dependency
- Add new
locale
anddetails
fields to special routes
- Add new fields to 'find_or_create_subscriber_list' to support whitehall migration
- email_document_supertype
- government_document_supertype
- gov_delivery_id
- Port all jenkins.sh steps to Jenkinsfile
- Rename GOVUK_FACT_CHECK_ID header to GOVUK_AUTH_BYPASS_ID header
- Add support to request expanded links from publishing api with or without drafts
- The default is false, for backward compatibility
- #676
- https://github.com/alphagov/publishing-api/blob/main/docs/api.md#query-string-parameters-2
- Add support for a customized
document_type
when publishing a special route, but keep the defaultdocument_type
ofspecial_route
.
- Allow headers to be passed into
EmailAlertApi.send_alert
. This change is needed to pass thegovuk_request_id
when email alert service processes messages off rabbit mq. - Comment out pact broker jenkins tasks as the service is currently offline. This change will be reverted once pact broker is working again.
- Add support for passing logging parameters through to Gov Uk Delivery.
- Add a redirects option to the Unpublish adapter in Publishing API
- Remove Panopticon API
- Include the files within the test/fixtures directory, this fixes some test helpers that would have been broken since 39.0.0.
- Add support for the import endpoint for the Publishing API.
- The
publishing_api_has_item
test helper can now take a hash of params to match the request against. - Remove Rails specific features from the implementation of some Publishing API test helpers.
- Pass through GOVUK_FACT_CHECK_ID header. This will be added by authenticating-proxy when a draft item is requested with a valid JWT token; the value itself will be checked by content-store against the value stored in the content item.
- Remove the
need_api_has_organisations
test helper.
- Handle URI::InvalidURIError exceptions with GdsApi::InvalidUrl
- Removed tests for the deprecated
format
field in the Publishing API.
- Added an adapter for the import endpoint of the Need API.
- Removed
GdsApi::Publisher
- Removed
GdsApi::ExternalLinkTracker
- Removed deprecated
PublishingApi
endpoints (put_content_item
andput_draft_content_item
). - Removed
ContentStore#incoming_links!
- Removed
ContentStore#content_item!
- Removed
PublishingApiV2#get_content!
- Renamed
Rummager#delete_content!
toRummager#delete_content
- Renamed
Rummager#get_content!
toRummager#get_content
- Allow #dig on Response.
- Support
unpublished_at
field forPublishingApiV2#unpublish
- Add test helper methods to stub any unpublish or discard draft requests to Publishing API V2.
- Add a helper method for extracting service feedback from the performance platform.
- Add test helper method
publishing_api_has_linked_items
for the Publishing API V2 methodget_linked_items
.
- Add
restore_asset
method to allow the restoration of deleted assets.
- Default
always_raise_for_not_found
to true when not configured and add deprecation warning for when a client app uses the setter to change the value. From December 1st, 2016 it won't be possible to configure this option anymore and therefore all responses will raise aGdsApi::HTTPNotFound
for 404s andGdsApi::HTTPGone
for 410s; - Default
hash_response_for_requests
to true when not configured and add deprecation warning for when a client app uses the setter to change the value. From December 1st, 2016 it won't be possible to configure this option anymore and therefore all responses will behave like aHash
instead of anOpenStruct
; - Add helper methods to stub and assert Rummager searches;
- Stop using
content_format
in the Publishing API tests; - Documentation added to
get_content_items
; - Ruby version upgraded to
2.3.1
; - Added
govuk-lint
to the project.
- Fix bug where the total number of pages was being calculated incorrectly on
publishing_api_has_content
; - Return only the expected items based on the pagination parameters on
publishing_api_has_content
.
- Remove search-related fields from Panopticon Registerer now that these fields are no longer sent by client apps.
- Add a support-api endpoint for creating 'Page Improvements'.
- Add delete_asset method, to support the new delete asset functionality now supported by asset manager.
- Fix issue where rspec style matchers would cause issues, since they do not implement the fetch method.
- Add helpers for the support-api for fetching problem reports and for marking problem reports as spam.
- Add option to return results as a hash in
GdsApi::ListResponse
.
- Remove
GdsApi::Rummager#unified_search
. The/unified_search
endpoint has been removed in rummager in favor of/search
. This is a breaking change, which means applications currently using#unified_search
need to migrate to#search
.
- Fix issue where Pact would hit the Publishing API in development if the
service was running on the same port
3093
; - Return pagination information from
publishing_api_has_content
in order to reflect what would happen in a real request.
- Remove methods for
with_tag
endpoint for content api. These methods are not used by any client. The endpoint is scheduled to be removed soon. - Add test helper for Gone items in content store
- Deprecate
GdsApi::Rummager#unified_search
. The/unified_search
endpoint has been deprecated in rummager in favor of/search
.
- De-deprecate
delete_document
helpers, because the endpoint is still useful. - Allow
/document/
helpers to take an optional index parameter, mirroring the API. - Allow all assert methods to pass through additional webmock options
- Change
stub_any_rummager_post
to behave the same asstub_any_rummager_post_with_queueing_enabled
: rummager always returns 202 and so should our stubs. - Deprecate
stub_any_rummager_post_with_queueing_enabled
as it is now redundant.
- Fix JsonClient not explicitly requiring the config
- Send correct headers for GET and DELETE requests.
- Extend option to always raise for 404 and 410 to
get_raw
.
- Update RestClient version to 2.0.0
- Add support-api global export endpoint
- Simplify state name presentation (live to published)
- Add option to always raise for 404 and 410.
- Add option to make
GdsApi::Response
just behave like a hash, not an OpenStruct - Add local links manager local authority endpoint
- Fix LocalLinksManager test URLs
- Add LocalLinksManager
local_link
adapter.
- Add
publishing_api_has_item_in_sequence
test helper
- Allow publishing apps to request a specific version of content.
- Provide a warning message for rummager deprecated stubs
- Modify Rummager test helper to use
rummager
vhost instead ofsearch
. This is a breaking change, which means applications currently using the helper will need to ensure they are using therummager
vhost when creating the adapter.
- Add
allow_draft
flag that can optionally be set when unpublishing
- Add
stub_any_rummager_delete_content
andassert_rummager_deleted_content
- Add an
area_for_code
method to the MapIt API adapter.
- Add a
stub_any_publishing_api_publish
test helper
- Remove
format
from expected results in Pact tests.
- Add
assert_publishing_api_unpublish
test-helper
- Stubs successful and failing attachment uploads to asset manager.
- Allow
bulk_publishing
flag forPublishingApiV2#patch_links
- Use
document_type
&schema_name
in special routes - Remove implicit dependency between JsonClient and GdsApi::Base
- Add support for get_expanded_links endpoint
- Add
locale
parameter to unpublish endpoint. - Add publishing-api
stub_publishing_api_unpublish
test helper method.
- Add publishing API POST /v2/content/:content_id/unpublish endpoint See docs for more info: https://github.com/alphagov/publishing-api/blob/main/docs/api.md#post-v2contentcontent_idunpublish
- Add email alert API
GET notifications
andGET notification
endpoints
- Update README and add documentation. See http://www.rubydoc.info/gems/gds-api-adapters/GdsApi/PublishingApiV2 for example.
- Remove content-register
- Add
GdsApi::GovukHeaders.clear_headers
- Add stub for
publishing_api_get_content
inpublishing_api_v2
test helper.
- Extend publishing API 'stub_publishing_api_publish' test helper to accept a response hash
- Change test helper
- Wrap resultant calls to GET /v2/content in meta data
- Add
GdsApi::PublishingApiV2#lookup_content_id
andGdsApi::PublishingApiV2#lookup_content_id
- Add
publishing_api_has_lookups
test helpers
- Add
GdsApi::HTTPUnprocessableEntity
to represent a 422 error
- Support searching by a
document_type
in email-alert-api
- Fix linkables test helper.
- Prefer
document_type
as the arg forget_linkables
, deprecatingformat
.
- Enable Draft Content Store testing in test helpers.
- Fix publishing API
patch_links
test helpers.
- Add code and pact tests for the new publishing API
GET /v2/linkables
endpoint.
- Breaking change: rename
PublishingApiV2
'sput_links
topatch_links
to better reflect the behaviour. Also rename related test_helper methods.
- Fixed
TestHelpers::Imminence
missingend
.
TestHelpers::Imminence
now hasimminence_has_places_for_postcode
andstub_imminence_places_request
helper methods. There was previously no helper for the find places with post code tools. It is now possible to stub all requests for places with any status code or payload as required.
TestHelpers::PublishingApiV2
now has apublishing_api_does_not_have_links
test helper which stubs the Publishing API V2 to return the 404 payload for thecontent_id
passed as the arg.
- Pass the Govuk-Original-Url header on to requests made by gds-api-adapters,
similarly to the existing Govuk-Request-Id header. Rails applications will
get this support automatically when using this version of gds-api-adapters.
Other applications will need to add an explicit call to
use GdsApi::GovukHeaderSniffer, 'HTTP_GOVUK_ORIGINAL_URL"
, as detailed in the README.
TestHelpers::PublishingApiV2
now has apublishing_api_does_not_have_item
test helper which stubs the Publishing API V2 to return the 404 payload for thecontent_id
passed as the arg.
- Add
PublishingApiV2#get_content!
TestHelpers::PublishingApiV2
now has apublishing_api_has_links
test helper which stubs the Publishing API V2 to return the links payload which is supplied as the arg.
- In
TestHelpers::PublishingApiV2
- for methods that accept an optional argattributes_or_matcher
, change the default value to nil so that we don't test for request body if the argument is not supplied. - In the same class, fix
#publishing_api_has_fields_for_format
so that we always cast theitem
arg to Array. This correctly handles cases where only one item is passed in.
- Drop support for Ruby 1.9.3
- Raise
HTTPUnauthorized
for 401 responses
- Fix
ContentStore#incoming_links
.
PublishingAPIV2
: prevent clients from using nilcontent_id
values
- Add some useful test helpers for EmailAlertApi
- Pin Plek to >= 1.9.0 because gds-api-adapters depends on Plek.find
- Add Plek service discovery for EmailAlertApi test helpers
- Fix issue within
PublishingApiV2
test helpers whererequest_json_matching
andrequest_json_including
were incorrectly named and had the opposite behaviour. - The default behaviour of
assert_publishing_api
(and the more specific helpers that use it) is not to match the entire supplied attributes. To do partial matching userequest_json_includes
- Add support for symbol keys to the
PubishingApiV2
test helpers.
- Add support for Rummager's
delete_content
&get_content
.
- Add
PublishingApiV2#get_linked_items
.
- Changed SpecialRoutePublisher to use v2 of publishing-api
- Performance Platform: add test helper stub for non-existent datasets
- Add
ContentStore#incoming_links!
- Fix the composite "put and publish" Publishing API v2 stub
- Publishing API v2: add stub for 404 responses
- Support optional locale and previous version for discard_draft publishing API call
- Add publishing api discard draft endpoint
- Flesh out and rename methods in Publishing API v2 test helpers
- Add Test Helpers for Publishing API V2
index
andget
- Add
PublishingApiV2#get_content_items
.
- Add support for optimistic locking to the v2 publishing API endpoints.
- Allow
Mapit#location_for_postcode
to raise if it receives something which doesn't look like a postcode.
- Add test helpers for Publishing-API path reservation endpoint
- Add put_path endpoint for Publishing-API
- Support segments_mode option for add_redirect_route.
- Adds the helper methods and pact tests for the GET and PUT publishing API endpoints for managing links independently of content items.
- Set the connection timeout in RestClient as well as the read timeout
- Raise
HTTPConflict
exception for HTTP 409 status codes.
- Change the Panopticon Registerer adapter to support the
content_id
field.
- Add test helper
content_register_isnt_available
- Remove support for the
/organisations
endpoint on Rummager.
- Bugfix:
SpecialRoutePublisher
handles case whereTime.zone
returnsnil
- Bugfix: remove invalid require from GdsApi::Helpers
-
Add special route publisher under PublishingApi.
This is be used in several apps for registering "special" routes like /government or /robots.txt
See https://trello.com/c/blLdEZN5/292-make-apps-register-special-routes-on-deploy
-
GdsApi::TestHelpers::PublishingApi
added the ability to make more flexible assertions about publishing api requests by optionally passing a predicate to the assertions. The
request_json_including
predicate will match required elements of a hash or a nested hash in the JSON body.The existing stricter behaviour is retained as the default (
request_json_matching
predicate).
- Remove
GdsApi::Rummager#search
. The/search
endpoint was removed from rummager in favor of/unified_search
.
-
Remove
FinderAPI
andFinderSchema
classes. Finder API has been retired and these are no longer used. -
Raise specific error on 404 in content-store client.
- Using GdsApi::ContentApi#tag without the second parameter for tag type will raise an error.
- Fix content-store test stubs key type
- Fix GdsApi::Response
method_missing
signature
- Fix stray collections-api require
- Change the user agent string to include the app name, eg:
GDS Api Client v. 20.1.0
->gds-api-adapters/20.1.0 (whitehall)
-
remove collections-api client and helpers. The application has been retired.
-
Don't cache Cache-Control "private" and "no-store" responses.
-
Update content_store_has_item test helper to support better overriding of Cache-Control headers in responses.
- Raise HTTPForbidden on a 403 response.
- Pass HTTP_X_GOVUK_AUTHENTICATED_USER in API requests.
- Remove old policy test helpers for rummager.
- Add support for organisation list and show in Support API
- Add support for exporting CSVs from the Support API
- Fix a bug in the SupportApi test helper for organisations_list
- Support API: add adapters for
/anonymous-feedback/organisations
list, and/anonymous-feedback/organisations/:slug
feedback summary endpoints.
- Support API: add adapter for
/anonymous-feedback
feed endpoint
- Change name of Rummager policy-tagging test helpers to reflect the fact that they stub for any type. Deprecates the old helpers.
- Change Rummager test helpers to allow stubbing specific counts for requests for policies for an organisation.
- Add Rummager test helpers to stub requests for policies for an organisation.
- Make TestHelpers::Organisations more flexible
- Fix
content_api_has_artefacts_with_a_tag
test helper
- Add assert_publishing_api_put_draft_item to publishing_api_helpers
- Bump rest-client for security fixes
- Remove base_path from publishing_api content_item_helpers.
- Add helper to stub draft publishing API default.
- Adds support for the PUT endpoint of content register
- Test helpers for the
GdsApi::ContentRegister
adapter
- Update rest-client dependency for security fixes: https://github.com/rest-client/rest-client/commit/221e3f200f76bd1499591fbc6c3ea3f6183b66ef
- Publishing API test helpers responses no longer include the entities
- Government API test helpers responses include the content_id
- Add publishing API method to
PUT
draft content items, to be stored only in draft content-store.
- Add ability to pass
n
to some PublishingAPI test helpers to say how many times the request should be expected.
- Add delete helpers to GdsApi::TestHelpers::Rummager
- Deprecate passing
type
toGdsApi::Router#get_route
andGdsApi::Router#delete_route
- Add PublishingApi intent endpoints and test helpers.
- Add a test helper to stub Rummager's behaviour when queueing is enabled.
- Change the order of the ContentAPI
tags
request stubs as the first matching stub is used. - Loosens the live
tags
stub to allow cachebust, as per the draft version.
- Change the matching behaviour of ContentAPI test helpers to loosen their param requirements.
- Add a
bust_cache
option for the ContentAPItags
endpoint.
- Add Whitehall and Publisher endpoints for reindexing editions tagged to topics.
- Change the Panopticon Registerer adapter to support the
public_timestamp
andlatest_change_note
fields.
- Update content API test helper
#content_api_has_artefacts_with_a_tag
to guard against missing keys
- Extend content API test helper
#content_api_has_artefacts_with_a_tag
to support options for artefacts.
- Update collections API test helpers to reflect reality.
- Add test helper method to stub gone route registration.
- Add support for registering gone routes with the router.
- Add
start
andtotal
options to the Collections API test helper.
- Allow the
start
andcount
arguments to be provided to the Collections API adapter for a sub-topic.
- Pass correct parameters to assert_requested in email alert API endpoint helpers.
- Include latest changes in collections API endpoint.
- Add Rummager test helpers for adding documents
- Change e-mail alert API endpoints
- Add panopticon support for
primary_section
andsections
- Deprecate support for
section
- Reduce public interface for Email Alert API (unused)
- Add support for endpoints to create, update and publish tags in Panopticon
- Add email alert API support
- Add problem reports endpoint to
support-api
- Add
support-api
endpoint for getting problem report daily totals - Add Performance Platform endpoint for uploading problem report daily totals
- Add long-form contact endpoint to
support-api
- Add extra layer of inheritance for HTTP Exception classes to provide HTTPServerError and HTTPClientError in order to allow applications to to catch ranges of Server/Client type errors.
- Add a helper method,
build_specific_http_error
, in order to handle raising specific error types based on HTTP error codes.
- Add
custom_matcher
parameter to panopticonstub_artefact_registration
to allow partial matching of request body.
- Corrects the endpoint for
#collections_api_has_no_curated_lists_for
test helper
- Corrects the collections api endpoint for curated lists
- Add more content api draft tag functions.
- Add "does not have" stubs for content api tags.
- Expand collections api test helpers.
- Adds basic collections API client and test helpers
- Update the content API sorted tags test helper to support draft mode.
- Add rummager test helper for stubbing sub-sector organisations (
rummager_has_specialist_sector_organisations
).
- Split content item write API from the content store client into a new publishing API client.
FinderSchema#user_friendly_values
now returns a hash with the slug version of the attribute as the key, with a label and a values Array, which contains a label and slug version of each value.
- Add test helper for content store being unavailable
- Stub "everything including draft" calls for tag test helpers even when the helpers themselves aren't setting up draft tags.
- Fixes services and info data fixture
- Add
rummager_has_no_services_and_info_data_for_organisation
- Add "draft" option to the content_api.tags method.
Add .expires_in, .expires_at to GDSApi::Response
These methods expose the expiration time in seconds and absolute time value respectively, by inferring them from max-age or expires values received in response from content store.
- Add rummager test helpers
FinderSchema#user_friendly_facet_value
always returns metadata values as Arrays.
- Support the
sort
parameter on the Content API adapter'stags
andchild_tags
methods. - Include test for Rummager adapter behaviour on a response with a 422 status.
- Add
support-api
adapter
- Improve content-store test helpers
- Add
add_document
andremove_document
methods to Rummager adapter.
- Add content-store test assertion helper.
- Adds areas_for_type method for Imminence.
- BREAKING CHANGE: router client no longer commits by default (see https://github.com/alphagov/gds-api-adapters/commit/f7a6f5e for more details).
- Added more test helpers for router client
- Bug fix: remove
put_content_item
, we want to be aware ofPUT
failing on content store
- Add methods for PUTing data to content-store.
- Lookup Mapit areas by postcode via Imminence.
- Fix inheritance of content-store client.
- Update business support scheme helpers to match API behaviour.
- Expose Mapit areas by area type. Adds the method
areas_for_type(type)
.
- Update organisation test helper, adding logo and brand class details to the helper
- Add router test helpers
- Add Maslow adapter with link builder
- Add panopticon artefact registration test helper
- Add support for registering multiple need_ids with panopticon
- Add support for
PUT
multipart requests - Add support for replacing assets in asset manager using
PUT
- Data-in API (corporate content problem reports): endpoints for counts, top urls
- Include organisation slugs if available when registering artefacts
- Add an
artefact!
method to Content API adaptor that can raise exceptions
- Added
needs_by_id
method to Need API adaptor for retrieving multiple needs with one request
- Data-in API (service feedback): specify which dataset is missing in the exception
- Fix bug with default schema factory for finder API
- Add more methods to interact with the finder API schema response
- Add new unified search endpoint for Rummager adapter
- Added method for finder API schema endpoint
- Added client for interacting with the GOV.UK finder API.
- Added support for array parameters in query strings (eg
foo[]=bar&foo[]=baz
)
- Modify test helpers to match changes to
web_url
andtag_id
in Content API. - Add test helper for stubbing artefacts with multiple tags.
- Added client for interacting with the GOV.UK external link tracker.
- Query business support schemes by faceted search parameters e.g.
locations=scotland,england
. - Remove the ability to retrieve by identifiers.
- Remove obsolete
curated_lists
method from Panopticon API.
- Rename
industry_sectors
attribute tospecialist_sectors
to match Panopticon
- Add deep-link to anonymous feedback in Feedex.
- Update to a more sensible Performance Platform DataIn service feedback endpoint.
- Bugfix to constructing the Performance Platform DataIn service feedback endpoint.
- Add the Performance Platform DataIn service feedback endpoint, for uploading service feedback aggregated stats.
-
Allow the
industry_sectors
attribute to be provided to the Panopticon registerer. -
New Content API test helper added for stubbing
with_tag.json
request with a custom sort order. -
The Content API tag tests now use test helpers to stub endpoints.
-
Removed the
include_children
parameter from Content API adapters, which was removed from the Content API in April '13. -
Fix for the
content_api_has_artefacts_with_a_tag
helper to not expect query string parameters in an order when stubbing URLs. -
Fix for a typo in a test helper.
- Changes the test helpers for stubbing out Content API requests for artefacts with section tags so that they work for any tag type.
- Fix a bug where
gds_api/govuk_request_id.rb
would fail to load if theGdsApi
module was not already defined.
- Add a method to re-open closed needs in the need API.
- We've added a unique request ID called
GOVUK-Request-Id
at the varnish layer so that it's easier to trace a request moving through the GOV.UK application stack. This change ensures that all API calls pass on theGOVUK-Request-Id
header. More details in README.md.
- Changes to the Content API adapter to decouple tag methods from the
section
tag type. - Changes to Content API test helper stub data which may break tests in clients.
- Support app: problem report creation happens on
/anonymous_feedback/problem_reports
instead of/problem_reports
- Integrate Support app API for creating FOI requests
- Add Rummager method for
/organisations.json
-
Support arbitrary search parameters in
GdsApi::Rummager
-
Remove obsolete format_filter param from
GdsApi::Rummager
methods -
Remove obsolete autocomplete method from
GdsApi::Rummager
- Add Content API method for
/artefacts.json
Potentially backwards-incompatible changes:
- The
disable_timeout
option has been removed. JsonClient
now respects theExpires
headers when caching results. If noExpires
header is set, the global cache TTL will be used (defaults to 15 mins).- The Rummager client now inherits from
GdsApi::Base
. This means that it usesJsonClient
and therefore inherits its timeout and caching behaviour.
Other changes:
- Added Worldwide API client.