Skip to content
This repository has been archived by the owner on Sep 7, 2020. It is now read-only.

Releases: MoOx/phenomic

0.17.8

08 Oct 22:54
Compare
Choose a tag to compare
  • Fixed: Service worker file was imported relatively, which only works at the
    root
    (@MoOx)

0.17.7

08 Oct 21:31
Compare
Choose a tag to compare
  • Fixed: offline.appcache option was supporting a bunch of options that
    were completely ignored.
    We removed this useless options.
    This might looks like a breaking change, but we prefer to warn you that you
    are using things that don't do anything.
    (@MoOx)
  • Fixed: offline option has been fixed to provide a network first approach
    like documentation is saying.
    (It was "cache first" since 0.15.0). If that's the behavior you want to keep,
    please open an issue so we can discuss about that. We think cache-first does
    not provide a good UX when it comes to update the content.
    (@MoOx)
  • Fixed: direct access to url (from the address bar) containing a dot in
    development
    (@MoOx)
  • Added: new force-offline option, to force offline mode during
    development
    (@MoOx)

0.17.6

04 Oct 05:37
Compare
Choose a tag to compare
  • Fixed: RSS feed made using PhenomicLoaderFeedWebpackPlugin have all
    metadata, not just the link
    (@MoOx)

0.17.5

03 Oct 20:56
Compare
Choose a tag to compare
  • Fixed: PhenomicLoaderFeedWebpackPlugin was filtering an altered collection
    which can lead to empty RSS feeds.
    (@MoOx)
  • Added: an error is thrown is you still have an option in your phenomic loader
    config for the RSS feed.
    We didn't mention this change in 0.17.0, sorry about that.
    Don't worry, migration is really easy, you just have to move a piece of code.
    See this commit for a feed migration example
    (@MoOx)

0.17.4

