Topaz развивается через публичные минорные выпуски и патчи контрольного
качества. Минорный выпуск задаёт продукт, который устанавливает пользователь,
а патчи фиксируют конкретную работу, подготовившую следующий рубеж.
Этапы продукта
| Версия | Основное изменение |
|---|
| 5.0 | Задано направление языка: выражения, явный Result и полноценные Unicode-идентификаторы. |
| 5.1 | Добавлены структурные циклы и уточнены компоновка, операторы, сопоставление с образцом, конкурентность и шаблоны. |
| 5.2 | Закреплена модель модулей import/export и собран первый единый публичный набор инструментов. |
| 5.3 | Расширены стандартная библиотека и поддержка реальных программ без расхождения семантики между каналами поставки. |
| 5.4 | Стандартизованы платформенные бинарные файлы и установка; начата генерация Python. |
| 5.5 | Python стал поддерживаемым бэкендом; расширено согласование интерпретатора, Rust и Python. |
| 5.6 | Объединены зрелый язык, среда выполнения, пакеты, WASM Playground и поверхности поставки. |
| 5.7 | Опубликован устанавливаемый автономный цикл Web-приложения с Data Lens и Markdown Live. |
| 5.8 | Импорт и экспорт локального текста и ограниченное состояние пакета объединены в цикл приложения с локальными данными. |
| 5.9 | Опубликован цикл ограниченного HTTP-сервиса с явными входящими полномочиями, конечными лимитами, структурированными операциями и автономными артефактами. |
| 5.10 | Опубликован штатный цикл двоично-медийного ядра с объяснимым выбором нативной генерации, точными байтовыми операциями, детерминированными кодеками и поддерживаемыми свидетельствами CodeImage. |
Контрольные патчи
Каждый закрытый патч получает строку в истории независимо от того, был ли он
опубликован напрямую или накоплен в develop для следующего минорного выпуска.
Предыдущие линии свёрнуты, чтобы сохранить обозримой общую траекторию продукта.
5.4.x — начало генерации Python
| Патч | Доступность | Результат для пользователя |
|---|
| 5.4.1 | Публичный | Добавлен первый экспериментальный путь генерации Python рядом с интерпретатором и выводом Rust. |
5.5.x — завершение бэкенда Python
| Патч | Доступность | Результат для пользователя |
|---|
| 5.5.1 | Внутренний | Для создаваемых массивов Python добавлены сравнение однотипных Bytes и стабильная естественная сортировка. |
| 5.5.2 | Внутренний | Итоговые значения верхнеуровневых if и match согласованы между интерпретатором, создаваемыми Rust и Python. |
| 5.5.3 | Внутренний | Все бэкенды стали одинаково отклонять верхнеуровневые ветви return, сохраняя поддержку return внутри функций. |
| 5.5.4 | Публичный | Поведение очистки и ошибок выполнения в Python согласовано так, чтобы отложенная работа не выполнялась после невосстановимого сбоя. |
| 5.5.5 | Публичный | Добавлена ограниченная серверная граница JSON и точное совпадение чисел, экранирования, повторных ключей и ошибок между бэкендами. |
| 5.5.6 | Публичный | Неподдерживаемые формы Python стали завершаться полной диагностикой с привязкой к исходному коду вместо неполного вывода. |
| 5.5.7 | Публичный | Закрыты расхождения Option, Result, единичных значений и операций высшего порядка в создаваемом Python. |
| 5.5.8 | Публичный | Согласованы идентичность чисел с плавающей точкой и поведение ключей в Map, Set и связанных операциях с контейнерами. |
5.6.x — устанавливаемые продукты и Web-основа
| Патч | Доступность | Результат для пользователя |
|---|
| 5.6.1 | Публичный | Сборки перенесены во временное хранилище, рост кэша Python ограничен, добавлены идентичность артефактов, лицензии и пакетные гарантии. |
| 5.6.2 | Публичный | Документация и представление npm обновлены без изменения поведения. |
| 5.6.3 | Публичный | Адрес закрытого репозитория удалён из публичных метаданных npm. |
| 5.6.4 | Публичный | Добавлены основа устанавливаемого многомодульного цикла приложения, автономные нативные сборки и сборки Python, а также машиночитаемая проверка agent-pack. |
| 5.6.5 | Публичный | Завершены устанавливаемый цикл приложения, fmt --check, локализованные руководства, прямая публикация npm и ограниченная полевая проверка. |
| 5.6.6 | Внутренний | Добавлен изменяемый ByteBuffer фиксированной длины и исправлено владение Web-памятью для крупных бинарных продуктов. |
| 5.6.7 | Внутренний | Добавлены проверяемый жизненный цикл Web-приложения, безопасная браузерная среда, каркас приложения, локальная разработка и полный управляемый статический комплект. |
| 5.6.8 | Внутренний | Завершены поддерживаемые тестовые продукты Data Lens и Markdown Live, исправлены воспроизведённые проблемы проверки и среды, подготовлен атомарный рубеж 5.7. |
5.7.x — цикл приложения с локальными данными
| Патч | Доступность | Результат для пользователя |
|---|
| 5.7.1 | Внутренний | Добавлены ограниченное правами открытие локальных файлов UTF-8 и детерминированная загрузка текста, проверенные на реальных CSV и JSON в Data Lens. |
| 5.7.2 | Внутренний | Добавлены ограниченное строковое состояние пакета, явные результаты загрузки, сохранения и удаления, а также восстановление после перезагрузки. |
| 5.7.3 | Внутренний | Data Lens и Markdown Live усилены многоязычными файлами, повторными операциями, точным экспортом, восстановлением фокуса и исправлением скорости отрисовки. |
| 5.7.4 | Внутренний | Готовый набор функций заморожен, подготовлены следующая спецификация языка и поверхности версий, проверена репетиция атомарной активации без записи. |
5.8.x — цикл приложения с ограниченным HTTP-сервисом
| Патч | Доступность | Результат для пользователя |
|---|
| 5.8.1 | Внутренний | Добавлены управляемая ограниченная цель HTTP/1.1, отмена и лимиты на запрос, автономный артефакт и сервис Data Lens с общим проверенным ядром браузерного продукта. |
| 5.8.2 | Внутренний | Укреплены медленные, некорректные, прерванные, чрезмерные, перегруженные, аварийные и незавершающиеся запросы; проверены изоляция и восстановление мощности. |
| 5.8.3 | Внутренний | Добавлены просмотр итоговой конфигурации, версионированные структурированные журналы, события штатного завершения, проверка перезапуска и параллельные многоязычные сценарии. |
| 5.8.4 | Внутренний | Доказано, что браузерный и сервисный Data Lens используют одно проверенное ядро; усилены реалистичные многоязычные сценарии и подготовлены следующая спецификация и граница репетиции активации без записи. |
5.9.x — наблюдаемые нативные ядра приложений
| Патч | Доступность | Результат для пользователя |
|---|
| 5.9.1 | Внутренний | Добавлены детерминированный отчёт о нативном понижении и закрытый при сомнении гибридный путь: он специализирует подходящие скалярные функции верхнего уровня, сохраняя упакованное приложение. |
| 5.9.2 | Внутренний | Добавлены точные нативные быстрые пути для Bytes и ByteBuffer, включая доказанные проверяющим прямые поля record; сохранены упакованный fallback, ошибки границ, снимки и атомарность записи. |
| 5.9.3 | Внутренний | Добавлен детерминированный raw DEFLATE с фиксированным Хаффманом для двоичных медиа: точные байты Rust/Web, ограниченные поиск и память и явный отказ цели Python. |
| 5.9.4 | Внутренний | Добавлена детерминированная систематическая защита RS(255,223): точные многоблочные байты, ограниченный вход, общая реализация Rust/Web и явный отказ цели Python. |
| 5.9.5 | Внутренний | Добавлена беззнаковая CRC-32/ISO-HDLC для некриптографической проверки целостности с одинаковым результатом в интерпретаторе, Rust, Python, Web, Worker и Playground. |
| 5.9.6 | Внутренний | Добавлен один детерминированный поток RFC 1950 zlib вокруг точных байтов DEFLATE с фиксированным Хаффманом, ограниченным входом и явным отказом цели Python. |
| 5.9.7 | Внутренний | Штатный путь бинарных медиа укреплён стабильными проверками renderer и proof worker CodeImage, запуском без исходников и репетицией неактивной границы 5.10 без записи. |
Текущая основа
Это руководство всегда описывает текущий продукт Topaz. Точную версию
установки смотрите в Состоянии инструментария, а
миграцию старого синтаксиса используйте
только для действительно старых форм исходного кода.
Внутренние свидетельства LIT
Внутренние свидетельства охватывают один исходник Lispex-in-Topaz для
интерпретатора, создаваемого Rust, создаваемого Python и Web на ограниченной
поверхности из четырёх сред выполнения. Они не меняют язык или публичную границу
продукта и не доказывают независимость исходников либо эквивалентность всего
языка. LIT не является публичным бэкендом.
Связанная документация