Przejdź do treści

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 API
  • 2026-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 prune może pominąć pakiety potrzebne tylko w developmencie
  • 2026-09-14 - Webpack v5.111
    • Stabilny output ESM: output.module: true zamiast experiments.outputModule
    • output.copy do 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)
  • 2026-09-11 - Apollo Client v4.3
    • Własne skalary w InMemoryCache (parsowanie i serializacja)
    • Automatyczna serializacja zmiennych ze skalarami
    • skipToken w useSubscription
    • Minimalna wersja TypeScriptu: 5.9
  • 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 tsconfig na najwyższym poziomie konfiguracji
    • Hooki closeServer i closePreviewServer
    • 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-color i styl neo
    • Diagramy przypadków użycia UML
    • theme, look i layout ustawiane 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 API addTransitionType
    • Fragment Refs: ref na <Fragment> zwraca FragmentInstance (zdarzenia, fokus, observeUsing, scrollIntoView)
    • use(browser()) z react-dom wyłą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()
  • 2026-09-09 - npm wstrzymuje na 72 godziny publikację i tworzenie tokenów na każdym koncie po logowaniu kodem odzyskiwania
  • 2026-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 ramkach
    • locator.visible() zamiast pseudoklasy :visible
    • Kroki z subtitle i params dla reporterów
    • Wbudowany reporter perfetto (oś czasu przebiegu w Perfetto UI)
  • 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.when do warunkowego mockowania
    • Fake timers mockują też Temporal API
    • clearMocks domyślnie włączone
    • Niezaczekane asercje asynchroniczne oblewają test
    • Komenda vitest doctor i 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/oxlint i wbudowane wsparcie Oxfmt
    • Cache w ~/.nx współ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
  • 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 tego cy.env() i Cypress.expose()) oraz cy.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 eksperyment
  • 2026-08-28 - htmx v4.0
    • fetch() zamiast XMLHttpRequest
    • 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.5
    • z.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-loader i mini-css-extract-plugin przestarzałe na rzecz natywnego CSS
    • externalsPresets.nodeModules do externalizacji node_modules
    • Reguły modułów z globami (glob)
    • CSS przy SSR (__webpack_css_server_styles__)
  • 2026-08-26 - pnpm v12.0 - pnpm przepisany w Rust, z tymi samymi komendami, ustawieniami i formatem lockfile co pnpm 11
  • 2026-08-25 - Electron v44 - Chromium 152, Node.js 24.18, V8 15.2
    • Moduł clipboard zgodny z W3C (asynchroniczny, klasa ClipboardItem)
    • Zapamiętywanie stanu okna (windowStatePersistence)
    • Koniec wsparcia macOS 12
    • Koniec binarek dla 32-bitowych Windowsa i Linuksa ARM
  • 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 jasmineRequire nie są już dostępne
    • Nowy proces uruchamiania: usunięte boot i noGlobals, w Node globalne funkcje tworzy installGlobals() (pakiet jasmine robi to domyślnie)
    • Funkcja reset() czyści stan i konfigurację między kolejnymi uruchomieniami w Node
    • Zablokowany monkey patching (poza globalnymi describe, expect i jawnie zapisywalnymi właściwościami)
    • Usunięte przestarzałe HtmlReporter, HtmlSpecFilter i jsApiReporter
    • Nowa funkcja notApplicable dla 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
  • 2026-08-13 - Solid.js v2.0 RC
    • Asynchroniczność w grafie reaktywnym: zwykłe memo mogą zwracać Promise
    • Usunięte m.in. createResource, batch, startTransition i createMutable
    • 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 v9
  • 2026-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)
  • 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 input na najwyższym poziomie konfiguracji
    • HMR po stronie klienta i HMR workerów w bundled dev
    • Adresy sieciowe w terminalu z nazwą interfejsu
  • 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 contentPolicy i plik DISCLOSURE
  • 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
  • 2026-07-23 - Webpack v5.109
    • experiments.css, experiments.html, experiments.typescript i experiments.asyncWebAssembly domyślnie "auto"
    • Generowanie HTML przez output.html (m.in. favicony, manifest, CSP, SRI)
    • output.resourceHints z automatycznym modulepreload
    • API zgodne z Vite: import.meta.glob(), import.meta.env, sufiksy ?raw i ?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
    • targetDefaults jako uporządkowana tablica z filtrami
    • Raporty wydajności każdego przebiegu
  • 2026-07-10 - Storybook v10.5
    • Framework Angular-Vite (preview)
    • initialGlobals w 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 allowScripts w głównym package.json
    • Zgody zapisuje npm install-scripts approve, a zatwierdzone skrypty uruchamia npm rebuild
    • allow-git i allow-remote domyślnie none - zależności z gita i z adresów URL tarballi wymagają zgody
    • Usunięta komenda npm shrinkwrap, plik npm-shrinkwrap.json jest ignorowany
    • Usunięte komendy npm adduser, npm star i npm unstar
    • Nieznane opcje w .npmrc i nieznane flagi CLI kończą się błędem zamiast ostrzeżenia
    • npm init bez domyślnej licencji ISC
    • Wymaga Node.js 22.22.2+, 24.15.0+ lub 26+
  • 2026-07-03 - Webpack - wydanie webpack-dev-server 6.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 run z automatycznym śledzeniem zależności
    • vp migrate z promptami dla agentów AI
    • Szablony dla organizacji, obsługa proxy i własnych CA
    • vp pack do bundlowania bibliotek
    • Ponad 180 poprawek
  • 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.prototype z wartością domyślną (getOrInsert)
    • Metody Uint8Array do konwersji z/do Base64 i Hex
    • JSON.parse z dostępem do surowego źródła w reviverze
    • JSON.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 micromark v4 zamiast remark-parse v8 (lepsza zgodność z CommonMark i GFM)
    • Parser YAML oparty na yaml v2
    • 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
  • 2026-06-25 - Deno v2.9
    • deno desktop - natywne aplikacje desktopowe z technologii webowych w jednym pliku wykonywalnym
    • deno install czyta 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 bun i deno
    • HTML jako entry point i HMR dla modułów HTML
    • optimization.inlineExports wstawia małe stałe w miejscu importu
    • defineConfig do typowanej konfiguracji
  • 2026-06-24 - Turborepo v2.10
    • Łagodne zamykanie zadań (przekazywanie sygnałów zakończenia)
    • Odroczone hashowanie wejść generowanych przez wcześniejsze zadania
    • Łączenie --affected z --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 caseSensitive w import.meta.glob
    • html.additionalAssetSources do wykrywania assetów we własnych elementach
  • 2026-06-22 - Astro v7.0
    • Kompilator .astro przepisany 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
  • 2026-06-16 - Nx v23.0
    • Nx Agents ok. 4 razy szybsze
    • Agentowe nx migrate: migracje przez prompty AI obok deterministycznych skryptów
    • Operator ... w targetDefaults rozszerza odziedziczone wartości
    • Plugin @nx/dotnet stabilny
    • 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_channel z Node.js
    • Eksperymentalne @defer i @stream
    • Wymaga Node.js 22 lub nowszego
  • 2026-06-15 - Playwright v1.61
    • Wirtualny authenticator WebAuthn do testowania passkeys (browserContext.credentials)
    • API page.localStorage i page.sessionStorage
    • expect.soft.poll()
  • 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, format i check
    • Przejście do definicji w serwerze językowym
    • Komenda biome upgrade dla samodzielnych instalacji
  • 2026-06-09 - TanStack - TanStack AI w wersji beta z obsługą obrazów, wideo, audio i rozmów głosowych
  • 2026-06-06 - Jasmine v6.3.0 - specyfikacje wyłączone przez xdescribe raportowane z powodem pominięcia
  • 2026-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
    • OnPush jako 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 transpile i deno why
    • Zgodność z testami Node.js wzrosła z ok. 42% do 76,4%
    • Obsługa import defer
    • Prefiks npm: niepotrzebny w deno add i deno install
    • Inspekcja sieci w Chrome DevTools i OffscreenCanvas
    • 3,66x szybsza zimna instalacja pakietów npm
  • 2026-05-22 - Staged publishing w npm
    • npm stage publish wysyła paczkę do kolejki, a dostępna staje się dopiero po zatwierdzeniu przez opiekuna z 2FA
    • Nowe flagi --allow-file, --allow-remote i --allow-directory obok istniejącej --allow-git
    • Wymaga npm CLI 11.15.0+
  • 2026-05-20 - pnpm v11.2 - eksperymentalne wsparcie dla pacquet (port pnpm w Rust) jako backendu instalacji
  • 2026-05-20 - Webpack v5.107
    • Eksperymentalne moduły HTML (experiments.html)
    • Eksperymentalny TypeScript przez module.stripTypeScriptTypes z Node.js 22.6+ (experiments.typescript)
    • Scope hoisting dla CSS Modules
    • Adnotacja #__NO_SIDE_EFFECTS__
    • Warunek module-sync w domyślnych conditionNames
  • 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 - helper includeIgnoreFile() w eslint/config do wczytywania wzorców z .gitignore
  • 2026-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 owner
  • 2026-05-11 - Robak Mini Shai-Hulud publikuje na npm 84 złośliwe wersje 42 paczek @tanstack/*
    • Workflow pull_request_target uruchomił 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)
  • 2026-05-11 - Playwright v1.60
    • Nagrywanie HAR w tracingu (tracing.startHar(), tracing.stopHar())
    • locator.drop() symuluje przeciąganie plików i danych ze schowka
    • toMatchAriaSnapshot() dla całej strony i opcja boxes z wymiarami elementów
    • test.abort()
  • 2026-05-08 - Hexo - przypadkowe gh repo edit zmienia 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-* i tab-*
    • @variant z wariantami łączonymi (np. hover:focus)
  • 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-all ukrywa niezacommitowane zmiany i nowe pliki na czas zadań
    • yaml jako opcjonalna zależność
    • parseArgs z node:util zamiast commander
  • 2026-05-05 - Node.js v26
    • V8 14.6: Map.prototype.getOrInsert(), Iterator.concat()
    • Domyślnie włączone Temporal API - nowoczesna alternatywa dla Date
    • 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
  • 2026-04-28 - pnpm v11.0
    • Wymóg Node.js 22+
    • Czysty ESM
    • Store w SQLite
    • minimumReleaseAge=1440 domyś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 tickMarkDensity dla skali cen
  • 2026-04-24 - Nx v22.7
    • Sandboxing zadań: wykrywanie odczytów i zapisów poza zadeklarowanymi inputs i outputs
    • Demon zużywa ok. 200 MB pamięci zamiast 1,5 GB
    • Cache współdzielony między worktree Gita
  • 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-server zredukowane ze 192 do 1
  • 2026-04-16 - Cypress v15.14.0 - oficjalne wsparcie dla TypeScript 6 i Vite 8
  • 2026-04-11 - Jasmine v6.2.0
    • Nowy asynchroniczny matcher toBeRejectedWithMatching
    • Koniec wsparcia Firefox ESR 102, 115 i 128
  • 2026-04-08 - Webpack v5.106
    • Hook compiler.hooks.validate i opcja validate
    • CSS Modules z exportType: "style" bez style-loader
    • Tree shaking destrukturyzacji require() w CommonJS
    • Eksperymentalne source phase imports dla WebAssembly (experiments.sourceImport)
    • create-webpack-app jako zalecany sposób zakładania projektu
  • 2026-04-06 - Trusted publishing w npm obsługuje CircleCI - obok GitHub Actions i GitLab CI/CD
  • 2026-04-03 - ESLint v10.2
    • Reguły świadome języka (meta.languages)
    • Temporal rozpoznawany jako wbudowany global (propozycja na etapie 4 w TC39)
  • 2026-04-02 - esbuild v0.28
    • Importy tekstu przez with { type: 'text' } (propozycja TC39 na etapie 3)
    • Weryfikacja sum kontrolnych przy zapasowym pobieraniu binarki
  • 2026-04-01 - Playwright v1.59
    • Screencast API: nagrania z adnotacjami akcji i nakładkami
    • browser.bind() udostępnia uruchomioną przeglądarkę dla playwright-cli i @playwright/mcp
    • npx playwright test --debug=cli do 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óty turbo query affected i turbo 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 6
  • 2026-03-26 - Premiera Samsung Browser for Windows - przeglądarka Samsunga na Chromium trafia na PC z asystentem AI zbudowanym z Perplexity
  • 2026-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 --stableTypeOrdering i --ignoreConfig (zgodność z 7.0)
    • Target es2025 z lib RegExp.escape, typy Temporal API i Map.getOrInsert
  • 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
  • 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/cssom i cssstyle
    • CSSCounterStyleRule, CSSNamespaceRule i getter matches w CSSMediaRule i CSSSupportsRule
    • Wymóg Node.js 22.13+
  • 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.tsconfigPaths do aliasów ścieżek z tsconfig.json
    • Automatyczna obsługa emitDecoratorMetadata
    • Przekazywanie błędów z przeglądarki do terminala (server.forwardConsole)
    • @vitejs/plugin-react v6 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 LTS
  • 2026-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)
    • onSettled zamiast onMount
    • Usunięte dyrektywy use:
  • 2026-02-25 - Deno v2.7
    • Stabilne Temporal API (bez flagi --unstable-temporal)
    • Oficjalne buildy dla Windows na ARM
    • Pole overrides w package.json
    • Nowe API Deno.spawn(), Deno.spawnAndWait() i Deno.spawnAndWaitSync()
    • Komenda deno create i V8 14.5
  • 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
  • 2026-02-19 - Underscore.js v1.13.8 - łatka bezpieczeństwa: DoS w _.flatten i _.isEqual (CVE-2026-27601), obecny we wszystkich wcześniejszych wersjach
  • 2026-02-18 - Tailwind CSS v4.2
    • Nowe palety: mauve, olive, mist i taupe
    • Oficjalny plugin webpacka (@tailwindcss/webpack)
    • Więcej narzędzi dla właściwości logicznych (pbs-*, inline-*)
    • Narzędzie font-features-*
  • 2026-02-16 - typescript-eslint v8.56 - wsparcie ESLint v10
  • 2026-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 universal z czystym ESM (Node.js, przeglądarka, Bun, Deno)
    • TypeScript bez ts-loader
    • HTML jako entry point bez html-webpack-plugin
    • Jeden minimizer-webpack-plugin zamiast 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.105
    • resolve.tsconfig: aliasy z tsconfig.json bez tsconfig-paths-webpack-plugin
    • Automatyczny wybór eksportów warunkowych dla Web Workerów
    • import.defer() dla modułów kontekstowych
    • devtool jako tablica (osobne source mapy dla CSS i JS)
    • Natywne moduły Node.js przez import w outpucie ESM
    • Poprawki CVE-2025-68157 i CVE-2025-68458 (experiments.buildHttp)
  • 2026-02-?? - Bun v1.3
    • Bun.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
  • 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 system i wyszukiwanie w UI Mode i Trace Viewerze
    • Usunięte selektory _react i _vue
  • 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.type i jQuery.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 Deferred i Callbacks (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 HtmlReporterV2 z paskiem postępu zamiast kropek i zakładką Performance z najwolniejszymi testami
    • Zdarzenia reporterów głęboko klonowane, bez właściwości expected i actual w wynikach asercji
    • forbidDuplicateNames domyślnie włączone
    • Ostrzeżenia o monkey patchingu, przestarzałe HtmlReporter, HtmlSpecFilter i jsApiReporter
    • Eksperymentalna opcja safariYieldStrategy: "time" przyspieszająca testy w Safari
    • Koniec wsparcia Node 18
    • ConsoleReporter z pakietu jasmine przeniesiony do @jasminejs/reporters
    • Seria przejściowa: ostatnia zgodna z karma-jasmine (z ostrzeżeniami), Jasmine 7 porzuca te narzędzia
  • 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
    • GraphQL17Alpha9Handler dla nowego formatu @defer i @stream
    • useFragment i client.watchFragment przyjmują tablice
  • 2026-01-14 - Prettier v3.8 - wsparcie Angulara 21.1 (m.in. kilka @case pod 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ów
  • 2025-12-16 - Lightweight Charts v5.1 - scalanie danych (data conflation) przyspiesza duże wykresy po oddaleniu
  • 2025-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.6
    • dx - odpowiednik npx
    • Eksperymentalny type checker tsgo (kompilator TypeScript w Go)
    • deno audit - sprawdzanie zależności pod kątem CVE
    • deno approve-scripts i opcja minimumDependencyAge
    • Source phase imports dla WebAssembly
  • 2025-12-09 - npm unieważnia wszystkie klasyczne tokeny
    • npm login tworzy 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-parcel i react-server-dom-turbopack w 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 Code
  • 2025-12-02 - Jasmine v5.13.0
    • Nowy asymetryczny tester jasmine.allOf
    • Opcje extraItStackFrames i extraDescribeStackFrames naprawiające nazwy plików w raportach przy opakowanym it i describe (np. zone.js)
    • Safari 26 wspierane w trybie best-effort
  • 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 asynchroniczne parser.preprocess()
    • Front matter w Handlebars, składnia match we 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.wait czeka 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 stabilny
  • 2025-11-09 - esbuild v0.27
    • Loader binary używa Uint8Array.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
  • 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.frameLocator dla iframe’ów
    • Matchery expect.assert i expect.schemaMatching (Standard Schema)
    • Nowy reporter tree, usunięty basic
  • 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/dotnet i @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.ts zastępuje middleware.ts
    • Next.js DevTools MCP
  • 2025-10-21 - Premiera przeglądarki ChatGPT Atlas od OpenAI (macOS) z eksperymentalnym trybem agenta
  • 2025-10-15 - Node.js v25
    • V8 14.1: szybszy JSON.stringify, konwersja base64/hex w Uint8Array
    • 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 SlowBuffer oraz fs.F_OK, fs.R_OK, fs.W_OK, fs.X_OK
    • npm 11.6
  • 2025-10-14 - Lit - dołącza do OpenJS Foundation jako Impact Project i przestaje być projektem wyłącznie Google
  • 2025-10-14 - View Transitions API - przejścia w obrębie dokumentu w Baseline Newly available dzięki Firefoksowi 144
    • document.startViewTransition() i view-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)
  • 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 useMemo i useCallback
    • 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
  • 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, generator i healer tworzą i naprawiają testy przez LLM
    • page.consoleMessages(), page.pageErrors() i page.requests()
  • 2025-10-05 - Jasmine v5.12.0 - wycofane dokładne filtrowanie specyfikacji z 5.11.0, które psuło filtrowanie w Karmie
  • 2025-10-01 - React v19.2
    • <Activity /> component
    • useEffectEvent
    • cacheSignal
    • Performance Tracks
    • Partial Pre-rendering
  • 2025-09-30 - Premiera Opera Neon - agentowej przeglądarki AI w płatnej subskrypcji
  • 2025-09-27 - Jasmine v5.11.0
    • detectLateRejectionHandling działa także w beforeAll i afterAll
    • 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 USA
  • 2025-09-15 - Hexo v8.0
    • Wymóg Node.js 20+ (koniec wsparcia Node.js 16 i 18)
    • Zmienna timestamp w permalinkach
    • Walidacja adresu url w 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/tinycolor z ponad 2 mln pobrań tygodniowo
    • Skrypt postinstall szukał 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-Hulud na koncie ofiary
    • GitHub usunął z rejestru ponad 500 zainfekowanych paczek
  • 2025-09-10 - Deno v2.5
    • Zestawy uprawnień w deno.json (flaga -P)
    • Hooki testów beforeAll, beforeEach, afterAll i afterEach
    • Własne nagłówki w handshake’u WebSocket
    • Deno.bundle() (niestabilne) i pliki HTML jako punkt wejścia deno bundle
    • V8 14.0 i TypeScript 5.9
  • 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 wersje chalk, debug i 16 innych paczek
    • Fałszywy e-mail z domeny npmjs.help wył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
  • 2025-09-04 - Atlassian ogłasza przejęcie The Browser Company, twórców Arc i Dia, za 610 mln USD
  • 2025-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
  • 2025-09-02 - Sąd federalny w USA nie nakazuje Google sprzedaży Chrome (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 getSpecProperty do odczytu danych zapisanych przez setSpecProperty
    • Czas trwania specyfikacji w reporterze HTML
    • Firefox 140 (ESR) wśród wspieranych przeglądarek
  • 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 postinstall szukał 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
  • 2025-08-23 - Zod v4.1
    • Kodeki z.codec(): dwukierunkowa transformacja (.decode(), .encode())
    • Metoda .safeExtend()
    • Formaty z.hash() i z.hex()
  • 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 @client opcjonalny)
    • Konkretne klasy błędów zamiast ApolloError
    • RxJS zamiast zen-observable
    • Typy w przestrzeniach nazw (np. useQuery.Options)
    • Właściwość dataState do zawężania typów wyniku
    • Codemod do migracji
  • 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 generyczna
  • 2025-08-01 - TypeScript v5.9
    • --module node20 (stabilny, implikuje target 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 22
  • 2025-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ądarce
  • 2025-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
  • 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 splitChunks w trybie ESM output
    • Obsługa słowa kluczowego using
    • Eksperymentalne import defer
    • VirtualUrlPlugin dla schematu virtual:
  • 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/mini z 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 error do 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 --preload i komenda deno update
    • Buffer, global i setImmediate dostępne wszędzie bez flag
  • 2025-06-25 - Zatwierdzenie specyfikacji ECMAScript 2025 🎉
    • Iterator Helpers (map, filter, take, drop, flatMap, reduce, toArray, forEach, some, every, find)
    • Promise.try()
    • Float16Array oraz DataView.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()
  • 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-vite jako zamiennik z bundlerem Rolldown
    • Hook buildApp w 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-oxc z parserami oxc i oxc-ts napisanymi w Rust
    • Plugin @prettier/plugin-hermes z parserem Flow od Meta
    • Osobny parser mjml
  • 2025-06-18 - TTAB oddala zarzut oszustwa we wniosku Deno przeciw Oracle, spór o generyczność i porzucenie znaku „JavaScript” toczy się dalej
  • 2025-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-all i zakresy biome-ignore-start/biome-ignore-end
    • Eksperymentalny formatter HTML
  • 2025-06-11 - Zamknięta beta przeglądarki AI Dia od twórców Arc
  • 2025-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.0
    • saveArgumentsByValue przyjmuje funkcję określającą sposób zapisu argumentów
    • Nazwy funkcji w wyjściu pretty printera
    • Szybszy autoTick w Node
    • Node 24 wśród wspieranych środowisk
  • 2025-05-30 - Vite - techniczny podgląd pakietu rolldown-vite z bundlerem Rolldown
    • Zamiennik pakietu vite bez innych zmian w projekcie
    • GitLab: build z 2,5 min do 40 s
    • Excalidraw: build z 22,9 s do 1,4 s
  • 2025-05-28 - Angular v20
    • Stabilne Signals (signal, effect, linkedSignal)
    • Incremental hydration jako stable
  • 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 Dia
  • 2025-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() zamiast L.marker())
    • Bez globalnego L w rdzeniu (zostaje w leaflet-global.js)
  • 2025-05-13 - ESLint lintuje HTML dzięki pluginowi językowemu @html-eslint/eslint-plugin
  • 2025-05-10 - lint-staged v16.0
    • Procesy uruchamiane przez nano-spawn zamiast execa
    • Usunięta flaga --shell
    • Wymóg Node.js 20.18+
  • 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
  • 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.3
    • deno compile z FFI i natywnymi dodatkami Node.js
    • Lokalne pakiety npm (pole patch w deno.json)
    • deno fmt formatuje CSS, HTML i SQL osadzone w tagged templates
    • Flagi --npm i --jsr w deno add
    • Podpisany plik wykonywalny na Windowsie
  • 2025-04-26 - Jasmine v5.7.0
    • Clock#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ów
  • 2025-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-fine i pointer-coarse
    • Fallbacki dla starszych przeglądarek (Safari 15+)
    • @source not i @source inline()
  • 2025-04-01 - Backbone v1.6.1
  • 2025-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)
    • useId generuje identyfikatory poprawne w selektorach CSS («r123» zamiast :r123:)
  • 2025-03-21 - Playwright - serwer MCP dostaje własne repozytorium microsoft/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 przez npm install -g corepack)
  • 2025-03-07 - ESLint v9.22
    • defineConfig() z typowaniem i kluczem extends
    • 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ła require-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)
  • 2025-02-08 - Jasmine v5.6.0
    • Nowe matchery toHaveNoOtherSpyInteractions, toBeNullish i toHaveClasses
    • Czytelniejsze błędy, gdy do asynchronicznego matchera trafia coś innego niż obietnica
    • Safari przeniesione do wsparcia best-effort
  • 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
  • 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) zamiast addLineSeries()
    • 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 highlight z wyróżnianiem wybranych linii kodu
    • Własny port livereload (--livereload-port, livereload_port)
    • Koniec wsparcia Ruby starszego niż 2.7 (zalecany 3.2+)
    • base64, csv i json jako zależności runtime dla nowszych wersji Ruby
  • 2025-01-22 - Tailwind CSS v4.0
    • Nowy silnik Oxide oparty na Rust (Lightning CSS)
    • Konfiguracja CSS-first
  • 2025-01-22 - pnpm v10.0
    • lifecycle scripts wyłączone domyślnie (bezpieczeństwo)
    • Nowy format lockfile
  • 2025-01-21 - Bun v1.2
    • Stabilny node:test
    • Lepsza kompatybilność z npm
  • 2025-01-16 - Cypress v14
  • 2025-01-16 - Vitest v3.0
    • Nowe reportery z mniejszym migotaniem
    • Projekty definiowane w vitest.config (pole workspace)
    • 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 latest wymaga wersji wyższej niż najnowsza w rejestrze
    • --ignore-scripts obejmuje wszystkie skrypty cyklu życia, także prepare
    • npm init pyta o pole type
    • Usunięta komenda npm hook
    • Wymaga Node.js 20.17.0+ lub 22.9.0+
  • 2024-12-12 - WCAG 3.0 - szkic roboczy
    • Przebudowana struktura wytycznych
    • Pierwsze drzewa decyzyjne dla wytycznych Clear meaning, Image alternatives i Keyboard focus appearance
  • 2024-12-11 - View Transitions API - Safari 18.2
    • Przejścia między dokumentami (@view-transition)
    • view-transition-name: auto
  • 2024-12-05 - React v19
    • Actions: asynchroniczne funkcje w startTransition (stan oczekiwania, błędy, formularze)
    • Nowe hooki useActionState, useFormStatus i useOptimistic
    • API use do odczytu Promise i Context w trakcie renderowania
    • Stabilne Server Components i Server Actions ("use server")
    • ref jako props (bez forwardRef) i <Context> jako provider
    • Metadane (<title>, <meta>, <link>) w komponentach, przenoszone do <head>
    • Arkusze stylów z precedence, skrypty async oraz API preload i preinit
    • Usunięte ReactDOM.render, findDOMNode, propTypes i string refs
  • 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 LTS
  • 2024-12-02 - Jasmine v5.5.0
    • Opcja forbidDuplicateNames wymuszają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
  • 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 → .js w 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 outdated i zależności między zadaniami w deno task
  • 2024-11-19 - Angular v19
  • 2024-11-18 - Playwright v1.49
    • Aria snapshots: toMatchAriaSnapshot() porównuje drzewo dostępności zapisane w YAML
    • Kanały chrome i msedge przechodzą na nowy tryb headless
    • tracing.group() grupuje akcje w trace
  • 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
  • 2024-10-21 - Next.js 15
    • Wsparcie dla React 19
    • Stabilne caching
    • Turbopack stable dla dev
  • 2024-10-19 - Svelte v5.0.0
  • 2024-10-16 - Node.js v23
    • V8 12.9, npm 10.9
    • require() modułów ESM domyślnie włączone (nadal eksperymentalne)
    • node --run oznaczone 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 expected i actual w 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, specyfikatory npm:)
    • 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 fmt formatuje HTML, CSS i YAML
    • Zapowiedź kanału Long-Term Support (pierwszym LTS jest v2.1)
  • 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/rspack stabilny
    • Nowe workspace’y domyślnie z ESLint 9 i flat config
    • Komenda nx import przenosi projekty razem z historią Gita
  • 2024-10-05 - Koniec wsparcia (EOL) dla ESLint v8, wsparcie komercyjne przejmuje HeroDevs
  • 2024-10-03 - ESLint oficjalnie lintuje JSON i Markdown
    • @eslint/json (JSON, JSONC, JSON5)
    • @eslint/markdown (następca eslint-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 dokumentu
  • 2024-09-12 - Biome v1.9 - wydanie rocznicowe
    • Stabilny formatter i linter CSS (domyślnie włączone)
    • Stabilny formatter i linter GraphQL
    • Eksperymentalna komenda biome search oparta na GritQL
    • Opcjonalne wsparcie .editorconfig
  • 2024-09-10 - Express.js v5.0.0
  • 2024-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 localStorage w 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 --parallel na wielu wątkach
    • deno fmt dla HTML, CSS, YAML, Astro, Svelte i Vue (za flagami niestabilnymi)
    • Komendy deno remove i deno clean
  • 2024-08-06 - Node.js v22.6 - eksperymentalne uruchamianie TypeScriptu flagą --experimental-strip-types
  • 2024-08-06 - SWC w Node.js v22.6 - flaga --experimental-strip-types korzysta 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-types zastąpione przez no-empty-object-type, no-unsafe-function-type, no-wrapper-object-types i no-restricted-types
    • no-var-requires zastąpione przez no-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
  • 2024-07-11 - Deno v1.45
    • Workspaces i monorepo, także mieszane z npm
    • deno install instaluje lokalnie, globalnie tylko z --global
    • deno init --lib i flaga --frozen dla lockfile
    • Lifecycle scripts pakietów npm po --allow-scripts
  • 2024-07-08 - Vitest v2.0
    • Domyślna pula forks zamiast threads
    • Podstawy nowego Browser Mode (userEvent, page.screenshot, provider preview)
    • Komenda vitest list
    • Współbieżne zestawy testów
    • Chai 5
  • 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/json i @eslint/markdown
  • 2024-07-01 - Powstaje fundacja Ladybird Browser Initiative - przeglądarka na nowym silniku pisanym od zera, bez kodu z Blink, WebKit i Gecko
  • 2024-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 testach
  • 2024-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ślnie
  • 2024-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
  • 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-transition
  • 2024-06-04 - Turborepo v2.0
    • Nowy interfejs terminala z interaktywnymi zadaniami
    • Tryb watch świadomy zależności
    • Klucz pipeline w turbo.json zmieniony na tasks
    • Strict Mode dla zmiennych środowiskowych domyślnie
    • Licencja MIT i polityka LTS
  • 2024-06-03 - Testing Library - @testing-library/react v16 przenosi @testing-library/dom i @types/react-dom do peer dependencies (trzeba je instalować samodzielnie)
  • 2024-05-22 - Angular v18
  • 2024-05-21 - SolidStart v1.0 - pierwsze stabilne wydanie metaframeworka Solid (oparte na Vinxi i Nitro) po ponad 3 latach prac
  • 2024-05-06 - Nx v19.0
    • Plugin do Gradle (pierwszy krok poza JavaScript)
    • Grupowanie zadań Atomizera (shardy testów e2e)
    • Generatory convert-to-inferred dla 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 WebSocket domyślnie dostępny globalnie
    • node --run <skrypt> z package.json, tryb --watch stabilny
    • fs.glob() i fs.globSync(), wyższy domyślny highWaterMark strumieni
    • 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.7
    • biome migrate eslint przenosi konfigurację ESLint (także flat config)
    • biome migrate prettier obsługuje overrides i .prettierignore
    • Opcja --staged sprawdza tylko pliki z indeksu Gita
    • Raporty w JSON (--reporter=json-pretty)
  • 2024-04-10 - Testing Library - @testing-library/react v15 i @testing-library/dom v10
    • Wymóg Node.js 18+
    • aria-query 5.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, eslintrc oznaczony jako przestarzały
    • Wymóg Node.js 18.18+ (koniec wsparcia dla v19)
    • Usunięte reguły valid-jsdoc i require-jsdoc oraz formatery poza stylish, html, json i json-with-meta
    • Config Inspector (eslint --inspect-config)
    • Nowa reguła no-useless-assignment
    • Nieużywane dyrektywy eslint-disable domyślnie zgłaszane jako ostrzeżenia
  • 2024-04-01 - Bun v1.1 - pełne wsparcie dla Windows
  • 2024-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 --require zmieniona 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-docgen dla Reacta, vue-component-meta dla Vue
    • Wsparcie Vite 5 i nowy pakiet @storybook/test oparty 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 Vite
  • 2024-03-06 - TypeScript v5.4
    • Zachowanie zawężenia w domknięciach po ostatnim przypisaniu
    • Typ narzędziowy NoInfer<T>
    • --module preserve, typy Object.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-eslint z 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() z hono/ssg)
    • Komponenty klienckie (hono/jsx/dom)
    • Routing oparty na plikach w osobnym meta-frameworku HonoX
  • 2024-02-08 - Vite v5.1
    • Eksperymentalne Vite Runtime API (m.in. HMR przy SSR)
    • Preprocesory CSS w wątkach roboczych (css.preprocessorMaxWorkers)
    • build.assetsInlineLimit jako funkcja
    • ssr.external: true externalizuje wszystkie paczki
  • 2024-02-05 - Backbone v1.6.0
  • 2024-02-03 - Nx v18.0 - Project Crystal
    • Pluginy wnioskują zadania z istniejących konfiguracji (np. vite.config.ts)
    • Pluginy rejestrowane w nx.json
    • nx init proponuje pluginy dla istniejącego monorepo
  • 2024-01-25 - Deno v1.40
    • Temporal API za flagą --unstable-temporal
    • import.meta.filename i import.meta.dirname
    • Dekoratory TC39 (etap 3)
    • Deprecacje przed Deno 2 (Deno.run(), Deno.serveHttp())
  • 2024-01-25 - Husky v9.0
    • husky init konfiguruje projekt jedną komendą
    • Rozmiar ok. 3 kB (v8 miał ok. 6 kB)
    • husky install zastąpione przez husky
    • 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-details może wskazywać kilka elementów (lista ID)
    • Kolejny szkic roboczy: 2026-06-04
  • 2024-01-12 - Prettier v3.2 - obsługa JSONC i wyrażeń ICU w szablonach Angulara
  • 2024-01-08 - Biome v1.5
    • Sprawdzanie tylko zmienionych plików (--changed)
    • Adnotacje w pull requestach przy biome ci na GitHub Actions
    • Komenda biome explain z opisem reguł offline
    • 97% zgodności formattera z Prettierem

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.0
  • 2023-12-04 - Vitest v1.0
    • Opcje pool i poolOptions zamiast starych flag
    • Wymagany Node.js 18+ (jak w Vite 5)
    • API provide/inject między głównym wątkiem a testami
    • test.sequential()
    • Flaga --project
    • coverage.all domyślnie włączone
  • 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 z true/false
    • Wsparcie Symbol.hasInstance dla instanceof
  • 2023-11-16 - Vite v5.0
    • Rollup 4
    • Wymagany Node.js 18+
    • Przestarzałe API Node.js w CommonJS
    • Podmiana define i import.meta.env.* przez AST zamiast wyrażeń regularnych
    • server.warmup do wstępnej transformacji modułów
    • Manifest domyślnie w katalogu .vite
  • 2023-11-13 - Prettier v3.1
    • Flaga --experimental-ternaries z nowym formatowaniem operatora warunkowego
    • Wcięcia w zagnieżdżonych operatorach warunkowych
    • Obsługa control flow z Angulara 17 (@if, @for)
  • 2023-11-08 - Angular v17
  • 2023-11-03 - ESLint v8.53 - reguły formatujące (spacje, średniki, cudzysłowy) oznaczone jako przestarzałe na rzecz osobnego formattera
  • 2023-10-31 - Hexo v7.0
    • Kod przepisany na TypeScript
    • Top-level await w pluginach i skryptach
    • Usunięte tagi gist, youtube, jsfiddle i vimeo (zastępuje je plugin hexo-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 packageManager zamiast yarnPath
    • 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
    • cacheTime zmienia nazwę na gcTime, status loading na pending
    • Stabilny Suspense (useSuspenseQuery i pokrewne)
    • Hook useMutationState do 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
    • fetch i Web Streams oznaczone jako stabilne
    • Eksperymentalny klient WebSocket za flagą --experimental-websocket
    • Flaga --experimental-default-type przełą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/task i @lit/context wychodzą 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)
  • 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.only i raporter TAP
  • 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 v13
  • 2023-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)
    • symbol jako klucze WeakMap/WeakSet, typy toSorted/toReversed/with
  • 2023-07-28 - Backbone v1.5.0
  • 2023-07-25 - Premiera przeglądarki Arc 1.0 dla macOS, bez listy oczekujących
  • 2023-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 throwUnless i throwUnlessAsync rzucające wyjątek zamiast zgłaszać porażkę (np. dla waitFor z testing-library)
    • Poprawione formatowanie obiektu Error z właściwością cause, która nie jest błędem
  • 2023-07-10 - typescript-eslint v6.0
    • Nowe konfiguracje: recommended, strict, stylistic i ich warianty -type-checked
    • parserOptions.project: true sam znajduje najbliższy tsconfig.json
    • Wymóg TypeScript 4.2.4+, koniec wsparcia Node.js 12 i 14 oraz ESLint 6
  • 2023-07-05 - Deno v1.35
    • Stabilne Deno.serve()
    • Obsługa node:http, node:https i node:zlib (działają m.in. axios i puppeteer)
    • ReadableStream.from() i Headers.getSetCookie()
  • 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() i resolveConfig() zwracają Promise
    • Wymóg Node.js 14+
    • Markdown: koniec automatycznych spacji między znakami łacińskimi a chińskimi i japońskimi
    • --parser=css przyjmuje tylko czysty CSS (SCSS i Less wymagają własnego parsera)
  • 2023-06-27 - Zatwierdzenie specyfikacji ECMAScript 2023 🎉
    • Array.prototype.toSorted
    • Array.prototype.toSpliced
    • Array.prototype.toReversed
    • Array.prototype.with
    • Array.prototype.findLast
    • Array.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.0
  • 2023-06-20 - New W3C website - Article about changes
  • 2023-06-12 - Ember v5.0
  • 2023-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-haspopup i aria-invalid przestarzałe jako atrybuty globalne
  • 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)
  • 2023-05-13 - Angular v16
  • 2023-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#execute asynchroniczne, bez parametru callback
    • Błędy globalne wykrywane przez addEventListener zamiast window.onerror
    • Usunięty node_boot.js (zamiast niego eksportowana funkcja boot)
    • Wsparcie Node 20
  • 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 --graph pokazuje graf zadań
  • 2023-04-21 - pnpm v8.0
  • 2023-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 --provenance przy publikacji z GitHub Actions
    • Podpis przez Sigstore zgodny ze specyfikacją SLSA
    • Weryfikacja przez npm audit signatures, odznaka na npmjs.com
  • 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
  • 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ów
  • 2023-03-16 - TypeScript v5.0
    • Nowe dekoratory ECMAScript bez --experimentalDecorators
    • Modyfikator const dla parametrów typu
    • --moduleResolution bundler, --verbatimModuleSyntax
  • 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
  • 2023-03-07 - View Transitions API - Chrome 111 wprowadza płynne przejścia między stanami DOM w SPA
  • 2023-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 przez deno task)
    • Warstwa kompatybilności z Node.js wbudowana w runtime (specyfikatory node:)
    • Stabilne Deno.Command i Node-API
    • deno bundle oznaczony jako przestarzały
  • 2023-02-21 - Mermaid v10
    • Wyłącznie ESM (koniec CommonJS)
    • mermaid.render() asynchroniczne (zwraca Promise)
  • 2023-02-20 - Babel.js v7.21.0
  • 2023-02-18 - Hono v3
    • HonoRequest jako 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 10
  • 2023-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 opcje incremental i watch oraz metodę serve()
    • rebuild(), watch() i serve() jako metody kontekstu, watch i serve mogą działać razem
    • Live reload przez server-sent events

2022

  • 2022-12-16 - RxJS v7.8.0
  • 2022-12-14 - SvelteKit v1.0 - oficjalny framework aplikacji oparty o Svelte, Vite i adaptery
  • 2022-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 v12
  • 2022-11-16 - Nuxt v3.0 - nowy fundament oparty o Vue 3, Vite i silnik Nitro
  • 2022-11-16 - Angular v15
  • 2022-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 do NaN
  • 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
  • 2022-11-08 - Rome v10 - pierwsze stabilne wydanie po przepisaniu na Rust: linter i formatter JS/TS (poprzednik Biome)
  • 2022-11-08 - Cypress v11
  • 2022-11-01 - Obowiązkowe 2FA dla opiekunów paczek npm o dużym zasięgu - ponad milion pobrań tygodniowo lub ponad 500 zależnych
  • 2022-10-29 - Jasmine v4.5.0
    • Wewnętrzne wyjątki (inner exceptions) w stack trace
    • Raportowanie wyjątków rzuconych w describe przed pierwszym it
    • Safari 16 wśród wspieranych przeglądarek
  • 2022-10-27 - Babel.js v7.20.0
    • Support TypeScript v4.9
    • Support Deno as a compilation target
  • 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 webrick jako zależność dla Ruby 3.0+
    • Wsparcie Rouge 4 i tzinfo 2
    • Motywy w postaci gemów mogą dostarczać pliki danych
    • Nowa zmienna Liquid theme z danymi gemu motywu
    • Pliki statyczne z kolekcji w site.static_files
    • Zmiany w plikach danych uwzględniane przy przyrostowym budowaniu
  • 2022-10-19 - Gatsby v5.0
  • 2022-10-19 - npm v9
    • Logowanie domyślnie przez przeglądarkę (auth-type=web), npm login i npm adduser to osobne komendy
    • Usunięte komendy npm bin, npm birthday i npm set-script
    • install-links domyślnie włączone
    • Pole files w package.json ma pierwszeństwo przed .gitignore i .npmignore
    • Ustawienia uwierzytelniania bez przypisanego rejestru kończą się błędem
    • Wymaga Node.js 14.17.0+, 16.13.0+ lub 18+
  • 2022-10-18 - Node.js v19
    • V8 10.7, npm 8.19, llhttp 8.1
    • HTTP(S)/1.1 keepAlive domyś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 tryb node --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 - lokatory getByRole(), getByText(), getByLabel(), getByPlaceholder(), getByAltText() i getByTitle()
  • 2022-09-25 - Jest v29.0.0
  • 2022-09-22 - Leaflet v1.9 - ostatnia wersja 1.x z nowymi funkcjami, potem tylko krytyczne poprawki
  • 2022-08-30 - CSS Container Queries - Chrome 105 wprowadza @container, reszta przeglądarek dołącza w następnych miesiącach
  • 2022-08-26 - ESLint v8.23 - eksperymentalny Flat Config (eslint.config.js) dostępny w CLI
  • 2022-08-25 - TypeScript v4.8
    • Usprawnienia zawężania z {}/intersekcji pod --strictNullChecks
    • Inferowanie literałów w template stringach z infer
    • Szybszy --build/--watch/--incremental
  • 2022-08-15 - Deno zapowiada kompatybilność z npm przez specyfikatory npm:
  • 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 Capital
  • 2022-06-15 - Koniec wsparcia przeglądarki Internet Explorer 11 w Windows 10
  • 2022-06-08 - Astro v1.0 - content-focused SSG z architekturą Islands
  • 2022-06-02 - Angular v14
  • 2022-06-01 - Cypress v10
  • 2022-05-31 - pnpm v7.0
  • 2022-05-31 - Obowiązkowe 2FA dla opiekunów 500 najpopularniejszych paczek npm
  • 2022-05-31 - Hugo v0.100
    • Shortcode’y w .RenderString
    • Zachowywanie wcięć bloków shortcode’ó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
  • 2022-05-19 - WAI-ARIA 1.2 Authoring Practices Guide - APG jako osobny, wielostronicowy serwis W3C WAI
  • 2022-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 serwerowych
  • 2022-04-25 - Jest v28.0.0
  • 2022-04-22 - Hono v1 - pierwsza stabilna wersja frameworka webowego dla Cloudflare Workers
  • 2022-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 Blob i BroadcastChannel
    • LTS Hydrogen od 2022-10-25
  • 2022-04-18 - Redux v4.2.0
  • 2022-03-31 - Testing Library - @testing-library/react v13
    • Wsparcie React 18 i domyślnie createRoot
    • Koniec wsparcia React 17 i starszych (legacyRoot: true jako wyjście awaryjne)
  • 2022-03-29 - Testing Library - @testing-library/user-event v14
    • 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
  • 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, renderToPipeableStream i renderToReadableStream
    • Nowe hooki useId, useDeferredValue, useSyncExternalStore i useInsertionEffect
    • Strict Mode symuluje odmontowanie i ponowne zamontowanie komponentu
  • 2022-03-25 - Ember v4.0
  • 2022-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.20
    • deno task (wieloplatformowy task runner) i deno 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
  • 2022-02-26 - Backbone v1.4.1
  • 2022-02-14 - Mermaid - GitHub renderuje diagramy Mermaid w plikach Markdown
  • 2022-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 biblioteki colors i faker
    • colors@1.4.44-liberty-2 wpada w nieskończoną pętlę z napisem „LIBERTY LIBERTY LIBERTY” i śmieciowymi znakami
    • colors miał ponad 20 mln pobrań tygodniowo i blisko 19 tys. zależnych projektów
    • Sabotowana wersja faker@6.6.6 trafiła do rejestru już 2022-01-05
    • npm cofa faker do 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 beforeAll i beforeEach pomijają 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.json motywu
    • 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 Workers
  • 2021-12-13 - Deno dołącza do Ecma International i TC39
  • 2021-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 source
  • 2021-12-03 - Powstanie projektu Vitest - pierwszy commit Anthony’ego Fu, wersja 0.0.1 w npm tego samego dnia
  • 2021-11-29 - WAI-ARIA 1.2 Authoring Practices - notatka W3C z wzorcami widgetów
  • 2021-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 rozpakowanie Promise)
    • Modyfikator type na nazwach importu (import { type X })
    • --module es2022 (stabilne top-level await)
  • 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, coa i rc dotyczył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 v9
  • 2021-11-04 - Angular v13
    • without View Engine
    • Remove support for IE11
  • 2021-11-04 - Przejęte konta w npm - złośliwe wersje coa i rc z łącznie 23 mln pobrań tygodniowo
    • Skrypt postinstall pobierał i uruchamiał trojana Qakbot na Windowsie
    • Atak wyszedł na jaw, bo nowa instalacja wywracała buildy aplikacji React
  • 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 paczki ua-parser-js
    • Wersje 0.7.29, 0.8.0 i 1.0.0 był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
  • 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() i DOMException
    • 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ą klasa ESLint)
    • Usunięte formatery codeframe i table
    • Autofix usuwa nieużywane dyrektywy eslint-disable
  • 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.0
  • 2021-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 Rust
  • 2021-09-21 - Lit v2.0 - lit-html i LitElement w jednej paczce lit
    • 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 failFast i oneFailurePerSpec przemianowane na stopOnSpecFailure i stopSpecOnExpectationFailure
    • boot.js podzielony na boot0.js i boot1.js (konfiguracja środowiska pomiędzy nimi)
    • Env#execute zwraca obietnicę
    • Przestarzałe gemy Jasmine dla Ruby
  • 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
  • 2021-08-03 - Redux v4.1.1
  • 2021-07-26 - Yarn v3.0
    • Szybsze instalacje i uruchamianie skryptów
    • Build Yarna przez esbuild (ok. 6× szybszy)
    • Koniec wsparcia Node.js 10
    • Pole exports w trybie PnP
    • Eksperymentalne nmMode z hardlinkami (hardlinks-local, hardlinks-global)
    • Plik .pnp.cjs zamiast .pnp.js
  • 2021-07-20 - RxJS v7.3.0
  • 2021-07-19 - Cypress v8
  • 2021-07-14 - Electron - nowa wersja główna co 8 tygodni, od Electron 15 (2021-09-21), w rytmie Chromium
  • 2021-07-02 - Jasmine v3.8.0
    • expectAsync(...).already - asynchroniczne matchery od razu zgłaszają porażkę, gdy obietnica wciąż czeka
    • Nowe Spy#calls#thisFor z wartością this danego wywołania
    • spyOnAllFunctions obejmuje metody instancji klas ES6
    • Poprawione filtrowanie specyfikacji w Karmie
    • Przestarzałe pakiety Jasmine dla Pythona
  • 2021-07-01 - Zatwierdzenie specyfikacji ECMAScript 2021 🎉
    • String.prototype.replaceAll
    • Promise.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 *.js przemianowane 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 DOM
  • 2021-06-23 - Deno uruchamia Deno Deploy (beta): serverless na V8 w 25 centrach danych z deployem z GitHuba
  • 2021-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
  • 2021-05-26 - TypeScript v4.3
    • Osobne typy zapisu/odczytu (różny typ gettera i settera)
    • override + --noImplicitOverride
    • #private metody/akcesory/statyczne składowe
  • 2021-05-21 - JSLint - pierwsze wydanie po przeniesieniu projektu do organizacji jslint-org na GitHubie
  • 2021-05-18 - WCAG 1.0 - status „Superseded Recommendation”, W3C odsyła do najnowszej wersji WCAG
  • 2021-05-17 - Zod v3 - stabilna wersja po v2, która nie wyszła z bety
    • Nowa implementacja transformacji (.transform())
    • ZodEffects jako wspólny kontener dla .refine() i .transform()
    • Import przez import { z } from 'zod'
    • Metody .default() i .nullish()
  • 2021-05-13 - Angular v12
    • Deprecated support for IE11
  • 2021-04-29 - RxJS v7
  • 2021-04-24 - Redux v4.1.0
  • 2021-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() i btoa(), require() z prefiksem node:
    • 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: i data:
    • Interaktywne pytania o uprawnienia (--prompt)
  • 2021-04-12 - pnpm v6.0
  • 2021-04-09 - Underscore.js v1.13 - pełne wsparcie modułów ES
  • 2021-04-05 - Cypress v7
  • 2021-03-29 - Deno zakłada firmę Deno Land Inc. z finansowaniem seed 4,9 mln USD, runtime zostaje na licencji MIT
  • 2021-03-29 - Husky v6.0 - powrót do licencji MIT po okresie early access dla projektów open source i sponsorów
  • 2021-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/after jednocześnie przyjmuje callback i zwraca obietnicę
    • Poprawione porównywanie obiektów URL
  • 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 EdgeHTML
  • 2021-03-02 - Gatsby v3.0
  • 2021-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, abstract w sygnaturach konstruktora
  • 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-legacy dla 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_convert do modyfikacji HTML przed nałożeniem layoutu
    • Wykrywanie konfliktów plików docelowych podczas budowania (wcześniej tylko w jekyll doctor)
    • jekyll serve nie nadpisuje już site.url w adresach bezwzględnych
    • Mniejsze zużycie pamięci
  • 2020-12-14 - MDN - nowa platforma Yari: treść w repozytorium na GitHubie zamiast wiki, zmiany przez pull requesty
  • 2020-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
  • 2020-11-24 - htmx v1.0 - „hypermedia-driven” aplikacje bez frameworka JS
  • 2020-11-23 - Cypress v6
  • 2020-11-21 - esbuild v0.8.12 - API do przyrostowych buildów (incremental: true i rebuild())
  • 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.0
  • 2020-11-16 - Husky v5.0
    • Hooki jako skrypty powłoki w katalogu .husky/, podpinane przez core.hooksPath z Gita 2.9
    • Koniec konfiguracji w package.json (migracja przez husky add)
    • Licencja Parity Public License: projekty komercyjne bez sponsoringu tylko na 30 dni próby, z zapowiedzią powrotu do MIT
  • 2020-11-11 - Angular v11
  • 2020-11-01 - esbuild v0.8.1 - pierwsza wersja API pluginów (onResolve i onLoad, 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
    • onScroll przestaje 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
    • AbortController bez flagi, globalny EventTarget
    • Nowy moduł timers/promises
    • Eksperymentalny QUIC (przy kompilacji z flagą --experimental-quic)
  • 2020-10-13 - npm v7
    • Workspaces
    • Automatyczna instalacja peerDependencies
    • Lockfile w wersji 2
    • Odczyt yarn.lock jako źródła metadanych
    • Nowa komenda npm exec, na której oparto przepisany npx
  • 2020-10-10 - Webpack v5.0
    • Module Federation
    • Trwały cache na dysku (cache: { type: "filesystem" })
    • Asset Modules (type: "asset") zamiast file-loader i url-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.0
  • 2020-08-28 - Underscore.js v1.11
    • Każda funkcja w osobnym module (pełny tree shaking)
    • Paczka ESM underscore-esm.js
    • Nowe _.isArrayBuffer, _.isDataView i _.isTypedArray
  • 2020-08-20 - TypeScript v4.0
    • Variadic Tuple Types
    • Labeled Tuple Elements ([start: number, end: number])
    • Inferencja pól klasy z konstruktora, unknown jako typ w catch
  • 2020-08-19 - Cypress v5
  • 2020-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 toHaveBeenCalledOnceWith i toHaveSize oraz asynchroniczny toBePending
    • 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
  • 2020-06-25 - Angular v10
  • 2020-06-22 - TanStack Query v2 - wtedy React Query
    • Lepsze unieważnianie i odświeżanie zapytań
    • Zapytania zależne przez opcję enabled i nowy stan idle
    • Nowe flagi statusu zapytań
    • Dwukierunkowe zapytania nieskończone
  • 2020-06-17 - Zatwierdzenie specyfikacji ECMAScript 2020 🎉
    • String.prototype.matchAll
    • import()
    • import.meta
    • BigInt - arbitrary precision integers
    • Promise.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 find i find_exp, wiele operatorów and/or w where_exp
    • Opcja permalinków :slugified_categories
    • Wyłączanie cache dyskowego (disable_disk_cache) bez trybu safe
    • --profile pokazuje 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ępca CLIEngine)
    • Pluginy rozwiązywane względem pliku konfiguracji, który je deklaruje
    • Lintowanie plików spoza .js wskazanych w overrides bez 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
  • 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)
  • 2020-04-15 - GitHub kończy przejęcie npm
  • 2020-04-10 - jQuery v3.5
    • Poprawka bezpieczeństwa: jQuery.htmlPrefilter bez wyrażenia regularnego otwierającego drogę do XSS
    • Nowe metody .even() i .odd() zamiast selektorów :even i :odd
    • Przestarzałe jQuery.trim i aliasy zdarzeń Ajax
    • Skrypty z odpowiedzi Ajax wykonywane tylko przy udanym statusie HTTP
  • 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+
  • 2020-03-16 - GitHub ogłasza przejęcie npm - publiczny rejestr (1,3 mln paczek, 75 mld pobrań miesięcznie) ma pozostać darmowy
  • 2020-03-07 - Zod v1 - biblioteka Colina McDonnella do deklarowania i walidacji schematów z inferencją typów TypeScriptu
  • 2020-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 setState innego komponentu w trakcie renderowania
    • Ostrzeżenie o konflikcie skróconych i pełnych właściwości w propie style
    • React.createFactory oznaczone jako przestarzałe
    • ReactDOM.unstable_createPortal przestarzałe na rzecz ReactDOM.createPortal
    • Stos komponentów w ostrzeżeniach hydratacji
  • 2020-02-20 - TypeScript v3.8
    • import type / export type (type-only imports)
    • Pola prywatne ECMAScript #
    • export * as ns, top-level await (wtedy eksperymentalnie)
  • 2020-02-06 - Cypress v4
  • 2020-02-06 - Angular v9.0
  • 2020-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: i portal:
    • 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)
  • 2020-01-19 - lint-staged v10.0
    • Zmiany wprowadzone przez zadania same trafiają do commita (bez git add w konfiguracji)
    • Kopia zapasowa w git stash przed uruchomieniem zadań
    • Błąd przy pustym commicie (chyba że --allow-empty)
    • Wymóg Node.js 10.13+
  • 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 ConFrontJS
  • 2019-11-27 - Hugo v0.60 - Goldmark (zgodny z CommonMark) zamiast Blackfriday jako domyślny parser Markdown
  • 2019-11-21 - Node.js v13.2 - moduły ESM bez flagi --experimental-modules
  • 2019-11-13 - Premiera przeglądarki Brave 1.0 współtworzonej przez Brendana Eicha
  • 2019-11-05 - TypeScript v3.7
    • Optional Chaining (?.)
    • Nullish Coalescing (??)
    • Assertion Functions (asserts), rekursywne aliasy typów
  • 2019-11-04 - TanStack - Tanner Linsley publikuje React Query (v0.1.0), hooki do pobierania i cache’owania danych w Reakcie
  • 2019-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 w Intl
    • module.createRequireFromPath() przestarzałe na rzecz module.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 React
  • 2019-09-21 - Jasmine v3.5.0
    • Czytelniejszy wynik toHaveBeenCalledWith (każde wywołanie w osobnej linii)
    • Nowe strategie szpiegów resolveTo i rejectWith
    • Własne asynchroniczne matchery
  • 2019-09-17 - Mozilla ogłasza, że Firefox od 2020 roku będzie wydawany co 4 tygodnie
  • 2019-09-11 - 5. urodziny WarsawJS
  • 2019-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 link i post_url bez doklejania site.baseurl
    • render_with_liquid: false wyłą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 TradingView
  • 2019-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
    • overrides obsługuje extends i zagnieżdżone overrides
    • Wiele procesorów jednocześnie
    • Aktualizacja eslint:recommended
  • 2019-06-04 - Rejestr npm przekracza milion paczek
  • 2019-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-library
    • react-testing-library v8 wydany jako @testing-library/react
    • dom-testing-library wydany 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 v8
  • 2019-05-13 - Tailwind CSS v1.0
  • 2019-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_threads stabilny od v12.11.0 (2019-09-25)
    • LTS Erbium od 2019-10-21
  • 2019-04-21 - Svelte v3.0.0
  • 2019-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 Foundation
  • 2019-03-12 - jQuery trafia do OpenJS Foundation, powstałej z połączenia JS Foundation i Node.js Foundation
  • 2019-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.0
  • 2019-02-19 - Palantir ogłasza wygaszenie TSLint na rzecz ESLint z typescript-eslint
  • 2019-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/core jako zamiennik babel.transform()
  • 2019-02-06 - React v16.8.0
    • Hooki (m.in. useState i useEffect): 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
  • 2019-02-05 - Lit - lit-html 1.0 i LitElement 2.0, następcy Polymera od zespołu Polymer Project
  • 2019-01-20 - typescript-eslint v1.0 - pierwsze wydanie pakietów @typescript-eslint/parser i @typescript-eslint/eslint-plugin w nowym monorepo
  • 2019-01-18 - ESLint przekazuje wsparcie TypeScriptu projektowi typescript-eslint
    • Zespół TypeScript stawia na ESLint zamiast TSLint
    • Parser TypeScript trafia do nowego projektu typescript-eslint (James Henry)
    • typescript-eslint-parser zarchiwizowany na rzecz @typescript-eslint/parser
  • 2019-01-17 - Node.js v11.7 - worker_threads dostępne bez flagi --experimental-worker

2018

  • 2018-12-10 - Gulp v4.0 - wersja domyślna w npm (opublikowana 2018-01-01 pod tagiem next)
    • Nowy system zadań z series() i parallel()
    • Watcher oparty na chokidar
    • Buildy przyrostowe przez lastRun()
    • Metoda symlink()
    • Wbudowane source mapy (bez gulp-sourcemaps)
    • Zadania rejestrowane przez eksport funkcji
  • 2018-12-06 - Microsoft ogłasza przebudowę Microsoft Edge na Chromium
  • 2018-11-26 - npm usuwa złośliwą paczkę flatmap-stream ukrytą w event-stream
    • Nowy opiekun przejął event-stream socjotechniką i 2018-09-09 dodał zależność flatmap-stream@0.1.1 w wersji 3.3.6
    • Kod celował w portfel Copay i kradł klucze kont z dużym saldem bitcoinów
    • npm usuwa event-stream@3.3.6 i przejmuje paczkę
  • 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 ekosystemu
  • 2018-10-29 - Pierwsza edycja konferencji ConFrontJS
  • 2018-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.0 w 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 TextEncoder i TextDecoder
    • Eksperymentalne queueMicrotask()
    • http, https i tls domyślnie używają parsera WHATWG URL
    • process.binding() przestarzałe
  • 2018-10-23 - React v16.6.0
    • React.memo() - odpowiednik PureComponent dla komponentów funkcyjnych
    • React.lazy() i <Suspense> do dzielenia kodu (code splitting)
    • static contextType - prostsze czytanie kontekstu w klasach
    • Metoda cyklu życia getDerivedStateFromError
    • StrictMode ostrzega przed ReactDOM.findDOMNode() i starym API kontekstu
  • 2018-10-18 - Angular v7
  • 2018-09-25 - Husky v1.0
    • Pierwsze stabilne wydanie po roku wersji testowych i przepisaniu kodu
    • Konfiguracja hooków w polu husky w package.json lub w .huskyrc zamiast w scripts
    • Nazwy hooków jak w Gicie (pre-commit zamiast precommit)
    • Wsparcie pnpm i środowisk tylko z Yarnem
  • 2018-09-21 - Nuxt.js v2.0
  • 2018-09-17 - Gatsby v2.0
  • 2018-09-12 - 4. urodziny WarsawJS
  • 2018-08-27 - Babel.js v7
  • 2018-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 Rust
  • 2018-07-30 - TypeScript v3
    • Project References (--build)
    • Typ unknown (bezpieczny odpowiednik any)
    • Tuple types w rest/spread (+ opcjonalne i rest elementy krotek)
  • 2018-07-12 - Przejęte konto npm opiekuna ESLint: złośliwe eslint-scope@3.7.2 i eslint-config-eslint@5.0.2 wysyłały atakującemu zawartość .npmrc
  • 2018-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 experimentalObjectRestSpread oznaczona 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-file i max-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 Parsing uznane za zawsze spełnione w HTML i XML
    • Aktualizacje 2024-12-12 i 2025-05-06: poprawki redakcyjne (errata)
  • 2018-06-02 - Ryan Dahl zapowiada Deno w prelekcji „10 Things I Regret About Node.js” na JSConf EU w Berlinie
  • 2018-05-29 - Cypress v3
  • 2018-05-24 - Ósma edycja konferencji Front-Trends
  • 2018-05-09 - Polymer v3.0 - premiera na Google I/O 2018
    • Moduły ES zamiast HTML Imports
    • npm zamiast Bowera
  • 2018-05-04 - Angular v6
  • 2018-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 URL i URLSearchParams (WHATWG)
    • LTS Dubnium od 2018-10-30
  • 2018-04-24 - RxJS v6.0
    • Modularne pipeable operators
    • Mniejsza waga bundle’a
  • 2018-04-24 - npm v6
    • Komenda npm audit sprawdza 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 generator create-<nazwa>, np. npm init react-app
    • Zarządzanie webhookami z CLI
  • 2018-04-19 - Svelte v2.0.0
  • 2018-04-17 - Redux v4
  • 2018-04-10 - npm, Inc. przejmuje ^Lift Security i bazę podatności Node Security Platform
  • 2018-04-02 - Testing Library - Kent C. Dodds ogłasza react-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 alt zamiast testowania szczegółów implementacji
    • Pierwsza wersja w npm 2018-03-19
    • 2018-04-06 w npm pojawia się dom-testing-library z zapytaniami DOM niezależnymi od frameworka
  • 2018-03-29 - React v16.3.0
    • Oficjalne API kontekstu (React.createContext() z Provider i Consumer)
    • React.createRef() i React.forwardRef()
    • Nowe metody cyklu życia getDerivedStateFromProps i getSnapshotBeforeUpdate
    • Aliasy UNSAFE_ dla componentWillMount, componentWillReceiveProps i componentWillUpdate
    • Komponent <React.StrictMode> wskazujący potencjalne problemy w aplikacji
  • 2018-02-25 - Webpack v4.0
    • Tryby mode: "production" i mode: "development"
    • optimization.splitChunks zamiast CommonsChunkPlugin
    • Natywna obsługa JSON i eksperymentalnie WebAssembly
    • sideEffects w package.json
    • CLI przeniesione do pakietu webpack-cli
    • Koniec wsparcia Node.js 4
  • 2018-02-21 - npm v5.7
    • Komenda npm ci instaluje wyłącznie z lockfile, 2-10 razy szybciej bez node_modules
    • Automatyczne rozwiązywanie konfliktów merge w package-lock.json
  • 2018-02-15 - Cypress v2
  • 2018-02-14 - Ember v3.0
  • 2018-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 afterAll na 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, term i none (synonim presentation)
    • 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-haspopup określa typ okna: menu, listbox, tree, grid, dialog
    • Przestarzałe aria-grabbed i aria-dropeffect
    • Tego samego dnia: Core-AAM 1.1 (rekomendacja) i WAI-ARIA Authoring Practices 1.1 (notatka W3C)
    • Pierwszy szkic roboczy: 2013-09-26
  • 2017-12-14 - Zatwierdzenie specyfikacji HTML 5.2
  • 2017-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 key tylko 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 Markdownu
  • 2017-11-01 - Tailwind CSS v0.1 - pierwsze publiczne wydanie frameworka CSS typu utility-first
  • 2017-11-01 - Angular v5
  • 2017-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.v8BreakIterator i stare eksperymentalne API async_hooks
    • os.EOL tylko do odczytu
  • 2017-10-30 - Zatwierdzenie specyfikacji HTML 5.1
  • 2017-10-24 - Apollo Client v2
    • Warstwa sieciowa Apollo Link oparta na obserwablach zamiast Promise
    • Modułowa budowa (rdzeń ok. 12 KB)
  • 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 MDN
  • 2017-10-09 - Cypress v1
  • 2017-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.createClass i React.PropTypes tylko jako osobne paczki create-react-class i prop-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.0
  • 2017-09-13 - 3. urodziny WarsawJS
  • 2017-09-12 - Node.js v8.5 - eksperymentalne moduły ESM za flagą --experimental-modules
  • 2017-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 monorepo
  • 2017-08-15 - Node.js v8.4 - eksperymentalny moduł http2 (flaga --expose-http2)
  • 2017-08-15 - Gatsby v1.0
  • 2017-07-11 - npm v5.2 - w zestawie npx, który uruchamia binarki z paczek bez globalnej instalacji
  • 2017-06-19 - Webpack v3.0
    • Eksperymentalny Scope Hoisting (ModuleConcatenationPlugin)
    • output.libraryExport do wyboru eksportu biblioteki
    • [contenthash] w sourceMapFilename
    • uglifyjs-webpack-plugin w osobnym repozytorium
  • 2017-06-18 - Jekyll v3.5
    • Liquid 4 z kontrolą białych znaków i filtrami concat oraz compact
    • Klucz gems w _config.yml przemianowany na plugins
    • Motywy mogą deklarować zależności od pluginów
    • Zmienne layoutu dostępne w dokumentach (layout)
    • Pliki danych .tsv
  • 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 .eslintignore liczone względem lokalizacji pliku
    • Siedem nowych reguł, m.in. padding-line-between-statements i for-direction
    • Autofix dla no-debugger i no-confusing-arrow
  • 2017-06-06 - MDN - Mozilla Developer Network zmienia nazwę na MDN Web Docs
  • 2017-06-02 - Prettier v1.4 - obsługa TypeScriptu oraz CSS, Less i SCSS
  • 2017-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 @kadira do @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_hooks i util.promisify()
    • WHATWG URL w pełni wspierane
    • new Buffer(num) domyślnie zeruje pamięć
    • LTS Carbon od 2017-10-31
  • 2017-05-25 - npm v5
    • Plik package-lock.json z dokładnymi wersjami zależności
    • --save domyś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)
  • 2017-05-24 - Siódma edycja konferencji Front-Trends
  • 2017-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 jako jsdom/lib/old-api.js
    • Koniec wsparcia Node.js 4 i 5
  • 2017-04-21 - Uruchomienie agregatu polskich blogów Polski Front-end
  • 2017-04-13 - Prettier v1.0
    • Pierwsze stabilne wydanie, gotowe do użycia produkcyjnego
    • Opcje --no-semi i --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 paczka prop-types
    • Ostrzeżenie przy React.createClass, zamiast tego klasy ES6 albo paczka create-react-class
    • Test Utils w react-dom/test-utils, shallow renderer w react-test-renderer/shallow
    • Codemody w react-codemod
  • 2017-03-30 - Apollo Client v1 - pierwsza stabilna wersja, gotowa do użytku produkcyjnego
  • 2017-02-21 - Node.js v7.6 - async/await bez flagi dzięki V8 5.5
  • 2017-01-31 - Pierwsza edycja Gamedev.js Warszawa
  • 2017-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 kodu
    • module.rules zamiast module.loaders
    • resolve.modules zamiast resolve.root
    • Nowa dokumentacja na webpack.js.org
  • 2017-01-10 - Prettier - James Long ogłasza formatter JavaScriptu
    • Inspiracja: refmt z Reason
    • Obsługa ES2017, JSX i Flow
    • Fork drukarki z recast przepisany na algorytm Wadlera z pracy „A prettier printer”
    • Kod parsowany do AST i drukowany od nowa z uwzględnieniem maksymalnej długości linii
  • 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 v4
  • 2016-12-13 - RxJS v5.0 - pełne przepisanie biblioteki w TypeScript
  • 2016-12-04 - Pierwsza edycja WarsawJS Workshop ❤️
  • 2016-11-29 - Svelte v1.0.0
  • 2016-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ł punycode i Buffer() bez new
    • npm 3.10
  • 2016-10-25 - Next.js v1.0 - pierwsze publiczne wydanie frameworka React przez ZEIT
  • 2016-10-20 - npm v4
    • prepublish przestarzały, zastępują go prepare i prepublishOnly
    • npm search przepisany na strumieniowanie wyników
    • npm outdated kończy się kodem 1, gdy znajdzie nieaktualne paczki
    • Usunięte npm tag na rzecz npm 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 Foundation
  • 2016-10-11 - Nowy menedżer pakietów Yarn
    • Współpraca Facebooka, Exponent, Google i Tilde
    • Lockfile yarn.lock i 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_url i absolute_url
    • jekyll serve automatycznie ustawia site.url na adres serwera deweloperskiego
  • 2016-10-06 - XMLHttpRequest - W3C kończy prace nad własną wersją (XMLHttpRequest Level 1) i odsyła do XMLHttpRequest Living Standard WHATWG
  • 2016-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
  • 2016-09-14 - 2. urodziny WarsawJS
  • 2016-09-14 - GraphQL - koniec etapu technical preview, tego samego dnia startuje GitHub GraphQL API
  • 2016-07-26 - Jekyll v3.2
    • Motywy jako gemy (layouty, include’y i Sass), domyślny szablon oparty na motywie minima
    • Nowy filtr where_exp i tag link
    • 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 przez create-react-app hello-world
    • npm start uruchamia serwer deweloperski, npm run build buduje wersję produkcyjną
    • webpack, Babel i ESLint schowane w jednej zależności react-scripts
    • Komenda eject przenosi konfigurację i skrypty do projektu
  • 2016-07-15 - ESLint ogłasza koniec rozwoju JSCS, jego twórcy przechodzą do ESLint
  • 2016-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
  • 2016-06-09 - jQuery v3.0
    • Tryb strict mode i pętla for...of na kolekcjach jQuery
    • Deferred zgodne z Promises/A+, jQuery.when przyjmuje dowolne thenable (np. natywne Promise)
    • 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()
  • 2016-05-18 - Szósta edycja konferencji Front-Trends
  • 2016-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-observable
  • 2016-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() i Buffer.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 wydaniem
  • 2016-04-07 - React v15 - numeracja przeskakuje z 0.14 na 15 jako sygnał stabilności API
    • Pierwsze renderowanie przez document.createElement zamiast innerHTML
    • Koniec atrybutu data-reactid na każdym węźle
    • Tekst bez dodatkowych <span> (węzły tekstowe i komentarze)
    • null renderowany 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)
  • 2016-04-06 - Premiera przeglądarki Vivaldi 1.0 od Jona von Tetzchnera, współzałożyciela Opery
  • 2016-04-05 - Backbone v1.3.3
  • 2016-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 aplikacji
  • 2016-03-30 - Safari Technology Preview - Safari z najnowszym WebKitem do testowania nadchodzących funkcji
  • 2016-03-29 - npm zaostrza zasady usuwania paczek po incydencie z left-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 paczka left-pad i psuje buildy tysięcy projektów
    • Azer Koçulu usuwa kik i 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
  • 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 przez ecmaVersion
    • Pluginy mogą eksportować środowiska i shareable configs
    • .eslintignore działa jak .gitignore
    • Globalne ES6 (Promise, Map) przeniesione do środowiska es6
  • 2016-02-05 - Angular.js v1.5.0
  • 2016-01-15 - lint-staged - Andrey Okonetchnikov publikuje narzędzie uruchamiające lintery tylko na plikach w staging area
  • 2016-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() i fs.writeFile() przyjmują deskryptor pliku
    • Usunięte require.paths i util.p()
  • 2015-10-29 - Babel.js v6
  • 2015-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
  • 2015-10-12 - Node.js v4.2 - pierwsze wydanie LTS (Argon)
  • 2015-10-07 - React v0.14
    • Podział na paczki react i react-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 mutacji React.cloneElement
    • react-tools i JSXTransformer przestarzałe na rzecz Babela
    • Elementy oznaczane Symbol, co chroni przed XSS przez spreparowany JSON
  • 2015-09-16 - 1. urodziny WarsawJS
  • 2015-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 npm
  • 2015-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.3
  • 2015-08-15 - Powstanie projektu Preact (Jason Miller) - lekka alternatywa dla React (3KB)
  • 2015-08-13 - Ember v2.0
  • 2015-07-31 - ESLint v1.0
    • Domyślnie żadna reguła nie jest włączona (dawne --reset)
    • Preset eslint:recommended, z którego korzysta --init
    • RuleTester wbudowany w pakiet eslint (zamiast eslint-tester)
    • Numeracja kolumn od 1
    • 14 nowych reguł, m.in. arrow-parens, no-const-assign, prefer-spread
  • 2015-07-29 - Premiera przeglądarki Microsoft Edge (dawniej Project Spartan) z silnikiem EdgeHTML, razem z Windows 10
  • 2015-07-02 - GraphQL - Facebook publikuje szkic specyfikacji (Working Draft) i referencyjną implementację GraphQL.js
  • 2015-06-25 - npm v3
    • Maksymalnie płaska struktura node_modules z deduplikacją od razu
    • peerDependencies nie są już instalowane automatycznie, npm tylko ostrzega
    • Wieloetapowy instalator i pasek postępu
    • Pole engineStrict ignorowane
    • Wydanie w wersji beta, tag latest zostaje przy npm 2
  • 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, Int32Array
      • Uint8Array, Uint8ClampedArray, Uint16Array, Uint32Array
      • Float32Array, Float64Array
      • DataView’s & ArrayBuffer’s
    • New Built-In Methods:
      • Object.assign()
      • Array.prototype.findIndex
      • String.prototype.startsWith
      • String.prototype.endsWith
      • Math.trunc()
      • Math.sign()
      • Number.isSafeInteger()
      • Number.isNaN()
      • Number.isFinite()
    • Promises
    • Meta-Programming: Proxy, Reflect
    • Internationalization & Localization
  • 2015-06-16 - Społeczności Node.js i io.js ogłaszają połączenie kodu w ramach Node.js Foundation
  • 2015-06-02 - Powstanie projektu Redux
  • 2015-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-Trends
  • 2015-04-23 - Electron - Atom Shell zmienia nazwę na Electron
  • 2015-04-14 - npm uruchamia prywatne paczki za 7 USD miesięcznie i ogłasza rundę A na 8 mln USD
  • 2015-03-31 - Babel.js v5
  • 2015-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) zamiast component.getDOMNode()
    • React.cloneElement(el, props) do kopiowania elementów
    • Refy jako funkcje (callback refs)
    • setState przyjmuje funkcję (aktualizacja na podstawie poprzedniego stanu)
    • Iteratory i sekwencje Immutable.js jako dzieci
    • setState w metodach cyklu życia zawsze grupowane (asynchroniczne)
  • 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_img i inne)
  • 2015-02-22 - jsdom v4.0
    • Moduł vm z io.js zamiast natywnego Contextify (instalacja bez kompilatora C++)
    • Działa tylko w io.js, nie w Node.js
  • 2015-02-06 - Node.js v0.12
    • V8 3.28
    • Streams3
    • Round-robin w cluster
    • execSync() i spawnSync()
  • 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.0
  • 2015-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 tekstu
  • 2014-10-28 - Zatwierdzenie specyfikacji HTML 5.0
  • 2014-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)
    • key i ref poza obiektem props
    • Spread atrybutów w JSX ({...props}) zamiast transferPropsTo
    • React.render zamiast React.renderComponent, React.isValidElement zamiast React.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-script po --
    • Zależności z lokalnych ścieżek (file:)
    • semver 4 - wersje przedpremierowe nie pasują do zakresów
  • 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.key i e.getModifierState() w zdarzeniach klawiatury, nowe zdarzenie onBeforeInput
    • React.Children.count
    • Dodatki PureRenderMixin i Perf (analiza wydajności)
    • Przestrzenie nazw w JSX (<Components.Checkbox />)
    • Paczka npm z gotowymi buildami w dist/
  • 2014-06-09 - Husky - pierwsza wersja (0.1.0) w npm
  • 2014-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-Trends
  • 2014-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 where i group_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.0
  • 2014-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.10
    • React.renderComponentToStaticMarkup - HTML z serwera bez atrybutów data-reactid i data-react-checksum
    • Dodatek update do pracy z niemutowalnymi danymi
    • Atrybut srcSet dla <img>
    • Opcja harmony w react-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
  • 2014-02-20 - React v0.9
    • React.addons.TestUtils do testów jednostkowych
    • Nowe typy w React.PropTypes: arrayOf, shape, oneOfType, any i 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.renderComponentToString działa synchronicznie
    • Nowe tagi SVG i atrybuty HTML
  • 2014-02-19 - Webpack v1.0 - pierwsza stabilna wersja po wydaniach 0.x od 2012 roku
  • 2014-02-?? - Powstanie projektu Vue.js - pierwsza publiczna wersja autorstwa Evan You
  • 2014-01-15 - Isaac Z. Schlueter zakłada firmę npm, Inc., która ma utrzymywać rejestr i sprzedawać usługi wokół npm
  • 2014-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 props i state
    • Okruszki (breadcrumbs) pokazujące, który komponent utworzył wybrany

2013

  • 2013-12-19 - React v0.8 - React przejmuje nazwę react w 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
    • JSXTransformer działa w IE8 i jest mniejszy o ok. 65 KB (16 KB po gzip)
  • 2013-10-17 - Internet Explorer 11 - ostatnia wersja Internet Explorera
  • 2013-10-16 - React v0.5
    • Mniejsze zużycie pamięci i lepsza wydajność
    • Zdarzenia zaznaczenia (Selection) i kompozycji (Composition)
    • getInitialState i getDefaultProps w mixinach
    • React.version i React.isValidClass
    • Osobny build z dodatkami (React with Addons)
    • Działa przy restrykcyjnym CSP, więc nadaje się do rozszerzeń Chrome
    • JSX nie zamienia już class na className (trzeba pisać className)
  • 2013-09-26 - Gulp v1.0 - pierwsze stabilne wydanie
  • 2013-08-31 - Ember v1.0
  • 2013-07-17 - React v0.4
    • Walidacja propTypes i wartości domyślne (getDefaultProps)
    • Prop key do sterowania rekoncyliacją
    • Automatyczne wiązanie metod (autobind), React.autoBind usunięte
    • data-reactid zamiast id do śledzenia węzłów DOM
    • React.renderComponentToString() do renderowania na serwerze
    • Kontrolowane pola formularzy (defaultValue, ujednolicone onChange) i zdarzenia syntetyczne zgodne ze specyfikacją W3C
    • Grupowanie aktualizacji (batching) i setState z callbackiem
    • Komentarze w JSX ({/* ... */})
  • 2013-07-15 - Electron - pierwsza wersja (v0.1.0) Atom Shell, frameworka tworzonego przez GitHub dla edytora Atom
  • 2013-07-09 - Chrome 28 - pierwsza stabilna wersja Chrome na silniku Blink
  • 2013-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 npm
  • 2013-07-02 - Opera 15 - pierwsza Opera na Chromium i silniku Blink, koniec silnika Presto
  • 2013-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 render wywoł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 react w 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 gist do osadzania Gistów
    • Automatyczne zajawki (excerpt) wpisów
    • Szkice (drafts) z podglądem przed publikacją
  • 2013-04-26 - Trzecia edycja konferencji Front-Trends
  • 2013-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 Chromium
  • 2013-03-11 - Node.js v0.10
    • Nowe API strumieni (streams2)
    • Szybszy process.nextTick()
  • 2013-03-?? - CKEditor v1.0
  • 2013-02-18 - Grunt v0.4
    • Podział na grunt (lokalnie) oraz grunt-cli i grunt-init (globalnie)
    • Plik grunt.js zmieniony na Gruntfile.js
    • Wbudowane zadania wydzielone do pluginów grunt-contrib-*
    • Wymóg Node.js 0.8+
  • 2013-02-13 - Opera zapowiada porzucenie własnego silnika Presto na rzecz WebKit
  • 2013-01-15 - jQuery v1.9
    • Usunięte przestarzałe API, m.in. .live(), $.browser i .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
  • 2013-??-?? - Opublikowanie standardu ECMA-404 przez Ecma International, który zawierał opis formatu JSON

