coffee/rest · 9 min

coffee/ · brewing · 9 min

Why the roast date on the bag matters

A roasted bean is full of gas it has to lose before it brews properly, and full of aroma it will lose afterwards. The date tells you where you are between the two.

coffee/rest -> maind663625 · 24 Sep 2026ask your agent about this post
The two dates

00 read this with your agent

Read this with your agent first.

Copy one of these, paste it into whatever AI you use, and it will teach you from this page and only this page, at your level. An agent in a browser that supports WebMCP can use the page’s tools directly.

Teach me from scratch
When do I open my bag?

01 the two dates

Most bags carry two dates, and only one of them is about coffee.

A best before date is about safety. A roast date is about flavour.

The short answer: count days from the roast date, and give it about a week. In the one large blind tasting, most coffees scored best from day 8 on,18 and the Specialty Coffee Association counts whole bean coffee as fresh for about three weeks.17 Filter can go a little earlier. Espresso, and light roasts, usually want a little longer.

There is a bag on my counter with two dates on it. The big one, a year or two out, promises that nothing in the bag will do you harm, and that is easy to keep: roasted coffee is very dry and full of browning products that discourage microbes.10 The smaller one, sometimes stamped by hand, is the day it was roasted. It is the only date that tells you how the coffee will taste this week.

The wait is because a roasted bean is not finished. For its first few weeks it is losing a gas made in the roast, which gets in the way of brewing. For the rest of its life it is losing the smell that made it worth roasting. The window you want is between the two.

The rest of this post is why, and how far to trust the numbers: less far than the internet suggests. Every claim about days is labelled as one of three kinds. Measured: an instrument did the counting. A cupping study: people tasted it blind; there is one at any scale, and it is not peer reviewed. Trade practice: what roasters print on bags.

Fresh is not a virtue. It is a coordinate.the sentence this post has to earn

02 what the roast leaves behind

Roasting makes gas, and the bean keeps most of it.

Roughly one to two percent of a freshly roasted bean's weight is gas it has not let go of yet.

Roasting is browning chemistry, the kind you know from toast and seared meat, and one of the things it makes is carbon dioxide. The heat also turns the water inside the bean's cells to steam, which blows the bean open into something like a stiff foam: it can swell by up to 80 percent and ends up about half as dense.1 The gas sits in that new empty space, loose in the gaps and dissolved in the coffee's own oil. How much depends on how dark the roast went: the darker, the more.

fig 1Where the gas is, and how much of it there is by roast degree. The bean is schematic; the bars are measured.hover or arrow along the scalebean: ref 1 · bars: refs 2, 3
Light roast
6.5mg/g
Medium roast
11.3mg/g
Dark roast
15.5mg/g
Of that, carbon dioxide
87%

The tiles are the midpoints of the measured ranges in refs 2 and 3. Most of that gas is carbon dioxide: of the gas that grinding releases, 87 percent is carbon dioxide and under one percent is everything else, aroma included.1 Which is worth sitting with. When you open a bag and the smell hits you, you are smelling well under a hundredth of what just left.

For the enthusiast: the chemistry, and how the gas was counted

Two families of reaction do most of the work. The Maillard reaction is sugars reacting with amino acids, the small molecules proteins are built from, making hundreds of new compounds, most of which smell of something. Inside it is Strecker degradation, a step in which an amino acid is pulled apart and gives up a carbon atom as carbon dioxide. Sugars also simply cook to pieces, which is called pyrolysis, and that makes more.4 Experiments with radioactively labelled carbon found that over 80 percent of the carbon dioxide released by the Maillard reaction comes off the amino acid rather than the sugar.3 The reactions that make meaningful amounts of it get going at roughly 180 degrees Celsius, well before the bean is done.5

Not all of the gas is loose in the voids. Some is dissolved in the oil and clinging to the solids, which is why ground coffee can hold as much as 10 millilitres of carbon dioxide per gram if you count everything.4

The bars and tiles come from dissolving the grounds and trapping what comes off: a light roast holds about 6.3 to 6.7 milligrams of carbon dioxide per gram, a medium roast 11.0 to 11.5, and a dark roast 15.4 to 15.6.23 An older study using a different method put a medium roast at 9.9.5 Roasting past a very dark colour reduces it again, because by then the bean is so porous that the gas escapes while it is still in the drum.3 The rest of the grinder gas: 7.3 percent carbon monoxide and 5.3 percent nitrogen.1

