Skip to content

Commit e7943b1

Browse files
docs - more details around Firefox as a client (#47)
Detailing firefox release lifecycle, and some bookkeeping conventions we want to try to adopt here.
1 parent d4d7d6b commit e7943b1

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22

33
This service proxies Firefox browser API requests across multiple back end services.
44

5+
This service is only intended to be used by firefox clients. It has a lot of convention and rigidity that is specifically tailored to that client.
6+
7+
## What's different about Firefox?
8+
9+
Firefox is released through a lengthy release process. It takes a long time for code to reach users, and it takes a long time for users to stop using code.
10+
11+
<https://whattrainisitnow.com/calendar/> Provides dates when specific releases will reach end users.
12+
13+
<https://endoflife.date/firefox> Provides dates when specific versions will reach support end of life (but not necessarily when users will stop using it!)
14+
15+
The bookkeeping we have for other services can be lacking here, because the date code is committed can be so far from when it actually reaches end users, and the code in firefox never really leaves production use.
16+
17+
The [OpenAPI Spec](./openapi.yml) in this repo codifies the contract this service has with firefox in a single place, and documents the at least first and last versions of firefox stable to consume each API path. This documentation bridges the gap between agile and waterfall processes, and allows us to make confident decisions around API support requirements and deprecation without digging into multiple commits in multiple code bases.
18+
19+
Types are also generated from this API spec, ensuring that internal GraphQL client changes are compatible with the API spec and contract.
20+
521
## Application Overview
622

723
[Express](https://expressjs.com) is being used to receive requests.

0 commit comments

Comments
 (0)