30 Sep 21:26
Compare
Choose a tag to compare
  • Fixed: windows support for 0.17.x
    (#799 - @MoOx)
  • Fixed: assets=false does not break when offline is on
    (#794 - @thangngoc89)

0.17.3

30 Sep 07:47
Compare
Choose a tag to compare

0.17.2

27 Sep 18:22
Compare
Choose a tag to compare
  • Fixed: Cannot find module 'webpack' during setup
    (@MoOx)

0.17.1

27 Sep 09:15
Compare
Choose a tag to compare
  • Fixed: Cannot find module 'source-map-support/register'
    (@MoOx)

0.17.0

27 Sep 07:06
Compare
Choose a tag to compare

🎉 This release make us closer to 1.0.

Noticeable changes are:

  • 🚀 New experimental "cache" option to boost performance.
    Development startup time drastically reduced
    (from 15s to 2s on average for the default theme).
    To try this feature, just add "cache": true in your phenomic config
    (in package.json).
  • 🍭 Added support for webpack@2 (we still support webpack 1).
    See details below for more explanations &
    webpack 2 migration notes.
    New base theme already have commented instructions for future migrations 😘.
  • 🔥 react-hot-loader@3 is used (still in beta, but already battle tested).
    You can now enjoy hot loading on React stateless components!
    By the way, we changed the default theme to use stateless components.
  • ✨ New projects are setup with a new, more clear file tree,
    see below for details.
  • 📖 Documentation has been improved a little
    ("Getting Started" now have more answers to commons questions like
    "how to add Sass?").
  • 👀 We improved CLI output to be more concise & make errors easier to spot

phenomic-0 17 0

To know what is coming next, check out our public ROADMAP.

And do not hesitate to give feedbacks, it's important for the community ❤️.

What's exactly in 0.17.0?

Breaking changes

  • Removed: phenomicLoaderPlugins & phenomicLoaderPresets from "phenomic"
    To avoid shipping unnecessary code into the client bundle (regression
    from 0.16.0), we removed plugins & presets from “phenomic” import.
    Please directly use require(“phenomic/lib/loader-*, by replacing
    camelCase by dashedCase.

    • phenomicLoaderPlugins.initBodyPropertyFromContent ->
      require("phenomic/lib/loader-plugin-init-body-property-from-content").default
    • phenomicLoaderPlugins.initHeadPropertyFromConfig ->
      require("phenomic/lib/loader-plugin-init-head-property-from-config").default
    • phenomicLoaderPlugins.initHeadPropertyFromContent ->
      require("phenomic/lib/loader-plugin-init-head-property-from-content").default
    • phenomicLoaderPlugins.initRawPropertyFromContent ->
      require("phenomic/lib/loader-plugin-init-raw-property-from-content").default
    • phenomicLoaderPlugins.initRawBodyPropertyFromContent ->
      require("phenomic/lib/loader-plugin-init-rawBody-property-from-content").default
    • phenomicLoaderPlugins.markdownInitHeadDescriptionPropertyFromContent ->
      require("phenomic/lib/loader-plugin-markdown-init-head.description-property-from-content").default
    • phenomicLoaderPlugins.markdownTransformBodyPropertyToHtml ->
      require("phenomic/lib/loader-plugin-markdown-transform-body-property-to-html").default
    • phenomicLoaderPresets.default -> require("phenomic/lib/loader-preset-default").default
    • phenomicLoaderPresets.markdown -> require("phenomic/lib/loader-preset-markdown").default

    (08bd04f - @MoOx)

  • Removed: PageContainer does not wrap its child into a <div>
    (#691 - @MoOx,
    based on @DavidWells idea)

  • Removed: Service Worker is disabled during development (like AppCache)
    (#689 /
    755a3c2 - @MoOx)

  • Changed: BodyContainer now avoid wrapping content in a <div> if a
    single string is passed as a child.
    (@MoOx)

  • Changed: RSS feed must be generated using the new
    PhenomicLoaderFeedWebpackPlugin.
    The loader does not handle RSS feed generation anymore.
    See this commit for a feed migration example
    (@MoOx)

Minor changes

  • Changed: phenomic/lib/PageContainer has been relocated.
    To prevent issue in the future, is now accessible by doing
    import { PageContainer } from "phenomic".
    If you want to import it with a different name, you can do it this way:
    js import { PageContainer as PhenomicPageContainer } from "phenomic"
    (#433 - @MoOx)
  • Changed: error messages for bad configuration are now more readable
    (#672 - @MoOx)
  • Changed: improved CLI output for phenomic commands/dev server
    ( f382b20
    / 5255b03
  • Added: 🚀 Cache option to improve performance by more than 300%
    You can enable this experimental feature by adding
    "cache": true in your package.json phenomic section.
    If you encounter weird issues, try disabling babel-loader
    cacheDirectory (and tell us about it!)
  • Added: Error message in the browser if app start fail at start during
    development
    (#679 - @MoOx)
  • Added: proper message if Node and npm version are not satisfying requirements
    (#709 - @thangngoc89)
  • Added: [remark-toc][https://www.npmjs.com/package/remark-toc]
    in default markdown transformation.
    You can now use ## Table of Contents (or ## toc) to get a
    generated table of contents.
    (569d512 - @MoOx)
  • Added: cache enhanceCollection usage to boost performance for large
    websites
    (#762 - @thangngoc89)
  • Added: webpack@2 support.
    To upgrade, you work will basically be upgrading your webpack configuration
    after upgrading webpack version to ^2.1.0-beta.23
    (and some plugins, see below).
    See webpack 2 migration notes.
    Basically you will have to:
    • Change for webpack ExtractTextPlugin (more explicit API)
    • Upgrade of the babel configuration since webpack natively understand
      ES2015 import: add new sections in your babel.env configuration.
      webpack 2 understand natively importstatements so it’s
      unnecessary to
      transform those (and it will allow webpack 2 enable tree shaking):
      webpack-develompment & webpack-production.
    • webpack DedupePlugin must be disabled for now as it's not fully
      compatible yet
    • Your webpack.config file can directly export a function
      (instead of exporting a makeConfig function)
      as it's now natively supported by webpack 2.
    • All loaders options must be passed by loader query options or by using
      webpack or via webpack.LoaderPlugin
      (#421 - @MoOx)

Fixes

  • Fixed: front matter route can use / to define the homepage
    (#721 - @thangngoc89)

What's new in 0.17.0 base theme?

  • Removed: eslint "fix" option has been removed from eslint-loader
    usage according to the feedback of the community.
    (#752 - @ben-eb)

  • Changed: new default tree structure.
    We encourage you to update to a similar structure if you were using the previous one.
    Main changes:

    • web_modules/layouts => src/layouts
    • web_modules/{Components} => src/components/*
    • web_modules/app/* => src/*
    • web_modules/LayoutContainer => src/AppContainer.js

    (#698 - @MoOx)

  • Changed: we replaced babel-preset-react-hmre by react-hot-loader@3
    You can now enjoy hot loading on React stateless components!
    See how to do the same for you current project in this commit.
    (#737 - @MoOx)

  • Changed: all components without state are now real
    stateless components
    (#747 - @thangngoc89)

  • Changed: babel-preset-latest is now used in place of
    babel-preset-es2015.
    This preset cover all stable ES specifications that will land in future
    versions (currently it covers some ES2017 features).
    (#661 - @MoOx)

  • Changed: update stylelint to ^7.2.0 & stylelint-config-standard to ^13.0.0
    (7c3c843 - @ben-eb)

  • Added: a default highlight.js theme has been
    (#702 - @MoOx)

  • Added: some default global CSS custom properties (variables) have been added
    into the webpack configuration file
    (#617 - @MoOx)

0.16.2

23 Aug 09:02
Compare
Choose a tag to compare
  • Fixed: error during static build have an accurate stack trace.
    Source map support have been fixed
    (#644 - @MoOx)
  • Fixed: plugins presets were doing nothing
    (#655 - @MoOx)