03 how the gas gets out

Weeks for a whole bean. Seconds for a ground one.

The gas does not leak at a steady rate. It goes fast, then slow, then almost forever.

The cleanest picture comes from a lab in Zurich that put coffee on a very precise balance and watched it get lighter for weeks.1 Gas near the surface or in the big broken gaps is gone in a day or two. The rest has to work its way out through the cell walls, which takes weeks.

The slowest roast is not the one most people expect. A dark roast holds more gas but lets it go faster, because it is more porous: more of it is holes. A light roast holds less and clings to it. It was still measurably degassing after 800 hours, more than a month, at 35 degrees.1

Hover, drag or arrow along the days

Every day from the roast to six weeks is on this chart. Run along it and it will tell you how much gas is left and what that does to your cup.

fig 2Curves are the published Weibull fits for whole Arabica beans degassed at 35 degrees. Ground: the 75% is ref 1; the band is drawn from ref 3’s 2 to 25 hour time constants. What the cup does is my reading, not a measurement.hover or arrow along the axiscurves: ref 1 · ground: refs 1, 3
For the enthusiast: the method, the fitted model and its parameters

The Coffee Excellence Centre at the Zurich University of Applied Sciences put coffee in a sealed container with one thin capillary for gas to escape, stood it on a semi-micro balance inside a temperature-controlled cabinet, re-zeroed the balance every three hours and corrected for the buoyancy of the air.1 Weighing the whole sample rather than sniffing the air around it matters, because it catches everything.

Over 400 hours at 35 degrees, whole Arabica beans lost 2.5 to 2.8 milligrams per gram if light roasted, 4.7 to 6.6 if medium, and 8.5 to 11.9 if dark.1 Fit a fast-roasted dark sample to two overlapping processes and you get one carrying about a fifth of the gas with a time constant near 38 hours, and a second carrying the other four fifths near 183 hours.1 A separate group, measuring the gas in the air instead of the weight, found a fast dark roast needed more than 800 hours to give up about 90 percent of what it held.23

degassing.js · Smrke et al. 2018, Table 1
// mass of gas lost by time t, fitted to a Weibull distribution:
//   lost(t) = M * (1 - exp(-(t / tau)^k))
// so the share still inside the bean is just exp(-(t / tau)^k).
// tau is in hours. Whole Arabica beans, 35 C, medium roast speed.
const ROASTS = [
  { roast: "light",  tau: 377, k: 1.00, M: 3.44  },  // mg/g
  { roast: "medium", tau: 232, k: 0.99, M: 6.53  },
  { roast: "dark",   tau: 190, k: 0.93, M: 11.16 },
];
const heldAt = (r, days) => Math.exp(-Math.pow(days * 24 / r.tau, r.k));

heldAt(ROASTS[1], 7);    // 0.48  about half of it is still in there at a week
heldAt(ROASTS[1], 14);   // 0.24
heldAt(ROASTS[0], 21);   // 0.26  the light roast is the slow one
Published Weibull parameters for whole bean degassing
RoastScale τ, hoursShape kTotal M, mg/g
Light, medium speed3771.003.44
Medium, medium speed2320.996.53
Dark, medium speed1900.9311.16
Dark, fast speed1530.8512.67

Source: ref 1, Table 1. The M values are what the balance measured leaving under dry ambient conditions. The wet-method totals in ref 2 are higher, because some of the carbon dioxide is bound in the coffee and only comes out when water arrives.

Grinding tears up the clock, because it breaks open the cells that were doing the holding. Up to 75 percent of the trapped gas is gone during grinding and in the 90 seconds after it,1 and what survives goes in hours rather than weeks.3 Warmth and damp both speed all of this up.23 A bag on a shelf above the hob is running faster than the same bag in a cool cupboard, and it is losing aroma faster too.

For the enthusiast: what each grind loses before the water arrives

Measuring what is left after grinding tells the same story from the other end. Compared with whole beans, a coarse grind had already lost 26 to 30 percent, a medium grind 33 to 38 percent, and an espresso-fine grind 45 to 59 percent, before any water touched it. The fitted time constants fall from 190 to 335 hours for whole beans to 2 to 25 hours for grounds, and a fine grind is essentially flat within 50 hours.3

