Repository navigation
Expand file tree
/
Copy pathversion.json
More file actions
201 lines (201 loc) · 9.05 KB
/
Copy pathversion.json
File metadata and controls
201 lines (201 loc) · 9.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
{
"version": "2.8.0-rc",
"releaseNotes": {
"2.8.0-rc": {
"headline": "",
"highlights": [
"A solution keeps up with the template: dotskit adds services and flags to it and upgrades it to a new version, keeping the team's changes.",
"A service generated into a solution adds itself to All.sln.",
"Email by flag, with a sandbox that keeps a test stand from mailing real people.",
"MongoDB by flag, beside the main database.",
"Containers run on a read-only filesystem.",
"The test servers start with one command, the same on a developer's machine as in CI.",
"Coverage on demand, with a report per service.",
"The solution is generated with --Solution; -M false still works."
],
"ru": {
"headline": "",
"highlights": [
"Решение не отстаёт от шаблона: dotskit добавляет в него сервисы и флаги и переводит его на новую версию, сохраняя правки команды.",
"Сервис, сгенерированный в готовое решение, сам добавляется в All.sln.",
"Почта по флагу, с песочницей, которая не даёт тестовому стенду писать реальным людям.",
"MongoDB по флагу, рядом с основной базой.",
"Контейнеры работают с файловой системой только для чтения.",
"Тестовые серверы запускаются одной командой, одинаково на машине разработчика и в CI.",
"Покрытие по запросу, с отчётом по каждому сервису.",
"Решение генерируется с --Solution; -M false по-прежнему работает."
]
}
},
"2.7.0": {
"headline": "SQL Server, HashiCorp Vault and a stronger API gateway.",
"highlights": [
"Generate a solution on SQL Server with --Database mssql.",
"Read secrets from HashiCorp Vault with --Vault.",
"Improved the API gateway and its Swagger documents.",
"Settings read on each use change without a redeploy.",
"Simplified feature flags.",
"Secrets live only in their store and in memory."
],
"ru": {
"headline": "SQL Server, HashiCorp Vault и улучшенный API-шлюз.",
"highlights": [
"Решение на SQL Server: --Database mssql.",
"Секреты из HashiCorp Vault: --Vault.",
"Улучшили API-шлюз и его документы Swagger.",
"Настройки, которые читаются при каждом обращении, меняются без передеплоя.",
"Упростили фичефлаги.",
"Секреты живут только в хранилище и в памяти."
]
}
},
"2.6.2": {
"headline": "Install the template from nuget.org.",
"highlights": [
"The package has its own page on nuget.org."
],
"ru": {
"headline": "Шаблон ставится с nuget.org.",
"highlights": [
"У пакета своя страница на nuget.org."
]
}
},
"2.6.1": {
"headline": "The first push of a generated solution passes the secret scan.",
"highlights": [],
"ru": {
"headline": "Первый push сгенерированного решения проходит проверку на секреты.",
"highlights": []
}
},
"2.6.0": {
"headline": "Write a service's tests in NUnit or xUnit.",
"highlights": [
"One shared test infrastructure for both."
],
"ru": {
"headline": "Тесты сервиса на NUnit или xUnit.",
"highlights": [
"Одна общая тестовая инфраструктура для обоих."
]
}
},
"2.5.0": {
"headline": "An audit journal of entity changes.",
"highlights": [
"Changes are published through the outbox in the same transaction.",
"Guards catch writes the journal cannot see."
],
"ru": {
"headline": "Журнал аудита изменений сущностей.",
"highlights": [
"Изменения публикуются через outbox в той же транзакции.",
"Проверки ловят записи, которые журнал не видит."
]
}
},
"2.4.0": {
"headline": "Tokens in HttpOnly cookies with CSRF protection.",
"highlights": [
"Cookie settings come from the deployment and are checked at startup."
],
"ru": {
"headline": "Токены в HttpOnly-cookie с защитой от CSRF.",
"highlights": [
"Настройки cookie задаёт деплой, они проверяются при старте."
]
}
},
"2.3.0": {
"headline": "Services ride out a secret store outage.",
"highlights": [
"A feature flag can be pinned in features.json."
],
"ru": {
"headline": "Сервисы переживают недоступность хранилища секретов.",
"highlights": [
"Фичефлаг можно закрепить в features.json."
]
}
},
"2.2.0": {
"headline": "Commands a client may repeat run once per key.",
"highlights": [],
"ru": {
"headline": "Команды, которые клиент может повторить, выполняются один раз на ключ.",
"highlights": []
}
},
"2.1.3": {
"headline": "Two solutions on one host keep their own images.",
"highlights": [],
"ru": {
"headline": "Два решения на одном хосте держат свои образы.",
"highlights": []
}
},
"2.1.2": {
"headline": "Blue-green deployment keeps serving when a deploy fails.",
"highlights": [],
"ru": {
"headline": "Blue-green-деплой продолжает обслуживать, если выкатка не удалась.",
"highlights": []
}
},
"2.1.1": {
"headline": "Services are added to All.sln in CI too.",
"highlights": [],
"ru": {
"headline": "Сервисы добавляются в All.sln и в CI.",
"highlights": []
}
},
"2.1.0": {
"headline": "Deployment, an API gateway, CI and one correlation identifier end to end.",
"highlights": [
"Docker Compose or Kubernetes files, with blue-green deployment under Compose.",
"A YARP API gateway that validates the token once.",
"GitHub Actions CI with tests on real servers and a secret scan.",
"S3-compatible object storage and ClickHouse by flag.",
"Every dependency can be switched off in configuration."
],
"ru": {
"headline": "Деплой, API-шлюз, CI и сквозной идентификатор корреляции.",
"highlights": [
"Файлы Docker Compose или Kubernetes, под Compose - blue-green-деплой.",
"API-шлюз на YARP, который проверяет токен один раз.",
"CI на GitHub Actions с тестами на настоящих серверах и проверкой на секреты.",
"S3-совместимое хранилище и ClickHouse по флагу.",
"Любую зависимость можно выключить в конфигурации."
]
}
},
"2.0.0": {
"headline": "A layered microservice solution with a shared web host.",
"highlights": [
"Domain events in three phases tied to the transaction.",
"Errors as RFC 9457 problems.",
"Permissions declared on actions and checked from the token.",
"Infrastructure by flag: Hangfire, MassTransit, Infisical, feature flags and more."
],
"ru": {
"headline": "Слоистое микросервисное решение с общим веб-хостом.",
"highlights": [
"Доменные события в трёх фазах, привязанных к транзакции.",
"Ошибки в формате RFC 9457.",
"Права объявляются на действиях и проверяются по токену.",
"Инфраструктура по флагу: Hangfire, MassTransit, Infisical, фичефлаги и другое."
]
}
},
"1.0.0": {
"headline": "The template before the breaking changes of 2026.",
"highlights": [],
"ru": {
"headline": "Шаблон до несовместимых изменений 2026 года.",
"highlights": []
}
}
}
}