Historia Front-endu
Pamiętasz ważne wydarzenia w “dziejach” Front-endu? Z chęcią je dodam!
Więcej na temat historii JavaScript przeczytasz w tym artykule.
2026
2026-09-18- ESLint v10.11 - szybsze uruchamianie i lintowanie bez zmian w wynikach i API2026-09-18- Tokeny npm z uprawnieniem tylko do stage- Uprawnienie „Read and write (stage only)” pozwala CI wysłać wersję do kolejki bez prawa publikacji
- Droga przejściowa przed zapowiedzianym na styczeń 2027 końcem bezpośredniej publikacji tokenami z obejściem 2FA
- Wymaga npm CLI 11.15.0+ i Node.js 22.14.0+
2026-09-18- Turborepo v2.11- Eksperymentalne wsparcie Rust, Pythona i Go w jednym grafie zadań
- Do 4x szybszy start pierwszego zadania niż w 2.9
- Obsługa
devEngines.packageManager turbo prunemoże pominąć pakiety potrzebne tylko w developmencie
2026-09-14- Webpack v5.111- Stabilny output ESM:
output.module: truezamiastexperiments.outputModule output.copydo kopiowania plików statycznych- Obniżanie składni CSS według
browserslist - Własny parser JavaScript zamiast
acorn - Adresy
file:w opcjach ścieżek - Opcjonalne zależności cache (
optional: true)
- Stabilny output ESM:
2026-09-11- Apollo Client v4.3- Własne skalary w
InMemoryCache(parsowanie i serializacja) - Automatyczna serializacja zmiennych ze skalarami
skipTokenwuseSubscription- Minimalna wersja TypeScriptu: 5.9
- Własne skalary w
2026-09-10- WCAG 3.0 - szkic roboczy- Zgodność oznacza spełnienie wszystkich wymagań podstawowych (core requirements)
- Wymagania oznaczone wagą skutków:
Physical harm,Risk,Barrier,Friction - 6 poziomów raportowania (tiers) poniżej i powyżej zgodności
2026-09-10- Vite v8.3- Integracja Vite Devtools z serwerem deweloperskim
- Opcja
tsconfigna najwyższym poziomie konfiguracji - Hooki
closeServericlosePreviewServer - Minifikacja tagów
<style> - Opcje watch Rolldowna w
server.watch
2026-09-10- Mermaid v12- Wbudowany ELK jako domyślny silnik układu (zamiast dagre)
- Nowy domyślny wygląd: motyw
redux-colori stylneo - Diagramy przypadków użycia UML
theme,lookilayoutustawiane osobno dla typu diagramu- Usunięta opcja
defaultRenderer(zastępuje jąlayout) - Wymaga ES2024, Safari 17.4+ i Node.js 22.12+
2026-09-09- React v19.3- Stabilny komponent
<ViewTransition />i APIaddTransitionType - Fragment Refs:
refna<Fragment>zwracaFragmentInstance(zdarzenia, fokus,observeUsing,scrollIntoView) use(browser())zreact-domwyłącza fragment drzewa z SSR (renderuje się dopiero w przeglądarce)- Obsługa Trusted Types (zgodność z CSP
require-trusted-types-for 'script') - Server Components renderują
<Context>bezpośrednio z modułów'use client' - Każda Transition renderuje się osobno, więc wolna nie blokuje pozostałych
- Ostrzeżenie w trybie deweloperskim przy warunkowym wywołaniu
use()
- Stabilny komponent
2026-09-09- npm wstrzymuje na 72 godziny publikację i tworzenie tokenów na każdym koncie po logowaniu kodem odzyskiwania2026-09-09- Tailwind CSS - Tailwind Labs dołącza do Shopify- Tailwind CSS i pozostałe projekty zostają na licencji MIT
- Zespół dalej prowadzi rozwój frameworka
- Koniec sprzedaży Tailwind Plus nowym klientom
2026-09-08- Chrome 153 - Chrome przechodzi na dwutygodniowy cykl wydań na desktopie, Androidzie i iOS (zapowiedź z 2026-03-03)2026-09-04- Playwright v1.63- Nazwane blokady testów (
lock): testy z tą samą blokadą nigdy nie biegną równolegle frameLocator()bez selektora szuka we wszystkich ramkachlocator.visible()zamiast pseudoklasy:visible- Kroki z
subtitleiparamsdla reporterów - Wbudowany reporter
perfetto(oś czasu przebiegu w Perfetto UI)
- Nazwane blokady testów (
2026-09-03- Kilka konfiguracji trusted publishing dla jednej paczki npm- Paczkę z kolejki stage można zatwierdzić dopiero po zakończeniu skanowania malware
- Historia zatwierdzeń i odrzuceń wersji w zakładce wersji na npmjs.com
2026-09-03- Vitest v5.0- Wymagany Vite 6.4+ i Node.js 22.12+
- Cache przetworzonych modułów na dysku między uruchomieniami
- Trace View dla testów w Browser Mode
vi.whendo warunkowego mockowania- Fake timers mockują też Temporal API
clearMocksdomyślnie włączone- Niezaczekane asercje asynchroniczne oblewają test
- Komenda
vitest doctori flaga--repeats
2026-09-02- Storybook v10.6- Architektura skills i komendy CLI dla narzędzi agentów AI
- MCP i skills dla Vue oraz Angular-Vite (eksperymentalne)
- Mniejszy rozmiar paczki i lepsza wydajność
2026-09-02- Nx v23.2- Eksperymentalny plugin
@nx/oxlinti wbudowane wsparcie Oxfmt - Cache w
~/.nxwspółdzielony między klonami, worktree i sandboxami agentów - Zwięźlejsze wyjście CLI: udane i zcache’owane zadania w jednej linii
- Komenda
nx configure-ai-agents
- Eksperymentalny plugin
2026-09-01- Cypress v16.0.0- Wymóg Node.js 22+
- Ruch sieciowy w Chrome, Chromium i Edge przechwytywany natywnie przez przeglądarkę, wsparcie HTTP/2 i HTTP/3
- Usunięte
Cypress.env()(zamiast tegocy.env()iCypress.expose()) orazcy.exec() - Wsparcie testów komponentów Angular 22
2026-09-01- Firefox 155 - pierwsze wydanie w dwutygodniowym cyklu (wcześniej co 4 tygodnie), Mozilla ogłosiła je 2026-07-09 jako eksperyment2026-08-28- htmx v4.0fetch()zamiastXMLHttpRequest- Jawne dziedziczenie atrybutów (modyfikator
:inherited) - HTML z odpowiedzi 422 i 500 trafia do elementu docelowego (wcześniej był pomijany)
- Historia bez kopii DOM w
sessionStorage
2026-08-28- Zod v4.5z.compile()prekompiluje schemat (parsowanie do ok. 9× szybsze)z.validate()sprawdza poprawność bez pełnego parsowania- 9× mniejsze zużycie pamięci przez schematy
2026-08-27- Microsoft Edge 152 - przejście na dwutygodniowy cykl wydań (kanał Extended Stable zostaje przy 8 tygodniach)2026-08-27- Webpack v5.110- Ponad 30 kontroli wydajności bundla w
performance(np.duplicatePackages) - Wbudowana minifikacja CSS i HTML w
optimization.minimize css-loader,style-loaderimini-css-extract-pluginprzestarzałe na rzecz natywnego CSSexternalsPresets.nodeModulesdo externalizacjinode_modules- Reguły modułów z globami (
glob) - CSS przy SSR (
__webpack_css_server_styles__)
- Ponad 30 kontroli wydajności bundla w
2026-08-26- pnpm v12.0 - pnpm przepisany w Rust, z tymi samymi komendami, ustawieniami i formatem lockfile co pnpm 112026-08-25- Electron v44 - Chromium 152, Node.js 24.18, V8 15.2- Moduł
clipboardzgodny z W3C (asynchroniczny, klasaClipboardItem) - Zapamiętywanie stanu okna (
windowStatePersistence) - Koniec wsparcia macOS 12
- Koniec binarek dla 32-bitowych Windowsa i Linuksa ARM
- Moduł
2026-08-24- WCAG 2.2 w normie EN 301 549 V4.1.1 - europejska norma dostępności ICT- WCAG 2.2 zastępuje WCAG 2.1 jako punkt odniesienia dla stron, oprogramowania i dokumentów
- Nowy załącznik wiąże wymagania z Europejskim aktem o dostępności (dyrektywa 2019/882)
- Opublikowana we wrześniu 2026; do czasu publikacji w Dzienniku Urzędowym UE punktem odniesienia pozostaje wersja V3.2.1
2026-08-21- TanStack - TanStack AI wchodzi w fazę Release Candidate- 24 dostawców modeli (w alfie 4)
- AG-UI jako oficjalny protokół
- Generowanie obrazów, wideo i dźwięku oraz transkrypcja
- Typowana obsługa MCP (Model Context Protocol)
- Sandboksy dla agentów kodujących
- Trwałe rozmowy z wymiennymi adapterami zapisu
2026-08-20- Bun v1.4- Pierwsze wydanie przepisane w Rust
- +1517 testów z zestawu Node.js (największy skok zgodności od Bun 1.0)
2026-08-15- Jasmine v7.0.0- Przebudowany system modułów: większość prywatnych API i
jasmineRequirenie są już dostępne - Nowy proces uruchamiania: usunięte
bootinoGlobals, w Node globalne funkcje tworzyinstallGlobals()(pakietjasminerobi to domyślnie) - Funkcja
reset()czyści stan i konfigurację między kolejnymi uruchomieniami w Node - Zablokowany monkey patching (poza globalnymi
describe,expecti jawnie zapisywalnymi właściwościami) - Usunięte przestarzałe
HtmlReporter,HtmlSpecFilterijsApiReporter - Nowa funkcja
notApplicabledla specyfikacji, które w danym środowisku nigdy nie mają przejść safariYieldStrategy: "time"domyślnie- Wsparcie Node 26, koniec wsparcia Safari 16 i 17 oraz Firefox ESR 102, 115 i 128
- Przebudowany system modułów: większość prywatnych API i
2026-08-13- Solid.js v2.0 RC- Asynchroniczność w grafie reaktywnym: zwykłe memo mogą zwracać Promise
- Usunięte m.in.
createResource,batch,startTransitionicreateMutable - Nowy kompilator w Rust oparty na OXC
- Server functions (
"use server") w rdzeniu frameworka - Tryb start zastępuje SolidStart, który przechodzi w tryb utrzymania
- Routing oparty na plikach w osobnym pakiecie niezależnym od routera
2026-08-06- Koniec wsparcia (EOL) dla ESLint v92026-08-04- SolidStart v2- Stabilny framework Solid oparty bezpośrednio na Vite (Environment API zamiast Vinxi)
- Integracja z Nitro v3, Cloudflare i Netlify
2026-08-04- TanStack - TanStack Table v9- 10 adapterów frameworków i niezależny
@tanstack/table-core - Średnio o 79% krótsze przetwarzanie modelu wierszy
- Funkcje dołączane modułowo (tree shaking)
- 10 adapterów frameworków i niezależny
2026-08-03- Next.js 16.3- Instant Navigations (nawigacje w stylu SPA)
- Do 90% mniej pamięci w dev
- Szybsze buildy z cache
- Sprawdzanie typów przez TypeScript 7
2026-08-03- Hono v4.13- Szybsza ścieżka żądania i odpowiedzi (do 1,25× w benchmarku)
- Obsługa metody HTTP
QUERY(RFC 10008) - Middleware Method Not Allowed
2026-07-30- Vite v8.2- Opcja
inputna najwyższym poziomie konfiguracji - HMR po stronie klienta i HMR workerów w bundled dev
- Adresy sieciowe w terminalu z nazwą interfejsu
- Opcja
2026-07-28- npm skanuje paczki pod kątem malware w chwili publikacji- Nowa wersja jest dostępna zwykle po ok. 5 minutach, w szczycie po 15 i więcej
- Paczka może zostać wstrzymana do ręcznej weryfikacji albo zablokowana
- Paczki o podwójnym zastosowaniu deklarują pole
contentPolicyi plikDISCLOSURE
2026-07-24- Playwright v1.62- Nowy model testów komponentów: stories i galleries z fixture
mount() - Przerywanie operacji przez
AbortSignal - Zrzuty ekranu w formacie WebP
- Hook
Reporter.preprocess()do własnego filtrowania testów
- Nowy model testów komponentów: stories i galleries z fixture
2026-07-23- Webpack v5.109experiments.css,experiments.html,experiments.typescriptiexperiments.asyncWebAssemblydomyślnie"auto"- Generowanie HTML przez
output.html(m.in. favicony, manifest, CSP, SRI) output.resourceHintsz automatycznymmodulepreload- API zgodne z Vite:
import.meta.glob(),import.meta.env, sufiksy?rawi?url - Scope hoisting dla modułów CommonJS
- Wbudowany pasek postępu (
infrastructureLogging.progress)
2026-07-18- Nuxt v4.5- Vite 8
- Rspack 2 przez Rsbuild
- Eksperymentalny streaming SSR
- Stabilne kody błędów (
NUXT_E1001)
2026-07-13- Nx v23.1- Wsparcie TypeScript 6 i Angular 22
- Obsługa myszy w Terminal UI
targetDefaultsjako uporządkowana tablica z filtrami- Raporty wydajności każdego przebiegu
2026-07-10- Storybook v10.5- Framework Angular-Vite (preview)
initialGlobalsw addonie Vitest: testy dla wielu motywów, viewportów i locale- Agentic review: zestawienia zmian wizualnych przygotowane przez AI (eksperymentalne)
- Pluginy dla Claude i Codex (eksperymentalne)
2026-07-08- TypeScript v7.0- Natywny port kompilatora do Go, ~10× szybszy od TypeScript 6.0
- Zrównoleglenie buildu: flagi
--checkers,--builders,--singleThreaded - Nowe domyślne opcje:
strict: true,module: esnext,types: [] - Nowy, portowany cross-platform watch mode
2026-07-08- npm v12- Skrypty cyklu życia zależności domyślnie zablokowane, chyba że zezwala na nie polityka
allowScriptsw głównympackage.json - Zgody zapisuje
npm install-scripts approve, a zatwierdzone skrypty uruchamianpm rebuild allow-gitiallow-remotedomyślnienone- zależności z gita i z adresów URL tarballi wymagają zgody- Usunięta komenda
npm shrinkwrap, pliknpm-shrinkwrap.jsonjest ignorowany - Usunięte komendy
npm adduser,npm starinpm unstar - Nieznane opcje w
.npmrci nieznane flagi CLI kończą się błędem zamiast ostrzeżenia npm initbez domyślnej licencji ISC- Wymaga Node.js 22.22.2+, 24.15.0+ lub 26+
- Skrypty cyklu życia zależności domyślnie zablokowane, chyba że zezwala na nie polityka
2026-07-03- Webpack - wydaniewebpack-dev-server6.0- Kod źródłowy jako natywne ESM (z buildem dla CommonJS)
- Użycie jako plugin webpacka
- Express 5
- Wymagany Node.js 22.15+ i webpack 5.101+
- Usunięte flagi CLI na rzecz
webpack serve - Koniec wsparcia SockJS
2026-07-02- Vite+ w wersji beta- Cache w
vp runz automatycznym śledzeniem zależności vp migratez promptami dla agentów AI- Szablony dla organizacji, obsługa proxy i własnych CA
vp packdo bundlowania bibliotek- Ponad 180 poprawek
- Cache w
2026-06-30- Zatwierdzenie specyfikacji ECMAScript 2026 🎉Math.sumPrecise()(dokładne sumowanie liczb zmiennoprzecinkowych)Iterator.concat()(łączenie iteratorów)Array.fromAsync()Error.isError()- Metody
Map.prototype/WeakMap.prototypez wartością domyślną (getOrInsert) - Metody
Uint8Arraydo konwersji z/do Base64 i Hex JSON.parsez dostępem do surowego źródła w reviverzeJSON.rawJSON()
2026-06-30- Electron v43 - Chromium 150, Node.js 24.17, V8 15.0- Szybszy start (snapshot Node.js, bytecode V8 w cache)
- Zaokrąglone rogi okien bez ramki na Linuksie
- Pobieranie plików domyślnie do folderu Pobrane
- Ostatnia wersja z binarkami 32-bitowymi
2026-06-27- Prettier v3.9- Markdown parsowany przez
micromarkv4 zamiastremark-parsev8 (lepsza zgodność z CommonMark i GFM) - Parser YAML oparty na
yamlv2 - Składnia GraphQL.js v17 (argumenty fragmentów, dyrektywy na definicjach dyrektyw)
- Parser Flow przepisany w Rust przez zespół Flow (mediana parsowania ok. 37% szybsza)
- Ponad 40 poprawek formatowania JavaScriptu i TypeScriptu
- Markdown parsowany przez
2026-06-25- Deno v2.9deno desktop- natywne aplikacje desktopowe z technologii webowych w jednym pliku wykonywalnymdeno installczyta lockfile npm, pnpm, Yarn i Bun- Import CSS jako constructable stylesheets (import attributes)
- Snapshot testing,
Deno.test.each, ponawianie testów i progi pokrycia - Kryptografia postkwantowa (ML-KEM, ML-DSA, SLH-DSA) w Web Crypto
- Czas startu skrócony z 34 ms do 17 ms
2026-06-25- npm blokuje konta o dużym zasięgu po wrażliwej zmianie- Zmiana e-maila albo użycie kodu odzyskiwania 2FA przełącza konto na 72 godziny w tryb tylko do odczytu
- Alert trafia na poprzedni adres e-mail
2026-06-25- Webpack v5.108- Target
universal: jeden bundle ESM dla przeglądarki, workerów, Node.js, Electrona i NW.js - Targety
bunideno - HTML jako entry point i HMR dla modułów HTML
optimization.inlineExportswstawia małe stałe w miejscu importudefineConfigdo typowanej konfiguracji
- Target
2026-06-24- Turborepo v2.10- Łagodne zamykanie zadań (przekazywanie sygnałów zakończenia)
- Odroczone hashowanie wejść generowanych przez wcześniejsze zadania
- Łączenie
--affectedz--filter - Automatyczne czyszczenie lokalnego cache (
cacheMaxAge,cacheMaxSize)
2026-06-23- Vite v8.1- Eksperymentalny bundled dev mode (do 15× szybszy start, 10× szybsze pełne przeładowania)
- Eksperymentalne import mapy dla chunków (koniec kaskady zmian hashy)
- Import WebAssembly zgodny z propozycją ESM Integration
- Opcja
caseSensitivewimport.meta.glob html.additionalAssetSourcesdo wykrywania assetów we własnych elementach
2026-06-22- Astro v7.0- Kompilator
.astroprzepisany w Rust - Nowy pipeline Markdown i MDX oparty na Rust, szybszy silnik renderowania
- Advanced Routing z punktem wejścia
src/fetch.ts - Vite 8 i
compressHTML: 'jsx'domyślnie - Wykrywanie agentów AI i serwer dev w tle
- Kompilator
2026-06-16- Nx v23.0- Nx Agents ok. 4 razy szybsze
- Agentowe
nx migrate: migracje przez prompty AI obok deterministycznych skryptów - Operator
...wtargetDefaultsrozszerza odziedziczone wartości - Plugin
@nx/dotnetstabilny - Pluginy i konfiguracja w TypeScripcie ładowane natywnie przez Node.js (bez
ts-node) - Podpowiadanie komend w bash, zsh, fish i PowerShell
- Wymóg Node.js 22
2026-06-15- GraphQL - GraphQL.js v17, nowa wersja implementacji referencyjnej- Anulowanie wykonania przez
AbortSignal(info.getAbortSignal()) - Stabilne dyrektywy na dyrektywach
- Integracja z
diagnostics_channelz Node.js - Eksperymentalne
@deferi@stream - Wymaga Node.js 22 lub nowszego
- Anulowanie wykonania przez
2026-06-15- Playwright v1.61- Wirtualny authenticator WebAuthn do testowania passkeys (
browserContext.credentials) - API
page.localStorageipage.sessionStorage expect.soft.poll()
- Wirtualny authenticator WebAuthn do testowania passkeys (
2026-06-12- Biome v2.5- Ponad 500 reguł lintera (ponad 70 reguł awansowanych z grupy
nursery) - Pluginy przypisywane do wybranych ścieżek i proponujące poprawki kodu
- Tryb obserwowania plików w komendach
lint,formaticheck - Przejście do definicji w serwerze językowym
- Komenda
biome upgradedla samodzielnych instalacji
- Ponad 500 reguł lintera (ponad 70 reguł awansowanych z grupy
2026-06-09- TanStack - TanStack AI w wersji beta z obsługą obrazów, wideo, audio i rozmów głosowych2026-06-06- Jasmine v6.3.0 - specyfikacje wyłączone przezxdescriberaportowane z powodem pominięcia2026-06-04- Cloudflare przejmuje VoidZero, firmę rozwijającą Vite- Zespół VoidZero z Evanem You przechodzi do Cloudflare
- Fundusz 1 mln USD dla niezależnych twórców ekosystemu Vite
- Vite, Vitest, Rolldown, Oxc i Vite+ zostają open source na licencji MIT
2026-06-03- Angular v22 - era „signal-first”- Stabilne Signal Forms, Resource APIs i Angular Aria
OnPushjako domyślna strategia change detection- Incremental hydration domyślnie
- Vitest jako główny test runner, stabilne MCP w Angular CLI
2026-05-22- Deno v2.8- Nowe komendy
deno audit fix,deno bump-version,deno ci,deno pack,deno transpileideno why - Zgodność z testami Node.js wzrosła z ok. 42% do 76,4%
- Obsługa
import defer - Prefiks
npm:niepotrzebny wdeno addideno install - Inspekcja sieci w Chrome DevTools i
OffscreenCanvas - 3,66x szybsza zimna instalacja pakietów npm
- Nowe komendy
2026-05-22- Staged publishing w npmnpm stage publishwysyła paczkę do kolejki, a dostępna staje się dopiero po zatwierdzeniu przez opiekuna z 2FA- Nowe flagi
--allow-file,--allow-remotei--allow-directoryobok istniejącej--allow-git - Wymaga npm CLI 11.15.0+
2026-05-20- pnpm v11.2 - eksperymentalne wsparcie dlapacquet(port pnpm w Rust) jako backendu instalacji2026-05-20- Webpack v5.107- Eksperymentalne moduły HTML (
experiments.html) - Eksperymentalny TypeScript przez
module.stripTypeScriptTypesz Node.js 22.6+ (experiments.typescript) - Scope hoisting dla CSS Modules
- Adnotacja
#__NO_SIDE_EFFECTS__ - Warunek
module-syncw domyślnychconditionNames
- Eksperymentalne moduły HTML (
2026-05-20- Apollo Client v4.2- Typowane domyślne opcje przez rozszerzanie modułów
RefetchEventManager: odświeżanie po fokusie okna i powrocie sieci- Generyki w hookach przestarzałe na rzecz
TypedDocumentNode
2026-05-15- ESLint v10.4 - helperincludeIgnoreFile()weslint/configdo wczytywania wzorców z.gitignore2026-05-14- Storybook v10.4- Konfiguracja Storybooka przez agentów AI (nowy przepływ w CLI)
- Filtry w sidebarze: nowe, zmienione i powiązane historie według zmian w Gicie
- Framework
@storybook/tanstack-react(routing i server functions) - Szybsze metadane komponentów React (docgen przez TypeScript Language Server)
2026-05-11- pnpm v11.1 - nowe komendy:pnpm audit signatures,pnpm bugs,pnpm owner2026-05-11- Robak Mini Shai-Hulud publikuje na npm 84 złośliwe wersje 42 paczek@tanstack/*- Workflow
pull_request_targeturuchomił kod z forka i zatruł cache GitHub Actions - Token OIDC wyciągnięty z pamięci runnera posłużył do publikacji przez trusted publishing
- Wszystkie publikacje w 6 minut (19:20-19:26 UTC)
- Workflow
2026-05-11- Playwright v1.60- Nagrywanie HAR w tracingu (
tracing.startHar(),tracing.stopHar()) locator.drop()symuluje przeciąganie plików i danych ze schowkatoMatchAriaSnapshot()dla całej strony i opcjaboxesz wymiarami elementówtest.abort()
- Nagrywanie HAR w tracingu (
2026-05-08- Hexo - przypadkowegh repo editzmienia repozytorium na prywatne i kasuje ok. 41 tys. gwiazdek (gwiazdki i obserwujący przywróceni 2026-05-14 z pomocą GitHuba)2026-05-08- Tailwind CSS v4.3- Stylowanie pasków przewijania (
scrollbar-thin,scrollbar-thumb-*) - Narzędzie
@container-size - Narzędzia
zoom-*itab-* @variantz wariantami łączonymi (np.hover:focus)
- Stylowanie pasków przewijania (
2026-05-07- Rolldown v1.0- Stabilne API zgodne z pluginami Rollupa
- 10-30× szybszy od Rollupa, na poziomie esbuild
- Parser i minifikator z Oxc
- Filtry hooków ograniczające wywołania między Rust a JavaScriptem
- Domyślny bundler Vite od wersji 8
2026-05-06- Electron v42 - Chromium 148, Node.js 24.15, V8 14.8- Binarka pobierana przy pierwszym uruchomieniu, nie przy instalacji
- Powiadomienia na macOS przez
UNNotification(wymagają podpisu) - Touch ID dla WebAuthn na macOS
2026-05-06- lint-staged v17.0- Wymóg Node.js 22.22.1+ i Gita 2.32+
- Opcja
--hide-allukrywa niezacommitowane zmiany i nowe pliki na czas zadań yamljako opcjonalna zależnośćparseArgsznode:utilzamiastcommander
2026-05-05- Node.js v26- V8 14.6:
Map.prototype.getOrInsert(),Iterator.concat() - Domyślnie włączone
Temporal API- nowoczesna alternatywa dlaDate - Undici 8 (klient HTTP i
fetch), npm 11.12 - Usunięte
http.Server.prototype.writeHeader()i moduły_stream_* module.register()przestarzałe, usunięta flaga--experimental-transform-types- Ostatnia linia w starym harmonogramie, LTS (Lithium) planowane na październik 2026
- V8 14.6:
2026-04-28- pnpm v11.0- Wymóg Node.js 22+
- Czysty ESM
- Store w SQLite
minimumReleaseAge=1440domyślnie (ochrona przed supply chain)
2026-04-24- Lightweight Charts v5.2- Hit testing serii (wbudowanych i własnych) w zdarzeniach myszy
- Opcja
hoveredSeriesOnTop(seria pod kursorem na wierzchu) - Opcja
tickMarkDensitydla skali cen
2026-04-24- Nx v22.7- Sandboxing zadań: wykrywanie odczytów i zapisów poza zadeklarowanymi
inputsioutputs - Demon zużywa ok. 200 MB pamięci zamiast 1,5 GB
- Cache współdzielony między worktree Gita
- Sandboxing zadań: wykrywanie odczytów i zapisów poza zadeklarowanymi
2026-04-22- Rspack v2.0- Pakiety wyłącznie ESM (
@rspack/core,@rspack/cli,@rspack/dev-server) - Szybszy persistent cache i ponad 20% mniej pamięci
- Eksperymentalne React Server Components
- Tree shaking destrukturyzacji w CommonJS i adnotacje
#__NO_SIDE_EFFECTS__ - Zależności
@rspack/dev-serverzredukowane ze 192 do 1
- Pakiety wyłącznie ESM (
2026-04-16- Cypress v15.14.0 - oficjalne wsparcie dla TypeScript 6 i Vite 82026-04-11- Jasmine v6.2.0- Nowy asynchroniczny matcher
toBeRejectedWithMatching - Koniec wsparcia Firefox ESR 102, 115 i 128
- Nowy asynchroniczny matcher
2026-04-08- Webpack v5.106- Hook
compiler.hooks.validatei opcjavalidate - CSS Modules z
exportType: "style"bezstyle-loader - Tree shaking destrukturyzacji
require()w CommonJS - Eksperymentalne source phase imports dla WebAssembly (
experiments.sourceImport) create-webpack-appjako zalecany sposób zakładania projektu
- Hook
2026-04-06- Trusted publishing w npm obsługuje CircleCI - obok GitHub Actions i GitLab CI/CD2026-04-03- ESLint v10.2- Reguły świadome języka (
meta.languages) Temporalrozpoznawany jako wbudowany global (propozycja na etapie 4 w TC39)
- Reguły świadome języka (
2026-04-02- esbuild v0.28- Importy tekstu przez
with { type: 'text' }(propozycja TC39 na etapie 3) - Weryfikacja sum kontrolnych przy zapasowym pobieraniu binarki
- Importy tekstu przez
2026-04-01- Playwright v1.59- Screencast API: nagrania z adnotacjami akcji i nakładkami
browser.bind()udostępnia uruchomioną przeglądarkę dlaplaywright-clii@playwright/mcpnpx playwright test --debug=clido debugowania testów przez agentów AI- Obsługa
await using(automatyczne sprzątanie zasobów)
2026-03-30- Turborepo v2.9- Do 96% krótszy czas do startu pierwszego zadania
- Stabilne
turbo query(skrótyturbo query affectediturbo query ls) - Obsługa cyklicznych zależności między pakietami
- Eksperymentalny eksport metryk przez OpenTelemetry
- Future flags i deprecjacje przed wersją 3.0
2026-03-30- typescript-eslint v8.58 - wsparcie TypeScript 62026-03-26- Premiera Samsung Browser for Windows - przeglądarka Samsunga na Chromium trafia na PC z asystentem AI zbudowanym z Perplexity2026-03-23- TypeScript v6.0 - ostatnia wersja oparta na JavaScript, przed przepisaniem kompilatora do Go w TypeScript 7.0- Masowe deprecacje starych opcji (
es5,outFile,moduleResolution node/classic,baseUrl) - Nowe flagi
--stableTypeOrderingi--ignoreConfig(zgodność z 7.0) - Target
es2025z libRegExp.escape, typy Temporal API iMap.getOrInsert
- Masowe deprecacje starych opcji (
2026-03-20- ESLint v10.1 - bulk suppressions dostępne w Node.js API (applySuppressions: true)2026-03-18- Next.js 16.2- ~400% szybszy
next dev - ~50% szybsze renderowanie
- Ponad 200 poprawek w Turbopack
- ~400% szybszy
2026-03-18- Storybook v10.3- Storybook MCP dla Reacta (preview): agenci AI dostają dostęp do komponentów, historii, dokumentacji i testów
- Ponad 1400 poprawek dostępności samego interfejsu Storybooka
- CSF Factories dla Vue, Angulara i Web Components
- Wsparcie Vite 8, Next.js 16.2 i ESLint 10
- Eksperymentalny framework dla Astro
2026-03-15- jsdom v29.0- Własna implementacja CSSOM zamiast
@acemir/cssomicssstyle CSSCounterStyleRule,CSSNamespaceRulei gettermatcheswCSSMediaRuleiCSSSupportsRule- Wymóg Node.js 22.13+
- Własna implementacja CSSOM zamiast
2026-03-13- Vite+ w wersji alfa- Open source na licencji MIT zamiast licencji komercyjnej
- Jedno CLI
vp(vp dev,vp check,vp test,vp build) - Zarządzanie wersjami Node.js (
vp env) - Konfiguracja w jednym pliku
vite.config.ts
2026-03-12- Vite v8.0- Zunifikowany bundler Rolldown (Rust) zamiast esbuild i Rollupa
- Do 10-30× szybsze buildy (Linear: z 46 s do 6 s)
- Wspólny toolchain z kompilatorem Oxc (parsowanie, transformacje, minifikacja)
- Wbudowana opcja włączenia Vite Devtools
resolve.tsconfigPathsdo aliasów ścieżek ztsconfig.json- Automatyczna obsługa
emitDecoratorMetadata - Przekazywanie błędów z przeglądarki do terminala (
server.forwardConsole) @vitejs/plugin-reactv6 z Oxc zamiast Babela
2026-03-11- Electron v41 - Chromium 146, Node.js 24.14, V8 14.6- Skrót integralności ASAR osadzany w aplikacji na macOS
- Cienie okien bez ramki na Waylandzie
- Automatyczne aktualizacje MSIX
- PDF-y renderowane w tym samym
WebContents
2026-03-10- Astro v6.0- Fonts API
- CSP API
- Live Content Collections
- Eksperymentalny kompilator w Rust
2026-03-10- Node.js - nowy harmonogram wydań: od v27 jedno wydanie główne rocznie (kwiecień), każde z LTS2026-03-03- WCAG 3.0 - szkic roboczy- Model zgodności: wymagania podstawowe (core), uzupełniające (supplemental) i deklaracje (assertions)
- Poziomy Bronze, Silver i Gold: wszystkie wymagania podstawowe i rosnąca część pozostałych
- Wymagania w formacie „applies when” i „except when”
2026-03-03- Solid.js v2.0 beta- Obliczenia mogą zwracać Promise, a graf sam wstrzymuje i wznawia pracę
<Loading>zamiast<Suspense>dla pierwszego ładowania,isPending()dla odświeżeń w tle- Deterministyczne batchowanie z
flush() - Mutacje przez
action()i optymistyczne aktualizacje (createOptimistic) onSettledzamiastonMount- Usunięte dyrektywy
use:
2026-02-25- Deno v2.7- Stabilne
TemporalAPI (bez flagi--unstable-temporal) - Oficjalne buildy dla Windows na ARM
- Pole
overrideswpackage.json - Nowe API
Deno.spawn(),Deno.spawnAndWait()iDeno.spawnAndWaitSync() - Komenda
deno createi V8 14.5
- Stabilne
2026-02-24- React Foundation- Oficjalny start fundacji pod skrzydłami Linux Foundation
- React, React Native i JSX nie należą już do Meta
- 8 członków Platinum: Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion i Vercel
- Dyrektor wykonawczy: Seth Webster
- Kierunek techniczny ustalają kontrybutorzy, niezależnie od zarządu fundacji
2026-02-22- Jasmine v6.1.0- Raportowanie błędów składowych
AggregateError - Koniec wsparcia Safari 16 i 17
- Raportowanie błędów składowych
2026-02-19- Underscore.js v1.13.8 - łatka bezpieczeństwa: DoS w_.flatteni_.isEqual(CVE-2026-27601), obecny we wszystkich wcześniejszych wersjach2026-02-18- Tailwind CSS v4.2- Nowe palety:
mauve,olive,mistitaupe - Oficjalny plugin webpacka (
@tailwindcss/webpack) - Więcej narzędzi dla właściwości logicznych (
pbs-*,inline-*) - Narzędzie
font-features-*
- Nowe palety:
2026-02-16- typescript-eslint v8.56 - wsparcie ESLint v102026-02-15- Biome v2.4- Formatowanie i lintowanie CSS i GraphQL osadzonych w template literals (np. styled-components)
- 15 reguł dostępności dla HTML
- Lepsze parsowanie Vue, Svelte i Astro
- Profiler reguł (
--profile-rules) - Raporter SARIF
2026-02-06- ESLint v10.0.0- Koniec wsparcia dla Node.js starszego niż 20.19 oraz dla v21 i v23
- Całkowite usunięcie
eslintrc(pliki.eslintrc.*i.eslintignore, flagi--env,--rulesdir,--ignore-path), zostaje tylko Flat Config - Szukanie
eslint.config.*od katalogu każdego lintowanego pliku, a nie od katalogu roboczego - Śledzenie referencji w JSX (mniej fałszywych alarmów, np. w
no-unused-vars) - Usunięte przestarzałe metody kontekstu reguł (
context.getFilename(),context.getSourceCode()i inne) - Wbudowane definicje typów w Espree i
eslint-scope
2026-02-04- Webpack publikuje plan na 2026 rok, przygotowujący webpack 6- Natywne CSS Modules bez pluginów
- Target
universalz czystym ESM (Node.js, przeglądarka, Bun, Deno) - TypeScript bez
ts-loader - HTML jako entry point bez
html-webpack-plugin - Jeden
minimizer-webpack-pluginzamiast osobnych minifikatorów - Brak daty wydania webpack 6
2026-02-03- Deno udostępnia platformę Deno Deploy w wersji GA- Automatyczne wykrywanie i budowanie frameworków (SvelteKit, Next.js, Astro)
- Podgląd każdego commita i osobne bazy danych dla pull requestów
- Bazy Deno KV i Postgres (partnerstwo z Prisma)
- Wbudowane logi, trace’y i metryki
- Premiera Deno Sandbox (mikro-VM z Linuksem startujące w mniej niż sekundę)
2026-02-03- Webpack v5.105resolve.tsconfig: aliasy ztsconfig.jsonbeztsconfig-paths-webpack-plugin- Automatyczny wybór eksportów warunkowych dla Web Workerów
import.defer()dla modułów kontekstowychdevtooljako tablica (osobne source mapy dla CSS i JS)- Natywne moduły Node.js przez
importw outpucie ESM - Poprawki CVE-2025-68157 i CVE-2025-68458 (
experiments.buildHttp)
2026-02-??- Bun v1.3Bun.SQL(MySQL/Postgres/SQLite)- Wbudowany klient Redis
- HMR i React Fast Refresh out-of-the-box
2026-01-28- Gemini w Chrome dostaje agenta „auto browse” (podgląd dla subskrybentów Google AI Pro i Ultra w USA)2026-01-28- Yarn v6 Preview - Yarn przepisany od zera w Rust- Kod w repozytorium
yarnpkg/zpm - Next.js z ciepłym cache: z 577 ms do 184 ms
- Yarn Switch zamiast Corepack do wyboru wersji
- Lazy Installs zamiast Zero-installs
- Yarn 5 ostatnią wersją w JavaScript (30 miesięcy wsparcia po stabilnej 6)
- Stabilna wersja planowana na Q3 2026 lub później
- Kod w repozytorium
2026-01-23- Playwright v1.58- Tryb CLI ze skills dla agentów AI (
playwright-cli), oszczędniejszy w tokenach niż MCP - Oś czasu w raporcie HTML dla scalonych raportów
- Motyw
systemi wyszukiwanie w UI Mode i Trace Viewerze - Usunięte selektory
_reacti_vue
- Tryb CLI ze skills dla agentów AI (
2026-01-17- jQuery v4.0- Pierwsze duże wydanie od prawie 10 lat, 20 lat po premierze jQuery
- Koniec wsparcia IE 10 i starszych, Edge Legacy oraz Android Browser (IE 11 ma zniknąć w jQuery 5.0)
- Usunięte przestarzałe API, m.in.
jQuery.isArray,jQuery.parseJSON,jQuery.trim,jQuery.typeijQuery.isFunction - Kod źródłowy przeniesiony z AMD na moduły ES
- Obsługa Trusted Types (
TrustedHTML) zgodna z CSP - Kolejność zdarzeń fokusu zgodna ze specyfikacją W3C (
blur,focusout,focus,focusin) - Wersja slim bez
DeferrediCallbacks(ok. 19,5 KB po gzip), całość mniejsza o ponad 3 KB
2026-01-17- Jasmine v6.0.0- Prywatne API usunięte z przestrzeni nazw
jasmine - Nowy
HtmlReporterV2z paskiem postępu zamiast kropek i zakładką Performance z najwolniejszymi testami - Zdarzenia reporterów głęboko klonowane, bez właściwości
expectediactualw wynikach asercji forbidDuplicateNamesdomyślnie włączone- Ostrzeżenia o monkey patchingu, przestarzałe
HtmlReporter,HtmlSpecFilterijsApiReporter - Eksperymentalna opcja
safariYieldStrategy: "time"przyspieszająca testy w Safari - Koniec wsparcia Node 18
ConsoleReporterz pakietujasmineprzeniesiony do@jasminejs/reporters- Seria przejściowa: ostatnia zgodna z
karma-jasmine(z ostrzeżeniami), Jasmine 7 porzuca te narzędzia
- Prywatne API usunięte z przestrzeni nazw
2026-01-16- Electron v40 - Chromium 144, Node.js 24.11, V8 14.4- Dostęp do schowka wprost z renderera przestarzały
- Import zewnętrznej współdzielonej tekstury jako
VideoFrame
2026-01-15- Apollo Client v4.1- Obsługa dyrektywy
@stream GraphQL17Alpha9Handlerdla nowego formatu@deferi@streamuseFragmenticlient.watchFragmentprzyjmują tablice
- Obsługa dyrektywy
2026-01-14- Prettier v3.8 - wsparcie Angulara 21.1 (m.in. kilka@casepod rząd i spread w szablonach)2026-01-07- Tailwind CSS - Tailwind Labs zwalnia 75% inżynierów- Powód według Adama Wathana: wpływ AI na biznes
- Ruch w dokumentacji o ok. 40% niższy niż na początku 2023
- Przychody niższe o blisko 80%
2025
2025-12-18- Biome - Honeycomb i Morgante Pell przekazują repozytoria GritQL (język pluginów Biome) organizacji Biome, a twórca GritQL dołącza do maintainerów2025-12-16- Lightweight Charts v5.1 - scalanie danych (data conflation) przyspiesza duże wykresy po oddaleniu2025-12-15- Zod v4.2- Obsługa specyfikacji Standard JSON Schema
z.fromJSONSchema()tworzy schemat Zod z JSON Schema- Unia wykluczająca
z.xor()(pasuje dokładnie jeden wariant)
2025-12-11- React v19.2.3- Kolejne luki w React Server Components, znalezione przy próbach złamania łatki React2Shell
- DoS przez nieskończoną pętlę w Server Functions (CVE-2025-55184 i CVE-2025-67779, CVSS 7.5)
- Wyciek kodu źródłowego Server Functions (CVE-2025-55183, CVSS 5.3)
- Nowe luki nie pozwalają na zdalne wykonanie kodu
- Łatka okazała się niepełna, bezpieczne są dopiero 19.0.4, 19.1.5 i 19.2.4 z 2026-01-26
2025-12-10- Deno v2.6dx- odpowiedniknpx- Eksperymentalny type checker
tsgo(kompilator TypeScript w Go) deno audit- sprawdzanie zależności pod kątem CVEdeno approve-scriptsi opcjaminimumDependencyAge- Source phase imports dla WebAssembly
2025-12-09- npm unieważnia wszystkie klasyczne tokenynpm logintworzy 2-godzinny token sesji, publikacja wymaga 2FA- Tworzenie, listowanie i unieważnianie tokenów granularnych z CLI
- 2FA domyślnie włączone dla nowych paczek
2025-12-04- TanStack - alfa TanStack AI, zestawu narzędzi AI niezależnego od frameworka i dostawcy- Serwer w JavaScripcie/TypeScripcie, PHP i Pythonie
- Adaptery OpenAI, Anthropic, Gemini i Ollama
- Klienty dla Vanilla JS, Reacta i Solida
- Devtools pokazujące pracę modelu na serwerze i w kliencie
2025-12-03- React v19.2.1- Łatka krytycznej luki React2Shell (CVE-2025-55182, CVSS 10.0)
- Zdalne wykonanie kodu bez uwierzytelnienia przez spreparowane żądanie do Server Function
- Podatne
react-server-dom-webpack,react-server-dom-parcelireact-server-dom-turbopackw wersjach 19.0, 19.1.0, 19.1.1 i 19.2.0 - Dotyczy m.in. Next.js, React Router, Waku, Expo i
@vitejs/plugin-rsc - Poprawki także w 19.0.1 i 19.1.2
- Pierwsze ataki (m.in. grup powiązanych z Chinami) w ciągu kilku godzin od ujawnienia
2025-12-02- Anthropic przejęło Bun - runtime zostaje open-source (MIT), ale staje się częścią ekosystemu Claude Code2025-12-02- Jasmine v5.13.0- Nowy asymetryczny tester
jasmine.allOf - Opcje
extraItStackFramesiextraDescribeStackFramesnaprawiające nazwy plików w raportach przy opakowanymitidescribe(np. zone.js) - Safari 26 wspierane w trybie best-effort
- Nowy asymetryczny tester
2025-11-27- Prettier v3.7- Spójne formatowanie klas i interfejsów w TypeScripcie i Flow
- Nowe API dla autorów pluginów, m.in.
printPrettierIgnored()i asynchroniczneparser.preprocess() - Front matter w Handlebars, składnia
matchwe Flow, opisy w wykonywalnych dokumentach GraphQL
2025-11-25- Playwright v1.57- Chrome for Testing zamiast Chromium (poza Linuksem na ARM64)
- Zakładka Speedboard w raporcie HTML (testy od najwolniejszych)
webServer.waitczeka na wzorzec w logach serwera
2025-11-24- Druga fala robaka w npm - Shai-Hulud 2.0- 796 paczek (1092 wersje) z łącznie ponad 20 mln pobrań tygodniowo
- Uruchamianie w skrypcie
preinstall, payload w środowisku Bun - Gdy kradzież i replikacja zawiodą, próbuje usunąć katalog domowy ofiary
- Instaluje self-hosted runner GitHub jako tylną furtkę
- Skradzione sekrety trafiają do ponad 14 tys. publicznych repozytoriów na GitHubie
2025-11-20- Angular v21- Signal Forms
- Zoneless change detection jako domyślne
- Vitest jako stabilny test runner
- HttpClient dostarczany domyślnie
2025-11-11- Node.js v25.2 - type stripping (uruchamianie plików.ts) oznaczony jako stabilny2025-11-09- esbuild v0.27- Loader
binaryużywaUint8Array.fromBase64, gdy środowisko docelowe go obsługuje - Kompilator Go 1.25.4 i wyższe wymagania systemowe
- Tego samego dnia v0.26: publikacja w npm przez trusted publishing
- Loader
2025-11-05- npm blokuje tworzenie klasycznych tokenów- Nowe tokeny granularne z prawem zapisu domyślnie wymagają 2FA, dla CI/CD jest opcja „Bypass 2FA”
- Tokeny granularne z prawem zapisu ograniczone do 90 dni
2025-10-30- VoidZero, firma rozwijająca Vite, pozyskuje 12,5 mln USD w rundzie A (lider: Accel)2025-10-28- Storybook v10.0- Tylko ESM (instalacja mniejsza o 29%)
- Automockowanie modułów przez
sb.mock(Vite i Webpack) - CSF Factories dla Reacta w wersji preview
- Wymóg Node.js 20.16+, 22.19+ lub 24+
2025-10-24- Biome v2.3- Pełne wsparcie Vue, Svelte i Astro (eksperymentalne)
- Wsparcie Tailwind CSS v4 (
css.parser.tailwindDirectives) - Nowa składnia ignorowania:
!(bez lintowania, z indeksowaniem typów) i!!(całkowite wykluczenie) - Raportery Checkstyle i RDJSON
2025-10-22- Vitest v4.0- Stabilny Browser Mode (osobne paczki providerów, np.
@vitest/browser-playwright) - Testy regresji wizualnej:
toMatchScreenshot - Ślady Playwright (opcja
trace) page.frameLocatordla iframe’ów- Matchery
expect.assertiexpect.schemaMatching(Standard Schema) - Nowy reporter
tree, usuniętybasic
- Stabilny Browser Mode (osobne paczki providerów, np.
2025-10-22- Nx v22.0- Self-healing CI w Nx Cloud: analiza i propozycje poprawek dla nieprzechodzących PR-ów
- Przepisana wizualizacja grafu projektów
- Pluginy
@nx/dotneti@nx/maven - Cache w bazie danych obowiązkowy, usunięte
createNodesV1
2025-10-21- Next.js 16- Cache Components (PPR +
use cache) - Turbopack stabilny domyślnie
proxy.tszastępujemiddleware.ts- Next.js DevTools MCP
- Cache Components (PPR +
2025-10-21- Premiera przeglądarki ChatGPT Atlas od OpenAI (macOS) z eksperymentalnym trybem agenta2025-10-15- Node.js v25- V8 14.1: szybszy
JSON.stringify, konwersja base64/hex wUint8Array - Web Storage (
localStorage,sessionStorage) domyślnie włączone - Model uprawnień z nową flagą
--allow-net - Globalny
ErrorEvent, przenośny compile cache, JSPI dla WebAssembly - Usunięte
SlowBufferorazfs.F_OK,fs.R_OK,fs.W_OK,fs.X_OK - npm 11.6
- V8 14.1: szybszy
2025-10-14- Lit - dołącza do OpenJS Foundation jako Impact Project i przestaje być projektem wyłącznie Google2025-10-14- View Transitions API - przejścia w obrębie dokumentu w Baseline Newly available dzięki Firefoksowi 144document.startViewTransition()iview-transition-name- Właściwość
view-transition-class view-transition-name: match-element- Selektor
:active-view-transition
2025-10-13- Vite+ - zapowiedź zunifikowanego toolchainu na ViteConf 2025- Testy przez
vite test(Vitest) - Linting przez
vite lint(Oxlint) - Formatowanie przez
vite fmt(Oxfmt) - Task runner dla monorepo z cache (
vite run) - Planowana licencja komercyjna (bezpłatna dla osób prywatnych, open source i małych firm)
- Testy przez
2025-10-09- Pierwsza stacjonarna edycja ViteConf w Amsterdamie (9-10 października)- Zapowiedź Vite+
- Wtyczki JavaScript w Oxlint zgodne z API ESLinta
- Vite DevTools z interfejsem do analizy buildu
- Nitro v3 jako plugin Vite
2025-10-07- React Compiler v1.0- Pierwsze stabilne wydanie, automatyczna memoizacja zamiast ręcznych
useMemoiuseCallback - Działa z React 17+ i React Native (dla React 17 i 18 potrzebny pakiet
react-compiler-runtime) - Reguły lintera oparte na kompilatorze w
eslint-plugin-react-hooks - Domyślnie włączony w nowych aplikacjach Expo (SDK 54+), opcja w szablonach Vite i Next.js
- Meta Quest Store: do 12% szybsze ładowanie i nawigacja, część interakcji ponad 2,5× szybsza
- Pierwsze stabilne wydanie, automatyczna memoizacja zamiast ręcznych
2025-10-07- React Foundation - zapowiedź- Meta ogłasza przeniesienie React i React Native do nowej fundacji
- Linux Foundation zapowiada jej utworzenie (ogłoszenie na React Conf 2025)
- Członkowie założyciele: Amazon, Callstack, Expo, Meta, Microsoft, Software Mansion i Vercel
- Dyrektor wykonawczy: Seth Webster (szef zespołu React w Meta)
2025-10-06- Playwright v1.56- Playwright Agents:
planner,generatorihealertworzą i naprawiają testy przez LLM page.consoleMessages(),page.pageErrors()ipage.requests()
- Playwright Agents:
2025-10-05- Jasmine v5.12.0 - wycofane dokładne filtrowanie specyfikacji z 5.11.0, które psuło filtrowanie w Karmie2025-10-01- React v19.2<Activity />componentuseEffectEventcacheSignal- Performance Tracks
- Partial Pre-rendering
2025-09-30- Premiera Opera Neon - agentowej przeglądarki AI w płatnej subskrypcji2025-09-27- Jasmine v5.11.0detectLateRejectionHandlingdziała także wbeforeAlliafterAll- Dokładne filtrowanie po kliknięciu w link w reporterze HTML
- Koniec wsparcia Safari 15
2025-09-24- WCAG 2.2 jako norma ISO/IEC 40500:2025 - drugie wydanie normy ISO/IEC 40500- Treść identyczna z WCAG 2.2 z 2023-10-05
- Norma dostępna bezpłatnie; W3C ogłosiło ją 2025-10-21
2025-09-23- TanStack Start v1 RC - kandydat do wydania 1.0 frameworka full-stack opartego na TanStack Router- Typowany routing oparty na plikach
- Izomorficzne funkcje serwerowe
- Wbudowany streaming
- Integracja z TanStack Query (prefetching, cache, hydracja)
2025-09-22- GitHub ogłasza plan zabezpieczenia łańcucha dostaw npm- Wycofanie klasycznych tokenów
- 2FA przez FIDO zamiast TOTP
- Tokeny granularne z czasem życia 7 dni
- Publikacja tokenami domyślnie zablokowana, koniec obejścia 2FA przy publikacji lokalnej
- Więcej dostawców trusted publishing
2025-09-18- Gemini w Chrome dla wszystkich użytkowników desktopu (Mac i Windows) w USA2025-09-15- Hexo v8.0- Wymóg Node.js 20+ (koniec wsparcia Node.js 16 i 18)
- Zmienna
timestampw permalinkach - Walidacja adresu
urlw konfiguracji
2025-09-14- Samoreplikujący się robak Shai-Hulud w npm- Pierwsza zainfekowana paczka to
rxnt-authentication@0.0.3, potem m.in.@ctrl/tinycolorz ponad 2 mln pobrań tygodniowo - Skrypt
postinstallszukał sekretów narzędziem TruffleHog i wykradał tokeny npm, GitHub i chmur - Z przejętym tokenem npm publikował zainfekowane wersje kolejnych paczek ofiary
- Sekrety trafiały do publicznego repozytorium
Shai-Huludna koncie ofiary - GitHub usunął z rejestru ponad 500 zainfekowanych paczek
- Pierwsza zainfekowana paczka to
2025-09-10- Deno v2.5- Zestawy uprawnień w
deno.json(flaga-P) - Hooki testów
beforeAll,beforeEach,afterAlliafterEach - Własne nagłówki w handshake’u WebSocket
Deno.bundle()(niestabilne) i pliki HTML jako punkt wejściadeno bundle- V8 14.0 i TypeScript 5.9
- Zestawy uprawnień w
2025-09-09- Deno wydaje framework Fresh 2.0- Fresh jako plugin Vite
- HMR w wyspach (islands)
- Przepisany rdzeń i szybsze renderowanie dzięki
precompile - Wbudowana integracja z OpenTelemetry
- Przeniesienie pakietu na JSR
2025-09-08- Phishing na opiekuna paczek npm - złośliwe wersjechalk,debugi 16 innych paczek- Fałszywy e-mail z domeny
npmjs.helpwyłudził login, hasło i kod TOTP - 18 paczek z łącznie ponad 2 mld pobrań tygodniowo
- Kod w przeglądarce podmieniał adresy portfeli kryptowalut w transakcjach
- Złośliwe wersje zniknęły z rejestru po kilku godzinach
- Fałszywy e-mail z domeny
2025-09-04- Atlassian ogłasza przejęcie The Browser Company, twórców Arc i Dia, za 610 mln USD2025-09-04- WCAG 3.0 - szkic roboczy- Wszystkie wymagania i deklaracje (assertions) o statusie „Developing”
- Wymagania bardziej szczegółowe niż kryteria sukcesu WCAG 2, więc jest ich więcej
2025-09-04- GraphQL - specyfikacja w wydaniu September 2025, pierwszym od października 2021- Obiekty wejściowe OneOf (
@oneOf) - Współrzędne schematu (schema coordinates)
- Opisy (descriptions) w dokumentach z operacjami
- Szersze wsparcie
@deprecated - Pełny zakres Unicode w gramatyce
- Obiekty wejściowe OneOf (
2025-09-02- Sąd federalny w USA nie nakazuje Google sprzedażyChrome(wyrok w sprawie United States v. Google), ale zakazuje wyłącznych umów o domyślną wyszukiwarkę2025-08-30- Jasmine v5.10.0- Opcja
detectLateRejectionHandling: odrzucone obietnice obsłużone z opóźnieniem nie są raportowane jako błędy - Nowe
getSpecPropertydo odczytu danych zapisanych przezsetSpecProperty - Czas trwania specyfikacji w reporterze HTML
- Firefox 140 (ESR) wśród wspieranych przeglądarek
- Opcja
2025-08-26- Nx - atak „s1ngularity” na łańcuch dostaw- Złośliwe wersje
nx(20.9.0-20.12.0 i 21.5.0-21.8.0) oraz części pakietów@nx/*opublikowane skradzionym tokenem npm - Skrypt
postinstallszukał sekretów, próbował użyć lokalnych CLI AI (Claude, Gemini) i wysyłał wyniki do publicznych repozytoriów na koncie ofiary - Przyczyna: podatny workflow GitHub Actions z
pull_request_target - Pakiety usunięte po ok. 4 godzinach, Nx przeszedł na npm Trusted Publishers i ręczne zatwierdzanie wydań z 2FA
- Złośliwe wersje
2025-08-23- Zod v4.1- Kodeki
z.codec(): dwukierunkowa transformacja (.decode(),.encode()) - Metoda
.safeExtend() - Formaty
z.hash()iz.hex()
- Kodeki
2025-08-22- ESLint v9.34 - wielowątkowe lintowanie (flaga--concurrency)2025-08-21- Apollo Client v4- Rdzeń niezależny od Reacta (hooki w
@apollo/client/react) - Bundle mniejszy o 20-30% (stan lokalny
@clientopcjonalny) - Konkretne klasy błędów zamiast
ApolloError - RxJS zamiast
zen-observable - Typy w przestrzeniach nazw (np.
useQuery.Options) - Właściwość
dataStatedo zawężania typów wyniku - Codemod do migracji
- Rdzeń niezależny od Reacta (hooki w
2025-08-20- Cypress v15- Cypress Studio z edycją testów inline
- Koniec wsparcia dla Node 18/23, Webpack 4, Vite 4, Angular 17
2025-08-19- MDN - nowy frontend Fred- Web Components (Lit) z renderowaniem po stronie serwera
- Funkcje Baseline Widely available, nowsze z polyfillami albo jako progressive enhancement
- Szybka wyszukiwarka dostępna z każdej strony
- Przebudowana nawigacja, typografia i ikony (Lucide)
2025-08-06- Oracle w odpowiedzi na petycję Deno zaprzecza, że „JavaScript” to nazwa generyczna2025-08-01- TypeScript v5.9--module node20(stabilny, implikujetarget es2023)- Składnia
import defer * as ...(leniwa ewaluacja modułu) - Odchudzony
tsc --init, rozwijane hovery w edytorze
2025-07-31- Node.js v22.18 - type stripping domyślnie włączony w linii LTS 222025-07-31- Trusted publishing przez OIDC w npm ogólnie dostępny- Publikacja z GitHub Actions i GitLab CI/CD bez długożyjących tokenów
- Provenance dodawany automatycznie, bez flagi
--provenance - Wymaga npm CLI 11.5.1+
2025-07-28- Copilot Mode w Microsoft Edge - eksperymentalny, opcjonalny tryb AI w przeglądarce2025-07-19- Jasmine v5.9.0- Identyfikatory timerów z mock clock nie kolidują już z natywnymi
- Koniec testowania na Node 18 starszym niż 18.20.5
2025-07-15- Nuxt v4.0- Nowa struktura katalogu
app/ - Ulepszone DX i performance
- Nowa struktura katalogu
2025-07-09- Premiera przeglądarki Comet od Perplexity (najpierw dla subskrybentów Max, od 2025-10-02 za darmo dla wszystkich)2025-07-09- Webpack v5.100- HMR dla outputu ES modules
- Pełne
splitChunksw trybie ESM output - Obsługa słowa kluczowego
using - Eksperymentalne
import defer VirtualUrlPlugindla schematuvirtual:
2025-07-09- Zod v4- Do 14× szybsze parsowanie stringów (tablice 7×, obiekty 6,5×)
- 100× mniej instancjacji typów w kompilatorze TypeScriptu
- 2× mniejszy bundle rdzenia
- Wariant
zod/miniz funkcyjnym API (bundle do 6,6× mniejszy) - Metadane schematów w rejestrach
- Wbudowana konwersja do JSON Schema (
z.toJSONSchema()) - Typy template literal (
z.templateLiteral()) - Jeden parametr
errordo własnych komunikatów błędów - Formaty stringów jako funkcje najwyższego poziomu (
z.email())
2025-07-02- Deno v2.4- Powrót
deno bundle(esbuild, tree shaking, minifikacja) - Import plików jako tekst i bajty (
type: "text",type: "bytes") - Stabilne OpenTelemetry (bez
--unstable-otel) - Flaga
--preloadi komendadeno update Buffer,globalisetImmediatedostępne wszędzie bez flag
- Powrót
2025-06-25- Zatwierdzenie specyfikacji ECMAScript 2025 🎉- Iterator Helpers (
map,filter,take,drop,flatMap,reduce,toArray,forEach,some,every,find) Promise.try()Float16ArrayorazDataView.prototype.{getFloat16, setFloat16}- Regular Expression Modifiers (inline flags)
- JSON Module Import (
import data from "./file.json" with { type: "json" }) - Import Attributes
- Nowe metody
Set:intersection,union,difference,symmetricDifference,isSubsetOf,isSupersetOf,isDisjointFrom RegExp.escape()
- Iterator Helpers (
2025-06-24- Vite v7.0- Wymagany Node.js 20.19+ / 22.12+
- Dystrybucja wyłącznie jako ESM
- Domyślny target buildu
'baseline-widely-available'(m.in. Chrome 107, Safari 16.0) - Pakiet
rolldown-vitejako zamiennik z bundlerem Rolldown - Hook
buildAppw Environment API - Usunięte legacy API Sassa i
splitVendorChunkPlugin
2025-06-23- Prettier v3.6- Szybki CLI z Prettier 4 dostępny za flagą
--experimental-cli - Plugin
@prettier/plugin-oxcz parseramioxcioxc-tsnapisanymi w Rust - Plugin
@prettier/plugin-hermesz parserem Flow od Meta - Osobny parser
mjml
- Szybki CLI z Prettier 4 dostępny za flagą
2025-06-18- TTAB oddala zarzut oszustwa we wniosku Deno przeciw Oracle, spór o generyczność i porzucenie znaku „JavaScript” toczy się dalej2025-06-17- Biome v2.0 - nazwa kodowa Biotype- Pierwszy linter JS/TS z regułami świadomymi typów bez kompilatora TypeScript
- Analiza wieloplikowa (skaner plików projektu)
- Pluginy lintera w GritQL
- Obsługa monorepo przez zagnieżdżone konfiguracje (
"root": false,"extends": "//") - Asysty (assists), m.in. przebudowane sortowanie importów i
useSortedKeys - Komentarze
// biome-ignore-alli zakresybiome-ignore-start/biome-ignore-end - Eksperymentalny formatter HTML
2025-06-11- Zamknięta beta przeglądarki AI Dia od twórców Arc2025-06-10- Oxlint v1.0 - stabilny linter z projektu Oxc napisany w Rust- Ponad 500 reguł z ESLinta, typescript-eslint i popularnych pluginów
- 50-100× szybszy od ESLinta
- Działa bez konfiguracji (
npx oxlint@latest)
2025-06-07- Jasmine v5.8.0saveArgumentsByValueprzyjmuje funkcję określającą sposób zapisu argumentów- Nazwy funkcji w wyjściu pretty printera
- Szybszy
autoTickw Node - Node 24 wśród wspieranych środowisk
2025-05-30- Vite - techniczny podgląd pakieturolldown-vitez bundlerem Rolldown- Zamiennik pakietu
vitebez innych zmian w projekcie - GitLab: build z 2,5 min do 40 s
- Excalidraw: build z 22,9 s do 1,4 s
- Zamiennik pakietu
2025-05-28- Angular v20- Stabilne Signals (
signal,effect,linkedSignal) - Incremental hydration jako stable
- Stabilne Signals (
2025-05-28- Storybook v9.0- Storybook Test z Vitest: testy interakcji, dostępności (axe-core) i wizualne
- Raporty pokrycia kodu testami komponentów
- Instalacja mniejsza o 48%
- Tagi do filtrowania i grupowania historii
- Tworzenie historii z poziomu interfejsu
2025-05-27- The Browser Company kończy rozwój nowych funkcji w Arc i stawia na Dia2025-05-18- Leaflet v2.0 alpha- Tylko nowoczesne przeglądarki (koniec wsparcia IE)
- Pointer Events zamiast zdarzeń myszy i dotyku
- Moduły ESM i tree shaking
- Klasy ES6 i konstruktory (
new Marker()zamiastL.marker()) - Bez globalnego
Lw rdzeniu (zostaje wleaflet-global.js)
2025-05-13- ESLint lintuje HTML dzięki pluginowi językowemu@html-eslint/eslint-plugin2025-05-10- lint-staged v16.0- Procesy uruchamiane przez
nano-spawnzamiastexeca - Usunięta flaga
--shell - Wymóg Node.js 20.18+
- Procesy uruchamiane przez
2025-05-06- Node.js v24- V8 13.6:
Float16Array,using,RegExp.escape(),Error.isError() - npm 11 i Undici 7
- Globalny
URLPattern - Model uprawnień pod flagą
--permission(wcześniej--experimental-permission) url.parse()oznaczone jako przestarzałe (ostrzeżenie w runtime)- LTS Krypton od 2025-10-28
- V8 13.6:
2025-05-05- Nx v21.0- Continuous tasks: długotrwałe zadania (np. serwer deweloperski) jako zależności innych zadań
- Terminal UI (na start bez Windows)
- Migrate UI w Nx Console
- Wymóg Node.js 20.19+, usunięte custom task runners i
useLegacyCache
2025-05-01- Deno v2.3deno compilez FFI i natywnymi dodatkami Node.js- Lokalne pakiety npm (pole
patchwdeno.json) deno fmtformatuje CSS, HTML i SQL osadzone w tagged templates- Flagi
--npmi--jsrwdeno add - Podpisany plik wykonywalny na Windowsie
2025-04-26- Jasmine v5.7.0Clock#autoTick- mock clock tyka automatycznie i asynchronicznie- Ścieżka specyfikacji jako tablica nazw (
getPath()), np. dla integracji z IDE - Nowy system budowania bez Grunta, przejście na ESLint 9
2025-04-10- Hugo v0.146 - przepisany, prostszy system szablonów2025-04-04- ESLint v9.24 - bulk suppressions: nowa reguła jako"error"bez naprawiania istniejących naruszeń2025-04-03- Tailwind CSS v4.1- Cienie tekstu (
text-shadow-*) - Maski z obrazów i gradientów (
mask-*) - Kolorowe cienie
drop-shadow-* - Warianty
pointer-fineipointer-coarse - Fallbacki dla starszych przeglądarek (Safari 15+)
@source noti@source inline()
- Cienie tekstu (
2025-04-01- Backbone v1.6.12025-03-28- React v19.1- Owner Stack i API
captureOwnerStack(tylko w trybie deweloperskim) - Suspense wszędzie: na kliencie, serwerze i podczas hydracji
- Pakiet
react-server-dom-parcel(Server Components z Parcelem) useIdgeneruje identyfikatory poprawne w selektorach CSS («r123»zamiast:r123:)
- Owner Stack i API
2025-03-21- Playwright - serwer MCP dostaje własne repozytoriummicrosoft/playwright-mcp- Agenci AI sterują przeglądarką przez zrzut drzewa dostępności, bez zrzutów ekranu i modeli wizyjnych
- Pakiet
@playwright/mcp(pierwsze wersje alfa w npm od 2025-03-13)
2025-03-19- TSC Node.js decyduje o wycofaniu Corepack z dystrybucji Node.js od wersji 25 (nadal dostępny przeznpm install -g corepack)2025-03-07- ESLint v9.22defineConfig()z typowaniem i kluczemextends- Helper
globalIgnores()
2025-02-28- TypeScript v5.8--erasableSyntaxOnly(zgodność z type-strippingiem Node.js 23.6)require()modułów ESM pod--module nodenext- Granularne sprawdzanie każdej gałęzi zwracanej z warunku
2025-02-19- Deno v2.2- Wbudowane OpenTelemetry (logi, metryki, trace’y)
- Pluginy do
deno lint(API wzorowane na ESLint) i 15 nowych reguł - Moduł
node:sqlite - Eksperymentalne WebTransport i QUIC
- 5-20x szybsze podpowiedzi w
deno lsp
2025-02-18- ESLint oficjalnie lintuje CSS (@eslint/css, m.in. regułarequire-baseline)2025-02-14- Create React App przechodzi w tryb utrzymania- Ostrzeżenie przy instalacji
- Zalecane frameworki (Next.js, React Router, Expo) albo Vite, Parcel lub Rsbuild
2025-02-09- Prettier v3.5- Opcja
objectWrap(--object-wrap=collapse) - Eksperymentalna opcja
experimentalOperatorPosition(operatory na początku linii) - Konfiguracja w TypeScripcie (
prettier.config.ts,.prettierrc.ts)
- Opcja
2025-02-08- Jasmine v5.6.0- Nowe matchery
toHaveNoOtherSpyInteractions,toBeNullishitoHaveClasses - Czytelniejsze błędy, gdy do asynchronicznego matchera trafia coś innego niż obietnica
- Safari przeniesione do wsparcia best-effort
- Nowe matchery
2025-02-08- esbuild v0.25- Poprawka pierwszej zgłoszonej podatności: serwer deweloperski wysyłał
Access-Control-Allow-Origin: * - CORS wyłączony, serwer odrzuca żądania z innym hostem niż podany w
--serve= serve()zwraca tablicęhosts
- Poprawka pierwszej zgłoszonej podatności: serwer deweloperski wysyłał
2025-01-30- Lightweight Charts v5.0- Wiele paneli (multi-pane) na jednym wykresie
- Nowe typy: krzywa rentowności i wykres opcji
chart.addSeries(LineSeries)zamiastaddLineSeries()- Markery i znak wodny jako wtyczki (tree shaking)
- Bundle mniejszy o 16% (35 KB)
- Składnia ES2020
- Szersze wsparcie kolorów (sRGB, Display P3)
2025-01-27- Jekyll v4.4- Tag
highlightz wyróżnianiem wybranych linii kodu - Własny port livereload (
--livereload-port,livereload_port) - Koniec wsparcia Ruby starszego niż 2.7 (zalecany 3.2+)
base64,csvijsonjako zależności runtime dla nowszych wersji Ruby
- Tag
2025-01-22- Tailwind CSS v4.0- Nowy silnik Oxide oparty na Rust (Lightning CSS)
- Konfiguracja CSS-first
2025-01-22- pnpm v10.0lifecycle scriptswyłączone domyślnie (bezpieczeństwo)- Nowy format lockfile
2025-01-21- Bun v1.2- Stabilny
node:test - Lepsza kompatybilność z npm
- Stabilny
2025-01-16- Cypress v142025-01-16- Vitest v3.0- Nowe reportery z mniejszym migotaniem
- Projekty definiowane w
vitest.config(poleworkspace) - Kilka przeglądarek w jednej konfiguracji Browser Mode (
instances) - Filtrowanie testów po numerze linii (
vitest foo.js:10) - Przeprojektowane publiczne API
vitest/node
2025-01-10- ESLint v9.18 - stabilne pliki konfiguracji w TypeScript (eslint.config.ts)2025-01-07- Node.js v23.6 - uruchamianie TypeScriptu bez flagi (domyślnie włączone--experimental-strip-types)
2024
2024-12-16- npm v11- Publikacja wersji przedpremierowej wymaga jawnego
--tag - Publikacja z tagiem
latestwymaga wersji wyższej niż najnowsza w rejestrze --ignore-scriptsobejmuje wszystkie skrypty cyklu życia, takżepreparenpm initpyta o poletype- Usunięta komenda
npm hook - Wymaga Node.js 20.17.0+ lub 22.9.0+
- Publikacja wersji przedpremierowej wymaga jawnego
2024-12-12- WCAG 3.0 - szkic roboczy- Przebudowana struktura wytycznych
- Pierwsze drzewa decyzyjne dla wytycznych
Clear meaning,Image alternativesiKeyboard focus appearance
2024-12-11- View Transitions API - Safari 18.2- Przejścia między dokumentami (
@view-transition) view-transition-name: auto
- Przejścia między dokumentami (
2024-12-05- React v19- Actions: asynchroniczne funkcje w
startTransition(stan oczekiwania, błędy, formularze) - Nowe hooki
useActionState,useFormStatusiuseOptimistic - API
usedo odczytu Promise i Context w trakcie renderowania - Stabilne Server Components i Server Actions (
"use server") refjako props (bezforwardRef) i<Context>jako provider- Metadane (
<title>,<meta>,<link>) w komponentach, przenoszone do<head> - Arkusze stylów z
precedence, skryptyasyncoraz APIpreloadipreinit - Usunięte
ReactDOM.render,findDOMNode,propTypesi string refs
- Actions: asynchroniczne funkcje w
2024-12-03- Astro v5.0- Content Layer API
- Server Islands
- Domyślne prerenderowanie
2024-12-03- Node.js v22.12 -require()modułów ESM domyślnie włączone w linii LTS2024-12-02- Jasmine v5.5.0- Opcja
forbidDuplicateNameswymuszająca unikalne nazwy specyfikacji i zestawów - Różnice wartości właściwości w diffach także przy brakujących lub nadmiarowych właściwościach
- Opcja
2024-11-26- Vite v6.0- Eksperymentalne Environment API dla autorów frameworków
- Wsparcie Node.js 18, 20 i 22+ (koniec Node.js 21)
- Nowoczesne API Sassa domyślnie
- Nowe domyślne
resolve.conditions - Assety wykrywane w większej liczbie elementów HTML
- Własne nazwy plików CSS w trybie biblioteki
2024-11-22- TypeScript v5.7--rewriteRelativeImportExtensions(.ts→.jsw importach)- Wykrywanie zmiennych nigdy nie zainicjalizowanych
- Target/lib
es2024(Object.groupBy,Promise.withResolvers)
2024-11-22- Deno składa w USPTO wniosek o unieważnienie znaku towarowego „JavaScript” należącego do Oracle- Zarzuty: generyczność nazwy, porzucenie znaku i oszustwo przy odnowieniu w 2019
- Ponad 14 000 podpisów pod listem otwartym, m.in. Brendana Eicha
2024-11-21- Deno v2.1- Pierwsza wersja LTS (poprawki przez 6 miesięcy)
- Natywny import modułów WebAssembly
deno init --npm- Osadzanie plików w
deno compile(--include) - Komenda
deno outdatedi zależności między zadaniami wdeno task
2024-11-19- Angular v192024-11-18- Playwright v1.49- Aria snapshots:
toMatchAriaSnapshot()porównuje drzewo dostępności zapisane w YAML - Kanały
chromeimsedgeprzechodzą na nowy tryb headless tracing.group()grupuje akcje w trace
- Aria snapshots:
2024-10-21- React Compiler Beta- Beta na npm pod tagiem
@beta - Obsługa React 17 i 18 przez
react-compiler-runtime - Działa w produkcji w Facebooku, Threads, Instagramie i Quest Store
- Beta na npm pod tagiem
2024-10-21- Next.js 15- Wsparcie dla React 19
- Stabilne caching
- Turbopack stable dla
dev
2024-10-19- Svelte v5.0.02024-10-16- Node.js v23- V8 12.9, npm 10.9
require()modułów ESM domyślnie włączone (nadal eksperymentalne)node --runoznaczone jako stabilne- Koniec wsparcia dla 32-bitowego Windowsa
- Test runner: domyślny reporter
spec, globy w pokryciu kodu - Usunięte m.in.
util.isString(),util.isFunction(),util.log(),util._extend()
2024-10-12- Jasmine v5.4.0- Poprawione usuwanie duplikatów w długich komunikatach wyjątków z pustymi liniami (np. z testing-library)
- Przestarzałe właściwości
expectediactualw wynikach asercji - Firefox 128 (ESR) wśród wspieranych przeglądarek
2024-10-09- Deno v2.0- Wsteczna kompatybilność z Node.js i npm (
package.json,node_modules, specyfikatorynpm:) - Komendy menedżera pakietów:
deno install,deno add,deno remove - Workspaces i monorepo, także mieszane Deno i npm
- Stabilna biblioteka standardowa na JSR
deno fmtformatuje HTML, CSS i YAML- Zapowiedź kanału Long-Term Support (pierwszym LTS jest v2.1)
- Wsteczna kompatybilność z Node.js i npm (
2024-10-07- Nx v20.0- Automatycznie zarządzane TypeScript project references (preset
ts) - Koniec pakietów
@nrwl/* - Cache w bazie danych zamiast plików
@nx/rspackstabilny- Nowe workspace’y domyślnie z ESLint 9 i flat config
- Komenda
nx importprzenosi projekty razem z historią Gita
- Automatycznie zarządzane TypeScript project references (preset
2024-10-05- Koniec wsparcia (EOL) dla ESLint v8, wsparcie komercyjne przejmuje HeroDevs2024-10-03- ESLint oficjalnie lintuje JSON i Markdown@eslint/json(JSON, JSONC, JSON5)@eslint/markdown(następcaeslint-plugin-markdown)- Pierwsze oficjalne pluginy językowe (klucz
languages)
2024-10-01- Evan You zakłada firmę VoidZero rozwijającą Vite- 4,6 mln USD finansowania seed (lider: Accel)
- Cel: jeden szybki toolchain w Rust dla Vite, Vitest, Rolldown i Oxc
- Priorytet: Rolldown jako jedyny bundler Vite w dev i buildzie
2024-09-16- View Transitions API - Safari 18.0 obsługuje przejścia w obrębie dokumentu2024-09-12- Biome v1.9 - wydanie rocznicowe- Stabilny formatter i linter CSS (domyślnie włączone)
- Stabilny formatter i linter GraphQL
- Eksperymentalna komenda
biome searchoparta na GritQL - Opcjonalne wsparcie
.editorconfig
2024-09-10- Express.js v5.0.02024-09-09- TypeScript v5.6- Blokowanie zawsze prawdziwych/fałszywych sprawdzeń nullish/truthy
- Metody-helpery iteratorów (
map/filter/take) --noCheck,--noUncheckedSideEffectImports
2024-09-07- Jasmine v5.3.0- Szybsze działanie w Safari i w Playwright WebKit na Windows
- Błąd, gdy szpiegowanie nie ma efektu (np. metody
localStoragew Firefox i Safari 17)
2024-08-28- Rspack v1.0- Zgodność z API webpack 5 i ponad 80% z 50 najpopularniejszych pluginów
- Ok. 10× szybszy od webpacka
- Module Federation 2.0
- Lazy compilation dla dużych projektów
- Narzędzia Rstack: Rsbuild, Rslib, Rspress i Rsdoctor
2024-08-23- Mermaid v11- Nowy silnik renderowania z wyborem algorytmu układu (np. ELK)
- Wygląd odręczny (
look: handDrawn) - Nowy typ: diagram pakietu (packet)
- Parsery oparte na Langium (
@mermaid-js/parser) - Bundle IIFE budowany esbuildem zamiast UMD
2024-08-22- Deno v1.46 - ostatnia wersja 1.x- Krótsze uruchamianie (
deno hello.ts) i jednoliterowe flagi uprawnień (-R,-W,-N) deno serve --parallelna wielu wątkachdeno fmtdla HTML, CSS, YAML, Astro, Svelte i Vue (za flagami niestabilnymi)- Komendy
deno removeideno clean
- Krótsze uruchamianie (
2024-08-06- Node.js v22.6 - eksperymentalne uruchamianie TypeScriptu flagą--experimental-strip-types2024-08-06- SWC w Node.js v22.6 - flaga--experimental-strip-typeskorzysta z Amaro, nakładki na@swc/wasm-typescript(parser TypeScriptu z SWC skompilowany do WebAssembly)2024-07-31- typescript-eslint v8.0- Wsparcie ESLint v9
- Stabilne
projectService(prostsza i szybsza konfiguracja lintowania z informacją o typach) ban-typeszastąpione przezno-empty-object-type,no-unsafe-function-type,no-wrapper-object-typesino-restricted-typesno-var-requireszastąpione przezno-require-imports- Wymóg Node.js 18.18+ i TypeScript 4.8.4+
2024-07-20- Jasmine v5.2.0- Czytelniejszy komunikat matchera
toHaveSize - Logi debugowania w reporterze HTML z zachowanymi białymi znakami
- Poprawione filtrowanie stack trace w Firefox z otwartymi narzędziami deweloperskimi
- Node 22 wśród wspieranych środowisk
- Czytelniejszy komunikat matchera
2024-07-11- Deno v1.45- Workspaces i monorepo, także mieszane z npm
deno installinstaluje lokalnie, globalnie tylko z--globaldeno init --libi flaga--frozendla lockfile- Lifecycle scripts pakietów npm po
--allow-scripts
2024-07-08- Vitest v2.0- Domyślna pula
forkszamiastthreads - Podstawy nowego Browser Mode (
userEvent,page.screenshot, providerpreview) - Komenda
vitest list - Współbieżne zestawy testów
- Chai 5
- Domyślna pula
2024-07-05- ESLint zapowiada przepisanie rdzenia i pluginy językowe- Rdzeń niezależny od języka i runtime’u (
@eslint/core) - Nowe CLI w pakiecie
@eslint/node - Oficjalne pluginy
@eslint/js,@eslint/jsoni@eslint/markdown
- Rdzeń niezależny od języka i runtime’u (
2024-07-01- Powstaje fundacja Ladybird Browser Initiative - przeglądarka na nowym silniku pisanym od zera, bez kodu z Blink, WebKit i Gecko2024-06-26- Zatwierdzenie specyfikacji ECMAScript 2024 🎉Array.prototype.at()Object.groupBy()Map.groupBy()Temporal.PlainDate()Temporal.PlainTime()Temporal.PlainMonthDay()Temporal.PlainYearMonth()Promise.withResolvers()- Top-Level Await
- Well-formed Unicode Strings
- Class Fields and Static Properties
- WeakRefs
- Import Assertions
- RegExp Match Indices
2024-06-24- Playwright v1.45 - Clock API (page.clock) do sterowania czasem i timerami w testach2024-06-23- Jekyll v3.10 - gałąź 3.x (z niej korzysta GitHub Pages) zależy wprost od gemów, których nowsze wersje Ruby nie dołączają domyślnie2024-06-20- TypeScript v5.5- Wnioskowane predykaty typów (
arr.filter(x => x != null)zawęża) --isolatedDeclarations- Walidacja składni regex, zmienna
${configDir}w tsconfig
- Wnioskowane predykaty typów (
2024-06-17- htmx v2.0- Koniec wsparcia IE
- Czystsze API
2024-06-11- View Transitions API - Chrome 126 wprowadza przejścia między dokumentami tego samego pochodzenia (MPA) przez regułę@view-transition2024-06-04- Turborepo v2.0- Nowy interfejs terminala z interaktywnymi zadaniami
- Tryb watch świadomy zależności
- Klucz
pipelinewturbo.jsonzmieniony natasks - Strict Mode dla zmiennych środowiskowych domyślnie
- Licencja MIT i polityka LTS
2024-06-03- Testing Library -@testing-library/reactv16 przenosi@testing-library/domi@types/react-domdo peer dependencies (trzeba je instalować samodzielnie)2024-05-22- Angular v182024-05-21- SolidStart v1.0 - pierwsze stabilne wydanie metaframeworka Solid (oparte na Vinxi i Nitro) po ponad 3 latach prac2024-05-06- Nx v19.0- Plugin do Gradle (pierwszy krok poza JavaScript)
- Grupowanie zadań Atomizera (shardy testów e2e)
- Generatory
convert-to-inferreddla Playwright, Cypress i ESLint - Zmienne środowiskowe w bundlu tylko z prefiksem
NX_PUBLIC_
2024-04-24- Node.js v22- V8 12.4 z włączonym kompilatorem Maglev, npm 10.5
require()synchronicznych modułów ESM za flagą--experimental-require-module- Klient
WebSocketdomyślnie dostępny globalnie node --run <skrypt>zpackage.json, tryb--watchstabilnyfs.glob()ifs.globSync(), wyższy domyślnyhighWaterMarkstrumieni- LTS Jod od 2024-10-29
2024-04-24- WCAG 2.1 AA w ADA Title II - rozporządzenie Departamentu Sprawiedliwości USA- Strony WWW i aplikacje mobilne władz stanowych i lokalnych w USA
- Pierwotne terminy: 2026-04-24 (od 50 tys. mieszkańców) i 2027-04-26 (mniejsze jednostki)
- 2026-04-20: rozporządzenie tymczasowe przesunęło terminy na 2027-04-26 i 2028-04-26
2024-04-15- Biome v1.7biome migrate eslintprzenosi konfigurację ESLint (także flat config)biome migrate prettierobsługujeoverridesi.prettierignore- Opcja
--stagedsprawdza tylko pliki z indeksu Gita - Raporty w JSON (
--reporter=json-pretty)
2024-04-10- Testing Library -@testing-library/reactv15 i@testing-library/domv10- Wymóg Node.js 18+
aria-query5.3 zmienia rozpoznawanie części ról
2024-04-08- pnpm v9.0- Wymóg Node 18+
- Nowy format lockfile
2024-04-05- ESLint v9.0- Flat Config (
eslint.config.js) domyślnym formatem,eslintrcoznaczony jako przestarzały - Wymóg Node.js 18.18+ (koniec wsparcia dla v19)
- Usunięte reguły
valid-jsdocirequire-jsdocoraz formatery pozastylish,html,jsonijson-with-meta - Config Inspector (
eslint --inspect-config) - Nowa reguła
no-useless-assignment - Nieużywane dyrektywy
eslint-disabledomyślnie zgłaszane jako ostrzeżenia
- Flat Config (
2024-04-01- Bun v1.1 - pełne wsparcie dla Windows2024-03-29- Gulp v5.0- Strumienie oparte na bibliotece streamx
- Kodowanie strumieni domyślnie UTF-8
- Jedna biblioteka globów (
anymatch) we wszystkich API - Wymóg Node.js 10.13+
- Flaga
--requirezmieniona na--preload
2024-03-11- Storybook v8.0- Wbudowane testy wizualne (Visual Tests addon)
- Eksperymentalne React Server Components (na start w Next.js)
- Szybsze generowanie kontrolek:
react-docgendla Reacta,vue-component-metadla Vue - Wsparcie Vite 5 i nowy pakiet
@storybook/testoparty na Vitest - Odświeżony interfejs i przebudowany widok mobilny
2024-03-09- Yarn v1.22.22 - ostatnie jak dotąd wydanie zamrożonej linii 1.x (Yarn Classic)2024-03-08- Rolldown - Evan You otwiera kod bundlera w Rust projektowanego z myślą o przyszłości Vite2024-03-06- TypeScript v5.4- Zachowanie zawężenia w domknięciach po ostatnim przypisaniu
- Typ narzędziowy
NoInfer<T> --module preserve, typyObject.groupBy/Map.groupBy
2024-03-05- Ekran wyboru przeglądarki w Safari w iOS 17.4 dla Unii Europejskiej (Digital Markets Act)- Pierwsze uruchomienie Safari pokazuje listę przeglądarek do wyboru
- Przeglądarki w UE mogą używać innych silników niż WebKit
2024-03-01- Deno uruchamia JSR (JavaScript Registry)- Rejestr projektowany pod TypeScript, tylko ESM
- Działa z Deno, Node.js, Bun i Cloudflare Workers
- Automatyczna dokumentacja API i ocena jakości pakietów
- Provenance przy publikacji z GitHub Actions
- Open source na licencji MIT
2024-02-19- Hugo v0.123 - wydanie nazwane „the million pages release”- Przepisany rdzeń Hugo
- Limit pamięci (
HUGO_MEMORYLIMIT) i build strumieniowy dla dużych serwisów
2024-02-12- typescript-eslint v7.0- Oficjalne wsparcie flat config
- Nowy pakiet
typescript-eslintz funkcjąconfig(), łączący parser i plugin - Wymóg ESLint 8.56+, Node.js 18.18+ i TypeScript 4.7.4+
2024-02-09- Hono v4 - Hono idzie w stronę full-stack- Generowanie stron statycznych (
toSSG()zhono/ssg) - Komponenty klienckie (
hono/jsx/dom) - Routing oparty na plikach w osobnym meta-frameworku HonoX
- Generowanie stron statycznych (
2024-02-08- Vite v5.1- Eksperymentalne Vite Runtime API (m.in. HMR przy SSR)
- Preprocesory CSS w wątkach roboczych (
css.preprocessorMaxWorkers) build.assetsInlineLimitjako funkcjassr.external: trueexternalizuje wszystkie paczki
2024-02-05- Backbone v1.6.02024-02-03- Nx v18.0 - Project Crystal- Pluginy wnioskują zadania z istniejących konfiguracji (np.
vite.config.ts) - Pluginy rejestrowane w
nx.json nx initproponuje pluginy dla istniejącego monorepo
- Pluginy wnioskują zadania z istniejących konfiguracji (np.
2024-01-25- Deno v1.40TemporalAPI za flagą--unstable-temporalimport.meta.filenameiimport.meta.dirname- Dekoratory TC39 (etap 3)
- Deprecacje przed Deno 2 (
Deno.run(),Deno.serveHttp())
2024-01-25- Husky v9.0husky initkonfiguruje projekt jedną komendą- Rozmiar ok. 3 kB (v8 miał ok. 6 kB)
husky installzastąpione przezhusky- Przejście na ESM i koniec wsparcia Node.js 14 i 16
- Publikacja w npm z
--provenance
2024-01-23- WAI-ARIA 1.3 - pierwszy publiczny szkic roboczy- Nowe role:
suggestion,comment,mark - Nowe atrybuty:
aria-description,aria-braillelabel,aria-brailleroledescription aria-detailsmoże wskazywać kilka elementów (lista ID)- Kolejny szkic roboczy: 2026-06-04
- Nowe role:
2024-01-12- Prettier v3.2 - obsługa JSONC i wyrażeń ICU w szablonach Angulara2024-01-08- Biome v1.5- Sprawdzanie tylko zmienionych plików (
--changed) - Adnotacje w pull requestach przy
biome cina GitHub Actions - Komenda
biome explainz opisem reguł offline - 97% zgodności formattera z Prettierem
- Sprawdzanie tylko zmienionych plików (
2023
2023-12-25- typescript-eslint - reguły formatujące oznaczone jako przestarzałe (v6.16.0), ich rozwój przejmuje ESLint Stylistic (@stylistic/...)2023-12-23- TanStack Router v1- W pełni typowane trasy, parametry i nawigacja
- Parametry wyszukiwania (search params) jako stan z walidacją
- Wbudowane loadery z cache SWR
- Generowanie tras z plików
2023-12-21- SvelteKit v2.0- Wymóg Vite 5 i Node 18.13+
- Shallow routing
2023-12-05- Astro v4.0- Dev Toolbar
- View Transitions API w core
2023-12-05- Turborepo v1.11 - koniec migracji z Go na Rust: pierwsze wydanie w całości w Rust (ok. 70 tys. linii Go przeniesione w 15 miesięcy)2023-12-04- Redux v5.0.02023-12-04- Vitest v1.0- Opcje
poolipoolOptionszamiast starych flag - Wymagany Node.js 18+ (jak w Vite 5)
- API
provide/injectmiędzy głównym wątkiem a testami test.sequential()- Flaga
--project coverage.alldomyślnie włączone
- Opcje
2023-11-27- Prettier - Biome zdobywa nagrodę za formatter w Rust zgodny z Prettierem- Nagrodę 10 tys. USD ogłosił 2023-11-09 Christopher Chedeau, Vercel (Guillermo Rauch) podwoił ją do 20 tys. USD, napi.rs dołożył 2,5 tys. USD
- Warunek: przejście 95% testów Prettiera
- Biome spełnił go w około 3 tygodnie
2023-11-20- TypeScript v5.3- Atrybuty importu (
import ... with { type: "json" }) - Zawężanie w
switch (true)i przy porównaniach ztrue/false - Wsparcie
Symbol.hasInstancedlainstanceof
- Atrybuty importu (
2023-11-16- Vite v5.0- Rollup 4
- Wymagany Node.js 18+
- Przestarzałe API Node.js w CommonJS
- Podmiana
defineiimport.meta.env.*przez AST zamiast wyrażeń regularnych server.warmupdo wstępnej transformacji modułów- Manifest domyślnie w katalogu
.vite
2023-11-13- Prettier v3.1- Flaga
--experimental-ternariesz nowym formatowaniem operatora warunkowego - Wcięcia w zagnieżdżonych operatorach warunkowych
- Obsługa control flow z Angulara 17 (
@if,@for)
- Flaga
2023-11-08- Angular v172023-11-03- ESLint v8.53 - reguły formatujące (spacje, średniki, cudzysłowy) oznaczone jako przestarzałe na rzecz osobnego formattera2023-10-31- Hexo v7.0- Kod przepisany na TypeScript
- Top-level await w pluginach i skryptach
- Usunięte tagi
gist,youtube,jsfiddleivimeo(zastępuje je pluginhexo-tag-embed) - Wymóg Node.js 14+
2023-10-26- Next.js 14- Server Actions
- Partial Prerendering
- Turbopack
2023-10-23- Yarn v4.0- Hardened Mode (weryfikacja lockfile względem rejestru)
- Wersja Yarna przez Corepack i pole
packageManagerzamiastyarnPath - Wymagany Node.js 18+
- Silnik constraints w JavaScript zamiast Prologu
- Oficjalne wtyczki wbudowane (m.in.
typescript,interactive-tools) - Zero-installs domyślnie wyłączone w nowych projektach
- Do 3,9× szybsze instalacje niż 3.6
2023-10-19- Nx v17.0- Plugin do Vue
- Eksperymentalna komenda
nx release(wersje, changelogi, publikacja) - Typowane konfiguracje Module Federation i generator
federate-module - Integracja z Nx Cloud wbudowana w pakiet
nx
2023-10-17- TanStack Query v5- Hooki przyjmują zawsze jeden obiekt opcji
cacheTimezmienia nazwę nagcTime, statusloadingnapending- Stabilny Suspense (
useSuspenseQueryi pokrewne) - Hook
useMutationStatedo współdzielenia stanu mutacji - Prostsze optymistyczne aktualizacje (przez
variables) - Bundle o ok. 20% mniejszy niż w v4
- Devtools przepisane niezależnie od frameworka
2023-10-17- Node.js v21- V8 11.8, npm 10.2
fetchi Web Streams oznaczone jako stabilne- Eksperymentalny klient
WebSocketza flagą--experimental-websocket - Flaga
--experimental-default-typeprzełączająca domyślny typ modułów - Globalny
navigator(navigator.hardwareConcurrency) - Test runner: globy w argumentach i flaga
--test-concurrency
2023-10-10- Lit v3.0- Koniec wsparcia IE11
- Paczki publikowane jako ES2021
- Standardowe dekoratory TC39 (z
accessor) @lit/react,@lit/taski@lit/contextwychodzą z Labs- Eksperymentalny kompilator szablonów
@lit-labs/compiler
2023-10-05- WCAG 2.2 - rekomendacja W3C- 9 nowych kryteriów sukcesu (m.in.
2.4.11 Focus Not Obscured (Minimum),3.3.8 Accessible Authentication (Minimum)) 2.5.8 Target Size (Minimum): cel kliknięcia co najmniej 24 x 24 px CSS (z wyjątkami)- Usunięte kryterium
4.1.1 Parsing - Aktualizacja 2024-12-12: poprawki redakcyjne (errata)
- 9 nowych kryteriów sukcesu (m.in.
2023-10-04- Lightweight Charts v4.1- Wtyczki: własne typy serii i wizualizacje
- Skala pozioma z wartościami cen (np. wykres opcji)
setCrosshairPosition()do ustawiania krzyżyka z kodu
2023-09-20- Deno v1.37- Kernel Jupyter (
deno jupyter) - Lepsze wsparcie VS Code i LSP (automatyczne wykrywanie
deno.json) - Test runner do 14 000 testów na sekundę,
Deno.test.onlyi raporter TAP
- Kernel Jupyter (
2023-09-15- Remix v2.0- ESM-only
- Usunięcie deprecation
- Zbliżenie do Next.js App Router
2023-09-08- Bun v1.0 - szybki all-in-one runtime, package manager i test runner (JavaScriptCore zamiast V8)2023-08-31- npm v10- Wymaga Node.js 18.17.0+ lub 20.5.0+
- Nowy agent sieciowy
@npmcli/agent - W trybie workspaces brak skryptu jest błędem, pomija go dopiero
--if-present
2023-08-30- Astro v3.0- View Transitions API
- Szybsze renderowanie
- Image Optimization
2023-08-29- Cypress v132023-08-29- Biome v1.0 - zunifikowany toolchain: linter + formatter w Rust (fork Rome po upadku firmy Rome Tools Inc.)2023-08-24- TypeScript v5.2- Deklaracje
using/await using(Explicit Resource Management,Symbol.dispose) - Metadane dekoratorów (
Symbol.metadata) symboljako kluczeWeakMap/WeakSet, typytoSorted/toReversed/with
- Deklaracje
2023-07-28- Backbone v1.5.02023-07-25- Premiera przeglądarki Arc 1.0 dla macOS, bez listy oczekujących2023-07-24- WCAG 3.0 - szkic roboczy- Status dojrzałości przy każdej sekcji
- Deklaracje (assertions): potwierdzenie wykonania procesu, np. testów z użytkownikami
- Nowe propozycje modelu zgodności
2023-07-22- Jasmine v5.1.0- Nowe
throwUnlessithrowUnlessAsyncrzucające wyjątek zamiast zgłaszać porażkę (np. dlawaitForz testing-library) - Poprawione formatowanie obiektu
Errorz właściwościącause, która nie jest błędem
- Nowe
2023-07-10- typescript-eslint v6.0- Nowe konfiguracje:
recommended,strict,stylistici ich warianty-type-checked parserOptions.project: truesam znajduje najbliższytsconfig.json- Wymóg TypeScript 4.2.4+, koniec wsparcia Node.js 12 i 14 oraz ESLint 6
- Nowe konfiguracje:
2023-07-05- Deno v1.35- Stabilne
Deno.serve() - Obsługa
node:http,node:httpsinode:zlib(działają m.in. axios i puppeteer) ReadableStream.from()iHeaders.getSetCookie()
- Stabilne
2023-07-05- Prettier v3.0- Kod źródłowy przepisany na ESM, obsługa pluginów ESM i asynchronicznych parserów
trailingComma: "all"domyślnie (wcześniej"es5")- Asynchroniczne API:
format(),check()iresolveConfig()zwracająPromise - Wymóg Node.js 14+
- Markdown: koniec automatycznych spacji między znakami łacińskimi a chińskimi i japońskimi
--parser=cssprzyjmuje tylko czysty CSS (SCSS i Less wymagają własnego parsera)
2023-06-27- Zatwierdzenie specyfikacji ECMAScript 2023 🎉Array.prototype.toSortedArray.prototype.toSplicedArray.prototype.toReversedArray.prototype.withArray.prototype.findLastArray.prototype.findLastIndex- Support for
#!comments at the beginning of files to better facilitate executable ECMAScript files - Allowed the use of most Symbols as keys in weak collections
2023-06-22- Svelte v4.0.02023-06-20- New W3C website - Article about changes2023-06-12- Ember v5.02023-06-06- WAI-ARIA 1.2 - rekomendacja W3C- Nowe role:
generic,paragraph,blockquote,caption,code,emphasis,strong,insertion,deletion,subscript,superscript,time,meter - Nowy wzorzec
combobox - Atrybuty ARIA w JavaScript (
ARIAMixin, np.element.ariaLabel) - Przestarzała rola
directory aria-disabled,aria-errormessage,aria-haspopupiaria-invalidprzestarzałe jako atrybuty globalne
- Nowe role:
2023-06-01- TypeScript v5.1- Łatwiejsze niejawne zwroty
undefined - Niepowiązane typy getterów i setterów
- Oddzielenie typów elementów JSX (
JSX.ElementType, komponenty asynchroniczne)
- Łatwiejsze niejawne zwroty
2023-05-13- Angular v162023-05-13- Jasmine v5.0.0- Równoległe uruchamianie testów w Node przez pakiet
jasmine - Koniec wsparcia Node 12, 14 i 16 oraz Safari 14 i Firefox 91
Env#executeasynchroniczne, bez parametru callback- Błędy globalne wykrywane przez
addEventListenerzamiastwindow.onerror - Usunięty
node_boot.js(zamiast niego eksportowana funkcjaboot) - Wsparcie Node 20
- Równoległe uruchamianie testów w Node przez pakiet
2023-05-01- Deno ogłasza Deno KV, wbudowaną bazę klucz-wartość- SQLite lokalnie, FoundationDB w Deno Deploy
- Silna spójność i transakcje ACID
- Replikacja w 35 regionach
2023-04-27- Nx v16.0- Pakiety przeniesione z
@nrwl/*do@nx/* - Część rdzenia przepisana w Rust
- Samodzielne aplikacje Deno
- Opcja
--graphpokazuje graf zadań
- Pakiety przeniesione z
2023-04-21- pnpm v8.02023-04-20- Vite v4.3- Szybsze rozwiązywanie modułów i lepszy cache
- Zimny start do 70% szybszy (z 17,2 s do 5,1 s w benchmarku z Babelem)
- HMR do 52% szybszy
- Profilowanie CPU przez
vite --profile
2023-04-19- npm wprowadza provenance paczek w publicznej becie- Flaga
--provenanceprzy publikacji z GitHub Actions - Podpis przez Sigstore zgodny ze specyfikacją SLSA
- Weryfikacja przez
npm audit signatures, odznaka na npmjs.com
- Flaga
2023-04-18- Node.js v20- V8 11.3:
String.prototype.isWellFormed(), kopiujące metody tablic (toSorted()itd.) - Eksperymentalny model uprawnień (
--experimental-permission) - Hooki loaderów ESM w osobnym wątku, synchroniczne
import.meta.resolve() - Stabilny wbudowany test runner (
node:test) - Oficjalne wsparcie ARM64 Windows (tier 2), npm 9.6
- LTS Iron od 2023-10-24
- V8 11.3:
2023-04-04- CSS Nesting - Chrome 112 jako pierwsza przeglądarka wprowadza natywny nesting CSS (bez Sass/Less)2023-03-31- Storybook v7.0- Frameworks API: zero-config dla Vite, Next.js i SvelteKit
- CSF3 domyślnie i ściślejsze typy w TypeScripcie
- MDX2 w dokumentacji
- Autodocs przypięte do komponentów, Doc Blocks z
of={} - Odświeżony interfejs z automatycznym trybem ciemnym
2023-03-22- Playwright v1.32 - UI Mode (preview) do uruchamiania i debugowania testów2023-03-16- TypeScript v5.0- Nowe dekoratory ECMAScript bez
--experimentalDecorators - Modyfikator
constdla parametrów typu --moduleResolution bundler,--verbatimModuleSyntax
- Nowe dekoratory ECMAScript bez
2023-03-09- Rspack v0.1 - bundler w Rust od ByteDance zgodny z webpackiem- Obsługa loaderów webpacka (np.
babel-loader,less-loader) - 5-10× szybsze buildy według ByteDance
- Obsługa loaderów webpacka (np.
2023-03-07- View Transitions API - Chrome 111 wprowadza płynne przejścia między stanami DOM w SPA2023-03-07- Turborepo - Vercel ogłasza przepisywanie narzędzia z Go na Rust (wspólny kod z Turbopackiem)2023-02-24- Deno v1.31- Obsługa
package.json(bare specifiers, skrypty przezdeno task) - Warstwa kompatybilności z Node.js wbudowana w runtime (specyfikatory
node:) - Stabilne
Deno.Commandi Node-API deno bundleoznaczony jako przestarzały
- Obsługa
2023-02-21- Mermaid v10- Wyłącznie ESM (koniec CommonJS)
mermaid.render()asynchroniczne (zwracaPromise)
2023-02-20- Babel.js v7.21.02023-02-18- Hono v3HonoRequestjako wspólne API żądania dla wszystkich środowisk- Nowy walidator
- Tryb RPC
- RegExpRouter najszybszym routerem
2023-02-14- Aktualizacja Edge trwale wyłącza Internet Explorer 11 w Windows 102023-02-08- Lightweight Charts v4.0- fancy-canvas 2 i renderowanie co do piksela
- Eksport modułów ES
- Nowy wygląd skal
- Krzywe Béziera w seriach
2023-01-24- Astro v2.0- Content Collections
- Hybrid Rendering
2023-01-14- esbuild v0.17- Nowe API
context()zastępuje opcjeincrementaliwatchoraz metodęserve() rebuild(),watch()iserve()jako metody kontekstu,watchiservemogą działać razem- Live reload przez server-sent events
- Nowe API
2022
2022-12-16- RxJS v7.8.02022-12-14- SvelteKit v1.0 - oficjalny framework aplikacji oparty o Svelte, Vite i adaptery2022-12-09- Vite v4.0- Rollup 3
- Nowy
@vitejs/plugin-react-swc(SWC zamiast Babela) - Domyślny target buildu od Safari 14
- Import CSS jako tekstu tylko z sufiksem
?inline - Instalacja mniejsza o 23% (14,1 MB)
2022-12-07- Cypress v122022-11-16- Nuxt v3.0 - nowy fundament oparty o Vue 3, Vite i silnik Nitro2022-11-16- Angular v152022-11-15- TypeScript v4.9- Operator
satisfies(walidacja typu bez zmiany inferencji) - Zawężanie nieznanych właściwości operatorem
in - Auto-accessors (
accessor), błąd przy porównaniu doNaN
- Operator
2022-11-14- Deno v1.28- Stabilne wsparcie npm (specyfikatory
npm:), ponad 1,3 mln pakietów - Automatyczne wykrywanie lockfile (
deno.lock) - Nowe API
Deno.Command
- Stabilne wsparcie npm (specyfikatory
2022-11-08- Rome v10 - pierwsze stabilne wydanie po przepisaniu na Rust: linter i formatter JS/TS (poprzednik Biome)2022-11-08- Cypress v112022-11-01- Obowiązkowe 2FA dla opiekunów paczek npm o dużym zasięgu - ponad milion pobrań tygodniowo lub ponad 500 zależnych2022-10-29- Jasmine v4.5.0- Wewnętrzne wyjątki (inner exceptions) w stack trace
- Raportowanie wyjątków rzuconych w
describeprzed pierwszymit - Safari 16 wśród wspieranych przeglądarek
2022-10-27- Babel.js v7.20.0- Support
TypeScript v4.9 - Support
Denoas a compilation target
- Support
2022-10-26- Next.js 13- App Router
- React Server Components
- Nowy bundler Turbopack
2022-10-25- Turbopack - następca webpacka napisany w Rust- Prowadzony w Vercelu przez twórcę webpacka Tobiasa Koppersa
- Wersja alfa w Next.js 13 (
next dev --turbo) - Według Vercela aktualizacje do 700× szybsze niż w webpacku
2022-10-20- Jekyll v4.3- Gem
webrickjako zależność dla Ruby 3.0+ - Wsparcie Rouge 4 i
tzinfo2 - Motywy w postaci gemów mogą dostarczać pliki danych
- Nowa zmienna Liquid
themez danymi gemu motywu - Pliki statyczne z kolekcji w
site.static_files - Zmiany w plikach danych uwzględniane przy przyrostowym budowaniu
- Gem
2022-10-19- Gatsby v5.02022-10-19- npm v9- Logowanie domyślnie przez przeglądarkę (
auth-type=web),npm logininpm adduserto osobne komendy - Usunięte komendy
npm bin,npm birthdayinpm set-script install-linksdomyślnie włączone- Pole
fileswpackage.jsonma pierwszeństwo przed.gitignorei.npmignore - Ustawienia uwierzytelniania bez przypisanego rejestru kończą się błędem
- Wymaga Node.js 14.17.0+, 16.13.0+ lub 18+
- Logowanie domyślnie przez przeglądarkę (
2022-10-18- Node.js v19- V8 10.7, npm 8.19, llhttp 8.1
- HTTP(S)/1.1
keepAlivedomyślnie włączone - Stabilne WebCrypto
- Usunięta flaga
--experimental-specifier-resolution(ESM) - Koniec wsparcia DTrace, SystemTap i ETW
2022-10-13- Node.js v18.11 - eksperymentalny trybnode --watch(restart po zmianie pliku)2022-10-11- Pierwsza edycja konferencji ViteConf - darmowa, online, organizowana przez StackBlitz (11-12 października)2022-10-07- Playwright v1.27 - lokatorygetByRole(),getByText(),getByLabel(),getByPlaceholder(),getByAltText()igetByTitle()2022-09-25- Jest v29.0.02022-09-22- Leaflet v1.9 - ostatnia wersja 1.x z nowymi funkcjami, potem tylko krytyczne poprawki2022-08-30- CSS Container Queries - Chrome 105 wprowadza@container, reszta przeglądarek dołącza w następnych miesiącach2022-08-26- ESLint v8.23 - eksperymentalny Flat Config (eslint.config.js) dostępny w CLI2022-08-25- TypeScript v4.8- Usprawnienia zawężania z
{}/intersekcji pod--strictNullChecks - Inferowanie literałów w template stringach z
infer - Szybszy
--build/--watch/--incremental
- Usprawnienia zawężania z
2022-08-15- Deno zapowiada kompatybilność z npm przez specyfikatorynpm:2022-07-18- TanStack Query v4 - React Query zmienia nazwę na TanStack Query- Rdzeń niezależny od frameworka i adaptery dla Vue, Svelte i Solida
- Pakiety
@tanstack/*w monorepo - Tryb sieci (
networkMode) do pracy offline - Śledzone zapytania (tracked queries) domyślnie włączone
- Obsługa React 18 przez
useSyncExternalStore - Stabilne persystery cache (np. do
localStorage) - Klucze zapytań zawsze jako tablice
2022-07-13- Vite v3.0- Domyślny port 5173 (podgląd: 4173)
- Wymagany Node.js 14.18+ / 16+
- ESM domyślnym formatem buildu SSR
- Przepisane
import.meta.glob(wiele wzorców, negacje, nazwane importy) - Import WebAssembly przez
?init - Publikowana paczka mniejsza o 30%
2022-07-08- Powstanie runtime’u Bun (pierwsze publiczne wydanie)2022-06-28- Deno wydaje framework Fresh 1.0- Architektura wysp (islands), domyślnie zero JavaScriptu u klienta
- Bez kroku budowania (transpilacja just-in-time)
- Preact, TypeScript i routing oparty na plikach
2022-06-22- Zatwierdzenie specyfikacji ECMAScript 2022 🎉- instance class fields
- static class fields
- private class methods
- Ergonomic brand checks for private fields
- class static initialization blocks
- Error Cause
Array.prototype.at()Object.hasOwn()
2022-06-21- Deno pozyskuje 21 mln USD w rundzie Series A prowadzonej przez Sequoia Capital2022-06-15- Koniec wsparcia przeglądarki Internet Explorer 11 w Windows 102022-06-08- Astro v1.0 - content-focused SSG z architekturą Islands2022-06-02- Angular v142022-06-01- Cypress v102022-05-31- pnpm v7.02022-05-31- Obowiązkowe 2FA dla opiekunów 500 najpopularniejszych paczek npm2022-05-31- Hugo v0.100- Shortcode’y w
.RenderString - Zachowywanie wcięć bloków shortcode’ów
- Shortcode’y w
2022-05-24- TypeScript v4.7- ESM w Node.js:
--module node16/nodenext(interop CJS/ESM) - Instantiation Expressions (
makeBox<Hammer>) - CFA dla dostępu przez
[]z literałami/symbolami
- ESM w Node.js:
2022-05-19- WAI-ARIA 1.2 Authoring Practices Guide - APG jako osobny, wielostronicowy serwis W3C WAI2022-05-12- Playwright v1.22- Testy komponentów (preview)
- Selektory ról ARIA
locator.filter()
2022-05-09- Deno i Cloudflare zakładają WinterCG, grupę W3C dbającą o wspólne API runtime’ów serwerowych2022-04-25- Jest v28.0.02022-04-22- Hono v1 - pierwsza stabilna wersja frameworka webowego dla Cloudflare Workers2022-04-19- Node.js v18- V8 10.1, npm 8.6
- Eksperymentalne globalne
fetch,FormData,Headers,Request,Response(Undici) - Eksperymentalne globalne Web Streams API
- Eksperymentalny wbudowany test runner
node:test - Globalne
BlobiBroadcastChannel - LTS Hydrogen od 2022-10-25
2022-04-18- Redux v4.2.02022-03-31- Testing Library -@testing-library/reactv13- Wsparcie React 18 i domyślnie
createRoot - Koniec wsparcia React 17 i starszych (
legacyRoot: truejako wyjście awaryjne)
- Wsparcie React 18 i domyślnie
2022-03-29- Testing Library -@testing-library/user-eventv14- Wszystkie API zwracają
Promise - Nowa implementacja zdarzeń wskaźnika i zaznaczania tekstu
- Nazwy klawiszy zgodne z
KeyboardEvent.key({Control},{Delete},{Escape}zamiast{ctrl},{del},{esc}) - Koniec wsparcia Node.js 10
- Wszystkie API zwracają
2022-03-29- React v18- Współbieżne renderowanie (concurrent rendering)
- Automatyczne grupowanie aktualizacji (automatic batching) także w
setTimeout, promisach i natywnych zdarzeniach - Przejścia (
startTransition,useTransition) - Suspense na serwerze: strumieniowe SSR i selektywna hydratacja
- Nowe API
createRoot,hydrateRoot,renderToPipeableStreamirenderToReadableStream - Nowe hooki
useId,useDeferredValue,useSyncExternalStoreiuseInsertionEffect - Strict Mode symuluje odmontowanie i ponowne zamontowanie komponentu
2022-03-25- Ember v4.02022-03-24- MDN - płatna subskrypcja MDN Plus- Powiadomienia o zmianach na obserwowanych stronach
- Kolekcje zapisanych artykułów
- MDN Offline (PWA)
2022-03-17- Deno v1.20deno task(wieloplatformowy task runner) ideno bench- Automatyczna kompresja odpowiedzi HTTP (gzip, brotli)
- Import maps w pliku konfiguracyjnym
- Do ok. 60% szybsze wywołania z JS do Rusta
2022-02-28- TypeScript v4.6- Kod przed
super()w konstruktorach klas pochodnych - CFA dla zdestrukturyzowanych unii dyskryminowanych
--target es2022
- Kod przed
2022-02-26- Backbone v1.4.12022-02-14- Mermaid - GitHub renderuje diagramy Mermaid w plikach Markdown2022-02-01- Obowiązkowe 2FA dla opiekunów 100 najpopularniejszych paczek npm- Bez 2FA sesje webowe są unieważniane
- Organizacje mogą wymusić 2FA u wszystkich członków
- Nazwane tokeny automatyzacji
2022-01-08- Autor paczek w npm sabotuje własne bibliotekicolorsifakercolors@1.4.44-liberty-2wpada w nieskończoną pętlę z napisem „LIBERTY LIBERTY LIBERTY” i śmieciowymi znakamicolorsmiał ponad 20 mln pobrań tygodniowo i blisko 19 tys. zależnych projektów- Sabotowana wersja
faker@6.6.6trafiła do rejestru już 2022-01-05 - npm cofa
fakerdo poprzedniej wersji, a społeczność forkuje go jako@faker-js/faker
2022-01-01- Jasmine v4.0.0- Koniec wsparcia Internet Explorera, PhantomJS, Safari 8-13 i Node 10
- Zakończone pakiety Jasmine dla Ruby i Pythona (zastępuje je
jasmine-browser-runner) - Nieudane
beforeAllibeforeEachpomijają zależne specyfikacje (nadal raportowane jako nieudane) - Opcjonalne użycie w Node bez zmiennych globalnych
- Wielokrotne wywołanie
done()i mieszanie callbacku z obietnicą zgłaszane jako błąd - Nowe logowanie debugowania
debugLog()dołączane do raportu nieudanej specyfikacji - Puste zestawy traktowane jako błąd
2021
2021-12-22- Hexo v6.0- Wymóg Node.js 12.13+
- Ładowanie pluginów z
package.jsonmotywu - Domyślne escapowanie HTML w helperze listy tagów (CVE-2021-25987)
2021-12-14- Hono - Yusuke Wada publikuje pierwszą wersję minimalnego frameworka webowego dla Cloudflare Workers2021-12-13- Deno dołącza do Ecma International i TC392021-12-09- Tailwind CSS v3.0- Just-In-Time engine domyślnie
- Pełna paleta kolorów od razu w konfiguracji
- Stylowanie natywnych kontrolek formularzy
- Narzędzia
aspect-ratio
2021-12-09- Vercel przejmuje Turborepo - CLI zostaje udostępnione jako open source2021-12-03- Powstanie projektu Vitest - pierwszy commit Anthony’ego Fu, wersja 0.0.1 w npm tego samego dnia2021-11-29- WAI-ARIA 1.2 Authoring Practices - notatka W3C z wzorcami widgetów2021-11-21- Remix v1.0 - full-stack framework React wchodzi w open source (MIT)2021-11-17- TypeScript v4.5- Typ narzędziowy
Awaited(rekursywne rozpakowaniePromise) - Modyfikator
typena nazwach importu (import { type X }) --module es2022(stabilne top-levelawait)
- Typ narzędziowy
2021-11-15- GitHub zapowiada obowiązkowe 2FA dla opiekunów popularnych paczek npm- Start od grupy najpopularniejszych paczek w I kwartale 2022
- Przejęcia
ua-parser-js,coaircdotyczyły kont bez 2FA - Ujawniona luka, która pozwalała publikować nowe wersje dowolnej paczki bez uprawnień, załatana w 6 godzin od zgłoszenia 2021-11-02
2021-11-10- Cypress v92021-11-04- Angular v13- without
View Engine - Remove support for IE11
- without
2021-11-04- Przejęte konta w npm - złośliwe wersjecoaircz łącznie 23 mln pobrań tygodniowo- Skrypt
postinstallpobierał i uruchamiał trojana Qakbot na Windowsie - Atak wyszedł na jaw, bo nowa instalacja wywracała buildy aplikacji React
- Skrypt
2021-10-26- SWC w Next.js 12 - kompilator w Rust oparty na SWC domyślnie zastępuje Babela- Kompilacja 17 razy szybsza niż w Babelu
- Ok. 3 razy szybszy Fast Refresh i ok. 5 razy szybsze buildy
- Opcjonalna minifikacja przez SWC (
swcMinify), 7 razy szybsza niż Terser - Vercel zatrudnia twórcę SWC, DongYoon Kanga
2021-10-22- Na npm trafiają złośliwe wersje przejętej paczkiua-parser-js- Wersje
0.7.29,0.8.0i1.0.0były dostępne ok. 4 godzin (12:15-16:26 UTC) - Skrypt instalował koparkę kryptowalut i wykradał dane logowania
- Paczka miała blisko 8 mln pobrań tygodniowo
- Wersje
2021-10-19- Node.js v17- V8 9.5, npm 8.1
- OpenSSL 3.0 (obejście dla starych algorytmów:
--openssl-legacy-provider) - Promisowe API
readline/promises - Globalne
structuredClone()iDOMException - Wersja Node.js w stack trace przy błędach krytycznych
2021-10-09- ESLint v8.0- Pełne wsparcie ES2022: pola i prywatne metody klas, top-level
await, indeksy dopasowań RegExp - Koniec wsparcia dla Node.js 10, 13 i 15 (minimum 12.22)
- Usunięta klasa
CLIEngine(zastępuje ją klasaESLint) - Usunięte formatery
codeframeitable - Autofix usuwa nieużywane dyrektywy
eslint-disable
- Pełne wsparcie ES2022: pola i prywatne metody klas, top-level
2021-10-07- jQuery porządkuje projekty poboczne- jQuery Mobile oficjalnie wycofane (deprecated)
- jQuery UI w trybie utrzymania, wersja 1.13 jako ostatnie planowane wydanie
2021-10-07- npm v8- Koniec wsparcia Node.js 10 i 11
- Usunięta możliwość
require('npm')
2021-09-30- Gatsby v4.02021-09-21- Chrome 94- Pierwsze wydanie w 4-tygodniowym cyklu (zapowiedź z 2021-03-04)
- Nowy kanał Extended Stable aktualizowany co 8 tygodni
2021-09-21- Rome - zapowiedź przepisania narzędzia na Rust2021-09-21- Lit v2.0 - lit-html i LitElement w jednej paczcelit- Reactive controllers
- Eksperymentalne SSR (
@lit-labs/ssr) - Nowa strona lit.dev
2021-09-07- Corepack w Node.js 16.9 - eksperymentalne uruchamianie Yarna i pnpm bez osobnej instalacji (autor: Maël Nison)2021-08-26- TypeScript v4.4- CFA aliasowanych warunków i dyskryminantów (type guardy w stałych)
--useUnknownInCatchVariables,--exactOptionalPropertyTypes- Bloki
static {}w klasach
2021-08-21- Jasmine v3.9.0- Opcje
failFastioneFailurePerSpecprzemianowane nastopOnSpecFailureistopSpecOnExpectationFailure boot.jspodzielony naboot0.jsiboot1.js(konfiguracja środowiska pomiędzy nimi)Env#executezwraca obietnicę- Przestarzałe gemy Jasmine dla Ruby
- Opcje
2021-08-10- Deno v1.13- Stabilny natywny serwer HTTP oparty na Hyper
structuredClone()- Eksperymentalne FFI (
Deno.dlopen()) - V8 9.3 (
Object.hasOwn(),Error.cause)
2021-08-10- Webpack v5.50.0- Obsługa hashbangów (
#!) - Kompresja cache domyślnie wyłączona
- Mniej alokacji przy serializacji cache
- Obsługa hashbangów (
2021-08-03- Redux v4.1.12021-07-26- Yarn v3.0- Szybsze instalacje i uruchamianie skryptów
- Build Yarna przez esbuild (ok. 6× szybszy)
- Koniec wsparcia Node.js 10
- Pole
exportsw trybie PnP - Eksperymentalne
nmModez hardlinkami (hardlinks-local,hardlinks-global) - Plik
.pnp.cjszamiast.pnp.js
2021-07-20- RxJS v7.3.02021-07-19- Cypress v82021-07-14- Electron - nowa wersja główna co 8 tygodni, od Electron 15 (2021-09-21), w rytmie Chromium2021-07-02- Jasmine v3.8.0expectAsync(...).already- asynchroniczne matchery od razu zgłaszają porażkę, gdy obietnica wciąż czeka- Nowe
Spy#calls#thisForz wartościąthisdanego wywołania spyOnAllFunctionsobejmuje metody instancji klas ES6- Poprawione filtrowanie specyfikacji w Karmie
- Przestarzałe pakiety Jasmine dla Pythona
2021-07-01- Zatwierdzenie specyfikacji ECMAScript 2021 🎉String.prototype.replaceAllPromise.any()- Weak References (
WeakRef,FinalizationRegistry) - Logical Assignment (
||=,&&=,??=) - Numeric separators (1_000_000)
2021-06-30- JSLint v2021.6.30- Licencja zmieniona na domenę publiczną (Unlicense)
- Pliki
*.jsprzemianowane na*.mjs - Osobny wariant CommonJS
jslint.cjs - Powrót dyrektywy
/*jslint indent2*/
2021-06-28- Solid.js v1.0 - reaktywny framework UI z fine-grained reactivity, bez Virtual DOM2021-06-23- Deno uruchamia Deno Deploy (beta): serverless na V8 w 25 centrach danych z deployem z GitHuba2021-06-09- Playwright v1.12- Playwright Test: własny test runner (
@playwright/test) z równoległością, izolacją kontekstów i fixture’ami - Trace Viewer: DOM, render strony i sieć przed każdą akcją i po niej
- Playwright Test: własny test runner (
2021-05-26- TypeScript v4.3- Osobne typy zapisu/odczytu (różny typ gettera i settera)
override+--noImplicitOverride#privatemetody/akcesory/statyczne składowe
2021-05-21- JSLint - pierwsze wydanie po przeniesieniu projektu do organizacjijslint-orgna GitHubie2021-05-18- WCAG 1.0 - status „Superseded Recommendation”, W3C odsyła do najnowszej wersji WCAG2021-05-17- Zod v3 - stabilna wersja po v2, która nie wyszła z bety- Nowa implementacja transformacji (
.transform()) ZodEffectsjako wspólny kontener dla.refine()i.transform()- Import przez
import { z } from 'zod' - Metody
.default()i.nullish()
- Nowa implementacja transformacji (
2021-05-13- Angular v12- Deprecated support for IE11
2021-04-29- RxJS v72021-04-24- Redux v4.1.02021-04-20- Node.js v16- V8 9.0 (RegExp Match Indices), npm 7.10
- Pierwsze gotowe binarki dla Apple Silicon (
darwin-arm64) - Stabilne API
timers/promises - Globalne
atob()ibtoa(),require()z prefiksemnode: - LTS Gallium od 2021-10-26
2021-04-13- Deno v1.9- Natywny serwer HTTP/2 oparty na Hyper (niestabilny)
- Ok. 65x mniejszy narzut wywołań do Rusta (
serde_v8) - URL-e
blob:idata: - Interaktywne pytania o uprawnienia (
--prompt)
2021-04-12- pnpm v6.02021-04-09- Underscore.js v1.13 - pełne wsparcie modułów ES2021-04-05- Cypress v72021-03-29- Deno zakłada firmę Deno Land Inc. z finansowaniem seed 4,9 mln USD, runtime zostaje na licencji MIT2021-03-29- Husky v6.0 - powrót do licencji MIT po okresie early access dla projektów open source i sponsorów2021-03-18- Jasmine v3.7.0- Stack trace z
node --enable-source-maps(np. dla TypeScriptu) - Funkcje generatorów w
.and.callFake - Ostrzeżenie, gdy spec albo
before/afterjednocześnie przyjmuje callback i zwraca obietnicę - Poprawione porównywanie obiektów
URL
- Stack trace z
2021-03-11- WCAG 2.1 po polsku - autoryzowane tłumaczenie „Wytyczne dla dostępności treści internetowych (WCAG) 2.1”2021-03-09- Koniec wsparcia przeglądarki Microsoft Edge Legacy na silniku EdgeHTML2021-03-02- Gatsby v3.02021-02-23- TypeScript v4.2- Rest elementy na początku/w środku krotek (
[...string[], number]) - Mądrzejsze zachowywanie aliasów typów (m.in. w
.d.ts) --noPropertyAccessFromIndexSignature,abstractw sygnaturach konstruktora
- Rest elementy na początku/w środku krotek (
2021-02-16- Vite v2.0- Rdzeń niezależny od frameworka (Vue, React, Preact, Lit przez pluginy)
- System pluginów zgodny z Rollupem
- Pre-bundling zależności przez esbuild (10-100× szybszy)
- Wbudowana obsługa CSS (code splitting, przepisywanie
url()) - Eksperymentalne SSR
- Plugin
@vitejs/plugin-legacydla starszych przeglądarek
2021-01-25- MDN - start Open Web Docs, niezależnej organizacji finansującej autorów dokumentacji (wspieranej m.in. przez Google, Microsoft i Coil)2021-01-21- WCAG 3.0 - pierwszy publiczny szkic roboczy- Nowa nazwa: W3C Accessibility Guidelines (wcześniej projekt „Silver”)
- Szerszy zakres: treści, aplikacje i narzędzia
- Wyniki (outcomes) oceniane w skali 0-4
- Poziomy zgodności Bronze, Silver i Gold
- 5 przykładowych wytycznych (m.in.
Text alternatives,Captions)
2020
2020-12-14- Jekyll v4.2- Nowy hook
:post_convertdo modyfikacji HTML przed nałożeniem layoutu - Wykrywanie konfliktów plików docelowych podczas budowania (wcześniej tylko w
jekyll doctor) jekyll servenie nadpisuje jużsite.urlw adresach bezwzględnych- Mniejsze zużycie pamięci
- Nowy hook
2020-12-14- MDN - nowa platforma Yari: treść w repozytorium na GitHubie zamiast wiki, zmiany przez pull requesty2020-12-14- TanStack Query v3 - wtedy React Query, formalnie wersja 3.2.0- Selektory danych zapytań (
select) - Lepsze SSR i izolacja cache
- Domyślna konfiguracja zapytań i mutacji
- Mutacje z ponawianiem i pracą offline
- Rdzeń wydzielony do użytku poza Reactem
- Devtools w tym samym repozytorium
- Selektory danych zapytań (
2020-11-24- htmx v1.0 - „hypermedia-driven” aplikacje bez frameworka JS2020-11-23- Cypress v62020-11-21- esbuild v0.8.12 - API do przyrostowych buildów (incremental: trueirebuild())2020-11-19- TypeScript v4.1- Template Literal Types
- Remapowanie kluczy w mapped types przez
as - Rekursywne typy warunkowe,
--noUncheckedIndexedAccess
2020-11-18- Tailwind CSS v2.02020-11-16- Husky v5.0- Hooki jako skrypty powłoki w katalogu
.husky/, podpinane przezcore.hooksPathz Gita 2.9 - Koniec konfiguracji w
package.json(migracja przezhusky add) - Licencja Parity Public License: projekty komercyjne bez sponsoringu tylko na 30 dni próby, z zapowiedzią powrotu do MIT
- Hooki jako skrypty powłoki w katalogu
2020-11-11- Angular v112020-11-01- esbuild v0.8.1 - pierwsza wersja API pluginów (onResolveionLoad, pluginy w JavaScripcie lub Go)2020-10-20- React v17 - wydanie bez nowych funkcji, ułatwiające stopniowe aktualizacje- Kilka wersji Reacta na jednej stronie
- Zdarzenia podpinane do kontenera root zamiast do
document - Obsługa nowej transformacji JSX
- Koniec puli zdarzeń (event pooling)
- Funkcje sprzątające efektów uruchamiane asynchronicznie
onScrollprzestaje się propagować (bubbling)
2020-10-20- Node.js v15- V8 8.6:
Promise.any(),String.prototype.replaceAll(), przypisania logiczne (&&=,??=) - npm 7: workspaces, domyślna instalacja peer dependencies
- Nieobsłużone odrzucenia Promise rzucane jako nieprzechwycony wyjątek
AbortControllerbez flagi, globalnyEventTarget- Nowy moduł
timers/promises - Eksperymentalny QUIC (przy kompilacji z flagą
--experimental-quic)
- V8 8.6:
2020-10-13- npm v7- Workspaces
- Automatyczna instalacja
peerDependencies - Lockfile w wersji 2
- Odczyt
yarn.lockjako źródła metadanych - Nowa komenda
npm exec, na której oparto przepisanynpx
2020-10-10- Webpack v5.0- Module Federation
- Trwały cache na dysku (
cache: { type: "filesystem" }) - Asset Modules (
type: "asset") zamiastfile-loaderiurl-loader - Lepszy tree shaking (zagnieżdżone eksporty,
optimization.innerGraph, CommonJS) - Deterministyczne ID modułów i chunków
- Koniec automatycznych polyfilli Node.js
- Wymagany Node.js 10.13+
2020-09-18- Vue v3.0.02020-08-28- Underscore.js v1.11- Każda funkcja w osobnym module (pełny tree shaking)
- Paczka ESM
underscore-esm.js - Nowe
_.isArrayBuffer,_.isDataViewi_.isTypedArray
2020-08-20- TypeScript v4.0- Variadic Tuple Types
- Labeled Tuple Elements (
[start: number, end: number]) - Inferencja pól klasy z konstruktora,
unknownjako typ wcatch
2020-08-19- Cypress v52020-08-11- Storybook v6.0- Zero-config i zestaw Essentials (Docs, Controls, Actions, Viewport, Backgrounds, Toolbars)
- Args: deklarowanie wejść historii
- Controls: automatycznie generowany panel do edycji propsów
- Composition: przeglądanie innych Storybooków w lokalnym
- Wbudowane wsparcie TypeScriptu
2020-08-08- Rome - pierwsza beta: linter JS/TS jako początek toolchainu (kompilator, bundler, test runner)2020-08-03- JSHint v2.12 - licencja MIT (Expat) zamiast licencji JSLint z klauzulą „The Software shall be used for Good, not Evil”2020-07-29- Hexo v5.0- Podświetlanie składni przez PrismJS
- Injector API
- Konfiguracja motywu w osobnym pliku
_config.[name].yml - Wymóg Node.js 10+
2020-07-23- Jasmine v3.6.0- Własne formatery obiektów w komunikatach błędów matcherów
- Nowe matchery
toHaveBeenCalledOnceWithitoHaveSizeoraz asynchronicznytoBePending - Własne właściwości specyfikacji i zestawów przekazywane do reporterów
- Nieobsłużone odrzucenia obietnic trafiają do
onerror - Lepsza zgodność z webpackiem
2020-07-14- Apollo Client v3- Jeden pakiet
@apollo/client(razem z hookami Reacta) - Polityki typów i pól w
InMemoryCache - Usuwanie obiektów z cache i garbage collection
- Reaktywne zmienne (reactive variables) do stanu lokalnego
- Funkcje pomocnicze do paginacji
- Jeden pakiet
2020-06-25- Angular v102020-06-22- TanStack Query v2 - wtedy React Query- Lepsze unieważnianie i odświeżanie zapytań
- Zapytania zależne przez opcję
enabledi nowy stanidle - Nowe flagi statusu zapytań
- Dwukierunkowe zapytania nieskończone
2020-06-17- Zatwierdzenie specyfikacji ECMAScript 2020 🎉String.prototype.matchAllimport()import.metaBigInt- arbitrary precision integersPromise.allSettled()globalThis- for-in mechanics
- Optional chaining (
object?.prop) - Nullish coalescing Operator (
value ?? '') export - as ns from "mod";
2020-05-27- Jekyll v4.1- Zajawki (excerpt) także dla stron
- Nowe filtry
findifind_exp, wiele operatorówand/orwwhere_exp - Opcja permalinków
:slugified_categories - Wyłączanie cache dyskowego (
disable_disk_cache) bez trybu safe --profilepokazuje czasy poszczególnych etapów budowania
2020-05-13- Deno v1.0- Bezpieczny domyślnie: bez zgody brak dostępu do dysku i sieci
- TypeScript bez dodatkowych narzędzi
- Jeden plik wykonywalny
- Importy modułów ES prosto z URL-i
- API zgodne z przeglądarką (np.
fetch), asynchroniczność oparta na Promise - Napisany w Rust na silniku V8
2020-05-12- TypeScript v3.9- Wydanie „performance, polish, stability” (bez dużych zmian językowych)
- Komentarze
// @ts-expect-error - Poprawki inferencji i
Promise.all, ~25% szybsza kompilacja
2020-05-08- ESLint v7.0- Koniec wsparcia dla Node.js 8
- Nowa, asynchroniczna klasa
ESLint(następcaCLIEngine) - Pluginy rozwiązywane względem pliku konfiguracji, który je deklaruje
- Lintowanie plików spoza
.jswskazanych woverridesbez flagi--ext - 10 reguł dla Node.js i CommonJS przeniesionych do
eslint-plugin-node - Nowe reguły w
eslint:recommended:no-dupe-else-if,no-import-assign,no-setter-return
2020-05-06- Playwright v1.0 - stabilne API do automatyzacji Chromium 84, Firefoksa 76 beta i WebKita 13 (licencja Apache 2.0)2020-04-21- Node.js v14- V8 8.1: optional chaining (
?.), nullish coalescing (??),Intl.DisplayNames - Koniec ostrzeżenia o eksperymentalnym ESM
- Stabilna flaga
--report-on-fatalerror(raporty diagnostyczne) - Alias modułu
fs/promises, npm 6.14 - LTS Fermium od 2020-10-27
- V8 8.1: optional chaining (
2020-04-20- Powstanie projektu Vite - pierwszy commit Evana You- Początkowo serwer deweloperski bez bundlowania dla plików
.vue(natywne moduły ES) - Wersja 0.1.0 w npm dzień później (2020-04-21)
- Początkowo serwer deweloperski bez bundlowania dla plików
2020-04-15- GitHub kończy przejęcie npm2020-04-10- jQuery v3.5- Poprawka bezpieczeństwa:
jQuery.htmlPrefilterbez wyrażenia regularnego otwierającego drogę do XSS - Nowe metody
.even()i.odd()zamiast selektorów:eveni:odd - Przestarzałe
jQuery.trimi aliasy zdarzeń Ajax - Skrypty z odpowiedzi Ajax wykonywane tylko przy udanym statusie HTTP
- Poprawka bezpieczeństwa:
2020-03-21- Prettier v2.0 - „2020”- Nowe wartości domyślne:
trailingComma: "es5",arrowParens: "always",endOfLine: "lf" prettier --write .formatuje cały katalog- Wymóg Node.js 10.13+
- Nowe wartości domyślne:
2020-03-16- GitHub ogłasza przejęcie npm - publiczny rejestr (1,3 mln paczek, 75 mld pobrań miesięcznie) ma pozostać darmowy2020-03-07- Zod v1 - biblioteka Colina McDonnella do deklarowania i walidacji schematów z inferencją typów TypeScriptu2020-02-27- WCAG 2.2 - pierwszy publiczny szkic roboczy (jedno nowe kryterium:Focus Visible (Enhanced))2020-02-26- TanStack Query v1 - pierwsza stabilna wersja, wtedy jako React Query (react-query)2020-02-26- React v16.13.0- Ostrzeżenie o
setStateinnego komponentu w trakcie renderowania - Ostrzeżenie o konflikcie skróconych i pełnych właściwości w propie
style React.createFactoryoznaczone jako przestarzałeReactDOM.unstable_createPortalprzestarzałe na rzeczReactDOM.createPortal- Stos komponentów w ostrzeżeniach hydratacji
- Ostrzeżenie o
2020-02-20- TypeScript v3.8import type/export type(type-only imports)- Pola prywatne ECMAScript
# export * as ns, top-levelawait(wtedy eksperymentalnie)
2020-02-06- Cypress v42020-02-06- Angular v9.02020-02-01- Playwright v0.10 - pierwsze wydanie z notatkami na GitHubie- Jedno API do Chromium, Firefoksa i WebKita
- Zgodność z testami: 99% w Chromium, 98% w WebKicie, 94% w Firefoksie
- Projekt Microsoftu budowany m.in. przez inżynierów, którzy wcześniej tworzyli Puppeteer w Google
2020-01-24- Yarn v2.0 (Berry)- Plug’n’Play domyślnie zamiast
node_modules - Zero-installs (cache paczek w repozytorium)
- Komenda
yarn dlx - Protokoły
patch:iportal: - Constraints w Prologu
- Lockfile i konfiguracja w YAML
- Kod przepisany w TypeScript, architektura wtyczek
- Yarn 1.x przechodzi w tryb utrzymania (tylko poprawki bezpieczeństwa)
- Plug’n’Play domyślnie zamiast
2020-01-19- lint-staged v10.0- Zmiany wprowadzone przez zadania same trafiają do commita (bez
git addw konfiguracji) - Kopia zapasowa w
git stashprzed uruchomieniem zadań - Błąd przy pustym commicie (chyba że
--allow-empty) - Wymóg Node.js 10.13+
- Zmiany wprowadzone przez zadania same trafiają do commita (bez
2020-01-15- Premiera nowego Microsoft Edge opartego na Chromium (Edge 79, Windows i macOS)2020-01-15- esbuild - Evan Wallace publikuje na GitHubie bundler i minifikator JavaScriptu napisany w Go- Szybkość dzięki równoległości i współdzielonej pamięci
- 2020-02-15 projekt trafia na Hacker News
2020-01-07- Husky v4.0- Obsługa Yarn 2 Plug’n’Play
- Lepsza obsługa ścieżek w Windows
- Wymóg Node.js 10+
2019
2019-12-11- Electron - Electron dołącza do OpenJS Foundation (program inkubacyjny)2019-12-07- Druga edycja konferencji ConFrontJS2019-11-27- Hugo v0.60 - Goldmark (zgodny z CommonMark) zamiast Blackfriday jako domyślny parser Markdown2019-11-21- Node.js v13.2 - moduły ESM bez flagi--experimental-modules2019-11-13- Premiera przeglądarki Brave 1.0 współtworzonej przez Brendana Eicha2019-11-05- TypeScript v3.7- Optional Chaining (
?.) - Nullish Coalescing (
??) - Assertion Functions (
asserts), rekursywne aliasy typów
- Optional Chaining (
2019-11-04- TanStack - Tanner Linsley publikuje React Query (v0.1.0), hooki do pobierania i cache’owania danych w Reakcie2019-10-22- Node.js v13- V8 7.8 (szybsza destrukturyzacja obiektów i start WebAssembly), npm 6.12
- Domyślnie pełne dane ICU (
full-icu), wszystkie locale wIntl module.createRequireFromPath()przestarzałe na rzeczmodule.createRequire()- Usunięty stary parser HTTP
console.timeEnd()sam dobiera jednostkę czasu
2019-10-08- Preact v10.0 - pełne przepisanie, hooks, fragments, lepsza kompatybilność z React2019-09-21- Jasmine v3.5.0- Czytelniejszy wynik
toHaveBeenCalledWith(każde wywołanie w osobnej linii) - Nowe strategie szpiegów
resolveToirejectWith - Własne asynchroniczne matchery
- Czytelniejszy wynik
2019-09-17- Mozilla ogłasza, że Firefox od 2020 roku będzie wydawany co 4 tygodnie2019-09-11- 5. urodziny WarsawJS2019-08-20- Jekyll v4.0- Cache szablonów Liquid w pamięci i cache na dysku między buildami
- Szybsze przetwarzanie Sass dzięki SassC (z source mapami)
- kramdown 2.1 z GitHub Flavored Markdown domyślnie
- Tagi
linkipost_urlbez doklejaniasite.baseurl render_with_liquid: falsewyłącza Liquid dla pojedynczego pliku- Wymagany Ruby 2.4+, koniec wsparcia Pygments, RedCarpet i RDiscount
2019-08-15- Nowe narzędzia React DevTools v4 dla Chrome, Firefoksa i Edge- Wyraźnie szybsze, z wygodniejszą nawigacją po drzewie komponentów
- Obsługa hooków (podgląd zagnieżdżonych obiektów)
- Wspiera React DOM 15 i 16 oraz React Native od 0.62
- Elementy HTML domyślnie ukryte w drzewie komponentów
2019-08-08- React v16.9.0<React.Profiler>do programowego pomiaru wydajności renderowania- Asynchroniczne
act()w testach - Ostrzeżenia przy metodach cyklu życia bez prefiksu
UNSAFE_(codemod do zmiany nazw) - Adresy
javascript:oznaczone jako przestarzałe (ryzyko XSS) - Komponenty-fabryki (factory components) oznaczone jako przestarzałe
2019-07-25- Hugo v0.56- Hugo Modules oparte na Go Modules
- Hugo Deploy: wdrażanie na GCS, S3 i Azure z CLI
2019-07-08- Lightweight Charts v1.0 - pierwsza stabilna wersja otwartoźródłowej (Apache 2.0) biblioteki wykresów finansowych TradingView2019-07-??- Zatwierdzenie specyfikacji ECMAScript 2019 🎉Object.fromEntries()String.prototype.{trimLeft, trimRight, trimStart, trimEnd}Array.prototype.{flat, flatMap}Symbol.prototype.description- Optional catch binding
- JSON superset
- Well-formed
JSON.stringify()
2019-06-21- ESLint v6.0- Koniec wsparcia dla Node.js 6
- Pluginy i shareable configs ładowane względem projektu, a nie lokalizacji ESLint
overridesobsługujeextendsi zagnieżdżoneoverrides- Wiele procesorów jednocześnie
- Aktualizacja
eslint:recommended
2019-06-04- Rejestr npm przekracza milion paczek2019-06-03- Lightweight Charts - TradingView zapowiada darmową bibliotekę wykresów finansowych na<canvas>(43 KB)2019-05-30- Testing Library - pakiety trafiają do przestrzeni@testing-libraryreact-testing-libraryv8 wydany jako@testing-library/reactdom-testing-librarywydany jako@testing-library/dom(v5.0)
2019-05-28- HTML5 przestaje istnieć! W3C ogłosiło rozpoczęcie współpracy z WHATWG na rzecz rozwoju jednego, wspólnego standardu HTML i DOM.2019-05-28- Angular v82019-05-13- Tailwind CSS v1.02019-04-23- Node.js v12- V8 7.4, npm 6.9, OpenSSL 1.1.1b
- Obsługa TLS 1.3
- llhttp domyślnym parserem HTTP
- Poprawnie konfigurowane domyślne limity sterty
- Moduł
worker_threadsstabilny od v12.11.0 (2019-09-25) - LTS Erbium od 2019-10-21
2019-04-21- Svelte v3.0.02019-04-04- WCAG 2.1 w ustawie o dostępności cyfrowej - Dz.U. 2019 poz. 848- Załącznik „Wytyczne dla dostępności treści internetowych 2.1” z kryteriami na poziomach A i AA
- Dotyczy stron i aplikacji mobilnych podmiotów publicznych
- Wdraża dyrektywę (UE) 2016/2102
- Strony opublikowane od 2018-09-23 muszą spełniać wymagania od 2019-09-23, starsze od 2020-09-23, aplikacje mobilne od 2021-06-23
2019-03-12- Powstanie OpenJS Foundation z połączenia fundacji Node.js i JS Foundation2019-03-12- jQuery trafia do OpenJS Foundation, powstałej z połączenia JS Foundation i Node.js Foundation2019-03-05- Storybook v5.0- Nowy interfejs
- Nowa struktura adresów URL i API addonów
- Konfigurowalne skróty klawiszowe
- Pasek narzędzi podglądu: zoom, siatka, tło, viewport i pełny ekran
2019-02-19- Backbone v1.4.02019-02-19- Palantir ogłasza wygaszenie TSLint na rzecz ESLint ztypescript-eslint2019-02-08- SWC v1.0 - DongYoon Kang wydaje kompilator TypeScriptu i JavaScriptu napisany w Rust- 16-20 razy szybszy od Babela w teście jednowątkowym
- Obsługa TypeScriptu (bez sprawdzania typów), JSX i transpilacji ES2019 do ES5
- Pakiet
@swc/corejako zamiennikbabel.transform()
2019-02-06- React v16.8.0- Hooki (m.in.
useStateiuseEffect): stan i inne funkcje Reacta bez pisania klas - Obsługa w React DOM, React DOM Server, React Test Renderer i Shallow Renderer
- Plugin
eslint-plugin-react-hooks ReactTestUtils.act()do testów- React Native z hookami od wersji 0.59
- Hooki (m.in.
2019-02-05- Lit - lit-html 1.0 i LitElement 2.0, następcy Polymera od zespołu Polymer Project2019-01-20- typescript-eslint v1.0 - pierwsze wydanie pakietów@typescript-eslint/parseri@typescript-eslint/eslint-pluginw nowym monorepo2019-01-18- ESLint przekazuje wsparcie TypeScriptu projektowitypescript-eslint- Zespół TypeScript stawia na ESLint zamiast TSLint
- Parser TypeScript trafia do nowego projektu
typescript-eslint(James Henry) typescript-eslint-parserzarchiwizowany na rzecz@typescript-eslint/parser
2019-01-17- Node.js v11.7 -worker_threadsdostępne bez flagi--experimental-worker
2018
2018-12-10- Gulp v4.0 - wersja domyślna w npm (opublikowana 2018-01-01 pod tagiemnext)- Nowy system zadań z
series()iparallel() - Watcher oparty na chokidar
- Buildy przyrostowe przez
lastRun() - Metoda
symlink() - Wbudowane source mapy (bez
gulp-sourcemaps) - Zadania rejestrowane przez eksport funkcji
- Nowy system zadań z
2018-12-06- Microsoft ogłasza przebudowę Microsoft Edge na Chromium2018-11-26- npm usuwa złośliwą paczkęflatmap-streamukrytą wevent-stream- Nowy opiekun przejął
event-streamsocjotechniką i 2018-09-09 dodał zależnośćflatmap-stream@0.1.1w wersji3.3.6 - Kod celował w portfel Copay i kradł klucze kont z dużym saldem bitcoinów
- npm usuwa
event-stream@3.3.6i przejmuje paczkę
- Nowy opiekun przejął
2018-11-07- Prettier v1.15- Obsługa HTML, Vue, szablonów Angulara i MDX
- Opcja
--jsx-single-quote
2018-11-06- GraphQL - Linux Foundation zapowiada GraphQL Foundation, neutralny dom dla specyfikacji i ekosystemu2018-10-29- Pierwsza edycja konferencji ConFrontJS2018-10-29- Storybook v4.0- Webpack 4 i Babel 7
- Storybook dla Embera, Marko, Mithrila i czystego HTML
- Zgodność z create-react-app 2, Gatsby 2 i Next.js 7
- Widok mobilny, motywy interfejsu i parametry historii
2018-10-25- React Conf 2018 - Sophie Alpert i Dan Abramov ogłaszają Hooks- Keynote „React Today and Tomorrow” pierwszego dnia konferencji (Henderson, Nevada)
- Hooks jako propozycja: stan i inne funkcje Reacta bez pisania klas
- Wersja alfa
react@16.7.0-alpha.0w npm tego samego dnia - Stabilne hooki w React 16.8 (2019-02-06)
2018-10-23- Node.js v11- V8 7.0, npm 6.4
- Globalne
TextEncoderiTextDecoder - Eksperymentalne
queueMicrotask() http,httpsitlsdomyślnie używają parsera WHATWG URLprocess.binding()przestarzałe
2018-10-23- React v16.6.0React.memo()- odpowiednikPureComponentdla komponentów funkcyjnychReact.lazy()i<Suspense>do dzielenia kodu (code splitting)static contextType- prostsze czytanie kontekstu w klasach- Metoda cyklu życia
getDerivedStateFromError StrictModeostrzega przedReactDOM.findDOMNode()i starym API kontekstu
2018-10-18- Angular v72018-09-25- Husky v1.0- Pierwsze stabilne wydanie po roku wersji testowych i przepisaniu kodu
- Konfiguracja hooków w polu
huskywpackage.jsonlub w.huskyrczamiast wscripts - Nazwy hooków jak w Gicie (
pre-commitzamiastprecommit) - Wsparcie pnpm i środowisk tylko z Yarnem
2018-09-21- Nuxt.js v2.02018-09-17- Gatsby v2.02018-09-12- 4. urodziny WarsawJS2018-08-27- Babel.js v72018-08-24- WCAG 2.1 w normie EN 301 549 V2.1.2 - europejska norma dostępności ICT- Wymagania dla stron WWW oparte na WCAG 2.1
- Od 2018-12-20 norma zharmonizowana dla dyrektywy (UE) 2016/2102 (decyzja wykonawcza 2018/2048)
2018-08-23- Deno v0.1.0 - pierwsze wydanie po przepisaniu z Go na Rust2018-07-30- TypeScript v3- Project References (
--build) - Typ
unknown(bezpieczny odpowiednikany) - Tuple types w rest/spread (+ opcjonalne i rest elementy krotek)
- Project References (
2018-07-12- Przejęte konto npm opiekuna ESLint: złośliweeslint-scope@3.7.2ieslint-config-eslint@5.0.2wysyłały atakującemu zawartość.npmrc2018-07-09- Hugo v0.43 - potok assetów- Kompilacja SASS i SCSS z source mapami
- PostCSS i minifikacja
- Fingerprinting z Subresource Integrity
2018-06-29- Zatwierdzenie specyfikacji ECMAScript 2018 🎉- Object rest properties
- Object spread properties
Promise.prototype.finally- RegExp (named capture groups, lookbehind assertions, unicode property escapes)
- for-await-of loops
- Template literal revision
2018-06-22- ESLint v5.0- Koniec wsparcia dla Node.js 4
- Opcja
experimentalObjectRestSpreadoznaczona jako przestarzała - Lintowanie nieistniejących plików z CLI kończy się błędem krytycznym
- Nowe reguły
prefer-object-spread,max-classes-per-fileimax-lines-per-function
2018-06-05- WCAG 2.1 - rekomendacja W3C- 17 nowych kryteriów sukcesu (m.in.
1.4.10 Reflow,1.4.11 Non-text Contrast,2.5.3 Label in Name,4.1.3 Status Messages) - Zawiera wszystkie kryteria sukcesu z WCAG 2.0
- Pierwszy szkic roboczy: 2017-02-28
- Aktualizacja 2023-09-21:
4.1.1 Parsinguznane za zawsze spełnione w HTML i XML - Aktualizacje 2024-12-12 i 2025-05-06: poprawki redakcyjne (errata)
- 17 nowych kryteriów sukcesu (m.in.
2018-06-02- Ryan Dahl zapowiada Deno w prelekcji „10 Things I Regret About Node.js” na JSConf EU w Berlinie2018-05-29- Cypress v32018-05-24- Ósma edycja konferencji Front-Trends2018-05-09- Polymer v3.0 - premiera na Google I/O 2018- Moduły ES zamiast HTML Imports
- npm zamiast Bowera
2018-05-04- Angular v62018-04-24- Node.js v10- V8 6.6, OpenSSL 1.1.0h
- N-API już nie jest eksperymentalne
- Eksperymentalne
fs/promises console.table(),stream.pipeline(),EventEmitter.prototype.off()- Globalne
URLiURLSearchParams(WHATWG) - LTS Dubnium od 2018-10-30
2018-04-24- RxJS v6.0- Modularne
pipeable operators - Mniejsza waga bundle’a
- Modularne
2018-04-24- npm v6- Komenda
npm auditsprawdza drzewo zależności pod kątem znanych podatności - Ostrzeżenia o podatnościach przy instalacji, z bazy przejętej Node Security Platform
npm init <nazwa>uruchamia generatorcreate-<nazwa>, np.npm init react-app- Zarządzanie webhookami z CLI
- Komenda
2018-04-19- Svelte v2.0.02018-04-17- Redux v42018-04-10- npm, Inc. przejmuje ^Lift Security i bazę podatności Node Security Platform2018-04-02- Testing Library - Kent C. Dodds ogłaszareact-testing-library- Zasada: im bardziej testy przypominają sposób używania aplikacji, tym większą dają pewność
- Zamiennik Enzyme: szukanie elementów po etykiecie, tekście i atrybucie
altzamiast testowania szczegółów implementacji - Pierwsza wersja w npm 2018-03-19
- 2018-04-06 w npm pojawia się
dom-testing-libraryz zapytaniami DOM niezależnymi od frameworka
2018-03-29- React v16.3.0- Oficjalne API kontekstu (
React.createContext()zProvideriConsumer) React.createRef()iReact.forwardRef()- Nowe metody cyklu życia
getDerivedStateFromPropsigetSnapshotBeforeUpdate - Aliasy
UNSAFE_dlacomponentWillMount,componentWillReceivePropsicomponentWillUpdate - Komponent
<React.StrictMode>wskazujący potencjalne problemy w aplikacji
- Oficjalne API kontekstu (
2018-02-25- Webpack v4.0- Tryby
mode: "production"imode: "development" optimization.splitChunkszamiastCommonsChunkPlugin- Natywna obsługa JSON i eksperymentalnie WebAssembly
sideEffectswpackage.json- CLI przeniesione do pakietu
webpack-cli - Koniec wsparcia Node.js 4
- Tryby
2018-02-21- npm v5.7- Komenda
npm ciinstaluje wyłącznie z lockfile, 2-10 razy szybciej beznode_modules - Automatyczne rozwiązywanie konfliktów merge w
package-lock.json
- Komenda
2018-02-15- Cypress v22018-02-14- Ember v3.02018-02-06- Jasmine v3- Losowa kolejność uruchamiania testów domyślnie
- Asynchroniczne callbacki reporterów
- Własne strategie szpiegów i strategie zależne od przekazanych argumentów
- Nowy matcher
toHaveClass - Błędy w
afterAllna każdym poziomie traktowane jako porażka - Wersja 2.99 z ostrzeżeniami ułatwiająca migrację
2018-01-08- Nuxt.js v1.0 - framework meta nad Vue.js z SSR, SSG i routingiem opartym o strukturę plików
2017
2017-12-14- WAI-ARIA 1.1 - rekomendacja W3C- Nowe role:
feed,figure,searchbox,switch,table,cell,terminone(synonimpresentation) - Nowe atrybuty:
aria-modal,aria-current,aria-details,aria-errormessage,aria-keyshortcuts,aria-roledescription,aria-placeholder - Atrybuty tabel:
aria-colcount,aria-rowcount,aria-colindex,aria-rowindex,aria-colspan,aria-rowspan aria-haspopupokreśla typ okna:menu,listbox,tree,grid,dialog- Przestarzałe
aria-grabbediaria-dropeffect - Tego samego dnia: Core-AAM 1.1 (rekomendacja) i WAI-ARIA Authoring Practices 1.1 (notatka W3C)
- Pierwszy szkic roboczy: 2013-09-26
- Nowe role:
2017-12-14- Zatwierdzenie specyfikacji HTML 5.22017-11-28- React v16.2.0 - fragmenty<React.Fragment>grupuje dzieci bez dodatkowego węzła DOM- Skrócona składnia JSX
<></>(Babel 7.0.0-beta.31+, TypeScript 2.6.2+) - Fragment z
keytylko w pełnej formie<Fragment key={id}>
2017-11-14- Firefox Quantum (Firefox 57)- Nowy silnik renderujący, według Mozilli 2x szybszy niż pół roku wcześniej
- Nowy interfejs Photon
- Koniec starych dodatków XUL, zostają tylko WebExtensions
2017-11-07- Prettier v1.8 - formatowanie Markdownu2017-11-01- Tailwind CSS v0.1 - pierwsze publiczne wydanie frameworka CSS typu utility-first2017-11-01- Angular v52017-10-31- Node.js v9- V8 6.2, npm 5.5
- HTTP/2 bez flagi
--expose-http2(nadal eksperymentalne) - Dalsze nadawanie błędom statycznych kodów (
err.code) - Usunięte
Intl.v8BreakIteratori stare eksperymentalne APIasync_hooks os.EOLtylko do odczytu
2017-10-30- Zatwierdzenie specyfikacji HTML 5.12017-10-24- Apollo Client v2- Warstwa sieciowa Apollo Link oparta na obserwablach zamiast
Promise - Modułowa budowa (rdzeń ok. 12 KB)
- Warstwa sieciowa Apollo Link oparta na obserwablach zamiast
2017-10-18- MDN - Microsoft, Google, Samsung i W3C w radzie produktowej MDN (Product Advisory Board), Microsoft przekierowuje ponad 7,7 tys. stron MSDN na MDN2017-10-09- Cypress v12017-09-26- React v16- Nowa architektura rdzenia Fiber
render()może zwracać tablice elementów i napisy- Error boundaries (
componentDidCatch) - Portale (
ReactDOM.createPortal()) - Przepisany SSR ze strumieniowaniem (
renderToNodeStream()), ok. 3 razy szybszy niż w React 15 - Niestandardowe atrybuty trafiają do DOM
- O 32% mniejszy rozmiar niż 15.6.1
- Licencja MIT
React.createClassiReact.PropTypestylko jako osobne paczkicreate-react-classiprop-types
2017-09-22- React przechodzi na licencję MIT - Facebook porzuca BSD + Patents- Zmiana obejmuje też Jest, Flow i Immutable.js
- Powód: kilka tygodni niepewności w społeczności wokół licencji BSD + Patents
- Pierwsza wersja na MIT to React 16 (2017-09-26)
2017-09-19- Preact v8.02017-09-13- 3. urodziny WarsawJS2017-09-12- Node.js v8.5 - eksperymentalne moduły ESM za flagą--experimental-modules2017-09-07- Yarn v1.0- Workspaces
- Selective Version Resolution
- Auto-merge dla
yarn.lock
2017-09-01- Nx - Nrwl (Jeff Cross i Victor Savkin, wcześniej w zespole Angulara w Google) publikuje w npm pierwsze wersje Nrwl Extensions for Angular, zestawu narzędzi do aplikacji Angular w monorepo2017-08-15- Node.js v8.4 - eksperymentalny modułhttp2(flaga--expose-http2)2017-08-15- Gatsby v1.02017-07-11- npm v5.2 - w zestawienpx, który uruchamia binarki z paczek bez globalnej instalacji2017-06-19- Webpack v3.0- Eksperymentalny Scope Hoisting (
ModuleConcatenationPlugin) output.libraryExportdo wyboru eksportu biblioteki[contenthash]wsourceMapFilenameuglifyjs-webpack-pluginw osobnym repozytorium
- Eksperymentalny Scope Hoisting (
2017-06-18- Jekyll v3.5- Liquid 4 z kontrolą białych znaków i filtrami
concatorazcompact - Klucz
gemsw_config.ymlprzemianowany naplugins - Motywy mogą deklarować zależności od pluginów
- Zmienne layoutu dostępne w dokumentach (
layout) - Pliki danych
.tsv
- Liquid 4 z kontrolą białych znaków i filtrami
2017-06-11- ESLint v4.0- Bardziej rygorystyczna reguła
indent - Nieznane właściwości w plikach konfiguracji kończą się błędem
- Wzorce z
.eslintignoreliczone względem lokalizacji pliku - Siedem nowych reguł, m.in.
padding-line-between-statementsifor-direction - Autofix dla
no-debuggerino-confusing-arrow
- Bardziej rygorystyczna reguła
2017-06-06- MDN - Mozilla Developer Network zmienia nazwę na MDN Web Docs2017-06-02- Prettier v1.4 - obsługa TypeScriptu oraz CSS, Less i SCSS2017-06-??- Zatwierdzenie specyfikacji ECMAScript 2017 🎉- Async/await
Object.{values, entries, getOwnPropertyDescriptors}String.prototype.{padStart, padEnd}- Shared memory and atomics
2017-05-30- Storybook v3.0- Pierwsze wydanie rozwijane przez społeczność po zamknięciu Kadiry (grudzień 2016)
- Pakiety przeniesione z
@kadirado@storybook, kod w monorepo
2017-05-30- Node.js v8- V8 5.8, npm 5 (
package-lock.json) - Eksperymentalne N-API dla natywnych dodatków
- Moduł
async_hooksiutil.promisify() - WHATWG URL w pełni wspierane
new Buffer(num)domyślnie zeruje pamięć- LTS Carbon od 2017-10-31
- V8 5.8, npm 5 (
2017-05-25- npm v5- Plik
package-lock.jsonz dokładnymi wersjami zależności --savedomyślnie- Przepisany cache z weryfikacją integralności
- Sumy kontrolne SHA-512 publikowanych paczek
- Instalacja z katalogu lokalnego tworzy symlink
- Tryb offline z cache
- Zakresy semver dla zależności z gita (
#semver:^5)
- Plik
2017-05-24- Siódma edycja konferencji Front-Trends2017-05-15- Polymer v2.0- Elementy jako klasy ES6
- Custom Elements v1 i Shadow DOM v1
- Modularne polyfille
- Rdzeń ok. 11 KB
2017-04-24- jsdom v10.0- Nowe API do tworzenia dokumentów (
new JSDOM()), stare dostępne jakojsdom/lib/old-api.js - Koniec wsparcia Node.js 4 i 5
- Nowe API do tworzenia dokumentów (
2017-04-21- Uruchomienie agregatu polskich blogów Polski Front-end2017-04-13- Prettier v1.0- Pierwsze stabilne wydanie, gotowe do użycia produkcyjnego
- Opcje
--no-semii--use-tabs - Po dwóch miesiącach ok. 7000 gwiazdek na GitHubie i ponad 100 tys. pobrań z npm miesięcznie, używany m.in. przez React, Jest i Immutable.js
2017-04-10- Hugo v0.20 - własne formaty wyjściowe (np. kalendarze, AMP, indeksy JSON do wyszukiwarki)2017-04-07- React v15.5.0 - przygotowanie do React 16- Ostrzeżenie przy
React.PropTypes, zamiast tego paczkaprop-types - Ostrzeżenie przy
React.createClass, zamiast tego klasy ES6 albo paczkacreate-react-class - Test Utils w
react-dom/test-utils, shallow renderer wreact-test-renderer/shallow - Codemody w
react-codemod
- Ostrzeżenie przy
2017-03-30- Apollo Client v1 - pierwsza stabilna wersja, gotowa do użytku produkcyjnego2017-02-21- Node.js v7.6 -async/awaitbez flagi dzięki V8 5.52017-01-31- Pierwsza edycja Gamedev.js Warszawa2017-01-18- WCAG 2.0 w standardach Section 508 - odświeżone przepisy dla administracji federalnej USA- Treści elektroniczne muszą spełniać poziomy A i AA WCAG 2.0
- Wymóg obejmuje też dokumenty spoza WWW (z 4 wyjątkami)
- Obowiązuje od 2018-01-18
2017-01-17- Webpack v2.2 - pierwsze stabilne wydanie webpack 2- Natywne moduły ES (
import/export) i tree shaking import()do dzielenia kodumodule.ruleszamiastmodule.loadersresolve.moduleszamiastresolve.root- Nowa dokumentacja na webpack.js.org
- Natywne moduły ES (
2017-01-10- Prettier - James Long ogłasza formatter JavaScriptu- Inspiracja:
refmtz Reason - Obsługa ES2017, JSX i Flow
- Fork drukarki z
recastprzepisany na algorytm Wadlera z pracy „A prettier printer” - Kod parsowany do AST i drukowany od nowa z uwzględnieniem maksymalnej długości linii
- Inspiracja:
2017-??-??- pnpm v1.0 - menedżer pakietów oparty o hard linki i content-addressable storage (oszczędność miejsca i szybkość)
2016
2016-12-13- Angular v42016-12-13- RxJS v5.0 - pełne przepisanie biblioteki w TypeScript2016-12-04- Pierwsza edycja WarsawJS Workshop ❤️2016-11-29- Svelte v1.0.02016-10-25- Node.js v7- V8 5.4 z ok. 98% pokryciem funkcji ES6
- Eksperymentalny parser URL zgodny ze standardem WHATWG
- Ostrzeżenie przy nieobsłużonych odrzuceniach Promise
- Przestarzały moduł
punycodeiBuffer()beznew - npm 3.10
2016-10-25- Next.js v1.0 - pierwsze publiczne wydanie frameworka React przez ZEIT2016-10-20- npm v4prepublishprzestarzały, zastępują goprepareiprepublishOnlynpm searchprzepisany na strumieniowanie wynikównpm outdatedkończy się kodem 1, gdy znajdzie nieaktualne paczki- Usunięte
npm tagna rzecznpm dist-tag - Koniec obsługi częściowych
npm-shrinkwrap.json
2016-10-17- jQuery - jQuery Foundation (po połączeniu z Dojo Foundation) staje się JS Foundation pod skrzydłami Linux Foundation2016-10-11- Nowy menedżer pakietów Yarn- Współpraca Facebooka, Exponent, Google i Tilde
- Lockfile
yarn.locki deterministyczne instalacje - Globalny cache paczek i instalacje offline
- Równoległe pobieranie i instalacja
- Sumy kontrolne paczek w lockfile
- Korzysta z rejestru npm
2016-10-06- Jekyll v3.3- Motywy mogą dostarczać zasoby w katalogu
/assets - Nowe filtry
relative_urliabsolute_url jekyll serveautomatycznie ustawiasite.urlna adres serwera deweloperskiego
- Motywy mogą dostarczać zasoby w katalogu
2016-10-06- XMLHttpRequest - W3C kończy prace nad własną wersją (XMLHttpRequest Level 1) i odsyła do XMLHttpRequest Living Standard WHATWG2016-09-30- Vue v2.0- Virtual DOM
- JSX
- SSR
- Ekosystem Vuex i Vue Router
2016-09-27- Leaflet v1.0- Dużo wyższa wydajność, zwłaszcza warstw wektorowych
- Animowany przelot
map.flyTo() - Ułamkowe poziomy przybliżenia
- Klasa
Tooltip - Własne panele (panes) do układania warstw
2016-09-22- TypeScript v2.0- Typy świadome
null/undefined(--strictNullChecks) - Control flow based type analysis (zawężanie typów)
- Discriminated unions, typ
never
- Typy świadome
2016-09-14- 2. urodziny WarsawJS2016-09-14- GraphQL - koniec etapu technical preview, tego samego dnia startuje GitHub GraphQL API2016-07-26- Jekyll v3.2- Motywy jako gemy (layouty, include’y i Sass), domyślny szablon oparty na motywie minima
- Nowy filtr
where_expi taglink - Hook
:after_init, koniec wsparcia Ruby 2.0
2016-07-22- Create React App - oficjalne narzędzie do zakładania aplikacji React bez konfiguracji (Dan Abramov)- Instalacja
npm install -g create-react-app, projekt przezcreate-react-app hello-world npm starturuchamia serwer deweloperski,npm run buildbuduje wersję produkcyjną- webpack, Babel i ESLint schowane w jednej zależności
react-scripts - Komenda
ejectprzenosi konfigurację i skrypty do projektu
- Instalacja
2016-07-15- ESLint ogłasza koniec rozwoju JSCS, jego twórcy przechodzą do ESLint2016-07-01- ESLint v3.0- Wymóg Node.js 4+
- ESLint nie uruchamia się bez pliku konfiguracji
- Aktualizacja
eslint:recommended
2016-06-17- Zatwierdzenie specyfikacji ECMAScript 2016 🎉- Operator potęgowania
** Array.prototype.includes
- Operator potęgowania
2016-06-09- jQuery v3.0- Tryb
strict modei pętlafor...ofna kolekcjach jQuery - Deferred zgodne z Promises/A+,
jQuery.whenprzyjmuje dowolne thenable (np. natywnePromise) - Animacje oparte na
requestAnimationFrame - Do 17× szybsze selektory w rodzaju
:visible - Nowa wersja slim bez modułów Ajax i efektów (ok. 6 KB mniej po gzip)
- Usunięte
.load(),.unload()i.error(), przestarzałe.bind()i.delegate()na rzecz.on()
- Tryb
2016-05-18- Szósta edycja konferencji Front-Trends2016-05-11- Electron v1 - stabilne API- Aplikacja Electron API Demos z przykładami API
- Devtron, rozszerzenie DevTools do debugowania aplikacji
- Spectron 3.0 do testów integracyjnych
2016-04-29- Powstanie projektu redux-observable2016-04-26- Node.js v6- V8 5.0 z obsługą 93% funkcji ES6 (v5: 56%, v4: 50%)
- Ładowanie modułów prawie 4x szybsze niż w Node.js 4
- Nowe
Buffer.from()iBuffer.alloc(),new Buffer()przestarzałe w dokumentacji - API ostrzeżeń procesu (
process.emitWarning()), npm 3.8 - LTS Boron od 2016-10-18
2016-04-19- ESLint dołącza do jQuery Foundation (od 2019 OpenJS Foundation)2016-04-14- Zespół JSCS dołącza do ESLint, JSCS 3.0 zostaje ostatnim dużym wydaniem2016-04-07- React v15 - numeracja przeskakuje z 0.14 na 15 jako sygnał stabilności API- Pierwsze renderowanie przez
document.createElementzamiastinnerHTML - Koniec atrybutu
data-reactidna każdym węźle - Tekst bez dodatkowych
<span>(węzły tekstowe i komentarze) nullrenderowany jako komentarz zamiast<noscript>- Komponenty funkcyjne mogą zwracać
null - Pełna obsługa tagów i atrybutów SVG
- Usunięte API przestarzałe w 0.14 (np.
React.render,getDOMNode,setProps)
- Pierwsze renderowanie przez
2016-04-06- Premiera przeglądarki Vivaldi 1.0 od Jona von Tetzchnera, współzałożyciela Opery2016-04-05- Backbone v1.3.32016-04-04- Grunt v1.0- Koniec wsparcia Node.js 0.8
- lodash 4 (zmiany w
grunt.util._) - Wyniki globów domyślnie posortowane
2016-03-31- Storybook v1.0 - Kadira (Arunoda Susiripala) wydaje React Storybook (@kadira/storybook) do budowania komponentów w izolacji od aplikacji2016-03-30- Safari Technology Preview - Safari z najnowszym WebKitem do testowania nadchodzących funkcji2016-03-29- npm zaostrza zasady usuwania paczek po incydencie zleft-pad- Paczkę młodszą niż 24 godziny autor usuwa sam
- Starszą usuwa tylko support npm, po sprawdzeniu, czy nic od niej nie zależy
- Nazwę po usuniętej paczce zajmuje paczka-zaślepka, żeby nikt jej nie przejął
2016-03-22- Z npm znika paczkaleft-padi psuje buildy tysięcy projektów- Azer Koçulu usuwa
kiki 272 inne paczki po sporze o nazwękik - Od 14:30 czasu pacyficznego setki nieudanych buildów na minutę
- npm przywraca
left-pad@0.0.3, awaria trwa ok. 2,5 godziny
- Azer Koçulu usuwa
2016-02-12- ESLint v2.0- Analiza ścieżek wykonania (code path analysis) dostępna też dla własnych reguł
- Ustawienia parsera w
parserOptions, wersja języka przezecmaVersion - Pluginy mogą eksportować środowiska i shareable configs
.eslintignoredziała jak.gitignore- Globalne ES6 (
Promise,Map) przeniesione do środowiskaes6
2016-02-05-Angular.js v1.5.02016-01-15- lint-staged - Andrey Okonetchnikov publikuje narzędzie uruchamiające lintery tylko na plikach w staging area2016-01-12- Lodash v4.0.0
2015
2015-10-29- Node.js v5- V8 4.6: operator spread i
new.target - npm 3 (płaska struktura
node_modules) - Obsługa ALPN w TLS
fs.readFile()ifs.writeFile()przyjmują deskryptor pliku- Usunięte
require.pathsiutil.p()
- V8 4.6: operator spread i
2015-10-29- Babel.js v62015-10-27- Vue v1.0 “Evangelion”2015-10-26- Jekyll v3.0- Eksperymentalne przyrostowe budowanie (
--incremental) - Profiler Liquid (
--profile) - API hooków dla pluginów zamiast monkey patchingu
- Rouge zamiast Pygments jako domyślny highlighter
- Zależności zmniejszone z 14 do 8, bez rozszerzeń w C
- Koniec wsparcia Ruby 1.9.3
- Eksperymentalne przyrostowe budowanie (
2015-10-12- Node.js v4.2 - pierwsze wydanie LTS (Argon)2015-10-07- React v0.14- Podział na paczki
reactireact-dom(wspólne komponenty z React Native) - Bezstanowe komponenty funkcyjne (stateless function components)
- Ref do elementu DOM to od razu węzeł DOM (koniec
getDOMNode()) - Dodatki (addons) jako osobne paczki
react-addons-* - Zamrożony obiekt
props, zamiast mutacjiReact.cloneElement react-toolsiJSXTransformerprzestarzałe na rzecz Babela- Elementy oznaczane
Symbol, co chroni przed XSS przez spreparowany JSON
- Podział na paczki
2015-09-16- 1. urodziny WarsawJS2015-09-14- GraphQL - Lee Byron ogłasza GraphQL na blogu graphql.org (w aplikacjach Facebooka od 2012 roku)2015-09-14- React Native dla Androida - rdzeń środowiska i pierwsze moduły trafiają na GitHub i do npm2015-09-08- Node.js v4- Pierwsze wydanie po połączeniu Node.js i io.js (następca v0.12 i io.js v3.3)
- V8 4.5: klasy, funkcje strzałkowe, generatory, Promise, template strings bez flag
- Funkcje
util.is*()przestarzałe w dokumentacji - npm 2.14
- LTS Argon (od v4.2.0)
2015-09-03- Backbone v1.2.32015-08-15- Powstanie projektu Preact (Jason Miller) - lekka alternatywa dla React (3KB)2015-08-13- Ember v2.02015-07-31- ESLint v1.0- Domyślnie żadna reguła nie jest włączona (dawne
--reset) - Preset
eslint:recommended, z którego korzysta--init RuleTesterwbudowany w pakieteslint(zamiasteslint-tester)- Numeracja kolumn od 1
- 14 nowych reguł, m.in.
arrow-parens,no-const-assign,prefer-spread
- Domyślnie żadna reguła nie jest włączona (dawne
2015-07-29- Premiera przeglądarki Microsoft Edge (dawniej Project Spartan) z silnikiem EdgeHTML, razem z Windows 102015-07-02- GraphQL - Facebook publikuje szkic specyfikacji (Working Draft) i referencyjną implementację GraphQL.js2015-06-25- npm v3- Maksymalnie płaska struktura
node_modulesz deduplikacją od razu peerDependenciesnie są już instalowane automatycznie, npm tylko ostrzega- Wieloetapowy instalator i pasek postępu
- Pole
engineStrictignorowane - Wydanie w wersji beta, tag
latestzostaje przy npm 2
- Maksymalnie płaska struktura
2015-06-17- Zatwierdzenie specyfikacji ECMAScript 2015 🎉- Arrow Functions
Array.isArray()Array.from()Array.of()Array.prototype.copyWithin()Array.prototype.find()Array.prototype.findIndex()Array.prototype.fill()Array.prototype.keys()Array.prototype.values()Array.prototype.entries()
- Template Literals
- Scoping:
let,const - Extended Parameter Handling
- Spread Operator
- Rest Parameters
- Enhanced Object Properties
- Property Shorthand
- Computed Property Names
- Method Properties
- Destructuring Assignment
- Classes
- Modules
- Symbol Type
- Iterators
- Generators
- Map/Set & WeakMap/WeakSet
- Typed Arrays
Int8Array,Int16Array,Int32ArrayUint8Array,Uint8ClampedArray,Uint16Array,Uint32ArrayFloat32Array,Float64ArrayDataView’s &ArrayBuffer’s
- New Built-In Methods:
Object.assign()Array.prototype.findIndexString.prototype.startsWithString.prototype.endsWithMath.trunc()Math.sign()Number.isSafeInteger()Number.isNaN()Number.isFinite()
- Promises
- Meta-Programming: Proxy, Reflect
- Internationalization & Localization
- Arrow Functions
2015-06-16- Społeczności Node.js i io.js ogłaszają połączenie kodu w ramach Node.js Foundation2015-06-02- Powstanie projektu Redux2015-05-29- Polymer v1.0 - pierwsza stabilna wersja biblioteki- Biblioteka przepisana od nowa: 3x szybsza w Chrome i 4x w Safari niż developer preview
- Nowy system data bindingu
- Motywy przez CSS custom properties zamiast
/deep/i::shadow - Shady DOM, lekki shim Shadow DOM dla przeglądarek bez wsparcia
2015-05-06- Piąta edycja konferencji Front-Trends2015-04-23- Electron - Atom Shell zmienia nazwę na Electron2015-04-14- npm uruchamia prywatne paczki za 7 USD miesięcznie i ogłasza rundę A na 8 mln USD2015-03-31- Babel.js v52015-03-26- React Native - Facebook udostępnia na GitHubie React Native dla iOS (F8 2015)- React w osadzonym JavaScriptCore renderuje natywne komponenty platformy zamiast DOM
- Zasada „learn once, write anywhere”
- W produkcji już w Facebook Groups (hybrydowo) i Ads Manager (w całości)
- Android zapowiedziany na później (wydany 2015-09-14)
2015-03-10- React v0.13- Komponenty jako klasy ES6 (
class extends React.Component) React.findDOMNode(component)zamiastcomponent.getDOMNode()React.cloneElement(el, props)do kopiowania elementów- Refy jako funkcje (callback refs)
setStateprzyjmuje funkcję (aktualizacja na podstawie poprzedniego stanu)- Iteratory i sekwencje Immutable.js jako dzieci
setStatew metodach cyklu życia zawsze grupowane (asynchroniczne)
- Komponenty jako klasy ES6 (
2015-03-05- Hexo v3.0- CLI wydzielone do modułu
hexo-cli - Generatory, deployery i serwer wydzielone z rdzenia
- Tagi do assetów wpisu (
asset_path,asset_imgi inne)
- CLI wydzielone do modułu
2015-02-22- jsdom v4.0- Moduł
vmz io.js zamiast natywnego Contextify (instalacja bez kompilatora C++) - Działa tylko w io.js, nie w Node.js
- Moduł
2015-02-06- Node.js v0.12- V8 3.28
- Streams3
- Round-robin w
cluster execSync()ispawnSync()
2015-01-28- Pierwsza konferencja React Conf (wtedy React.js Conf) w siedzibie Facebooka w Kalifornii- Keynote Toma Occhino i Christophera Chedeau zapowiada React Native (React poza DOM)
- Daniel Schafer i Jing Chen pokazują pobieranie danych w Facebooku, czyli zapowiedź Relay i GraphQL
- Drugiego dnia Christopher Chedeau szczegółowo omawia React Native
- Relay i GraphQL opisane na blogu 2015-02-20, z zapowiedzią open source „w przyszłości”
2015-01-26- Lodash v3.0.02015-01-14- Fork Node.js o nazwie io.js wydaje wersję 1.0.0 (V8 3.31, nowe funkcje ES6)
2014
2014-11-16- Mermaid v0.1 - pierwsza wersja biblioteki Knuta Sveidqvista do rysowania diagramów z tekstu2014-10-28- Zatwierdzenie specyfikacji HTML 5.02014-10-28- React v0.12- Licencja BSD (3-clause) z dodatkowym przyznaniem patentów (PATENTS) zamiast Apache 2.0
- Nowa terminologia: elementy (React Elements) i fabryki (
React.createFactory) keyirefpoza obiektemprops- Spread atrybutów w JSX (
{...props}) zamiasttransferPropsTo React.renderzamiastReact.renderComponent,React.isValidElementzamiastReact.isValidComponent- Komentarz
/** @jsx React.DOM */przestaje być potrzebny - Małe litery w JSX to zawsze tagi HTML, wielkie to komponenty
2014-09-16- Pierwsza edycja WarsawJS Meetup ❤️2014-09-12- npm v2- Paczki z zakresem, np.
@scope/nazwa - Przekazywanie argumentów do
npm run-scriptpo-- - Zależności z lokalnych ścieżek (
file:) - semver 4 - wersje przedpremierowe nie pasują do zakresów
- Paczki z zakresem, np.
2014-09-03- Zespół React publikuje specyfikację JSX niezależną od samej biblioteki- Szkic i „żywy dokument” dla autorów transpilerów i podświetlania składni
- Nie jest propozycją do standardu ECMAScript
- Dziś pod adresem react.github.io/jsx
2014-07-17- React v0.11- Komponent może renderować
null getDefaultProps()wywoływane raz na klasę- Znormalizowane
e.keyie.getModifierState()w zdarzeniach klawiatury, nowe zdarzenieonBeforeInput React.Children.count- Dodatki
PureRenderMixiniPerf(analiza wydajności) - Przestrzenie nazw w JSX (
<Components.Checkbox />) - Paczka npm z gotowymi buildami w
dist/
- Komponent może renderować
2014-06-09- Husky - pierwsza wersja (0.1.0) w npm2014-05-29- Hugo v0.11- LiveReload
- Silnik motywów i repozytorium motywów
- System menu
- Generowanie mapy strony XML
2014-05-07- Czwarta edycja konferencji Front-Trends2014-05-06- Jekyll v2.0- Kolekcje (collections), czyli własne typy dokumentów
- Wbudowana obsługa Sass i CoffeeScript
- Domyślne wartości front matter
- Nowe filtry Liquid
whereigroup_by - kramdown zamiast Maruku jako domyślny konwerter Markdown
2014-05-06- Architektura Flux dla React - jednokierunkowy przepływ danych zamiast MVC- Pokazana na F8 2014 (2014-04-30) w wystąpieniu „Hacker Way: Rethinking Web App Development at Facebook” (Tom Occhino, Jing Chen, Pete Hunt)
- Akcje, dispatcher, store’y i widoki React
- Dispatcher udostępniony jako open source 2014-07-30
2014-04-09- Express.js v4.0.02014-04-02- TypeScript v1.0- Pierwsze stabilne wydanie: superset JS z opcjonalnymi statycznymi typami, kompilacja do plain JS
- Generics
- Klasy, interfejsy i moduły (wg specyfikacji języka 1.0)
2014-03-21- React v0.10React.renderComponentToStaticMarkup- HTML z serwera bez atrybutówdata-reactididata-react-checksum- Dodatek
updatedo pracy z niemutowalnymi danymi - Atrybut
srcSetdla<img> - Opcja
harmonywreact-tools(transformacje ES6) - Ostrzeżenia przygotowujące do deskryptorów (descriptors)
2014-03-20- WAI-ARIA 1.0 - rekomendacja W3C- Role widgetów (m.in.
tablist,tree,grid,slider,dialog) - Role landmarków:
banner,navigation,main,complementary,contentinfo,search - Regiony na żywo (
aria-live) dla treści zmienianych przez JavaScript - Atrybuty
aria-label,aria-labelledby,aria-describedby,aria-hidden,aria-expanded - Tego samego dnia: WAI-ARIA 1.0 User Agent Implementation Guide
- Role widgetów (m.in.
2014-02-20- React v0.9React.addons.TestUtilsdo testów jednostkowych- Nowe typy w
React.PropTypes:arrayOf,shape,oneOfType,anyi inne statics- metody statyczne komponentu- React nie rzuca ponownie błędów, więc stosy wywołań są dokładniejsze
- Nowa obsługa białych znaków w JSX (spacje w linii zostają, znaki nowej linii znikają)
React.renderComponentToStringdziała synchronicznie- Nowe tagi SVG i atrybuty HTML
2014-02-19- Webpack v1.0 - pierwsza stabilna wersja po wydaniach 0.x od 2012 roku2014-02-??- Powstanie projektu Vue.js - pierwsza publiczna wersja autorstwa Evan You2014-01-15- Isaac Z. Schlueter zakłada firmę npm, Inc., która ma utrzymywać rejestr i sprzedawać usługi wokół npm2014-01-02- React dostaje rozszerzenie React Developer Tools dla Chrome- Zakładka React z listą komponentów głównych i ich podkomponentów
- Podgląd i edycja
propsistate - Okruszki (breadcrumbs) pokazujące, który komponent utworzył wybrany
2013
2013-12-19- React v0.8 - React przejmuje nazwęreactw npm- Numeracja przeskakuje 0.6 i 0.7, bo poprzednia paczka
react(Jeff Barczewski, dziśautoflow) miała wersje 0.7.x - Wydanie z poprawkami na bazie 0.5, bez zmian w publicznym API
- Ten sam React na serwerze i w przeglądarce bez pakowania całego
react-tools JSXTransformerdziała w IE8 i jest mniejszy o ok. 65 KB (16 KB po gzip)
- Numeracja przeskakuje 0.6 i 0.7, bo poprzednia paczka
2013-10-17- Internet Explorer 11 - ostatnia wersja Internet Explorera2013-10-16- React v0.5- Mniejsze zużycie pamięci i lepsza wydajność
- Zdarzenia zaznaczenia (Selection) i kompozycji (Composition)
getInitialStateigetDefaultPropsw mixinachReact.versioniReact.isValidClass- Osobny build z dodatkami (React with Addons)
- Działa przy restrykcyjnym CSP, więc nadaje się do rozszerzeń Chrome
- JSX nie zamienia już
classnaclassName(trzeba pisaćclassName)
2013-09-26- Gulp v1.0 - pierwsze stabilne wydanie2013-08-31- Ember v1.02013-07-17- React v0.4- Walidacja
propTypesi wartości domyślne (getDefaultProps) - Prop
keydo sterowania rekoncyliacją - Automatyczne wiązanie metod (autobind),
React.autoBindusunięte data-reactidzamiastiddo śledzenia węzłów DOMReact.renderComponentToString()do renderowania na serwerze- Kontrolowane pola formularzy (
defaultValue, ujednoliconeonChange) i zdarzenia syntetyczne zgodne ze specyfikacją W3C - Grupowanie aktualizacji (batching) i
setStatez callbackiem - Komentarze w JSX (
{/* ... */})
- Walidacja
2013-07-15- Electron - pierwsza wersja (v0.1.0) Atom Shell, frameworka tworzonego przez GitHub dla edytora Atom2013-07-09- Chrome 28 - pierwsza stabilna wersja Chrome na silniku Blink2013-07-04- Powstanie projektu Hugo - statyczny generator stron w Go (Steve Francia)2013-07-04- Powstanie projektu Gulp - pierwszy commit i wersja 0.0.1 w npm2013-07-02- Opera 15 - pierwsza Opera na Chromium i silniku Blink, koniec silnika Presto2013-06-30- Powstanie projektu ESLint (Nicholas C. Zakas)2013-06-05- React - Pete Hunt wyjaśnia we wpisie „Why did we build React?”, po co powstała biblioteka- React to biblioteka do komponentów UI, a nie framework MVC
- Widoki w JavaScripcie zamiast szablonów, JSX jako opcjonalne rozszerzenie składni
- Po zmianie danych
renderwywołuje się ponownie, a React nanosi na DOM tylko różnice (rekoncyliacja) - Instagram to aplikacja SPA zbudowana w całości w React i
Backbone.Router
2013-05-29- Pierwsze publiczne wydanie React v0.3.0 (open source) na JSConf US 2013- Tom Occhino i Jordan Walke pokazują bibliotekę w wystąpieniu JS Apps at Facebook
- Kod trafia na GitHub (commit „Initial public release”), a narzędzia JSX do npm jako
react-tools - Licencja Apache 2.0
- Nazwa
reactw npm należy jeszcze do innego projektu (React przejmie ją w wersji 0.8)
2013-05-07- JSHint v2.0- ES5 jako domyślne środowisko (zamiast ES3)
- Częściowe wsparcie ES6 (
let,const, destrukturyzacja, generatory, funkcje strzałkowe) - CLI szuka pliku konfiguracyjnego w lintowanych katalogach
2013-05-05- Jekyll v1.0- Tag
gistdo osadzania Gistów - Automatyczne zajawki (excerpt) wpisów
- Szkice (drafts) z podglądem przed publikacją
- Tag
2013-04-26- Trzecia edycja konferencji Front-Trends2013-04-18- jQuery v2.0- Koniec wsparcia Internet Explorer 6, 7 i 8 (zostają w gałęzi 1.x)
- Plik o 12% mniejszy niż jQuery 1.9.1
- Własne buildy z pominięciem wybranych modułów
- API zgodne z jQuery 1.9
2013-04-03- Google ogłasza silnik Blink - fork WebKita dla projektu Chromium2013-03-11- Node.js v0.10- Nowe API strumieni (streams2)
- Szybszy
process.nextTick()
2013-03-??- CKEditor v1.02013-02-18- Grunt v0.4- Podział na
grunt(lokalnie) orazgrunt-cliigrunt-init(globalnie) - Plik
grunt.jszmieniony naGruntfile.js - Wbudowane zadania wydzielone do pluginów
grunt-contrib-* - Wymóg Node.js 0.8+
- Podział na
2013-02-13- Opera zapowiada porzucenie własnego silnika Presto na rzecz WebKit2013-01-15- jQuery v1.9- Usunięte przestarzałe API, m.in.
.live(),$.browseri.toggle(fn, fn) - Wtyczka jQuery Migrate 1.0 przywracająca usunięte API na czas migracji
.css()przyjmuje tablicę nazw właściwości- Nowa metoda
.finish()kończąca kolejkę animacji - Wsparcie source map
- Premiera jQuery 2.0 beta bez wsparcia IE 6-8
- Usunięte przestarzałe API, m.in.
2013-??-??- Opublikowanie standardu ECMA-404 przez Ecma International, który zawierał opis formatuJSON
2012
2012-10-23- Express.js v3.0.02012-10-15- WCAG 2.0 jako norma ISO/IEC 40500:2012 - zatwierdzenie przez ISO/IEC JTC 12012-10-07- Pierwsze wydanie Hexo w npm - statyczny generator stron w Node.js (Tommy Chen)2012-07-12- Przejście WHATWG do modelu HTML Living Standard (od teraz mamy 2 drogi: W3C i WHATWG)2012-06-27- Pierwsza stabilna wersja Chrome dla Androida (beta od 2012-02-07)2012-06-14-Angular.js v1.0.02012-05-??- Chrome po raz pierwszy przez cały miesiąc wyprzedza Internet Explorera w globalnych statystykach StatCounter (32,43% wobec 32,12%)2012-04-26- Druga edycja konferencji Front-Trends2012-04-23- Powstanie projektu Lodash2012-04-12- WCAG 2.0 w Krajowych Ramach Interoperacyjności - rozporządzenie Rady Ministrów (Dz.U. 2012 poz. 526)- § 19: systemy podmiotów publicznych mają spełniać WCAG 2.0 na poziomie AA
- Istniejące systemy: 3 lata na dostosowanie
2012-03-10- Powstanie projektu Webpack - pierwszy commit Tobiasa Koppersa, wersja 0.1.0 w npm dzień później2012-03-06- jQuery - powstaje jQuery Foundation, niezależna organizacja non-profit (prezes: Dave Methvin)2012-03-??- Jordan Walke przenosi FaxJS do kodu Facebooka jako FBolt, zalążek biblioteki React- FBolt działa razem z wewnętrznym frameworkiem BoltJS, więc komponenty można przepisywać po jednym
- Później Jordan Walke i Tom Occhino zmieniają nazwę na React
- JSX powstaje z forka js-xml-literal Marcela Laverdeta, twórcy XHP
- Po przejęciu Instagrama (2012) Pete Hunt pisze w React stronę Instagrama, co wymusza oddzielenie Reacta od infrastruktury Facebooka i otwiera drogę do open source
2012-01-11- Powstanie projektu Grunt
2011
2011-12-08- Powstanie projektu Ember.js - przemianowanie zSproutCore 2.0przez Yehuda Katza2011-11-04- Node.js v0.6- Natywne wsparcie Windowsa
- Moduł
cluster - Wbudowany
zlib
2011-11-03- jQuery v1.7- Nowe
.on()i.off()ujednolicające podpinanie zdarzeń - Delegowanie zdarzeń ok. 2× szybsze niż w 1.6.4
- Obsługa znaczników HTML5 w IE 6-8
- Wsparcie AMD
jQuery.Deferredz obsługą postępu i metodąstate()- Nowe
jQuery.isNumeric()
- Nowe
2011-09-19- Jordan Walke publikuje na GitHubie FaxJS, prototyp biblioteki React- Poboczny projekt w dziale reklam Facebooka, szukający innej drogi niż wewnętrzny framework BoltJS
- Tu rodzą się podstawy Reacta:
props,state, porównywanie („diff”) drzewa UI, renderowanie po stronie serwera i komponenty
2011-09-??- Powstanie projektuCSS Foundation2011-06-21- Firefox 5 - start szybkiego cyklu wydań co 6 tygodni2011-06-07- Zatwierdzenie specyfikacji CSS 2.12011-06-??- Zatwierdzenie specyfikacji ECMAScript 5.1 🎉2011-05-13- Leaflet v0.1 - CloudMade ogłasza bibliotekę map interaktywnych autorstwa Volodymyra Agafonkina2011-05-03- jQuery v1.6- Nowa metoda
.prop()oddzielająca właściwości DOM od atrybutów (.attr()) - Przepisany, szybszy moduł atrybutów
- Nowe
.always()i.pipe()w Deferred - Selektor
:focusijQuery.holdReady()
- Nowa metoda
2011-05-01- npm v1.0- Podział na instalację globalną (
-g) i lokalną wnode_modules - Zagnieżdżone zależności zamiast „aktywacji” wersji
npm lspokazuje drzewo zależności- Zmiany w
npm link
- Podział na instalację globalną (
2011-03-22- Firefox 4- Silnik Gecko 2.0 z lepszym wsparciem HTML5, CSS3, WebM i WebGL
- Firefox Sync i nagłówek Do Not Track
2011-03-17- Express.js v2.0.02011-03-14- Internet Explorer 9- Znaczniki
<video>,<audio>i<canvas> - SVG i moduły CSS3
- Silnik JavaScript Chakra z kompilacją JIT
- Sprzętowa akceleracja grafiki
- Znaczniki
2011-02-18- Powstanie projektu JSHint - fork JSLint (Anton Kovalyov), mniej restrykcyjny i bardziej konfigurowalny2011-01-31- jQuery v1.5- Przepisany moduł Ajax z obiektem
jqXHR - Obiekty Deferred do pracy z operacjami asynchronicznymi
jQuery.sub()do tworzenia izolowanych kopii jQuery- Szybsze
.children(),.prev()i.next()
- Przepisany moduł Ajax z obiektem
2010
2010-11-16- Express.js v1.0.02010-10-20- Powstanie frameworkaAngular.js2010-10-13- Pierwsza wersjaBackbone2010-09-14- Jasmine v1.0 - pierwsza wersja 1.0 frameworka BDD od Pivotal Labs (wcześniej wydania 0.x)2010-08-03- XMLHttpRequest - specyfikacja W3C osiąga status Candidate Recommendation2010-07-22- Google zapowiada nowe wydanie Chrome co 6 tygodni2010-04-26- Pierwsza edycja konferencji Front-Trends2010-03-18- Underscore.js v1.0 - biblioteka wychodzi z bety2010-03-01- UżytkownicyInternet Explorerw UE dostają ekran wyboru przeglądarki BrowserChoice.eu (efekt sprawy antymonopolowej Komisji Europejskiej)2010-02-09- Facebook udostępnia XHP, rozszerzenie PHP, które zainspiruje składnię JSX biblioteki React- Ogłoszenie: XHP: A New Way to Write PHP (Marcel Laverdet)
- Fragmenty XML jako wyrażenia PHP i automatyczne escapowanie danych chroniące przed XSS
- Własne elementy (komponenty) definiowane w PHP
2010-01-14- jQuery v1.4- Duża poprawa wydajności popularnych metod (np.
.html()prawie 3× szybsze) - Funkcje jako argumenty setterów (
.css(),.attr(),.val()i innych) - Szybkie tworzenie elementów przez
jQuery("<div>", { ... }) - Nowe
jQuery.proxy(),.detach(),.unwrap()i.delay() - Zdarzenia
focusinifocusout,.live()dla prawie wszystkich zdarzeń - Parsowanie JSON natywnym
JSON.parse
- Duża poprawa wydajności popularnych metod (np.
2010-01-12- Pierwsze wydanie npm (0.0.1) 📦
2009
2009-12-03- Zatwierdzenie specyfikacjiECMAScript 5🎉- Strict Mode
- Getters, Setters
JSON.{parse,stringify}- Object static methods
Object.{create,keys,freeze}
- Array methods
Array.prototype.{map,forEach}
- String methods
String.prototype.{trim}
- Date methods
Date.prototype.{toJSON}Date.now
- Function methods
Function.prototype.bind
- Immutable globals
undefined,NaN,Infinity
2009-11-08- Ryan Dahl prezentuje Node.js na pierwszej konferencji JSConf EU2009-10-28- Powstanie projektu Underscore.js2009-10-06- Powstanie systemu szablonówMustache2009-09-29- Pierwszy commit npm - Isaac Z. Schlueter zaczyna prace nad menedżerem paczek2009-08-??- CommonJS - grupa ServerJS formalnie zmienia nazwę na CommonJS2009-06-30- Firefox 3.5- Znaczniki
<video>i<audio>z HTML5 - Silnik JavaScript TraceMonkey
- Natywny JSON i Web Workers
- Znaczniki
2009-05-27- Powstanie projektu Node.js2009-04-??- CommonJS - moduły CommonJS pokazane w kilku implementacjach na pierwszym JSConf w Waszyngtonie2009-03-??- CommonJS - grupa przyjmuje format securable modules (CommonJS API 0.1)2009-01-29- Kevin Dangoor zakłada projekt CommonJS (początkowo pod nazwą ServerJS), który miał wprowadzić standard modułów i bibliotek JavaScript poza przeglądarką2009-01-14- jQuery v1.3- Nowy silnik selektorów Sizzle, wydany też jako osobny projekt
- Zdarzenia
.live()(delegowanie zdarzeń) - Przepisana obsługa zdarzeń (
jQuery.Event) - Wykrywanie możliwości przeglądarki zamiast sniffingu user agenta
- Szybsze wstawianie HTML i
.offset()
2008
2008-12-18- Jekyll - silnik nowo uruchomionych GitHub Pages (publikacja strony przezgit push)2008-12-11- Pierwsza stabilna wersja przeglądarki Google Chrome 1.02008-12-11- WCAG 2.0 - rekomendacja W3C- 4 zasady (POUR): postrzegalność, funkcjonalność, zrozumiałość, kompatybilność
- 12 wytycznych i 61 kryteriów sukcesu
- Poziomy zgodności A, AA i AAA
- Kryteria jako testowalne stwierdzenia niezależne od technologii
- Pierwszy szkic roboczy: 2001-01-25
2008-11-17- Jekyll - Tom Preston-Werner przedstawia statyczny generator stron we wpisie Blogging Like a Hacker (fundament dla GitHub Pages)2008-09-02- Premiera przeglądarki Google Chrome w wersji beta dla Windows2008-08-15- Uruchomienie portaluStackOverflow2008-03-01- Koniec wsparcia przeglądarki Netscape Navigator (AOL ogłosiło to 2007-12-28)2008-02-25- XMLHttpRequest - pierwszy szkic roboczy XMLHttpRequest Level 2- Żądania między domenami (cross-site)
- Zdarzenia postępu (progress events)
- Wysyłanie i odbieranie danych binarnych
2007
2007-09-17- jQuery - premiera jQuery UI, biblioteki interakcji i widżetów opartej na jQuery2007-09-10- jQuery v1.2- Nowe metody przechodzenia po DOM, m.in.
.map(),.slice(),.nextAll()i.contents() - Metoda
.offset(),.height()i.width()dladocumentiwindow - JSONP i
getScriptmiędzy domenami, częściowe.load() .stop()i animacje względne- Zdarzenia z przestrzeniami nazw i
.triggerHandler()
- Nowe metody przechodzenia po DOM, m.in.
2007-06-29- MobilneSafaridebiutuje razem z pierwszym iPhone’em2007-06-11- Safari 3 w wersji beta także dla Windows
2006
2006-10-18- Internet Explorer 7 - pierwsza duża aktualizacja od IE6 z 2001 roku- Karty
- Czytnik RSS
- Poprawki obsługi CSS
2006-09-26- WAI-ARIA 1.0 - pierwsze publiczne szkice robocze- Roadmap for Accessible Rich Internet Applications
- Roles for Accessible Rich Internet Applications
- States and Properties Module for Accessible Rich Internet Applications
2006-08-26- jQuery v1.0 - pierwsza stabilna wersja biblioteki Johna Resiga2006-04-05- Pierwszy szkic roboczy W3C specyfikacji XMLHttpRequest (redaktorzy: Anne van Kesteren z Opery i Dean Jackson z W3C)2006-01-14- jQuery - John Resig przedstawia bibliotekę na BarCamp NYC
2005
2005-09-20- Opera 8.50 - pierwsza całkowicie darmowa wersja Opery, bez reklam2005-06-07- Apple otwiera kod silnika WebKit (repozytorium i baza błędów)2005-02-18- Jesse James Garrett w eseju „Ajax: A New Approach to Web Applications” nazywa Ajaksem aplikacje doładowujące dane przez XMLHttpRequest bez przeładowania strony2005-02-08- Powstanie projektuGoogle Maps2005-??-??- Powstanie projektu MDN
2004
2004-11-09- Pierwsza stabilna wersja przeglądarki Firefox 1.0 dla Windows, Mac OS X i Linuksa2004-07-04- Powstanie grupy standaryzującej światu technologii webowych WHATWG (Web Hypertext Application Technology Working Group)2004-04-01- Powstanie projektuGmail2004-02-09- Mozilla Firebird zmienia nazwę na Firefox (wersja 0.8)2004-??-??- PowstanieWHATWG2004-??-??- Rozpoczęcie prac nad Web Applications 1.0 (pierwotna wersja HTML5)
2003
2003-07-15- Powstaje Mozilla Foundation, gdy AOL ogranicza zaangażowanie w Netscape (i przekazuje 2 mln USD na start)2003-06-23- Pierwsza stabilna wersja przeglądarki Safari 1.0 - beta od stycznia miała blisko 5 mln pobrań2003-03-??- Pierwsza wersja CKEditor (wtedy znanego jakoFCKeditor)2003-01-28- Opera 7 z nowym silnikiem Presto2003-01-07- Apple pokazuje publiczną betę przeglądarki Safari (Macworld San Francisco), opartą na forku silnika KHTML z projektu KDE
2002
2002-09-23- Pierwsza publiczna wersja przeglądarki Firefox, jeszcze pod nazwąPhoenix 0.12002-06-05- Mozilla 1.0 - pakiet z przeglądarką, pocztą i czatem na silniku Gecko2002-??-??- Powstanie projektu JSLint
2001
2001-08-27- Internet Explorer 6 - w szczycie popularności blisko 90% rynku2001-05-31- Zatwierdzenie specyfikacjiXHTML 1.12001-??-??- Zdefiniowanie formatuJSON
2000
2000-01-26- Zatwierdzenie specyfikacjiXHTML 1.0
1999
1999-12-24- Zatwierdzenie specyfikacji HTML 4.11999-12-??- Zatwierdzenie specyfikacjiECMAScript 3🎉- Regular Expressions
try..catch
1999-05-05- WCAG 1.0 - rekomendacja W3C- 14 wytycznych i 65 punktów kontrolnych z priorytetami 1-3
- Poziomy zgodności A, Double-A i Triple-A
- Pierwszy szkic roboczy: 1998-02-03 (jako „WAI Accessibility Guidelines: Page Authoring”)
1999-03-18- Internet Explorer 5 - obiektXMLHTTP(ActiveX), przodekXMLHttpRequesti Ajaksa
1998
1998-11-18- Opera 3.5- Wsparcie CSS
- Nowy silnik Elektra
1998-06-??- Zatwierdzenie specyfikacjiECMAScript 2🎉1998-05-18- Departament Sprawiedliwości USA pozywa Microsoft m.in. za wiązanieInternet Explorerz Windows (United States v. Microsoft)1998-05-12- Zatwierdzenie specyfikacji CSS 21998-03-31- Netscape udostępnia kod źródłowy Communicatora, początek projektu Mozilla1998-??-??- Uruchomienie wyszukiwarkiGoogle Search
1997
1997-12-01- Opera 3.0 - pierwsza wersja Opery z JavaScriptem1997-09-30- Internet Explorer 4.0 - Dynamic HTML (DHTML)1997-06-??- Zatwierdzenie specyfikacjiECMAScript 1🎉
1996
1996-12-17- Zatwierdzenie specyfikacji CSS 11996-12-09- Pierwsza publiczna wersja przeglądarki Opera 2.10 (shareware dla Windows)1996-11-??- Netscape Communications zgłosiło JavaScript doEcma Internationaljako standard, po to, aby inne przeglądarki mogły go zaimplementować1996-08-13- Premiera przeglądarki Internet Explorer 3.0- Pierwsza komercyjna przeglądarka ze wsparciem CSS
- Znacznik
<iframe>(ramka pływająca), później używany do asynchronicznego doładowywania treści, zanim powstał Ajax JScript- odpowiednik JavaScriptu od Microsoftu, kontrolki ActiveX
1995
1995-09-18- Uruchomienie językaJavaScriptpierwszy raz w przeglądarce (Netscape Navigator)1995-08-24- Premiera przeglądarki Internet Explorer 1.0 w pakiecie Microsoft Plus! dla Windows 95 (kod licencjonowany od Spyglass Mosaic)1995-05-23- Stworzenie językaJavaScript⭐️
1994
1994-12-15- Premiera przeglądarki Netscape Navigator 1.01994-10-13- Pierwsza beta przeglądarki Mosaic Netscape 0.9, późniejszego Netscape Navigatora
1993
1993-04-21- NCSA Mosaic 1.0 - pierwsza przeglądarka pokazująca obrazki w treści strony zamiast w osobnym oknie
1991
1991-08-06- Tim Berners-Lee udostępnia na grupie alt.hypertext przeglądarkę WorldWideWeb (NeXT), przeglądarkę tekstową Line Mode Browser i serwer WWW
1990
1990-12-??- Tim Berners-Lee kończy pierwszą przeglądarkę WorldWideWeb (później Nexus) na komputerze NeXT
Jeden z czytelników tego bloga - Comandeer - podesłał link do strony, na której jest pełna lista historii w świecie webu: https://thehistoryoftheweb.com/timeline/