04 too fresh

What the gas does to the brew.

Under-rested coffee does not brew badly because it is too good. It brews badly because something is in the way.

Pour hot water on very fresh grounds and the bed lifts. That is the bloom: gas coming out faster than the water can get in. It is a genuine sign of freshness, but gas in a pore means water is not in that pore, so the water looks for the easiest way through rather than going through all of it.

The word for that failure is channelling. Most of the water goes down one loose route. The coffee along it gives up too much, which tastes bitter; the coffee beside it is barely touched, which tastes sour. The cup is both at once, which is why an under-rested coffee tastes sharp and hollow rather than simply weak.

Espresso suffers worse. It pushes water at around nine bars through a packed puck of fine grounds in under half a minute,19 and gas spread unevenly through that puck makes it resist the water unevenly. Baristas describe the result as a shot that gushes, sputters and then tastes thin.

Crema, the foam on top, is largely carbon dioxide coming out of solution.17 Very fresh coffee throws a lot of it, pale and quick to fall; rested coffee throws less, and it lasts. So a thick crema is not evidence of a good shot. It is evidence of a gassy one.

fig 3The same coffee, fresh and rested. Schematic: the mechanism is measured, the picture is drawn. Hover or tap the parts.schematic
For the enthusiast: bed permeability, fines, and the gas that stays bound

Reviews of brewing consistently put uneven flow through the bed among the main things separating a good extraction from a bad one.1519

Everything about how an espresso flows is set by how permeable the puck is: how easily water moves through it. The same Zurich group showed how touchy that is. Changing only the share of fines, the particles under 100 micrometres, changed the bed's permeability, and with it the flow rate and the shot time.8 Gas is one more thing taking up pore space and pushing back against the water, and it is not spread evenly, so a fresh puck is both less permeable and more patchily permeable than the same puck will be next week.

The crema rule also holds less in reverse than people think. Some of the carbon dioxide is bound in the coffee and only released when water arrives, which is why even quite old coffee can still produce some crema.1

05 too old

Then it goes the other way.

Nothing dramatic happens. The cup gets quieter, and only much later does it get wrong.

Staling is not one process but three, running at once, and warmth, oxygen and damp drive all of them.10 Keeping the three apart is what makes the storage advice make sense.

fig 4Three separate processes, running at once, all of them faster when it is warm. Hover or tap the parts.schematic

Aroma out

The compounds that make the smell evaporate, lightest first, and much of the character goes early.1020 Nothing has gone bad yet. The top of the cup has just gone quiet.

Oxygen in

Coffee's own oils oxidise and make off-flavours that were never roasted into it. This is what eventually makes old coffee taste wrong, and why a bag you keep opening is on a shorter clock.10

Water in

A roasted bean is drier than the room, so it pulls in damp, and damp speeds up everything else. How available that damp is predicted when tasters rejected the coffee better than time did.10

How fast, in days? Slower than the marketing implies and faster than most people's shelves. In one sensory study, coffee brewed from grounds kept two weeks at room temperature was reliably told apart from fresh, and tasters preferred the fresh.12

My own experience matches the shape of that rather than the drama of it. A bag well past its window does not taste spoiled. It tastes like somebody turned the treble down.

For the enthusiast: the marker compounds, the oil, and the storage numbers

Aroma. Coffee aroma is a crowd of hundreds of volatile compounds, light enough to evaporate. The lightest and most reactive go first, in particular the sulphur-containing odorants that carry a lot of the character.10 Accelerated storage work tracks two moving groups: freshness markers such as 2,3-butanedione and 3-methylbutanal falling, and degradation markers such as ethylpyrazine rising.20

Oil. A green arabica bean is somewhere between 15 and 18 percent lipid by weight, and about three quarters of that is triglyceride.3 Oxygen attacks those fats, and that step is responsible for coffee tasting actively wrong rather than merely flat.10

Water. Every reaction above runs faster in a damper bean.210 When one group modelled the shelf life of an opened bag of ground coffee, the single variable that let them predict when tasters would reject it was water activity, a measure of how available the moisture is to react.10

Rates. In one shelf-life study, ground coffee kept in ordinary air went stale about 20 times faster than coffee kept with almost no oxygen.11 Storing beans for a month at 5 degrees rather than 20 measurably slowed the drift in aldehydes, alcohols, pyrazines and furans, and the warm samples tasted more earthy, sharp and smoky and less chocolatey and sweet.13