2012

  • 2012-10-23 - Express.js v3.0.0
  • 2012-10-15 - WCAG 2.0 jako norma ISO/IEC 40500:2012 - zatwierdzenie przez ISO/IEC JTC 1
  • 2012-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.0
  • 2012-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-Trends
  • 2012-04-23 - Powstanie projektu Lodash
  • 2012-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óźniej
  • 2012-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 z SproutCore 2.0 przez Yehuda Katza
  • 2011-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.Deferred z obsługą postępu i metodą state()
    • Nowe jQuery.isNumeric()
  • 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 projektu CSS Foundation
  • 2011-06-21 - Firefox 5 - start szybkiego cyklu wydań co 6 tygodni
  • 2011-06-07 - Zatwierdzenie specyfikacji CSS 2.1
  • 2011-06-?? - Zatwierdzenie specyfikacji ECMAScript 5.1 🎉
  • 2011-05-13 - Leaflet v0.1 - CloudMade ogłasza bibliotekę map interaktywnych autorstwa Volodymyra Agafonkina
  • 2011-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 :focus i jQuery.holdReady()
  • 2011-05-01 - npm v1.0
    • Podział na instalację globalną (-g) i lokalną w node_modules
    • Zagnieżdżone zależności zamiast „aktywacji” wersji
    • npm ls pokazuje drzewo zależności
    • Zmiany w npm link
  • 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.0
  • 2011-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
  • 2011-02-18 - Powstanie projektu JSHint - fork JSLint (Anton Kovalyov), mniej restrykcyjny i bardziej konfigurowalny
  • 2011-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()

