---
# System prepended metadata

title: Eyre maintenance
tags: [minutes]

---

# Eyre maintenance meeting minutes 

###### tags: `minutes`

## Action Items

Jane: coordinate a meeting with DTolnay and merge the libraries, providing a `set_hook(ErrInfo) -> Handler`.

### In Progress

- [ ] Jane: Document MSRV policy
    - stability policy, link to semver/cargo: https://doc.rust-lang.org/cargo/reference/semver.html#item-new
- [ ] Team: Move the issues from other repos to the main eyre repo
- [ ] Team: Create an issue for 2021 edition
- [ ] Team: Double check that we have all test checks are required for branch protection
- [ ] Freja: Review https://github.com/eyre-rs/eyre/pull/110
- [ ] Freja: migrate issues from color-eyre to eyre repo
- [ ] Freja: propose solutions for 
    - [ ] https://github.com/eyre-rs/color-eyre/issues/138
    - [ ] https://github.com/eyre-rs/color-eyre/issues/139

### Backlog

- [ ] Jane: Document current release process
- [ ] Team: Go through all the issues and update them to the new label system
- [ ] Jane: setup a publishing team and configure it on crates.io
- [ ] Pavan: Fix the color support issues by using `anstyle`
- [ ] Pavan & Jane: look into specialization errors when trying to convert anyhow into eyre
- [ ] Jane: async check up on eyre and anyhow macro conversion logic

### Deadlines

## 2024-08-29

### Attendance

Jane, Freja, ~~Nori~~

### Agenda

* Agenda consent + Check-in
* Freja: Anyhow integration
* Jane: Triage
* Meeting Check-out

### Minutes

#### Review Prior Action Items

###### Completed 

## 2024-08-15

### Attendance

Jane, ~~Freja~~, Nori

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (decide) triage issues and PRs
* Meeting Check-out

### Minutes

#### Review Prior Action Items

###### Completed 

## 2024-06-20

### Attendance

Jane, Freja, Nori, David Tolnay

### Agenda

* Agenda consent + Check-in
* improving eyre & anyhow interop
    * Provider API + IntoError conversion a la: https://github.com/dtolnay/anyhow/pull/307/files
* Review prior action items
* Meeting Check-out

### Minutes

- 

#### Review Prior Action Items

###### Completed 

## 2024-06-06

### Attendance

Jane, Freja, Nori

### Agenda

* Agenda consent + Check-in
* Review prior action items
* Anyhow interop
* 1.0 Goal
* Meeting Check-out

### Minutes

Two levels of compatability

#### Review Prior Action Items

###### Completed 

- [ ] ~~Pavan: Merge other crates into monorepo~~
- [x] Team: Merge color-eyre

#### Anyhow interop

* anyhow::Result doesn't convert conveniently into eyre::Result (can't use `?`)
    * https://github.com/eyre-rs/eyre/issues/31
        * not a discoverable solution, feels like you have to jump through hoops
    * https://github.com/eyre-rs/eyre/issues/171
* Two levels of anyhow conversion
* backtraces are lost during conversions
* Goal would be lossless compatibility
* Enumerating potential solutions
    * upstream compatibility
        * Upstream `EyreHandler` functionality into anyhow and port `eyre` to re-export `anyhow`
    * conversion helper trait ala https://github.com/eyre-rs/eyre/pull/127/files
        * plus #[diagnostic::on_unimplemented] and `provider` api being stabilized

## 2024-04-25

### Attendance

Jane, Freja, Nori

### Agenda

* Agenda consent + Check-in
* Review prior action items
* PR review
* Meeting Check-out

### Minutes

#### Review Prior Action Items

###### Completed 

## 2024-03-28

### Attendance

Jane, Freja, Nori

### Agenda

* Agenda consent + Check-in
* Review prior action items
* Meeting Check-out

### Minutes

#### Review Prior Action Items

###### Completed 

## 2024-03-14

### Attendance

Jane, Freja, Nori

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (D) color-eyre PR
    * Merged!
* (D) make a new release
* Meeting Check-out

### Minutes
- (D) color eyre
    - Fix owo-colors version (0.3 and 0.4 between spantrace and color-eyre)
    - UI test is only sensitive ansi escape codes and ignores text content
