Releases: joelmoss/proscenium
Releases · joelmoss/proscenium
v0.24.1
What's Changed
Features
- Add block form to
Proscenium::CssModule::Transformer#class_namesthat yields(transformed_name, side_load_path)per input, exposing the side-load path that was previously discarded
Bug Fixes
- Remove module name from CSS class names generated by the CSS Modules transformer
Chores
- Update Ruby dependencies
- Refresh Appraisal lockfiles
CI
- Parallelize Rails matrix across OS and Rails version so all appraisals run concurrently; enable setup-go caching, add concurrency cancellation, trigger on pull_request, use
.ruby-versionfor rubocop
v0.24.0
What's Changed
Features
- Add
__filenameand__dirnamesupport (#36) - Change esbuild log level to warning by default
- Log warnings for unresolved CSS mixin paths
Performance
- Cache config JSON to skip redundant unmarshalling on FFI calls
- Hoist regex compilation, remove reflect, use strings.Builder
- Use Prepend instead of os.ReadFile to eliminate double-reads in dirname plugin
- Cache i18n final result with mtime-based invalidation
Bug Fixes
- Ensure consistent class name hashing for CSS modules (#46)
- Resolve nested CSS mixin relative paths against defining file
Chores
- Update Ruby and Go dependencies
- Update Ruby to 3.4.8
v0.23.0
What's Changed
Features
- Adjust minification conditions based on debug and environment settings
- Add CSP nonce support to injected style tags (#59 by @mediazard)
Bug Fixes
- Fix #57: correctly resolve
@rubygemspaths from aliases - Fix: Returned cached import too early in Importer.import
New Contributors
- @mediazard made their first contribution in #59
Full Changelog: v0.22.7...v0.23.0
v0.22.0
- FEAT: Support Rails 8.1
- FEAT: Pre-compilation task using
rails assets:precompile, and configurable with theprecompileconfig option. - FEAT: Assets in
/vendordirectory are now served exactly as-is, without building or pre-compilation. And are served with long cache lifetime. - FIX: Improved exceptions, taking full advantage of Rails error pages.
- CHORE: Removed support for cache query string. use pre-compilation instead.
- CHORE: Removed server-side import map support. Use
aliasesconfig instead. - CHORE: Update esbuild to 0.25.12
Full Changelog: v0.21.4...v0.22.0
v0.21.4
- FIX: Ensure the query string used as the cache version, is passed down to nested imports, which avoids mismatched query strings.
Full Changelog: v0.21.3...v0.21.4
v0.21.3
- FIX: Fixes a few cases of incorrect alias resolution.
Full Changelog: v0.21.0...v0.21.3
v0.21.0
- NEW: Introduce alias mapping via the
aliasesconfig option. This is a simple way to map one import to another in a similar way to import maps, but it is far simpler. Import maps include features that are unnecessary when used on the server. Support for import maps will be removed in v0.22.0
Full Changelog: v0.20.0...v0.21.0
v0.20.0
What's Changed?
- BREAKING(i18n): Keys are converted to camelCase, as per the JavaScript convention.
- FIX: Serve asset chunks with long cache lifetime, as they are always unique anyway
- FEAT: Added
own-keysNPM module replacement. - CHORE: updated all dependencies.
Full Changelog: v0.19.0...v0.20.0
v0.19.0
This one is a big release that has been nearly a year in the making. But it's been heavily used in a production Rails app during development. Spit, polish, and docs are next!
What's Changed
- NEW: Extracted phlex support to new proscenium-phlex gem
- NEW: Extracted view_component support to new proscenium-view_component gem
- NEW:
loggingconfig to enable/disable logging (default: true) - NEW:
ensure_loadedconfig (default::raise), allowing you to:logor:raiseon side loaded assets that have not been included. - NEW:
cache_query_stringconfig option to append a query string to asset URL's for use with caching. - NEW: Experimental package registry via the
@rubygemsscope. - NEW: Automatically use native Web APIs instead of npm packages to reduce http requests.
- NEW: Support
unbundleimport attribute as an alternative to theunbundle:prefix, to unbundle an import. - NEW: Import only CSS module names with the
cssmodulenamesimport attribute. - NEW: Supports Rails 8
- FIX: Only the first CSS module is now loaded in the ancestry, in addition to regular CSS files.
...plus loads more improvements and fixes under the hood!
Full Changelog: v0.18.0...v0.19.0