Skip to content

Releases: typed-ember/glint

v0.9.2

25 Aug 15:28
6c30266
Compare
Choose a tag to compare

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:

🚀 Enhancement

  • core, transform
  • environment-glimmerx
    • #392 Start publishing @glint/environment-glimmerx again (@dfreeman)
  • core
  • core, environment-ember-loose, environment-glimmerx, template, transform, vscode
  • config, core, environment-ember-loose, environment-ember-template-imports, scripts, transform
  • config, core
  • scripts
    • #356 Migration script: .glintrc.yml to glint key in tsconfig.json (@chriskrycho)

🐛 Bug Fix

  • core
    • #391 Avoid trying to load a local TypeScript instance from the LSP (@dfreeman)
  • core, environment-ember-loose, environment-ember-template-imports, environment-glimmerx, template, transform, vscode
  • environment-ember-loose, environment-ember-template-imports
    • #368 Handle nullable components/helpers/modifiers in Ember environments (@dfreeman)

📝 Documentation

🏠 Internal

  • core
  • config, core, environment-ember-loose, environment-ember-template-imports, environment-glimmerx, scripts, template, transform, vscode
  • vscode

Committers: 4

v0.9.1

01 Jul 16:31
7e2919c
Compare
Choose a tag to compare

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
    • #366 Support the default helper manager RFC in environment-ember-loose (@dfreeman)
  • config, core, environment-glimmerx, template, transform
  • core, vscode
    • #365 Language server and Code extension improvements (@dfreeman)

🐛 Bug Fix

  • transform

📝 Documentation

Committers: 2

v0.8.3

16 Jun 19:50
960a96f
Compare
Choose a tag to compare

🐛 Bug Fix

  • template
  • environment-ember-template-imports
  • core, environment-ember-loose, environment-ember-template-imports, environment-glimmerx, vscode
    • #346 Cleanup for dependency issues and CLI/LSP consistency (@dfreeman)

Committers: 3

v0.8.2

26 May 11:13
b4fea14
Compare
Choose a tag to compare

🚀 Enhancement

  • core, environment-ember-template-imports, transform, vscode
    • #333 Integrate @glint/environment-ember-template-imports (@dfreeman)

🐛 Bug Fix

  • core
    • #335 Account for leading trivia in source files for LSP diagnostic locations (@dfreeman)
    • #336 Don't flood the language server work queue when many changes come in (@dfreeman)
  • config
    • #334 Provide slightly more helpful errors when an environment is misconfigured (@dfreeman)

🏠 Internal

Committers: 1

v0.9.0 – YANKED

24 May 15:57
84e1451
Compare
Choose a tag to compare

Yanked! Accidental publish of what should have been, and now is, v0.8.1.

v0.8.1

24 May 16:14
fc9fdce
Compare
Choose a tag to compare

🚀 Enhancement

🐛 Bug Fix

  • environment-ember-loose
  • template

📝 Documentation

🏠 Internal

  • environment-ember-loose

Committers: 6

v0.8.0

22 Apr 13:31
206cc9e
Compare
Choose a tag to compare

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

📝 Documentation

  • #307 Update documentation for native imports & signatures (@dfreeman)

🏠 Internal

  • environment-glimmerx
    • #308 Mark environment-glimmerx temporarily private to avoid publishing (@dfreeman)
  • Other

Committers: 4

v0.7.5

19 Apr 19:01
a30a2c5
Compare
Choose a tag to compare

🚀 Enhancement

🐛 Bug Fix

  • config, transform
    • #299 Fix preprocessed template locations (@ef4)

📝 Documentation

Committers: 3

v0.7.4

08 Apr 08:04
8a4395f
Compare
Choose a tag to compare

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

📝 Documentation

  • environment-ember-loose, vscode
  • Other
    • #290 Add a migration guide for native imports (@dfreeman)
    • #286 Break out README contents into GitBook docs (@dfreeman)
    • #281 Update readme with example of third-party types (@ef4)
  • core
    • #289 Don't pretend the CLI can check individual files (@dfreeman)

Committers: 2

v0.7.3

05 Apr 19:57
76c3936
Compare
Choose a tag to compare

🐛 Bug Fix

  • environment-ember-loose
    • #280 Fix issue where Component super args were incorrect (@wagenet)
    • #276 Prevent tsc from inlining implementation details from upstream (@dfreeman)

Committers: 2