- Merge color eyre into repo
- Cut a new release on a backport branch for color-eyre 0.6.3
    - `cd color-eyre`
    - `cargo release patch`
    - Checked everything compiles and fix warnings
    - `cargo release patch --execute`

#### Review Prior Action Items

###### Completed 

## 2024-02-29

### Attendance

Jane, ~~Pavan~~, Freja, Nori

### Agenda

* Agenda consent + Check-in
* Leonie PR
* Build.rs r-a breakage (https://github.com/eyre-rs/eyre/issues/155)
* changelog
* Meeting Check-out

### Minutes

* leonie pr looks good
* tied to pr 150 which fixes some inconsistencies w/ OptionExt trait and how it relates to the eyre philosophy (None is not an error)
    * breaking change, will be tagged 1.0
* Changelog
    * proposal: we don't require changelog updates in prs, we just maintain good commit history hygiene and create the changelog as part of our release process 


#### Review Prior Action Items

###### Completed 

## 2023-01-18

### Attendance

Jane, ~~Pavan~~, Freja, Nori

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (E) color-eyre: flakey ui tests, depend on rustc symbols
* (D) anyhow compat feature: disable by default?
* (E) Logo
* Meeting Check-out

### Minutes

#### flakey tests

* related to current working directories
* difficult to debug because of output verbosity
* Jane: monorepo is more important than the test in the short term
    * no objections to any solutions, up to disabling the test and opening an issue about regaining the functionality
* Nori: might be better to make this more manual, automatically create snapshots of the UI that can be regularly reviewed for errors

#### anyhow compat: disabled by default?

* yes, in the 1.0 branch

#### Logo discussion

* nori: like the stack, matches the mental model, like the question mark, relates to propagation
    * can we tilt the questionmark to make it more like a drowsey
* previous notes suggested spreading the stack out more to make it more visible in smaller sizes

#### Review Prior Action Items

###### Completed 

- [x] Jane: reply to Ok https://github.com/eyre-rs/eyre/issues/144
- [x] Freja: handle 1.0 breaking changes wrt anyhow compat

## 2024-01-04

### Attendance

Jane, ~~Pavan~~, Freja, ~~Nori~~

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (decide) Breaking change (Ok/EyreOk)
* (decide) anyhow compatibility feature flag
* (explore) draft PR structure of conversions
* ~~(explore) general issue triage~~
* Meeting Check-out

### Minutes

- Glob imports opt in to breaking changes
    - Glob imports are a risk you are accepting
    - https://doc.rust-lang.org/cargo/reference/semver.html#item-new
        - breakages related to glob import ambiguity are not considered breaking changes
    - Eyre already exports ambigous types such as Result, Report etc, and we would like to keep that consistency
    - It would already be a breaking change if another libary exported a `Result` type and you glob imported both libraries.
    - Re-export yourself creates extra boilerplate and does not play well with rust-analyzer nor editor search.
    - **Decision**: we decided to prefer keeping the consistent name and allowing the minor breakage. Jane will write a response linking to https://doc.rust-lang.org/cargo/reference/semver.html#item-new and https://predr.ag/blog/some-rust-breaking-changes-do-not-require-major-version/ to explain reasoning
- Anyhow compatability feature flag
    - Currently two ways to refer to the same thing (`Report`, `Error`)
    - Principled divide between 'Context to error' such as location and debug info, compared to wrapping the error with a higher level type
    - Nothing else that Jane can think of that should also be behind this flag
    - **Decision**: slate this for 1.0, change the feature to default off, setup 1.0 branch and milestone
- **1.0**
    - Reach out to Leonie regarding if they want anything more breaking before
    - Reach out to others
    - Add milestone
- std provide api would make structural conversion redundant
    - two paths forward
        - Move error library team to convince the library team to get it merging as is
        - implement new copy of optimized provider API that resolves their concerns and get that merged then moved forward

#### Review Prior Action Items

###### Completed 

## 2023-12-05

### Attendance

Jane, ~~Pavan~~, Freja, ~~Nori~~

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (Inform) review previous meeting
  * updated pull request settings to only do squash merges and to use PR description and title for the commit
  * will follow up with PR template for semantic commits
* (Explore) https://github.com/eyre-rs/eyre/pull/127
* Meeting Check-out

### Minutes

#### Review Prior Action Items

###### Completed 

## 2023-11-21

### Attendance

Jane, ~~Pavan, Freja~~, Nori

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (explore) expectations in the review process
* Meeting Check-out

### Minutes

#### Review Prior Action Items

###### Completed 

## 2023-11-07

### Attendance

Jane, Pavan, Freja

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (Decide) Documenting release process & making new releases
* Meeting Check-out

### Minutes

* pavan wants to test feature matrix of different crates, current issue blocking color-eyre PR
    * Pavan may not be able to update this himself, Jane may have to do this
* Hyphen error chain
    * Generalizable, maybe not that important as there are a limited number of styles

#### Review Prior Action Items

###### Completed 

## 2023-10-24

### Attendance

Jane, Pavan, Freja

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (Explore) Documenting Team Membership
* (Explore) feedback on logo v2
* Meeting Check-out

### Minutes

- (J) finished docs PR
    - Removed complex, controversial labels
- Updated logos with Paige, posted in discord
- Document team members
    - Two teams, *maintainer* and *contributors*
        - Maintainer
            - Objection with reason privilege
        - Contributors
            - Easy to add new people to
            - Triage access
- Logo v2
    - Freja: 2 and 4, likes the question mark position
        - Spread out the stack more to make legible at smaller sizes
        - Jane: similar feelings, nothing to add
- Branch protection is good for now

#### Review Prior Action Items

###### Completed 

- [x] Jane: Update the contributing doc to describe the proposed label system
- [x] Jane: Share feedback with Paige about logo design 14

## 2023-10-10

### Attendance

Jane, Pavan, Freja

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (Explore) logo v2 from paige
* (Decide) branch protection
* Meeting Check-out

### Minutes

#### Review Prior Action Items

###### Completed

- [x] Jane: remove individual (deprecated) permissions from repos
- [x] Pavan: Move the eyre code into a folder

## 2023-09-26

### Attendance

Jane (Facilitator), Pavan, Freja (scribe)

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (Explore) Logo ideas from Paige
* (Decide) Monorepo PR
* Meeting Check-out

### Minutes

- First monorepo PR
    - Review
- Logo
    - 15 designs in total
    - Jane
        - 5 Annoyed Eyes
            - Many peoples reaction to errors is bergrudged, pavan concurs
        - 7 Stacked Question Mark
            - More technical and thematic
        - 9
            - (pavan) lot going on
        - 12 Timeline Eyre
            - More technical and thematic
            - (pavan) lot going on
        - 13 Question Mark Ferris
            - (tei) quite close to rust book
        - 14 Surprised Gear 
            - (pavan) really like the emotion
            - (tei) cute, gives it a human/personal aspect
            - (pavan) add question marks, makes it technical
            - (tei) adding question mark might not be visible, maybe make it a stack of surprised gears?
            - (jane) leaning towards 14 (gear)
            - (jane) fill gaps to make it thematic
                - Question mark may be too small to be visible
                - Make a stack similar to 7
    - Move forward with 14 and more iterations ^
        - Tying more into technical or question mark motife, work well with low res
        - May be ok as is, close enough for rust and captures the emotion
- Monorepo
    - Subtree commit, bringing in the commits from other eyre repos
    - Eyre is top level, could be hierarchial
    - (pavan) eyre should be top level, the supporting crates are deps
    - (jane) not as familiar with workspaces, how does publishing work
    - (pavan) no issues with publishing, not sure about the separate folder since eyre is the star of the show
    - (jane) prefer to have everything flat
    - (pavan) prefers nested, can tolerate flat
    - (tei) good to be consistent and have everything on equal level, especially when bringing in *color-eyre*
    - (pavan) cargo workspaces can handle publishing really well (thanks pavan for an awesome tool)
- Moving forwards
    - Freja:
        - Better integrations and features, such as converting between anyhow without losing backtrace
    - Pavan
        - Better integrations, mature stable
    - Jane
        - Better integrations, but *where*, should it go in the eyre base library, or in a periferal library
        - Color-eyre is the kitchen sink covers 90% of CLI
        - Alternative version of color-eyre that can be used in parts

#### Review Prior Action Items

###### Completed 

- [x] Jane: Mark Freja & Pavan as contributors on Discord & create a contributors channel

## 2023-09-19

### Attendance

Jane (facilitator), Pavan (scribe), Freja

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (Explore) issue label system
* 2021 edition
* meeting venue
* logo
* Meeting Check-out

### Minutes

* Monorepo creation
    * Use git-subtree
    * Update the README for other repos & archive them
* Label system (notes below)
* No issues with upgrading the edition
    * Jane: We don't really gain much but provides a better contribution experience
    * Pavan: Avoids tech-debt & bit rot
    * Freja: Gives us inlined format_args
* Discord for meetings?
    * Freja: discord preferred for better tracking.
    * Pavan
        * don't mind discord for videos and meetings
        * do have issue with discord as a chat system
        * hard to search, not stored. (zulip/irc have public archive, even prefer slack)
        * would join meetings in discord but probably wouldn't participate in chat otherwise
    * Jane: Really like zulip but it doesn't have video calls, don't like IRC/slack because of lack of moderation tools. We already have community discord.
    * Proposal accepted, no objections
* Logo?
    * Jane
        * Look for inspirations from the book
        * Know which artist to ask to draw
    * Freja: Use eye
    * Pavan: We need to connect it to rust (maybe the cog)
    * Jane: Like the eye idea, but maybe a mouth is better from error reporting perspective
    * Freja: eye is better recognized as a symbol
    * Make sure to check for trademark issues
    * Need to update the following:
        * Github org avatar
        * Discord logo
        * Docs.rs logo for all crates

#### label system

* Pavan preference
    * keep area for classifying which crate within the monorepo an issue applies to
    * categories are good, apply c- for existing labels
    * status is important
    * not sure about os, priority & difficulty
* Freja preference
    * feeling similar to Pavan
    * don't need many types of label buckets
* Jane preference
    * doesn't care about the difficulty if we can have `good-first-issue` (default github label)
    * Priority is important but not the current proposed system. Would want them to be on urgency/importance axis

Proposal: Have area labels (like A-eyre, A-color-eyre), C- for categories (like C-breaking-change), status labels like (S-blocked), priority lables like (P-urgent/important), and `good-first-issue`, but otherwise seek to minimize the number of labels and only have labels that we use.

agreed, no objections

#### Review Prior Action Items

###### Completed 

- [x] Jane: setup teams to manage permissions rather than doing it per user per repo
    - Still need tei to accept invite to the eyre team and remove the deprecated individual permissions for her but it's mostly done at this point
- [x] Pavan: Send PR creating the monorepo

## 2023-09-05

### Attendance

Jane, ~~Pavan~~, Freja

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (Decide) MSRV resolution
* Co-working session
* Meeting Check-out

### Minutes

- OnceCell MSRV
    - Coordinate
    - Pin
    - Giving up MSRV
    - soften MSRV and base it off of once_cell policy

#### Review Prior Action Items

###### Completed 

- [x] Freja: Send PR for MIRI fixes

## 2023-08-29

### Attendance

Jane, Pavan, Freja

### Agenda

* Agenda consent + Check-in
* (inform) Review Prior Meeting Notes
* Meeting Check-out

### Minutes

- Everyone agreed that libraries that are made for someone else should not use `ErrReport`
    - unless when libraries are executing a user defined function where it might be useful
    - justified to add anyhow integration to ease migration for external dependencies exporting anyhow
    - Agreed that `anyhow` compat has no objections
    - `Backtrace` as follow up

#### Review Prior Action Items

###### Completed 

## 2023-08-22

### Attendance

~~Jane~~, Pavan, Freja

### Agenda

### Minutes

- Pavan: not considering himself a core maintainer, supporting role
    - Fine with everything, as long as it is not unsafe and not low level
- Anyhow compatiability `anyhow::Result` and `eyre::Result`
	- Many libraries expose anyhow errors
	- Goes with tracing support
	- wasmtime
	- Spring off of it
- Added as a collaborator per repository rather than org
- Monorepo
	- Pavan has quite a bit of experience
	- No opinion, but willing to handle it
	- Can use git subtree when merging the subrepositories to preserve history
- Well named and descriptive labels are good to have
    - CC people
    - Priority labels

#### Review Prior Action Items

###### Completed 

----

Template for each meeting:

## Next Meeting Date

### Attendance

Jane, Freja, Nori

### Agenda

* Agenda consent + Check-in
* Review prior action items
* (inform) bullet point list of proposed agenda items (labeled either inform, explore, or decide)
* Meeting Check-out

### Minutes

#### Review Prior Action Items

###### Completed 
