You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -97,7 +97,7 @@ Known accepted netfx differences (do not "fix" by changing shared code): doubles
97
97
98
98
The published NuGet packages are cut from [`Common/VersionInfo.props`](Common/VersionInfo.props). The reference **sample and sandbox projects are not part of the release**: they pin *published*`FoundationDB.*` package versions (so a reader can `restore` them like their own app), which means they legitimately lag the in-development version. Fold this sweep into the pre-tag routine:
99
99
100
-
-**Before the tag**, write the version documents from the commit log (which follows the `Area: summary` house form: `git log <prev-tag>..HEAD --format='- %s'`, grouped by area prefix, then curated into prose, never the raw log). [`Documentation/releases/<N>.md`](Documentation/releases/) is the complete releasenotes: every change from the previous STABLE version (not the previous rc), in full detail, grouped as highlights, new features, behavior changes, breaking changes, build and tooling. It is the authoritative notes the GitHub release points at. [`Documentation/migrations/<N-1>-to-<N>.md`](Documentation/migrations/) is the upgrade companion the breaking-change entries link to for the step-by-step recipes. Add a `releases/<N>.md` entry to [`Documentation/toc.yml`](Documentation/toc.yml). The GitHub release body stays slim: the highlights and the breaking-change list, pointing to `releases/<N>.md` for the full detail.
100
+
-**Before the tag**, write [`Documentation/releases/<N>.md`](Documentation/releases/)from the commit log (which follows the `Area: summary` house form: `git log <prev-tag>..HEAD --format='- %s'`, grouped by area prefix, then curated into prose, never the raw log). It is the single release-notes and upgrade document: every change from the previous STABLE version (not the previous rc), ordered by what applications use, each behavior change inlining what to do about it, and a final Breaking changes section for the rest. There is no separate migration guide. Follow [`Documentation/writing-style.md`](Documentation/writing-style.md), and add a `releases/<N>.md` entry to [`Documentation/toc.yml`](Documentation/toc.yml). The GitHub release body stays slim: highlights and the breaking-change list, pointing to `releases/<N>.md` for the full detail.
101
101
-**After** the new packages are live on NuGet (they must be restorable), and **before** locking the release with a git tag, bump the pinned `FoundationDB.*` versions in the standalone samples ([`samples/getting-started/`](samples/getting-started/)) and any sandbox projects to the just-published version, then `restore` + build them to confirm they still work against the shipping packages. Doing it before the tag keeps the tagged tree pointing at real, restorable versions; it cannot be done earlier because the packages do not exist yet.
Copy file name to clipboardExpand all lines: Documentation/crystaljson/reference.fr.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Les tables de référence du travail quotidien : le *setup* du générateur de s
4
4
vous posez sur un type, les *settings* que vous passez à un appel, et les diagnostics de *build* que vous
5
5
pouvez rencontrer. Pour les guides pratiques, voir [Travailler avec CrystalJson](serializing.fr.md) ;
6
6
pour la conception, voir [Ce que c'est, et pourquoi](index.fr.md). Quand un comportement a changé
7
-
entre deux versions, le [guide de migration 7.4.2 vers 7.4.3](../migrations/7.4.2-to-7.4.3.md) porte
7
+
entre deux versions, le [guide de migration 7.4.2 vers 7.4.3](../releases/7.4.3.md) porte
8
8
l'histoire complète, et cette page y renvoie plutôt que de la répéter.
9
9
10
10
Tous les exemples utilisent `using SnowBank.Data.Json;`.
@@ -55,7 +55,7 @@ produit, et quels types elle enrôle.
55
55
|`[CrystalSerializable(typeof(T))]`|`SnowBank.Data`| enrôle un type ; répétable ; alimente chaque format que le *container* produit |
56
56
|`[CrystalJsonOutput(...)]`|`SnowBank.Data.Json`| demande le format JSON et porte ses paramètres (profil, politique de nommage) |
57
57
|`[CrystalJsonConverter(...)]`|`SnowBank.Data.Json`| alias : `[CrystalConverter]` + `[CrystalJsonOutput]` avec les mêmes paramètres, pour un *container* JSON seul |
58
-
|`[CrystalJsonSelfSerializable]`|`SnowBank.Data.Json`| méta-attribut pour les types auto-sérialisables (un type sert de son propre *container*) ; voir le [guide de migration](../migrations/7.4.2-to-7.4.3.md#new-apis)|
58
+
|`[CrystalJsonSelfSerializable]`|`SnowBank.Data.Json`| méta-attribut pour les types auto-sérialisables (un type sert de son propre *container*) ; voir le [guide de migration](../releases/7.4.3.md#new-apis)|
59
59
60
60
Un profil passé à `[CrystalJsonOutput(...)]` ou `[CrystalJsonConverter(...)]` fixe la forme de sortie
61
61
par défaut du *container*, `CrystalJsonSerializerDefaults.Web` pour le *camelCase*,
@@ -97,7 +97,7 @@ Attention au piège de nommage : `Never` veut dire « ne jamais ignorer ».
97
97
Pour les types `[DataContract]`, `[DataMember(Name = ...)]` renomme et
98
98
`[DataMember(IsRequired = true)]` fait *throw* à la lecture quand le membre est absent. Les *containers*
99
99
générés appliquent le modèle d'appartenance DataContract depuis la 7.4.3 ; le
100
-
[guide de migration](../migrations/7.4.2-to-7.4.3.md#breaking-changes) en donne le détail.
100
+
[guide de migration](../releases/7.4.3.md#breaking-changes) en donne le détail.
101
101
102
102
### Attributs d'autres sérialiseurs
103
103
@@ -120,7 +120,7 @@ CrystalJson `[JsonProperty]`, puis `[JsonPropertyName]`, puis Newtonsoft `[JsonP
120
120
attributs de nommage qui divergent sont une erreur de *build* (`CJSON0011`) : un type ne peut pas servir
121
121
deux contrats de sortie. Un `[JsonConverter]` étranger qui nomme un type n'implémentant pas le contrat
122
122
de convertisseur CrystalJson est ignoré, pas une erreur, donc un *DTO* à moitié porté reste
123
-
sérialisable. Le [guide de migration](../migrations/7.4.2-to-7.4.3.md) donne les règles d'*interop*
123
+
sérialisable. Le [guide de migration](../releases/7.4.3.md) donne les règles d'*interop*
124
124
complètes.
125
125
126
126
## *Settings*
@@ -174,7 +174,7 @@ pas `WithTrailingData()` (qui parse la première valeur et jette le reste).
174
174
Les codes `CJSON####` ci-dessous sont ceux qu'un auteur normal rencontre en écrivant des *DTO*. Chacun
175
175
est rapporté au même endroit par les deux chemins : le générateur émet le diagnostic, et le chemin
176
176
par réflexion *throw* le même message quand il construit le contrat du type. Le
177
-
[guide de migration](../migrations/7.4.2-to-7.4.3.md) donne le traitement complet de chacun.
177
+
[guide de migration](../releases/7.4.3.md) donne le traitement complet de chacun.
178
178
179
179
| Id | Sévérité | Refuse | Remède |
180
180
|---|---|---|---|
@@ -191,4 +191,4 @@ par réflexion *throw* le même message quand il construit le contrat du type. L
191
191
192
192
Les diagnostics des types auto-sérialisables (`CJSON0004` à `CJSON0007`, `CJSON0020`, `CJSON0021`) et
193
193
les codes du générateur XML (`CRYS####`, `CXML####`) sont couverts dans le
194
-
[guide de migration](../migrations/7.4.2-to-7.4.3.md) et [CrystalXml](../CrystalXml.md).
194
+
[guide de migration](../releases/7.4.3.md) et [CrystalXml](../CrystalXml.md).
Copy file name to clipboardExpand all lines: Documentation/crystaljson/reference.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
The lookup tables for everyday work: the source generator setup, the attributes you put on a type,
4
4
the settings you pass to a call, and the build diagnostics you might hit. For the task guides see
5
5
[Working with CrystalJson](serializing.md); for the design see [What it is and why](index.md). Where
6
-
a behavior changed between releases, the [7.4.2 to 7.4.3 migration guide](../migrations/7.4.2-to-7.4.3.md)
6
+
a behavior changed between releases, the [7.4.2 to 7.4.3 migration guide](../releases/7.4.3.md)
7
7
carries the full story, and this page links to it rather than repeating it.
8
8
9
9
Every example uses `using SnowBank.Data.Json;`.
@@ -53,7 +53,7 @@ produces, and which types it enrolls.
53
53
|`[CrystalSerializable(typeof(T))]`|`SnowBank.Data`| enrolls a type; repeatable; feeds every format the container produces |
54
54
|`[CrystalJsonOutput(...)]`|`SnowBank.Data.Json`| requests the JSON format and carries its parameters (profile, naming policy) |
55
55
|`[CrystalJsonConverter(...)]`|`SnowBank.Data.Json`| alias: `[CrystalConverter]` + `[CrystalJsonOutput]` with the same parameters, for a JSON-only container |
56
-
|`[CrystalJsonSelfSerializable]`|`SnowBank.Data.Json`| meta-attribute for self-serializable types (a type acts as its own container); see the [migration guide](../migrations/7.4.2-to-7.4.3.md#new-apis)|
56
+
|`[CrystalJsonSelfSerializable]`|`SnowBank.Data.Json`| meta-attribute for self-serializable types (a type acts as its own container); see the [migration guide](../releases/7.4.3.md#new-apis)|
57
57
58
58
A profile passed to `[CrystalJsonOutput(...)]` or `[CrystalJsonConverter(...)]` sets the container's
59
59
default output form, `CrystalJsonSerializerDefaults.Web` for camelCase, `.DataContractCompat` for the
@@ -94,7 +94,7 @@ Note the naming trap: `Never` means "never ignore".
94
94
95
95
For `[DataContract]` types, `[DataMember(Name = ...)]` renames and `[DataMember(IsRequired = true)]`
96
96
makes an absent member throw on read. Generated containers apply the DataContract membership model as
97
-
of 7.4.3; the [migration guide](../migrations/7.4.2-to-7.4.3.md#breaking-changes) has the details.
97
+
of 7.4.3; the [migration guide](../releases/7.4.3.md#breaking-changes) has the details.
98
98
99
99
### Attributes from other serializers
100
100
@@ -116,7 +116,7 @@ CrystalJson `[JsonProperty]`, then `[JsonPropertyName]`, then Newtonsoft `[JsonP
116
116
attributes that disagree are a build error (`CJSON0011`): one type cannot serve two output contracts.
117
117
A foreign `[JsonConverter]` naming a type that does not implement the CrystalJson converter contract is
118
118
ignored, not an error, so a half-ported DTO stays serializable. The
119
-
[migration guide](../migrations/7.4.2-to-7.4.3.md) has the full interop rules.
119
+
[migration guide](../releases/7.4.3.md) has the full interop rules.
120
120
121
121
## Settings
122
122
@@ -168,7 +168,7 @@ To read several consecutive documents out of one buffer, use `CrystalJson.ParseF
168
168
The `CJSON####` codes below are the ones a normal author hits while writing DTOs. Each is reported at
169
169
the same place by both paths: the generator emits the diagnostic, and the reflection path throws the
170
170
same message when it builds the type's contract. The
171
-
[migration guide](../migrations/7.4.2-to-7.4.3.md) has the full treatment of each.
171
+
[migration guide](../releases/7.4.3.md) has the full treatment of each.
172
172
173
173
| Id | Severity | Refuses | Remedy |
174
174
|---|---|---|---|
@@ -185,4 +185,4 @@ same message when it builds the type's contract. The
185
185
186
186
The self-serializable diagnostics (`CJSON0004` to `CJSON0007`, `CJSON0020`, `CJSON0021`) and the XML
187
187
generator codes (`CRYS####`, `CXML####`) are covered in the
188
-
[migration guide](../migrations/7.4.2-to-7.4.3.md) and [CrystalXml](../CrystalXml.md).
188
+
[migration guide](../releases/7.4.3.md) and [CrystalXml](../CrystalXml.md).
0 commit comments