- Add special case handling for context
prefab.current-timeto return the current time (UTC) to round out new operator support [#124]
- Make ConfigValue work as a value in the Context Dictionary. Declare a new type
ContextDictOrContextto better cover the type possibilities of the context argument [#122]
- Re-exported Protocol Buffer types including
ConfigValue,StringList,ProtoContext,ContextSet,ContextShape,LogLevel,Json, andSchemafor easier access. [#120]
- Updates ConfigValueType's union to include dict to better support json values [#117]
- Renamed encrypted content paths
- adds http conditional fetch logic to configuration polling to lower bandwidth requirements [#116]
- removes reference to protobuf internal class [#113]
- adds semver, regex, number comparison operator support [#112]
- adds more string operator support [#111]
- add separate configuration for the streaming (SSE) config subsystem [#108]
- trim whitespace from api key [#107]
- Support json config type [#105]
- better sse connection handling, adds backoffs [#104]
- Allow re-setting the global context [#102]
- Change config loading -- now load from belt/suspenders API pair for increased reliability. Load full config once then SSE rather than polling all the time [#98]
- Fail fast on invalid credentials (401 response) [#97]
- Locking fixes in reset_instance command [#95]
- Enlarge acceptable version range for mmh3 dependency; add matrix tests to cover v3 and v4 [#93]
- Configure timer threads as daemon [#90]
- Return stringlist contents as a python list [#85]
- idna update per dependabot [#86]
- adds duration support [#82]
- Make additional classes visible [#80]
- Split structlogger-supporting LogProcessor out, make logger_name derivation overridable [#72]
- Revise logging in telemetry thread to print backtrace [#71]
- Restore logging.Filter superclass on LoggerFilter [#74]
- fix row-index handling when there's only a no-env-id (default) row [#75]
- fix for integration test comparing outgoing telemetry data [#78]
- Adds log level name to number conversion for structlog [#69]
- Adds full telemetry support - will (configurably) send data back to Prefab about evaluations, logging counts, and context usage
- Reliability changes, increased test coverage
- Remove automatic
structlogconfiguration. Adds helper methods to use Prefab in customer-configured structlog [#40] - Filter extracted for standard
loggingusage [#32] - Added types on client [#28]
- Changed default collect_sync_interval from None to 30 seconds [#54]
- Added package methods to configure, manage and reset a singleton instance of the client [#53]
- logging overhaul - remove logging via client in favor of a logging filter [#55], [#60]
- Removed GRPC [#56]
- Fix issue where client crashed in absence of HOME env var [#61]
- Added global_context option [#63]
- Removed namespace, other disused options [#64]
- added on_ready_callback [#65]
- Add support for reading config from a local JSON datafile [#42]
- Add support for setting and using default contexts [#43]
- Add support for encrypted config values [#44]
- Add support for
providedconfig values via ENV vars - Add
ConfigValueWrapper
- Set and load from local cache when specified
- Loosen version requirements to allow Python 3.9
- Migrate from a direct dependency on
urllib3to usingrequests
- Add ContextShape and ContextShapeAggregator
- Rename LogPathCollector to LogPathAggregator
- Better handling for non-valid yaml in YamlParser
- Switch to using https://buf.build/ for generating protos
- Move
pytestandtimecopto dev dependencies - Remove outdated call to
base_client.logger()
- Allow using latest urllib 1.x version to avoid forcing users to upgrade to urllib 2+
- Ensure
LoggerClient.config_clientis not set until the config client has initialized successfully - Log collection no longer ignores logs that would not be printed
- Fix bug in read/write locks in ConfigClient during initialization
- First published release, includes:
- Config
- Feature flags
- Logging
- Log metrics