Upstream update available: esbuild 0.27.2 → 0.28.0 #2
Labels
No labels
ai-summary
bot
needs-build
needs-triage
priority/medium
update/minor
upstream-update
upstream/github
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rpms/esbuild#2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upstream update available:
esbuild0.27.2→0.28.0Package
esbuildesbuildniceos-5.20.27.2-1minorpython_rpmleafgithub-upstreamUpstream
githubevanw/esbuild0.28.0v0.28.0github_release_latest2026-04-02T20:38:53ZFalseSignals
FalseFalse-ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/githubNiceSOFT AI preliminary analysis
1. Краткий вывод
Обновление включает поддержку нового стандарта ES модулей (
with { type: 'text' }), внедрение проверки целостности при скачивании бинарников через npm и смену версии компилятора Go с 1.25.7 на 1.26.1. Изменение Go-компилятора затрагивает внутреннюю работу сборщика (новый GC, формат линкера), что потенциально влияет на поведение сгенерированных бинарников.2. Риск для НАЙС.ОС
medium.
Хотя обновление помечено как
minor, замена Go-компилятора на версию 1.26.1 с новым сборщиком мусора и измененным форматом линкера создает риск несовместимости с существующими бинарными артефактами или специфичными кейсами использования, которые могут проявиться только после пересборки. Внедрение integrity checks является улучшением безопасности, но изменение логики установки (fallback path) требует тестирования.3. Security/CVE
Во входных данных отсутствуют явные упоминания CVE или прямые указания на уязвимости. Упоминание "integrity checks" относится к защите от подмены файлов при установке, а не к исправлению конкретной уязвимости в коде. Признаков security-critical обновления в тексте нет.
4. ABI/API риск
Нужен ручной ABI/API анализ.
Смена Go-компилятора на 1.26.1 с новым garbage collector и изменениями в формате линкера теоретически может изменить поведение программы в граничных случаях (edge cases), даже если функциональность API не изменилась явно. Для библиотеки
esbuildэто означает необходимость проверки корректности работы сгенерированных бинарников в различных сценариях.5. Риск для RPM-сборки
Вероятны изменения в процессе сборки из-за зависимости от новой версии Go (1.26.1). Необходимо проверить:
BuildRequires: go(версия может быть жестко задана или требовать обновления).%checkи тестовых сценариев с новым компилятором.6. Проверки мейнтейнера
BuildRequiresдля Go 1.26+ или возможность гибкой настройки версии.rpmbuild -ba) и убедиться в отсутствии ошибок линковки.esbuildна текущей и новой версии на наборе реальных проектов.7. Рекомендация
blocked manual review
8. Основание рекомендации
Наличие смены мажорной версии компилятора (Go 1.25 -> 1.26) с известными изменениями в алгоритме сборки мусора и формате бинарных файлов требует ручного анализа влияния на стабильность сгенерированных артефактов перед автоматическим обновлением. Автоматическое применение рискованно из-за потенциальных скрытых изменений поведения (ABI/API implications).
Upstream release notes / description
Add support for
with { type: 'text' }imports (#4435)The import text proposal has reached stage 3 in the TC39 process, which means that it's recommended for implementation. It has also already been implemented by Deno and Bun. So with this release, esbuild also adds support for it. This behaves exactly the same as esbuild's existing
textloader. Here's an example:Add integrity checks to fallback download path (#4343)
Installing esbuild via npm is somewhat complicated with several different edge cases (see esbuild's documentation for details). If the regular installation of esbuild's platform-specific package fails, esbuild's install script attempts to download the platform-specific package itself (first with the
npmcommand, and then with a HTTP request toregistry.npmjs.orgas a last resort).This last resort path previously didn't have any integrity checks. With this release, esbuild will now verify that the hash of the downloaded binary matches the expected hash for the current release. This means the hashes for all of esbuild's platform-specific binary packages will now be embedded in the top-level
esbuildpackage. Hopefully this should work without any problems. But just in case, this change is being done as a breaking change release.Update the Go compiler from 1.25.7 to 1.26.1
This upgrade should not affect anything. However, there have been some significant internal changes to the Go compiler, so esbuild could potentially behave differently in certain edge cases:
You can read the Go 1.26 release notes for more information.
NiceOS maintainer checklist
Versionand related fields inSPECS/*.speconly if policy allows it.SOURCES/sources.lock.json, manifests, metadata and SBOM.Bot metadata
niceos_upstream_monitor.py 1.42026-04-27T22:08:42Z