Changelog History
-
v1.0.0 Changes
May 29, 2019Without noize, 1.0.0 is out.
π± π₯ Reason User Change
-
v1.0.0-beta.9 Changes
January 18, 2019π± π₯ (Minor) Changes
- π
@phenomic/plugin-transform-markdown
: stop convertingtags
case automatically - π
@phenomic/plugin-transform-asciidoc
: stop convertingtags
case automatically
π± πͺ Fixes
- π
-
v1.0.0-beta.8 Changes
January 07, 2019β‘οΈ Minor update to provide some fixes:
-
v1.0.0-beta.7 Changes
December 09, 2018π Quick release for issues related with beta.6
π± π₯ Fixes
-
v1.0.0-beta.6 Changes
December 08, 2018Erratum
π Check out beta.7 which includes bugfixes related to this release.
π± π¨ Breaking change
- β¬οΈ Upgrade from babel 6 to babel 7 (+fixup).
β‘οΈ β οΈ If you were using phenomic without any custom babel config, this update should be transparent for you. - Reason users: you will night to replace
*.js
by*.bs.js
for some files Eg:
import { createContainer } from "@phenomic/preset-react-app/lib/es6/src/phenomicPresetReactApp.js";
to
import { createContainer } from "@phenomic/preset-react-app/lib/es6/src/phenomicPresetReactApp.bs.js";
π± π Fixes
- π plugin-bundler-webpack: Fix: Add apollo support (defined as external dependency to avoid SSR issues with in memory cache)
- π plugin-renderer-react: Fix: provide same props for getInitialProps during SSR and CSR (pathname+params).
We previously send too many props during SSR togetInitialProps()
, different
from CSR) - π plugin-renderer-react: fix issue with "class" prop generated from markdown in BodyRenderer
π± π Improvements
- π core: Failing URLs during static pre-rendering do not crash the entire build anymore
- π core: Better error reporting about errors like
window is not defined
during static build with a tip on how to fix it - core: CLI output is now more sweet.
Here is a before/after.
- π core: avoid deprecated Buffer warning
- π plugin-bundler-webpack: Hide annoying warning
Critical dependency: the request of a dependency is an expression
- β plugin-bunder-webpack: errors/warnings are now rendered using native webpack output
- 0οΈβ£ plugin-bundler-webpack: development mode is now showing "minimal" output by default
- π plugin-bundler-webpack: cache is now enabled for babel-loader
- 0οΈβ£ plugin-bundler-webpack: allow config to be exported as es6 (export default)
π₯³ Internal
- π¨ Refactoring of webpack bundler plugin in order to prepare future SSR rendering enabled in dev mode
- Reason code (generated as javascript) used in the core codebase (experimental)
- Multiple other minors improvements...
- β¬οΈ Upgrade from babel 6 to babel 7 (+fixup).
-
v1.0.0-beta.5 Changes
November 26, 2018π± π¨
β¬οΈ We upgraded webpack from v3 to v4.π So this release might be a breaking change if you use a custom webpack. If you
π use webpack without custom config, you should not have any problem. Note that
π you could still use v3 webpack plugin if you donβt rely on the react-app preset
π and specifying the webpack beta.3 plugin version.π± β οΈ
π We removed react-hot-loaderWe decided to do, like CRA & Next.js, to not include react-hot-loader for now.
Previous version of phenomic could create infinite loop in case of an error in a
π react componentβ¦. Itβs not stable enough & itβs not going to be better in the
future, when React hooks will land as a stable feature.
β‘οΈ Beside this small update, we are working on a react + reason + graphql example
π± π and also a huge improvement on the content API! -
v1.0.0-beta.4 Changes
October 27, 2018This is a minor beta that only brings the following:
- Add
PHENOMIC_APP_BASEURL
env variable (entirebaseUrl
option as a string)
(in
3799fa8
by @MoOx) - π
@phenomic/plugin-rss-feed
: fail with a http 500 if rss feed fail to be
generated (in
26c8d95
by @MoOx) - π§
@phenomic/plugin-bundler-webpack
: Make root for App.js configurable (in
78ecd47
by @airtonix) - π
@phenomic/plugin-renderer-react
: fix issues with class attributes (coming
from markdown) (in
927aea2
by @MoOx) - π¨ Internal refactoring by @MoOx
π§ Website has been a WIP for a few month now, mostly due to a break @MoOx took
from his keyboard.Stable 1.0.0 is missing a change for the database engine that is currently
causing performance issues during development as soon as you get a hundred of
pages. All efforts are currently on this improvement.For Reason users
- Add
-
v1.0.0-beta.3 Changes
May 24, 2018Hopefully, the last beta
π We are very close to our final and stable release for v1. Why we didn't ship
π this version already? Some people like to move fast & break things. But we
wanted to have a correct design for the v1 so future majors version won't break
too much things.What we did for v0.x was an experiment and we learned a lot of things by running
this in production on moderate websites. We have spent a lot of brain energy to
π make a scalable & flexible solution with a small API surface.We have designed an architecture that follow React way of thinking, by offering
π¦ a centralized lifecycle. With that in
mind we have adjusted our goal and make React & Webpack, 2 core pieces of v0.x,
π first class plugins in our v1.x. This opens up lot of nice things to support
React or Webpack alternatives.π Documentation is a work in progress π
First thing to celebrate, we started to work on our website! You can now find
π documentation for the core and the
π¦ react preset tutorial! More things will
follow!2 small breaking changes
Below you will find 2 small breaking changes, very easy to adjust (that will
probably consist of addingcontent
in front of all your current existing query
π§ to our content api or to adjust your configuration).π± π¨
@phenomic/core
:content
options now supports multiples entries and globs
(+
fixup)
by @MoOxAll your previous queries won't work with this breaking change but don't
worry, it's very easy to adjust your code.π We are sorry to add a breaking change now, but it's for the better.
Solution 1 (recommended): You will have to add "content/" in front of all
yourpath
in your queries. Why? It's for being more explicit and also be able
π to support multiples sources (multiples folders) to avoid duplicate names
β¬οΈ without a weird configuration. The upgrade is pretty easy.For example
const HomeContainer = withPhenomicApi(Home, props =\> ({ posts: query({ path: "posts" }) }));
Will become
const HomeContainer = withPhenomicApi(Home, props =\> ({ posts: query({ path: "content/posts" }) }));
Solution 2 (for lazy people): You can keep the previous behavior very easily
by using this value forcontent
option:"": {root: "content", globs: ["**/*"]}
. You can throw that in yourpackage.json
in aphenomic
like this:"phenomic": { "content": { "": {root: "content", globs: ["\*\*/\*"]} }, "presets": ["@phenomic/preset-react-app"] }
π± π¨
@phenomic/plugin-rss-feed
: now lookup incontent/posts
by default.
by @MoOxπ§ To get previous behavior back, just use this configuration (adjust to match
yours):"phenomic": { "presets": ["@phenomic/preset-react-app"], "plugins": [[ "@phenomic/plugin-rss-feed", { "feeds": { "feed.xml": { "query": { "path": "content/posts" } } } }] ] },
π Bugfixes
π± π
@phenomic/plugin-renderer-react
: Handle scroll like it should (to top or to the hash if any)
by @MoOxπ± π
phenomic/plugin-collector-files
: correctly clean extensions from filename for id (not only md|json but all extensions by the plugin loaded at runtime)
by @MoOxTons of small improvements
π As we started to actively working on our documentation, we have added tons of
small improvements.π± β¨
@phenomic/plugin-renderer-react
: add render + callback option to createApp/renderApp for custom rendering
by @MoOxThis commit allows you to use a custom render() function. This way to render the
π app is required by some solutions that needs a custom wrapper for styles
π pre-rendering (eg: react-native-web).π± π examples/react-native-web-app
by @MoOxπ± β¨
@phenomic/core
: add socketPort option (and switch to 3334 since 1415 can be used by dbstar)
by @MoOxπ± β¨
@phenomic/core
: Improve error shown from database access
by @MoOxπ± β¨
@phenomic/core
: Improve error message from database not found entry
by @MoOxπ± π₯ Add a new helper to extract meta from body nodes (title + headings list)
(+
fixup)
by @MoOxπ This helper is used in
@phenomic/plugin-transform-markdown
and
@phenomic/plugin-transform-asciidoc
to automatically add atitle
meta
even if you don't have frontmatter. Pretty cool for files that you don't
control. This helper also returns a list of headings in your content, which is
pretty convenient to make a table of content at the top of you page or in a
sidebar.π± β¨
@phenomic/plugin-transform-markdown
: add title fallback extracted from markdown body if no title is in the frontmatter + add a list of markdown headings
(+
fixup)
by @MoOxπ± β¨
@phenomic/plugin-transform-asciidoc
: add title fallback extracted from markdown body if no title is in the frontmatter + add a list of markdown headings
(+
fixup)
by @MoOxπ± β¨
@phenomic/plugin-transform-json
: add title fallback
by @MoOxπ β¨
@phenomic/core
: better display in case of error during start/build
by @MoOxπ± β¨
@phenomic/core
: add options to sort db results
by @MoOxThis feature is pretty awesome and allows you to add custom order to your query.
As a good example, we wanted to sort our showcase with the following algorithm:- Sites with a flag
curated
first - Sites with many tags
- Sites with tags "blog" at the end.
In order to do so, we have introduced this option and we hope you will like it.
You can check out the
π documentation fordb.sortFunctions
and take a look to the
one we use for the showcase.π± β¨
@phenomic/cli
: add preview command
by @MoOxπ β¨
@phenomic/core
: add preview command to build & serve results
by @MoOxNow you can run
phenomic preview
π This will build and serve the website, to mimic production (as you will have the
pre-rendered files and the client side reconciliation). - Sites with a flag
-
v1.0.0-beta.11 Changes
March 24, 2019π± πͺ Fixes
- π
@phenomic/plugin-bundler-webpack
: Fix Styled components FOUC with v4
by @Jokinen - Internals changes to ensure bs-platform 5 compatibility by @MoOx
- π
-
v1.0.0-beta.10 Changes
March 15, 2019π Minor release to add support for
π React Hooks!π± πͺ Fixes
- π
@phenomic/plugin-renderer-react
: Add support for react hooks
by @MoOx - π
@phenomic/plugin-transform-asciidoc
: Remove unused imports
by @DanielRuf - π
@phenomic/plugin-transform-asciidoc
: fix tags spacing according to markdown behavior, for consitency accross format
by @MoOx - π various minor docs improvements by @MoOx, @drazik & @nalanirojas25
- π