Skip to content

Releases: WinkIntel/bootstrap-svelte

Bootstrap Svelte 2.1.0

Choose a tag to compare

@vince-winkintel vince-winkintel released this 19 Sep 19:05

A compatible feature and bug-fix release for 2.x consumers, covering issues #29 and #31.

Changes

  • Add optional Offcanvas.Root triggerElements references for consumer-controlled buttons, links, and SVG elements. An owning enabled primary press no longer causes premature outside dismissal or a spurious static-backdrop onHidePrevented event.
  • Ownership follows the current references, supports null lists and entries, and ignores detached elements. Disabled, non-primary, unrelated, and stacked-overlay behavior is preserved. Includes API documentation and an interactive example.
  • Fix collapseAria cleanup and reactive reattachment overwriting consumer-owned ARIA attributes and roles. Cleanup restores prior values only while the current value still matches the attachment's write.

Compatibility and installation

No new breaking changes for 2.x consumers. Svelte peer requirement: ^5.29.0.

pnpm add @winkintel/bootstrap-svelte@^2.1.0 bootstrap

Published to npm with the latest dist-tag. Consumers remaining on 1.x can install the companion 1.1.0 release using @^1.1.0 or @maintenance.

Consumers upgrading from 1.x to 2.x should follow the 2.0 migration guide.

Implemented and reviewed in #35 and #37. Full comparison: v2.0.0...v2.1.0

Bootstrap Svelte 1.1.0

Choose a tag to compare

@vince-winkintel vince-winkintel released this 19 Sep 19:05

A compatible maintenance release for 1.x consumers, backporting issues #29 and #31 without the 2.0 Navbar or breakpoint changes.

Changes

  • Add optional Offcanvas.Root triggerElements references for consumer-controlled buttons, links, and SVG elements. An owning enabled primary press no longer causes premature outside dismissal or a spurious static-backdrop onHidePrevented event.
  • Ownership follows the current references, supports null lists and entries, and ignores detached elements. Disabled, non-primary, unrelated, and stacked-overlay behavior is preserved. Includes API documentation and an interactive example.
  • Fix collapseAria cleanup and reactive reattachment overwriting consumer-owned ARIA attributes and roles. Cleanup restores prior values only while the current value still matches the attachment's write.

Compatibility and installation

No breaking changes for 1.x consumers. Existing 1.x Navbar and responsive-breakpoint behavior is retained. Svelte peer requirement: ^5.29.0.

pnpm add @winkintel/bootstrap-svelte@^1.1.0 bootstrap

Published to npm with the maintenance dist-tag. You can also install @winkintel/bootstrap-svelte@maintenance; the default npm latest tag remains on 2.x.

Implemented and reviewed in #36 and #38. Full comparison: v1.0.12...v1.1.0

Bootstrap Svelte 2.0.0

Choose a tag to compare

@vince-winkintel vince-winkintel released this 18 Sep 13:52

Breaking changes and migration

Version 2.0.0 completes the Navbar and Offcanvas fixes for #26, #27, and #33. Read the 1.x to 2.0 migration guide before upgrading.

  • Navbar with omitted expandOnBreakpoint, or explicit "xs", now stays inline at every width, including SSR. Use expandOnBreakpoint={false} for collapsible navigation at every width, or a named breakpoint such as "lg" for responsive navigation.
  • Offcanvas.RootProps['showOnBreakpoint'] now accepts only sm, md, lg, xl, and xxl. Remove showOnBreakpoint="xs". Legacy untyped xs values fall back to an ordinary standalone overlay or inherit the parent Navbar's mode.
  • For a default Navbar containing an Offcanvas with its own named breakpoint, move the breakpoint to Navbar and omit it on Offcanvas so the toggler and panel share the same responsive mode.

Fixes

  • Navbar-owned togglers no longer dismiss an Offcanvas on mousedown before toggling it again on click. Unrelated outside presses retain their normal backdrop behavior.
  • Navbar togglers automatically track rendered Collapse/Offcanvas panel IDs in aria-controls, while preserving consumer overrides and handling ID changes and panel removal.
  • Runtime breakpoint changes replace stale media-query subscriptions and synchronize CSS, ARIA, panel visibility, backdrop behavior, and body scroll locks.
  • Explicit Offcanvas visibility survives responsive changes; toggler-opened state clears on entering inline mode. A nested panel's own breakpoint no longer becomes an undismissable overlay because its parent is inline.
  • Legacy Offcanvas xs values no longer emit the unsupported offcanvas-xs class or force standalone panels open on phones.