2010

  • 2010-11-16 - Express.js v1.0.0
  • 2010-10-20 - Powstanie frameworka Angular.js
  • 2010-10-13 - Pierwsza wersja Backbone
  • 2010-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 Recommendation
  • 2010-07-22 - Google zapowiada nowe wydanie Chrome co 6 tygodni
  • 2010-04-26 - Pierwsza edycja konferencji Front-Trends
  • 2010-03-18 - Underscore.js v1.0 - biblioteka wychodzi z bety
  • 2010-03-01 - Użytkownicy Internet Explorer w 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 focusin i focusout, .live() dla prawie wszystkich zdarzeń
    • Parsowanie JSON natywnym JSON.parse
  • 2010-01-12 - Pierwsze wydanie npm (0.0.1) 📦

2009

  • 2009-12-03 - Zatwierdzenie specyfikacji ECMAScript 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 EU
  • 2009-10-28 - Powstanie projektu Underscore.js
  • 2009-10-06 - Powstanie systemu szablonów Mustache
  • 2009-09-29 - Pierwszy commit npm - Isaac Z. Schlueter zaczyna prace nad menedżerem paczek
  • 2009-08-?? - CommonJS - grupa ServerJS formalnie zmienia nazwę na CommonJS
  • 2009-06-30 - Firefox 3.5
    • Znaczniki <video> i <audio> z HTML5
    • Silnik JavaScript TraceMonkey
    • Natywny JSON i Web Workers
  • 2009-05-27 - Powstanie projektu Node.js
  • 2009-04-?? - CommonJS - moduły CommonJS pokazane w kilku implementacjach na pierwszym JSConf w Waszyngtonie
  • 2009-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 przez git push)
  • 2008-12-11 - Pierwsza stabilna wersja przeglądarki Google Chrome 1.0
  • 2008-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 Windows
  • 2008-08-15 - Uruchomienie portalu StackOverflow
  • 2008-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 jQuery
  • 2007-09-10 - jQuery v1.2
    • Nowe metody przechodzenia po DOM, m.in. .map(), .slice(), .nextAll() i .contents()
    • Metoda .offset(), .height() i .width() dla document i window
    • JSONP i getScript między domenami, częściowe .load()
    • .stop() i animacje względne
    • Zdarzenia z przestrzeniami nazw i .triggerHandler()
  • 2007-06-29 - Mobilne Safari debiutuje razem z pierwszym iPhone’em
  • 2007-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 Resiga
  • 2006-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 reklam
  • 2005-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 strony
  • 2005-02-08 - Powstanie projektu Google Maps
  • 2005-??-?? - Powstanie projektu MDN

