Releases: typed-ember/glint
v0.9.2
This release brings support for building composite projects with glint --build
. It also marks the first new release of @glint/environment-glimmerx
since v0.7.x, and GlimmerX projects no longer require custom import shims to work with Glint!
To migrate a GlimmerX project from 0.7 to 0.9, make sure you:
- update your signature format and import paths (tl;dr:
Yields
is nowBlocks
, and you should import from@glimmerx/...
packages directly instead of@glint/environment-glimmerx/...
) - migrate your Glint configuration from
.glintrc.yml
totsconfig.json
🚀 Enhancement
core
,transform
environment-glimmerx
core
- #386 core/cli: add
glint --incremental
support (@chriskrycho) - #382 core/cli: implement
glint --build --force
(@chriskrycho)
- #386 core/cli: add
core
,environment-ember-loose
,environment-glimmerx
,template
,transform
,vscode
- #384 Remove GlimmerX shims (@chadhietala)
config
,core
,environment-ember-loose
,environment-ember-template-imports
,scripts
,transform
- #383 core/cli: implement
glint --build --dry
(@chriskrycho)
- #383 core/cli: implement
config
,core
- #377 Add support for project references and
--build
(@chriskrycho)
- #377 Add support for project references and
scripts
- #356 Migration script:
.glintrc.yml
toglint
key intsconfig.json
(@chriskrycho)
- #356 Migration script:
🐛 Bug Fix
core
core
,environment-ember-loose
,environment-ember-template-imports
,environment-glimmerx
,template
,transform
,vscode
environment-ember-loose
,environment-ember-template-imports
📝 Documentation
- #370 Add CONTRIBUTING.md (@chriskrycho)
🏠 Internal
core
config
,core
,environment-ember-loose
,environment-ember-template-imports
,environment-glimmerx
,scripts
,template
,transform
,vscode
vscode
- #369 Let's get CI fixed! (@chriskrycho)
Committers: 4
- Alex Matchneer (@machty)
- Chad Hietala (@chadhietala)
- Chris Krycho (@chriskrycho)
- Dan Freeman (@dfreeman)
v0.9.1
The 0.9 release of Glint brings a number of quality-of-life improvements, as well as reworking how projects configure Glint.
Configuration Overhaul
In support of some of the enhancements below, Glint 0.9 includes an overhaul of how configuration is handled, eliminating .glintrc.yml
in favor of configuring Glint directly in your project's tsconfig.json
or jsconfig.json
file.
To upgrade from 0.8.x to 0.9.x, you will need to move your project's configuration to the new format. The Migrating page on the Glint documentation site includes detailed instructions for doing this.
Clearer Error Messages
Often, the type errors we expose from the translated versions of templates are confusing in the context of the template. This problem isn't unique to Glint—JSX type errors are notoriously obtuse, and TS natively supports that syntax! That said, in many cases where we have the shape of the template syntax to guide us, we can suggest what the most likely culprit is.
We now flag the following common error conditions with customized messages, and we expect to expand on this set in the future:
- trying to use a non-Glint-aware entity as a component/modifier/helper
- invoking an entity with the wrong number of positional parameters
- trying to assign a non-primitive (most frequently, a function) value as an HTML attribute
This change also comes with more accurate typechecking for values emitted as HTML attributes and top-level template content, as well as corresponding new AttrValue
and ContentValue
type exports from @glint/template
.
Multi-Project Support in glint-language-server
One long-standing pain point with Glint has been the need for your project's .glintrc.yml
and corresponding tsconfig.json
to be present in the root directory where you've opened your editor in order for the language server to activate.
For projects in a monorepo setup, this has generally required users to either open their editor in the specific subdirectory of their project they want to work in or to rework their configuration so that it's specified at the root of the repo, regardless of where their Glint-enabled project actually sits.
With the configuration overhaul we've done for 0.9, this is no longer the case! The Glint codebase itself can now be opened in VS Code at its repository root, and each of our projects under test-packages
is handled by the language server with its appropriate configuration.
Note: the @glint/core
package must still be resolvable from the directory where your editor has been opened, similar to TypeScript's own requirement for using a workspace-local version of tsserver
. In the future we may consider bundling a copy of @glint/core
with the editor extension as Code does with TypeScript in order to alleviate this.
Functions as Helpers in @glint/environment-ember-loose
Now that the default helper manager RFC has been released in Ember 4.5, the @glint/environment-ember-loose
package supports treating plain functions as helpers in templates.
Note that if you wish to opt out of this support, you can specify allowPlainFunctionInvocation: false
in your environment configuration. See the installation instructions for further details.
Changes
💥 Breaking Change
config
,core
,environment-ember-loose
,environment-ember-template-imports
,transform
,vscode
🚀 Enhancement
config
,environment-ember-loose
,environment-ember-template-imports
,environment-glimmerx
,transform
config
,core
,environment-glimmerx
,template
,transform
core
,vscode
🐛 Bug Fix
📝 Documentation
- #364 Fix import typo in doc (@nwhittaker)
Committers: 2
- Dan Freeman (@dfreeman)
- Nathan Whittaker (@nwhittaker)
v0.8.3
🐛 Bug Fix
template
- #350 in-element can take a ShadowRoot (@NullVoxPopuli)
environment-ember-template-imports
- #349 Add
component
to template-imports environment built-ins (@chriskrycho)
- #349 Add
core
,environment-ember-loose
,environment-ember-template-imports
,environment-glimmerx
,vscode
Committers: 3
- Chris Krycho (@chriskrycho)
- Dan Freeman (@dfreeman)
- @NullVoxPopuli
v0.8.2
🚀 Enhancement
core
,environment-ember-template-imports
,transform
,vscode
🐛 Bug Fix
core
config
🏠 Internal
Committers: 1
- Dan Freeman (@dfreeman)
v0.9.0 – YANKED
Yanked! Accidental publish of what should have been, and now is, v0.8.1.
v0.8.1
🚀 Enhancement
transform
- #310 Add @glint-nocheck directive. (@jamescdavis)
🐛 Bug Fix
environment-ember-loose
- #329 Make Ember template-only components ComponentLike (@chriskrycho)
template
📝 Documentation
- #313 Add addon documentation (@simonihmig)
- #318 Add docs for common error messages (@chriskrycho)
- #321 For Ember components, keep args in signature, use type alias (@jamescdavis)
- #312 Remove re-exports from known limitations (@simonihmig)
- #314 Fix docs link (@simonihmig)
- #311 docs: Fix broken link to VS Code extension (@HeroicEric)
🏠 Internal
environment-ember-loose
- #328 Fix name of environment-ember-loose main function (@chriskrycho)
Committers: 6
- Chris Krycho (@chriskrycho)
- Dan Freeman (@dfreeman)
- Eric Kelly (@HeroicEric)
- James C. Davis (@jamescdavis)
- Krystan HuffMenne (@gitKrystan)
- Simon Ihmig (@simonihmig)
v0.8.0
This release of Glint drops support for the custom re-exports and legacy signature formats for @glimmer/component
, @ember/component
and ember-modifier
. See the migration guide for details on moving from version 0.7 to version 0.8.
💥 Breaking Change
core
,environment-ember-loose
,template
,transform
,vscode
- Other
- #306 Update to use Node 14+ (@chriskrycho)
- #300 Drop TypeScript < 4.6 (@ef4)
📝 Documentation
🏠 Internal
environment-glimmerx
- Other
- #305 Add class-based helper to ts-ember-app test package (@jamescdavis)
Committers: 4
- Chris Krycho (@chriskrycho)
- Dan Freeman (@dfreeman)
- Edward Faulkner (@ef4)
- James C. Davis (@jamescdavis)
v0.7.5
🚀 Enhancement
config
- #296 Use
SilentError
when no config is found (@simonihmig)
- #296 Use
🐛 Bug Fix
📝 Documentation
- #292 Migration-guide improvements (@boris-petrov)
Committers: 3
- Boris Petrov (@boris-petrov)
- Edward Faulkner (@ef4)
- Simon Ihmig (@simonihmig)
v0.7.4
This release of Glint adds support for using native import paths and the standardized signature structure established in RFC 748.
Please read the migration guide for details on opting into native integration and adopting the standardized import paths and signatures.
Note also that the documentation still includes references to the "old" imports and signatures. We'll be updating this as we prepare for the release of Glint 0.8.0, which will drop support for those imports and use native integration by default.
🚀 Enhancement
environment-ember-loose
,template
environment-ember-loose
,environment-glimmerx
,template
🐛 Bug Fix
transform
📝 Documentation
environment-ember-loose
,vscode
- Other
core