Skip to content

Latest commit

 

History

History
215 lines (143 loc) · 7.08 KB

Changelog.md

File metadata and controls

215 lines (143 loc) · 7.08 KB

Changelog

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.

[Unreleased]

[0.10.1]

  • x-clacks-overhead header added to maintain feature parity with boltzmann
  • clap feature of the petname dependency disabled to improve build times

[0.10.0]

Dependencies

  • Update to preroll 0.10
  • Update to tracing-subscriber 0.3

[0.9.0] - 2021-10-28

This release changes test database naming inference and /monitor/ping output.

Changes

  • Change: /monitor/ping now randomly generates a human-readable name at start-up, and will reply with that for the process duration.
  • Change: the default postgres test database name is now {crate_name}-test.

Additions

  • Support for overriding host, name and port for the postgres test database.

[0.8.5] - 2021-09-20

Changes

This release comes with a minor change to the debug (development) mode defaults.

  • Change: LOGLEVEL defaults to info rather than debug in debug mode.

[0.8.4] - 2021-08-26

Dependencies

  • Update to surf 2.3
  • Update to env_logger 0.9

[0.8.3] - 2021-07-19

Improvements

[0.8.2] - 2021-07-12

Fixes

  • lambda-http: This feature flag now actually works. (Oops.)

[0.8.1] - 2021-07-12

Fixes

  • lambda-http: No longer disables the logging middleware.

[0.8.0] - 2021-06-15

Additions

  • New "lambda-http" feature, which changes the HTTP listener to connect to an AWS Lambda execution environment.
    • Is no longer reachable as a regular http server, but accepts http lambda requests as if it were one.
    • Some environment variables, such as PORT, are disregarded.
    • If the "honeycomb" feature is enabled, trace events are written to stdout, and must be collected via a layer provided by Honeycomb. See: https://docs.honeycomb.io/getting-data-in/integrations/aws/aws-lambda/

[0.7.0] - 2021-05-19

Changes

  • The default backend for the included Surf http client has changed from libcurl (via Isahc) to http-client's async-h1 client.
  • honeycomb: Environemtn variables now start with HONEYCOMB_ rather than HONEYCOMBIO_.
    • Consistency with other honeycomb SDK's.
  • honeycomb: HONEYCOMBIO_WRITE_KEY is now HONEYCOMB_WRITEKEY (required).
    • Consistency with other honeycomb SDK's.

Additions

  • honeycomb: Added HONEYCOMB_SAMPLE_RATE environment var usage.

[0.6.0] - 2021-04-15

Additions

  • postgres: Added a PGMAXLIFETIME environemnt variable, set in minutes.

Dependencies

  • honeycomb: Switched back to tracing-honeycomb and upgraded to 0.3.
    • This allows patch upgrades to be picked up via cargo update, and is otherwise identical to 0.2.1-eaze.7.

[0.5.7] - 2021-04-05

  • honeycomb: Added events for generic Request/Response http properties.
  • Changed the ordering of json log fields to be better for plaintext viewers.
  • Fixed hostname resolution in /monitor/status.

[0.5.6] - 2021-03-29

  • Dependency upgrade to eaze-tracing-honeycomb 0.2.1-eaze.7
    • honeycomb: This fixes a deadlock. See this commit for details.

[0.5.5] - 2021-03-24

  • honeycomb: Fixed timestamps to correctly be from spans/events.
  • Dependency upgrade to eaze-tracing-honeycomb 0.2.1-eaze.6

[0.5.4] - 2021-03-24

  • honeycomb: Sub-millisecond "duration_ms" using f64.
  • Dependency upgrade to eaze-tracing-honeycomb 0.2.1-eaze.5

[0.5.3] - 2021-03-22

  • Enables Postgres trace events.
  • Dependency upgrade to tide-sqlx 0.6.0

[0.5.2] - 2021-03-19

  • Dependency upgrade to eaze-tracing-honeycomb 0.2.1-eaze.4

[0.5.1] - 2021-03-09

  • Reduce dependency footprint from async-std.
    • Avoids wasm-related features.

[0.5.0] - 2021-03-09

  • Dependency upgrade to sqlx 0.5 & tide-sqlx 0.5 for the postgres feature.

[0.4.3] - 2021-02-22

[0.4.2] - 2021-02-16

  • Avoid causing http errors on invalid X-Honeycomb-Id and X-Request-Id.
    • Instead, these get logged.

[0.4.1] - 2021-02-02

  • Updated the "honeycomb" feature to respect the "HONEYCOMBIO_DATASET" environment variable when possible.

[0.4.0] - 2021-02-01

The same as 0.3 but with a forgotten update to Tide 0.16.

  • Dependency upgrade to Tide 0.14 & tide-sqlx 0.4.

[0.3.0] - 2021-02-01

  • Removed the "custom_middleware" feature, is now automatically part of the optional arguments for preroll::main!.
  • Changed preroll::main! to accept VariadicRoutes instead of variable macro arguments.
  • Changed preroll::test_utils::create_client to accept VariadicRoutes, enabled api versioned testing.
  • Changed assertions to always unwrap and panic immediately rather than return a Result.
  • Changed assertions to accept AsMut<http_types::Response> rather than surf::Response.
  • Added more test assertion helpers to preroll::test_utils.
  • Added /monitor/status built-in endpoint to expose useful status information.
  • Updated all documentation with major additions, overhauls, and examples.
  • Improved the standalone example / test subproject.
  • Improved internal CI.

[0.2.0] - 2021-01-12

  • Changed the api mounting point to be versioned - e.g. /api/v1.
    • This is based on argument position of the route handlers provided to preroll::main!.
  • Changed routes setup function to instead receive Route<'_, Arc<AppState>>.
  • Added "test" feature (makes UUIDs such as correlation_id be constant an nil).
  • Added "custom_middleware" feature to add an extra hook into preroll::main!.
  • Added an always-enabled GET /monitor/ping which responds only with service_name.
    • This is excluded from middleware.
  • Added a debug-mode-only GET /internal-error for easy testing.
  • Exposed and documented JsonError.
  • Improved http error output for assert_json_error.

[0.1.2] - 2021-01-06

  • Fixed honeycomb feature. (Incorrect cfg statements.)

[0.1.1] - 2020-12-21

  • Fixed missing/empty Cargo.toml fields.

[0.1.0] - 2020-12-21

  • Initial exports:

    • prelude
    • test_utils
    • utils
    • main
    • SetupResult
  • Initial feature set:

    • "honeycomb"
    • "postgres"
    • "panic-on-error"

Note: the following override is currently required to make libhoney-rust use async-std as its runtime:

[patch.crates-io.libhoney-rust]
git = "https://github.com/eaze/libhoney-rust.git"
branch = "runtime-async-std"
optional = true
default-features = false
features = ["runtime-async-std"]