2004

  • 2004-11-09 - Pierwsza stabilna wersja przeglądarki Firefox 1.0 dla Windows, Mac OS X i Linuksa
  • 2004-07-04 - Powstanie grupy standaryzującej światu technologii webowych WHATWG (Web Hypertext Application Technology Working Group)
  • 2004-04-01 - Powstanie projektu Gmail
  • 2004-02-09 - Mozilla Firebird zmienia nazwę na Firefox (wersja 0.8)
  • 2004-??-?? - Powstanie WHATWG
  • 2004-??-?? - 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 jako FCKeditor)
  • 2003-01-28 - Opera 7 z nowym silnikiem Presto
  • 2003-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.1
  • 2002-06-05 - Mozilla 1.0 - pakiet z przeglądarką, pocztą i czatem na silniku Gecko
  • 2002-??-?? - Powstanie projektu JSLint

2001

  • 2001-08-27 - Internet Explorer 6 - w szczycie popularności blisko 90% rynku
  • 2001-05-31 - Zatwierdzenie specyfikacji XHTML 1.1
  • 2001-??-?? - Zdefiniowanie formatu JSON

2000

  • 2000-01-26 - Zatwierdzenie specyfikacji XHTML 1.0

1999

  • 1999-12-24 - Zatwierdzenie specyfikacji HTML 4.1
  • 1999-12-?? - Zatwierdzenie specyfikacji ECMAScript 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 - obiekt XMLHTTP (ActiveX), przodek XMLHttpRequest i Ajaksa

