Skip to content

Latest commit

 

History

History
282 lines (166 loc) · 10.2 KB

CHANGELOG.md

File metadata and controls

282 lines (166 loc) · 10.2 KB

Changelog

master

8.1.0

  • #272
    • Add support for Lists API

8.0.0

  • #267

    • fix issues with non-string values in headers
  • #262#268

    • add 429 RateLimitError
  • Bump dependencies

  • Add support for Rubies 3.1 and 3.2 and 3.3

  • Add support Rails 7

BREAKING CHANGES:

  • Drop support for Rubies < 2.7 and Rails < 6

7.2.0

  • #253

    • added InvalidRequestTokenError
  • #254

    • remove X-Castle-* headers from allowlist

7.1.2

  • #247
    • fixed issue with body as null

7.1.1

  • #246
    • support failover for risk and filter

7.1.0 (2021-06-09)

  • #245
    • removed not needed sdk based validations

7.0.0 (2021-06-03)

BREAKING CHANGES:

  • #237
    • remove identify and review commands - they are no longer supported
    • remove Castle::Events - please use recognized events instead

Enhancements:

  • #243
    • add risk, filter and log endpoints
  • #242
    • correct configuration used by the logger
    • prevent unnecessary calls to the singleton configuration

6.0.1 (2021-01-19)

Enhancements:

  • #234 rename the namespace from IP to IPs

6.0.0 (2021-01-19)

BREAKING CHANGES:

  • #228 change the impersonation-related DSL
  • #213 rename config.url to config.base_url
  • #214 reorganize structure of the SDK, Castle::API::Session renamed to Castle::Session
  • #216 add new context and payload builders, changed DSL

Enhancements:

  • #231 allow to instantiate the configuration
  • #230 add webhooks verification
  • #223, #224, #225, #226, #227 allow to manage the devices
  • #221, #222 add more tests
  • #220 update the default timeout
  • #218 add logger config option
  • #212 drop origin from the default context

5.0.0 (2020-09-29)

BREAKING CHANGES:

Enhancements:

  • #208 bump the dependencies
  • #205 extend DEFAULT_ALLOWLIST

4.3.0 (2020-05-22)

  • #197 add trusted_proxy_depth and trust_proxy_chain configuration options

4.2.1 (2020-04-07)

  • #189 added missing require

4.2.0 (2020-03-31)

  • #187 dropped X-Client-Id from calculation of ip, drop appending default ip headers to the ip_header list config when config is provided (in that case default headers have to explicitly provided)

4.1.0 (2020-03-27)

  • #184 added Castle::API::Session which exposes Net:Http instance for reuse
  • #183 change format of url_prefix config and renamed internal classes/variables

4.0.0 (2020-03-19)

BREAKING CHANGES:

  • #178 calculation of ip requires setup of ip_headers and trusted_proxies if needed
  • #180 api key config overwrites env provided key
  • #175 drop special handling of cf ip header (it has to provided by ip_headers config)

Enhancements:

  • #171 test against Rails 5 and Rails 6

3.6.2 (2020-04-24)

  • #192 fixed problem with symbols in env

3.6.1 (2020-01-16)

Bug fixes:

  • #168 do not apply whitelisting by default

3.6.0 (2020-01-07)

BREAKING CHANGES:

  • #165 support ruby >= 2.4

Enhancements:

  • #163 scrub headers instead of dropping them

3.5.2 (2019-01-09)

Enhancements:

  • #131 remove requirement for user_id

3.5.1 (2018-10-27)

Enhancements:

  • #132 refactor internal Castle::API and it's components

3.5.0 (2018-04-18)

BREAKING CHANGES:

  • #119 usage of traits key is deprecated, use user_traits instead

Enhancements:

  • #122 X-Castle-Client-Id takes precedence over cid from cookies
  • #121 raise Castle::ImpersonationFailed when impersonation request failed

3.4.2 (2018-02-26)

Features:

  • #115 added reset option to impersonate

3.4.1 (2018-02-21)

  • #113 support ruby >= 2.2.6

Enhancements:

  • #108 move context and command validation to their own scope and classes, code cleanup

3.4.0 (2018-01-27)

  • #101 added impersonate method with user_id, impersonator and context options

3.3.1 (2018-01-22)

Enhancements:

  • #100 use request.remote_ip and CF connecting IP in favour of request.ip if present
  • #100 added X-Forwarded-For and CF_CONNECTING_IP to whitelisted headers

3.3.0 (2018-01-12)

BREAKING CHANGES:

  • #97 when data is sent in batches you may want to wrap data options with to_options method before you send it to the worker (see README) to include proper timestamp in the query

Features:

  • #97 Castle::Client has additional option timestamp, timestamp and sent_at time values are automatically added to the requests, added Castle::Client.to_options method which adds properly formatted timestamp param to the options

3.2.0 (2017-12-15)

BREAKING CHANGES:

  • #91 symbolize keys for failover strategy

3.1.0 (2017-12-11)

Enhancements:

  • #90 added ability to extract context object and initialize client with that object

BREAKING CHANGES:

  • Castle::Client.new does not not build context object anymore
  • to use previous functionality use Castle::Client.from_request

Features:

  • added Castle::Client.to_context method which allows to generate context object from the request

3.0.1 (2017-11-20)

Bug fixes:

  • #84 allow to use symbols for headers data

3.0.0 (2017-10-18)

Enhancements:

  • #35 dropped unused cookie store class, more informative Castle:Client constructor params
  • #30 change request timeout to 500ms
  • #31 remove auto-integration with Rails, Padrino, Sinatra (see BREAKING CHANGES, README)

BREAKING CHANGES:

  • add require 'castle/support/rails' to have Castle client instance available as castle in your Rails controllers
  • add require 'castle/support/padrino' to have Castle client instance available as castle in your Padrino helpers
  • add require 'castle/support/sinatra' to have Castle client instance available as castle in your Sinatra helpers
  • request timeout uses milliseconds unit from now on
  • renamed track! to enable_tracking
  • renamed do_no_track! to disable_tracking
  • renamed don_no_track? to tracked? with opposite behaviour
  • Castle::Client.new now takes options as a second argument
  • drop support for ruby 2.1
  • replaced config.api_endpoint with config.host and config.port
  • renamed fetch_review to Castle::Review.retrieve

Features:

  • #32 added helper for generating signature
  • #27 added whitelisted and blacklisted to configuration (with defaults)
  • #41 added Hanami helpers
  • #42 added possibility to set do_not_track flag in Castle::Client options
  • #48 added failover strategies for authenticate method

2.3.2

Bug fixes:

  • fix for outdated Gemfile.lock

2.3.0

Features:

  • extract client_id from HTTP_X_CASTLE_CLIENT_ID header when not found in cookies

Enhancements:

  • repository cleanup