06 the window

Where the evidence is, and where it runs out.

The measurements agree with each other. The recommendations do not.

We can measure gas and aroma leaving a bean to a few percent. Almost nobody has run the study you would want: many coffees, brewed identically, tasted blind on many days after roasting. The physics is well characterised. The taste is not.

So the numbers in circulation are three kinds of claim, quoted as though they were one:

  • Measured. A light roast is still degassing a month out.1 A dark roast has given up about 90 percent of its gas by around day 33.23 Reasoning from curves like these, the Specialty Coffee Association counts whole bean coffee fresh for about three weeks, and ground coffee for about an hour.17
  • A cupping study, not peer reviewed. 21 coffees cupped blind on days 4, 8, 11, 17 and 22 after roasting: over 73 percent scored highest at day 8 or later.18 It is the only study at that scale I could find.
  • Trade practice. A few days for filter, longer for espresso, longer still for light roasts. Two roasters' guides side by side disagree on the numbers,2122 and neither is a measurement.

Hover, drag or arrow along the days

Pick a day and this will say which of these claims covers it, and which kind of claim each one is.

fig 5Everything published about when to drink it, on one axis, drawn by what kind of claim it is.hover or arrow along the axisrefs 1, 2, 3, 17, 18 · roaster guides 21, 22

Two questions fall out of that picture. Why would espresso want a longer rest than filter? Because espresso is the brew most disturbed by gas, and filter is far more forgiving of an uneven bed.1516 And why would a light roast want longer than a dark one, when it holds less gas? Because it holds on to it more stubbornly.1

What I actually do, and this is a practice rather than a finding: I taste the same coffee early, midway and late in the window, with the grinder, the water and the recipe held still, and write down which one I wanted a second cup of. That is a much smaller claim than the literature makes. It is also the only one about my kitchen.

For the enthusiast: the fine print on each kind of claim

The study nobody has run. Many coffees, many roast levels, brewed identically, scored blind on many different days after roasting, with enough tasters for the result to mean anything.

The SCA's three weeks reasons from degassing curves and the association's own freshness handbook. It is not a taste test.17

The cupping study is Girard and Stazzone: 21 coffees from five countries, cupped blind, and the result stands against an industry guideline of resting 8 to 24 hours before cupping. It is an industry study rather than a peer-reviewed one. Take it for what it is: it points the same way as everything else.18

Espresso's longer rest. Not because espresso needs older coffee in any absolute sense: it has a compacted bed, high pressure, a very short contact time, and a foam on top that reads the gas directly.1516

The two roaster guides. For a light roast, Green Coffee Collective prints 5 to 14 days (for a drum roast) for filter and 10 to 21 for espresso; West Berkshire Roastery prints 7 to 12 and 10 to 14. For a dark roast they agree on 1 to 3 days for filter, and print 3 to 7 and 3 to 5 for espresso.2122 Both are roasters' own guidance, not studies, and neither cites one.

The light roast's longer rest. Its fitted time constant is the longest of the three, 377 hours against 190 for a dark roast at the same roast speed, which is the porosity of the bean rather than the quantity of gas talking.1

07 what to do

Seven things, all of which fit on the back of the bag.

Everything above comes down to reading one number and not making the bean's job harder.

fig 6Three things printed on a bag. Only one of them is a number you can count from. Hover or tap the parts.
01Read the roast date, not the best before. If a bag carries only a best before, that is itself information: the seller would rather you did not count.
02Give it days, not hours. Start tasting around the end of the first week: a little earlier for filter, later for espresso or a light roast.
03Buy whole bean and grind for the cup in front of you. Grinding costs a quarter to well over half of the remaining gas within seconds,31 and starts the aroma leaving, the loss you cannot get back.
04Keep it closed, cool and dry, and push the air out before you reseal. The valve on the bag lets gas out; it does not stop air coming in once you have opened the seal.
05Buy what you will drink while it is fresh: about three weeks for whole bean, says the SCA.17 It beats any storage trick, and every source agrees on it.
06Freezing works, with conditions. Portion into small airtight containers, freeze once, and take out only what you will use.121314
07Do not chase a number. The window is wide, the published ones disagree, and the only instrument that matters is calibrated to your grinder, your water and your morning.
For the enthusiast: why grinding, air and the freezer matter