Install

pnpm add @winkintel/bootstrap-svelte@2.0.0 bootstrap

The Svelte peer requirement remains ^5.29.0. Continue supplying Bootstrap 5 CSS in the consuming application.

Package and validation

  • Published @winkintel/bootstrap-svelte@2.0.0 with the latest dist-tag and signed npm provenance.
  • Tagged publish workflow and main CI passed.
  • Local validation: 2,050 tests passed, zero Svelte/TypeScript errors or warnings, lint, build, publint, and package-content checks passed.
  • A fresh Svelte/Vite consumer installed the exact npm version, passed svelte-check with zero errors or warnings, and built successfully.

1.x support

The codex/maintenance-1.x branch starts at v1.0.12. Follow-up issues #29 and #31 remain outside this release and can be implemented compatibly for both release lines.

Full changelog: v1.0.12...v2.0.0

Bootstrap Svelte 1.0.12

Choose a tag to compare

@vince-winkintel vince-winkintel released this 05 Sep 16:42
a125d7f

What's changed

  • Changed Offcanvas panels with useBackdrop={false} to ignore outside mousedown, fixing navbar togglers whose second pointer click reopened the panel instead of closing it (#24). Escape, dismiss buttons, navbar togglers, and the isShown prop continue to close the panel.
  • Fixed clearing or replacing showOnBreakpoint so stale media queries no longer control visibility or backdrop behavior.
  • Preserved explicit visibility changes made while responsive breakpoints match, synchronized body scroll locks across inline and overlay modes, and retained parent navbar breakpoints for nested offcanvas panels.
  • Added regression coverage for navbar toggling, dismissal behavior, mixed-backdrop stacking, scroll-lock transitions, and responsive breakpoint clearing/replacement.

Package

Validation

  • Pull-request checks and post-merge main CI passed.
  • The npm trusted-publishing dry run and real OIDC publish workflow passed.
  • A clean Svelte/Vite consumer installed the exact npm version, passed svelte-check with zero errors and warnings, and produced a production build.

Full Changelog: v1.0.11...v1.0.12

Bootstrap Svelte 1.0.11

Choose a tag to compare

@vince-winkintel vince-winkintel released this 04 Sep 11:43
0307898

What's changed

  • Fixed Modal throwing “Maximum update depth exceeded” on Svelte 5.56.5 and newer, which could leave the modal unable to close from its buttons (#22).
  • Reworked Modal.Title registration to use an ordered, per-instance registry. Dialog labelling now follows the first mounted title, falls back when that title unmounts, and handles ID changes without reordering.
  • Added regression coverage for the README quick-start flow and multi-title labelling lifecycles.
  • Updated the development Svelte version to 5.57.0; the peer range remains ^5.29.0.

Package

Validation

  • Pull-request checks and post-merge main CI passed.
  • The npm trusted-publishing dry run and real OIDC publish workflow passed.
  • A clean Svelte/Vite consumer installed the exact npm version, passed svelte-check with zero errors and warnings, and produced a production build.

Full Changelog: v1.0.10...v1.0.11

Bootstrap Svelte 1.0.10

Choose a tag to compare

@vince-winkintel vince-winkintel released this 27 Aug 20:01
370dffc

What's changed

  • Added static Markdown alternates and Accept: text/markdown content negotiation for the documentation site without adding runtime functions.
  • Added /llms.txt, /llms-full.txt, /agents.md, /sitemap.xml, /robots.txt, and a real Markdown/HTML 404 response for agents and crawlers.
  • Added About, Contact, Privacy, SvelteKit integration, and Sveltestrap comparison pages, plus canonical/social metadata, JSON-LD, breadcrumbs, and updated site navigation.
  • Improved the homepage's component inventory, install examples, headings, and first-component navigation.
  • Expanded documentation syntax highlighting with explicit Svelte, HTML, JavaScript, CSS, SCSS, and Bash language support.
  • Corrected form-documentation composition and strengthened generated Markdown/static-output regression coverage.

Package

Validation

  • Pull-request and post-merge main CI passed.
  • Local lint, type checking, all 1,930 unit tests, production/package builds, npm pack --dry-run, and the complete static-output crawl passed.
  • The npm trusted-publishing dry run and real OIDC publish workflow passed.
  • A clean Svelte/Vite consumer installed the exact npm version, passed svelte-check with zero errors/warnings, and produced a production build.
  • The protected Vercel preview passed live SCSS highlighting, Markdown-fence, version-metadata, and browser-runtime checks.

Full Changelog: v1.0.9...v1.0.10

Bootstrap Svelte 1.0.9

Choose a tag to compare

@vince-winkintel vince-winkintel released this 19 Aug 18:03
a1f6686

What's changed

  • Redesigned the showcase landing page and documentation chrome with a new responsive navigation shell, install action, component index, live hero demo, and updated visual system (#17).
  • Updated the syntax highlighter with a language label and icon-based copy action.
  • Scoped documentation table styling to API/reference sections so live component demos retain their stock Bootstrap appearance.
  • Added visible focus treatment and reduced-motion safeguards for the new showcase interactions.

Validation

  • Pull-request CI and Vercel preview checks passed.
  • Post-merge main CI passed lint, type check, tests, build, and npm package-content inspection.

Distribution

This is a showcase/documentation-only GitHub release. The component package was not published to npm; @winkintel/bootstrap-svelte remains at 1.0.8.

Full Changelog: v1.0.8...v1.0.9

Bootstrap Svelte 1.0.8

Choose a tag to compare

@vince-winkintel vince-winkintel released this 29 Jul 21:16
bba6933

What's changed

  • Removed the Bootstrap JavaScript bundle from the showcase so the documentation site exercises only Bootstrap Svelte's component behavior and Popper integration (#14).
  • Rebuilt the showcase color-mode dropdown with Bootstrap Svelte components and added guards against Bootstrap data-API markup returning to live routes.
  • Added Dropdown dismissal with Escape from toggles, items, form controls, custom content, and portaled menus, including focus restoration and layered bubble-path isolation (#15).
  • Added Tab-out dismissal that follows autoClose rules, preserved consumer onkeydown handlers, and expanded keyboard documentation and regression coverage.

Validation

  • PR and post-merge CI passed.
  • 89 test files / 1,723 tests passed.
  • Lint, type-check, package build, publint, and npm package dry run passed.
  • Trusted-publishing dry run and production npm publish passed.
  • A clean Svelte/Vite consumer installed @winkintel/bootstrap-svelte@1.0.8; type-check and production build passed with representative Alert, Button, Card, and Dropdown imports plus Bootstrap CSS.

Install

npm install @winkintel/bootstrap-svelte@1.0.8

Full Changelog: v1.0.7...v1.0.8

Bootstrap Svelte 1.0.7

Choose a tag to compare

@vince-winkintel vince-winkintel released this 22 Jul 20:18
4ab4144

What's changed

  • Updated Svelte, SvelteKit, Vite, Vitest, ESLint, Prettier, and related development dependencies.
  • Updated bezier-easing and derived its easing-function type from the package factory return type for compatibility with current typings.
  • Reformatted Badge and Toast type unions for the updated formatter.

Validation

  • PR and post-merge CI passed.
  • 88 test files / 1,701 tests passed.
  • Lint, type-check, package build, publint, and npm package dry run passed.
  • Trusted-publishing dry run and production npm publish passed.
  • A clean Svelte/Vite consumer installed @winkintel/bootstrap-svelte@1.0.7; type-check and production build passed.

Full Changelog: v1.0.6...v1.0.7

Bootstrap Svelte 1.0.6

Choose a tag to compare

@vince-winkintel vince-winkintel released this 20 Jul 21:31
4fda2d4

Highlights

  • Hardened stateful components against malformed inputs, disabled interactions, interrupted transitions, dynamic registration, and stacked-overlay races.
  • Corrected Form bindings, server-rendered accessibility relationships, Bootstrap class normalization, and shared CSS/scrollbar utility behavior.
  • Improved Carousel, Dropdown, Modal, Navbar, Offcanvas, Pagination, Scrollspy, and Tooltip lifecycle and interaction handling.
  • Consolidated weak tests and added focused regression coverage for the production issues fixed in this release.

Breaking type correction

Specialized Form input components now accept only their matching type literal. Mismatched types that were previously accepted but overridden no longer type-check.

Validation

  • Local lint and Svelte/TypeScript checks passed.
  • Local tests: 88 files / 1,701 tests passed.
  • Local production build, publint, and npm pack --dry-run passed; the package contains 475 files.
  • Refreshed PR CI and post-merge main CI passed.
  • Trusted-publishing dry run and production publish passed.
  • Clean Vite/Svelte consumer installed @winkintel/bootstrap-svelte@1.0.6; type-check and production build passed.

Full changelog: v1.0.5...v1.0.6