1998

  • 1998-11-18 - Opera 3.5
    • Wsparcie CSS
    • Nowy silnik Elektra
  • 1998-06-?? - Zatwierdzenie specyfikacji ECMAScript 2 🎉
  • 1998-05-18 - Departament Sprawiedliwości USA pozywa Microsoft m.in. za wiązanie Internet Explorer z Windows (United States v. Microsoft)
  • 1998-05-12 - Zatwierdzenie specyfikacji CSS 2
  • 1998-03-31 - Netscape udostępnia kod źródłowy Communicatora, początek projektu Mozilla
  • 1998-??-?? - Uruchomienie wyszukiwarki Google Search

1997

  • 1997-12-01 - Opera 3.0 - pierwsza wersja Opery z JavaScriptem
  • 1997-09-30 - Internet Explorer 4.0 - Dynamic HTML (DHTML)
  • 1997-06-?? - Zatwierdzenie specyfikacji ECMAScript 1 🎉

1996

  • 1996-12-17 - Zatwierdzenie specyfikacji CSS 1
  • 1996-12-09 - Pierwsza publiczna wersja przeglądarki Opera 2.10 (shareware dla Windows)
  • 1996-11-?? - Netscape Communications zgłosiło JavaScript do Ecma International jako 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ęzyka JavaScript pierwszy 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ęzyka JavaScript ⭐️

1994

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/