03. Grinding puts what is left of the gas on an hourly clock rather than a weekly one.3

04. Oxygen, warmth and damp drive all three staling routes.10

06. Cold slows every reaction, and low-temperature storage measurably preserves the volatile profile and the sensory result.121314 The damage comes from repeated warming and the condensation that follows it, which is why you freeze once. There is a bonus: cold beans fracture differently. Grinding beans at 19 degrees below zero rather than at room temperature narrowed the particle size distribution, and grinding at liquid nitrogen temperature reduced the most common particle size by 31 percent.9 A narrower distribution extracts more evenly.

If you take one thing: the roast date is not a freshness badge to be maximised. It is a coordinate. Find where you are on the curve, and then decide whether to wait.

08 your agent

Use your agent with this page.

Any assistant can explain this page at your level, if you hand it the right prompt.

The two prompts in section 00 start a guided reading: taught from scratch, or just the answer. Every section heading and figure caption has a smaller ask button for that spot, and selecting a passage offers one too. Each copies a prompt to paste into any AI chat. Here is the one for the whole post:

I'm reading "Why the roast date on the bag matters". https://hetanshmehta.com/blog/coffee/rest Explain the whole post simply, for someone with no science. - With this page's WebMCP tools: call get_outline(), then explain_section({section, level: "child"}) for each section. - If you can open links, read https://hetanshmehta.com/txt/blog/coffee/rest.txt. - If neither, say so and I'll paste the post in. Stick to what the page says, and tell me where it stops.

Tools: checking

For the enthusiast: the seven tools behind the prompts

In a browser with WebMCP, the prompt tells the agent which of this page's tools to call. Without one, it points the agent at the plain-text version of the post, rest.txt, sources included. Every tool is read only, answers from the page, and calls no server.

  • start_guided_reading a teaching plan: the order, a check question per section, a quiz, the answer.
  • get_outline the sections, the claim each makes, and the figures in each.
  • explain_section any section, written by hand three ways: child, student, expert.
  • explain_figure any figure: how to read it, and what it shows, at the same three levels.
  • get_evidence the study behind a number, and what it actually measured.
  • get_glossary any technical word on the page, in one line.
  • plan_my_bag a roast date and a brew in, where that bag is today out.

hover, tap or focus · every number above points into it

