Releases: bigpipe/bigpipe.js
0.7
AsyncAsset
One of the major changes in the client is the extraction and rewrite of our loader.js resource loader. It ensured that all assets were loaded on the page before we started rendering the received pagelets. We always wanted to have library moved out of the pipe.js core and released as stand alone framework as we believe it can be useful for others. When we encountered an horrible race condition when were started using one pagelet on 2 parts on a page it required a substantial refactor in order to fix this. It was the ideal moment to refactor and release it as stand alone module: https://github.com/bigpipe/async-asset
It's still a bit light on the documentation side of things, but it's a great step forward to a more modular codebase.
Client side template rendering
We've made some changes to the pagelet.render
method so it will automatically render your specified views when you supply the method with an object instead of string. (Please note that you need to set streaming
to true on your Pagelet instance on the server). When an error occurs while rendering your template we will automatically render the error
template and use that instead.
Internal refactors
As mentioned above we ran in to some issues when loading pagelets twice on the same page. This required us to some internal refactors. The pagelets that we receive are no longer stored in an Object but in an array to prevent possible name clashes for happening.
Recursive, nested pagelets
See the 0.7 release of BigPipe for more information about this. It required some changes like making sure that nested pagelets have the correct root elements for searching for the data-pagelet
placeholder attributes.
0.6.0
Consistency
This is something that was lacking the previous 0.5 releases, consistency between the different packages (pagelet, pipe.js and bigpipe). Some functions were written as initialise and other as initialize. Same as the emitting of events within these modules some use double colons: ::
to namespace events, others used single. This has been normalized to a single colon. These are breaking changes. So make sure you are now listening to the correct events with one single colon!
Remove no-js
and no_js
from HTML
We've been removing the no_js
className from the HTML by default for a while now but we're not also supporting no-js
as class name. This allows you to easily build and change layouts for when JavaScript is not enabled.