Releases: derbyjs/derby
Releases · derbyjs/derby
v4.2.2
What's Changed
- 74a6dce - Fix TS typings for
component.create()
, broken by v4.2.1- Resolves error TS2425: Class 'Component' defines instance member property 'create', but extended class 'MyComponent' defines it as instance member function.
Full Changelog: v4.2.1...v4.2.2
v4.2.1
What's Changed
- Troubleshooting improvements for component errors by @ericyhwang in #642
- In development, warn if a component's
init()
is improperly an async or Promise-returning function - If registering a singleton component that extends Component, eagerly throw an error at component registration time, instead of at render-time throwing an obscure "Uncaught TypeError: Cannot read properties of undefined (reading 'controller')"
- In development, warn if a component's
Documentation updates
These were already deployed to https://derbyjs.github.io/derby/ upon PR merge.
- [docs] Improvements to Racer model docs by @ericyhwang in #641
- Troubleshooting guides for various errors by @ericyhwang in #642
- Add Typedoc generated API docs by @craigbeck in #638
Full Changelog: v4.2.0...v4.2.1
v4.2.0
What's Changed
- Add new App event "page", emitted when a new Page instance is created by @ericyhwang in #640
- This can be used to customize Page instances after creation.
- The event is emitted both during server-side rendering, as well as during client-side initialization and page changes.
Doc updates
These were automatically deployed to the doc site upon merge and aren't part of the published package.
- [docs] Fixes and style improvements for GitHub Pages doc site by @ericyhwang in #637
- introduce a troubleshooting guide for Derby by @aconrad in #541
- Integrate troubleshooting guide into doc site nav by @craigbeck in #639
Full Changelog: v4.1.3...v4.2.0
v4.1.3
- Merge pull request #636 from akgula/fix/componentHarness ce75f1e
- Add source as optional param to stub 1c27ca9
What's Changed
New Contributors
Full Changelog: v4.1.2...v4.1.3
v4.1.2
v4.1.1
v4.1.0
What's Changed
- Add package.json exports for
derby/dist/{components,parsing,templates,test-utils}
by @ericyhwang in #632- This enables usage of those files in TypeScript with the default classic
moduleResolution
. - If using "node16" or "nodenext"
moduleResolution
in your tsconfig.json, then prefer the paths withoutdist
, such as'derby/test-utils'
.
- This enables usage of those files in TypeScript with the default classic
Full Changelog: v4.0.0...v4.1.0
v4.0.0
TypeScript *.d.ts
type definition files are now bundled with both Derby and Racer!
derby@4 uses racer@2. If you have a separate dependency on Racer, be sure to update it.
Breaking changes
- Declaring a singleton component via
ComponentClass.prototype.singleton = true;
is no longer supported.- Instead, use a static property
class ComponentClass { static singleton = true; }
- Or without class syntax,
ComponentClass.singleton = true;
- Instead, use a static property
- Internal class hierarchies have been changed, with new client-specific and server-specific classes inheriting from base classes.
- This generally won't affect you, unless you had custom type definitions written for Derby's classes.
- In most cases, the base class type is appropriate unless you are using specific client or server side methods
Derby
base,DerbyForClient
andDerbyForServer
subclassesPage
base,PageForClient
andPageForServer
subclassesApp
base,AppForClient
andAppForServer
subclasses
If you are upgrading straight from the pure-JS derby@2, also see the release notes for derby@3 here:
https://github.com/derbyjs/derby/releases/tag/v3.0.0
What's Changed
- Racer 2 by @craigbeck in #629
Full Changelog: v3.0.3...v4.0.0
v4.0.0-beta.18
- Publish classes for client code (not type only) -- used in some testing cases 1ee854d
v4.0.0-beta.17
- Ensure only type exports for Page and App classes at package root 2f281bb