Sources · 22 references · an industry study and two roaster guides are not peer reviewed, and labelled

  1. Smrke, S., Wellinger, M., Suzuki, T., Balsiger, F., Opitz, S. E. W. and Yeretzian, C. (2018). Time-resolved gravimetric method to assess degassing of roasted coffee. Journal of Agricultural and Food Chemistry 66(20), 5293–5300. doi.org/10.1021/acs.jafc.7b03310
  2. Wang, X. and Lim, L.-T. (2014). Effect of roasting conditions on carbon dioxide degassing behavior in coffee. Food Research International 61, 144–151. doi.org/10.1016/j.foodres.2014.01.027
  3. Wang, X. (2014). Understanding the formation of CO2 and its degassing behaviours in coffee. PhD thesis, University of Guelph, Ontario. hdl.handle.net/10214/8152
  4. Shimoni, E. and Labuza, T. P. (2000). Degassing kinetics and sorption equilibrium of carbon dioxide in fresh roasted and ground coffee. Journal of Food Process Engineering 23(6), 419–436. doi.org/10.1111/j.1745-4530.2000.tb00524.x
  5. Geiger, R., Perren, R., Kuenzli, R. and Escher, F. (2005). Carbon dioxide evolution and moisture evaporation during roasting of coffee beans. Journal of Food Science 70(2), E124–E130. doi.org/10.1111/j.1365-2621.2005.tb07084.x
  6. Wang, X. and Lim, L.-T. (2017). Investigation of CO2 precursors in roasted coffee. Food Chemistry 219, 185–192. doi.org/10.1016/j.foodchem.2016.09.095
  7. Illy, E. and Navarini, L. (2011). Neglected food bubbles: the espresso coffee foam. Food Biophysics 6(3), 335–348. doi.org/10.1007/s11483-011-9220-5
  8. Smrke, S., Eiermann, A. and Yeretzian, C. (2024). The role of fines in espresso extraction dynamics. Scientific Reports 14, 5612. doi.org/10.1038/s41598-024-55831-x
  9. Uman, E., Colonna-Dashwood, M., Colonna-Dashwood, L., Perger, M., Klatt, C., Leighton, S., Miller, B., Butler, K. T., Melot, B. C., Speirs, R. W. and Hendon, C. H. (2016). The effect of bean origin and temperature on grinding roasted coffee. Scientific Reports 6, 24483. doi.org/10.1038/srep24483
  10. Anese, M., Manzocco, L. and Nicoli, M. C. (2006). Modeling the secondary shelf life of ground roasted coffee. Journal of Agricultural and Food Chemistry 54(15), 5571–5576. doi.org/10.1021/jf060204k
  11. Cardelli, C. and Labuza, T. P. (2001). Application of Weibull hazard analysis to the determination of the shelf life of roasted and ground coffee. LWT Food Science and Technology 34(5), 273–278. doi.org/10.1006/fstl.2000.0732
  12. Ross, C. F., Pecka, K. and Weller, K. (2006). Effect of storage conditions on the sensory quality of ground arabica coffee. Journal of Food Quality 29(6), 596–606. doi.org/10.1111/j.1745-4557.2006.00093.x
  13. Gantner, M., Kostyra, E., Górska-Horczyczak, E. and Piotrowska, A. (2024). Effect of temperature and storage on coffee's volatile compound profile and sensory characteristics. Foods 13(24), 3995. doi.org/10.3390/foods13243995
  14. Błaszkiewicz, J., Nowakowska-Bogdan, E., Barabosz, K., Kulesza, R., Dresler, E., Woszczyński, P., Biłos, Ł., Matuszek, D. B. and Szkutnik, K. (2023). Effect of green and roasted coffee storage conditions on selected characteristic quality parameters. Scientific Reports 13, 6447. doi.org/10.1038/s41598-023-33609-x
  15. Cordoba, N., Fernandez-Alduenda, M., Moreno, F. L. and Ruiz, Y. (2020). Coffee extraction: a review of parameters and their influence on the physicochemical characteristics and flavour of coffee brews. Trends in Food Science and Technology 96, 45–60. doi.org/10.1016/j.tifs.2019.12.004
  16. Glöss, A. N., Schönbächler, B., Klopprogge, B., D'Ambrosio, L., Chatelain, K., Bongartz, A., Strittmatter, A., Rast, M. and Yeretzian, C. (2013). Comparison of nine common coffee extraction methods: instrumental and sensory analysis. European Food Research and Technology 236, 607–627. doi.org/10.1007/s00217-013-1917-x
  17. Smrke, S., Sage, E., Wellinger, M. and Yeretzian, C. (2018). The Coffee Freshness Handbook. Specialty Coffee Association. Summarised by the SCA in Coffee Decoded: what is “freshly roasted” coffee? sca.coffee
  18. Girard, E. W. and Stazzone, J. C. (2022). How long should coffee rest post roast before industry professionals assess quality? Café Kreyol, version 1.0; also in Roast Magazine. cafekreyol.com industry study, not peer reviewed
  19. Cameron, M. I., Morisco, D., Hofstetter, D., Uman, E., Wilkinson, J., Kennedy, Z. C., Fontenot, S. A., Lee, W. T., Hendon, C. H. and Foster, J. M. (2020). Systematically improving espresso: insights from mathematical modeling and experiment. Matter 2(3), 631–648. doi.org/10.1016/j.matt.2019.12.019
  20. De Agostini, F., Alamprese, C., Grassi, S., Buratti, S., Benedetti, S., Gobbi, S., Bassi, V., Margarone, C., Cusanno, G., Gagliardi, D. and Limbo, S. (2026). Accelerated storage of ground coffee: merging of analytical techniques to assess sensitivity to oxygen and moisture exposure. Food Research International 225, 118025. doi.org/10.1016/j.foodres.2025.118025
  21. Goulding, D. (2026, 12 June). How long to rest coffee after roasting: a practical guide. Green Coffee Collective. Figures for drum roasts. greencoffeecollective.com roaster guide
  22. Kinder, A. (2026). Resting coffee: how long to wait after roasting (and why it matters). West Berkshire Roastery. wbroast.co.uk roaster guide
merged to main from coffee/rest · d663625 · 24 Sep 2026← the blog