Skip to content

Commit ce7c5c1

Browse files
authored
Merge branch 'amaranth-lang:main' into main
2 parents bb155ec + 0860eb1 commit ce7c5c1

File tree

2 files changed

+55
-1
lines changed

2 files changed

+55
-1
lines changed

text/0002-interfaces.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ To this end, a class `amaranth.lib.wiring.Component` is introduced:
515515
- I mean, "compatible" could mean that two signatures could be connected together. when checking if an object is compliant to a signature, directions also matters (@zyp)
516516
- `Signature.complies_with` reverses subject and object (@zyp)
517517
- `Signature.is_implemented_by` is verbose (@jfng)
518-
- Should `amaranth.lib.wiring.forward` be named something else, like `amaranth.lib.wiring.forwarded` or `amaranth.lib.wiring.forwarding` or `amaranth.lib.wiring.flip` or `amaranth.lib.wiring.transpose` or ``amaranth.lib.wiring.transpose` or `amaranth.lib.wiring.inner`?
518+
- Should `amaranth.lib.wiring.forward` be named something else, like `amaranth.lib.wiring.forwarded` or `amaranth.lib.wiring.forwarding` or `amaranth.lib.wiring.flip` or `amaranth.lib.wiring.transpose` or `amaranth.lib.wiring.transpose` or `amaranth.lib.wiring.inner`?
519519
- having two essentially unrelated operations called `flip` when one is already confusing is too much (@whitequark)
520520
- reflective programming is a thing (@zyp)
521521
- inner(inner(interface)) to flip it back to the original wouldn't make much sense (@zyp)
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
- Start Date: (fill in with date at which the RFC is merged, 2025-05-12)
2+
- RFC PR: [amaranth-lang/rfcs#76](https://github.com/amaranth-lang/rfcs/pull/76)
3+
- Amaranth Issue: [amaranth-lang/amaranth#1595](https://github.com/amaranth-lang/amaranth/issues/1595)
4+
5+
# `amaranth-boards` versioning policy
6+
7+
## Summary
8+
[summary]: #summary
9+
10+
Add a versioning policy for `amaranth-boards`.
11+
12+
## Motivation
13+
[motivation]: #motivation
14+
15+
Packages with direct (e.g. git) dependencies aren't allowed on PyPI, so by not publishing releases on PyPI, we're blocking downstream projects depending on `amaranth-boards` from publishing their releases on PyPi without having to do workarounds.
16+
17+
## Explanation
18+
[guide-level-explanation]: #guide-level-explanation
19+
20+
- Use a `0.x.y` versioning scheme.
21+
- Increment `y` and do a new release any time there's been done significant additions.
22+
- Increment `x`, reset `y` and do a new release any time there are breaking changes.
23+
24+
A breaking change is anything that requires manual intervention for code that previously worked fine.
25+
I.e. a change to a board file which previously had two pins incorrectly swapped would not be a breaking change; a change to names of resources across multiple boards would be.
26+
27+
This should be implemented by automatically releasing every commit to `main` whose HEAD message doesn't contain `[breaking change]` or `[breaking-change]` with a version like `v0.x.y` where `y` is the number of commits since the last breaking change, and automatically tagging every commit that does with a tag `v0.(x+1).0`.
28+
29+
## Drawbacks
30+
[drawbacks]: #drawbacks
31+
32+
None.
33+
34+
## Rationale and alternatives
35+
[rationale-and-alternatives]: #rationale-and-alternatives
36+
37+
`amaranth-boards` is mainly a collection of independent board definitions where most changes consists of adding or updating definitions for one specific target.
38+
39+
Most changes will have none to limited impact on existing code, and a simple policy reducing friction for new additions and fixes is more useful than having a strict deprecation policy with regular major releases.
40+
41+
## Prior art
42+
[prior-art]: #prior-art
43+
44+
None.
45+
46+
## Unresolved questions
47+
[unresolved-questions]: #unresolved-questions
48+
49+
None.
50+
51+
## Future possibilities
52+
[future-possibilities]: #future-possibilities
53+
54+
None.

0 commit comments

Comments
 (0)