- api: use correct apostrophe character in email address regex (b16f52e)
- types: implement a serializable regex type (83d46ae)
- code: update to rust 2018 (e77ea7a)
- scripts: ignore merge commits when generating changelog (489306b)
- errors: convert ses invalid domain error into a 400 (5926a06)
- db: remove unused DataType (d807e21)
- settings: implement Default in enum_boilerplate! (a9c9a1b)
- settings: promote LogFormat and LogLevel to enums (1ec10e9)
- docs: minor readme editorialisation (8c8e29a)
- deps: update sendgrid (bf5486f)
- settings: rename
BounceLimit(s)toDeliveryProblemLimit(s)(1d5e817) - settings: promote Env to an enum from a wrapped string (dba93f0)
- build: lower the debug level to decrease binary size (91a5173)
- package: create an automated release script (05acce1)
- sentry: stop passing 4xx errors to Sentry (3fed1052)
- ci: enable branch builds in travis (14491612)
- headers: propagate the Content-Language header (67ebf3fe)
- ses:
- cargo: remove old rocket comment (c706d760)
- sentry: capture errors at point of creation rather than when logged (02408f59)
- settings: fix panic when sentry is disabled (4f47e93b)
- bounces: use timestamps from ses instead of the current time (906f3911, closes #205)
- settings: extract provider type to a fully-fledged enum (0bd766d4)
- types: ignore display name part when parsing email addresses (5d5ae603, closes #201)
- mime: use base64 encoding instead of 8bit (5d03a48d)
- db:
- docs:
- ci: only build deployment artifacts for tags (95e20e07)
- code:
- queues: fix the serialized format of outgoing notifications (e3e361c6)
- redis: don't pollute our data store with old bounce nomenclature (68a1def7)
- settings: remove references to RocketLoggingLevel::Off enum variant (5530fddb)
- config:
- queues: remove unused fields from notification structs (0f2b5740)
- chore: utilize a rust-toolchain file (3903f0b9)
- docs: document errors and errno (482f69ce)
- errors: return bouncedAt field in bounce error message (d74eaec9)
- logging: add sentry support (#176) r=@vladikoff (73d07bd7)
- socketlabs: create and return id for socketlabs messages (30639fc3)
- logging: remove unnecessary and add debug logs in queues (#177) r=@vladikoff (0f790c16)
- queues:
- ses: use updated rusoto version that sends message in body (#164) r=@vladikoff (c085cbb3)
- settings:
- settings: drop NODE_ENV and add LOG_LEVEL (#141) r=@vladikoff
- providers: create socketlabs provider (13cd2213)
- docker: Rocket.toml no longer exists, so don't copy it (#136) (b915b7e8)
- project: create healthcheck endpoints and make $PORT an env variable (#134) r=@philbooth,@vladikoff (b69cfb53, closes #132, #133)
- deploy: pin to a known compatible rust version in docker and ci (#131) r=@vladikoff (7512acf0, closes #130)
- docker: include /app/version.json in final image (dockerflow required) (#129) (16f7630f)
- docs: better docs for the settings module (ba9f8b88)
- scripts:
- settings: get message data hmac key setting to work with env variables (#110) r=@philbooth,@vladikoff (90bec93f, closes #109)
- docker:
- docs: generate developer docs with rustdoc (f2edb78c)
- logging:
- providers: implement smtp provider (20b7fc08)
- api: limit
tofield to a single recipient (b6dad721) - bounces: ensure db errors don't get converted to 429 responses (#59) r=@vladikoff (5986e841)
- config: inject config in rocket managed state (50f8d523)
- db:
- errors:
- logging: add mozlog logging for requests (49ed73cd)
- queues:
- sendgrid: return message id from the sendgrid provider (fe8ec12f)
- validation:
- api: implement a basic /send endpoint (6c3361c2)
- config: add configuration (a86015fb)
- db:
- docs: add a readme doc (5fd4e6aa)
- logging: add mozlog to settings and scrub sensitive data (#74) r=@philbooth,@vladikoff (f4271b9e, closes #18)
- metadata:
- providers: add custom headers option (efb8f0d7)
- queues:
- sendgrid: implement basic sending via sendgrid (25947a96)
- ses: