All Versions
Latest Version
Avg Release Cycle
55 days
Latest Release
407 days ago

Changelog History
Page 1

  • v6.83.2 Changes

    September 08, 2020
    • If the source path is missing, the correct and useful error is now displayed
    • ๐Ÿšš The deprecated srcPath is now removed, use sourcePaths to write and getPath('source') and getPath('sources') to read
    • Extra debugging for when getting a path fails
    • ๐Ÿ“š Updated documentation and website links to their new locations
  • v6.83.1 Changes

    August 05, 2020
    • โœ… Add a new loadPlugins event for use in the docpad-plugintester to make sure all test plugins are properly loaded before docpadReady and other events are fired
  • v6.83.0 Changes

    August 05, 2020
    • ๐Ÿšš Removed superflous option aliases
      • outPath => outpath
      • configPaths, configPath, c => config
      • environment, e => env
      • logLevel => log
      • render --out, render -o => render --output
    • ๐Ÿšš Removed offline option, it can be re-added later if anyone uses it
    • ๐Ÿšš Removed the last bits of docpad cloud helper functionality
      • Removed skeleton functionality, just clone the repo from github instead
        • docpad skeleton => docpad init (same functionality as selecting no sekleton)
      • Removed version check
    • โšก๏ธ Updated dependencies, base files, and editions using boundation
      • This will bring a massive performance boost to DocPad, especially with Caterpillar v6 which allows DocPad to disable fetching line information (a very expensive process) for log messages we don't care about
    • Minimum required node version changed from node: >=6 to node: >=10 to keep up with mandatory ecosystem changes
  • v6.82.5 Changes

    October 01, 2018
    • ๐Ÿ”Œ Prevent plugin false could not be loaded errors, now it will output the path that failed to be found, as expected
  • v6.82.4 Changes

    September 08, 2018
    • Report the correct error for missing action requests
    • โœ… Ensure docpad-plugintester dependency is latest
  • v6.82.3 Changes

    September 08, 2018
    • ๐Ÿ‘ Swapped out promptly for inquirer, which brings back Node v6 support (regression since v6.82.1)
  • v6.82.2 Changes

    September 08, 2018
    • ๐Ÿ”Œ Add logging support to the pluginloader to make debugging plugin resolutions easier
    • ๐Ÿ”Œ Fixed failures of plugin loading and creation not being reported correctly
    • โœ… Ensure all dependencies are the latest right now, to help fix false negatives in plugin resolution
    • ๐Ÿ”Œ Close thread #248
  • v6.82.1 Changes

    September 07, 2018
    • ๐Ÿ›  Fixed initialising new projects (regression from v6.82.0)
    • ๐Ÿšš docpad init will now prompt for skeletons (before v6.82.0 this was done via docpad skeleton, which was removed)
    • โฌ†๏ธ Upgraded remaining dependencies
      • Upgraded promptly dependency from v2 to v3
      • Swapped superagent for node-fetch
      • Close issue #1091
  • v6.82.0 Changes

    September 07, 2018
    • ๐Ÿš€ This release focuses on eliminating the situation where DocPad would initiate with invalid configuration that would then need to be overwritten later, this could cause plugins to not load correctly, invalid configuration persisting, and general instability until the correct configuration was loaded. Now the correct configuration is loaded from commencement.
    • ๐Ÿ‘ Due to new dependency requirements, the minimum supported Node version is now Node version 6, which drops support for Node versions 0.10, 0.12, and 4.
    • ๐Ÿ Fix DocPad not working on windows (regression since v6.81.0)
    • Progress indicator will now pause once the action has completed, and resume on new actions, this allows for cleaner shutdowns with no change of ability
    • ๐Ÿ”ง Graceful shutdown is now offered by the destroyOnExit configuration option, which uses process.on('beforeExit', docpad.onBeforeExit) to destroy DocPad gracefully. This is now possible as we don't have to support Node 0.10. Before we had to do graceful shutdowns in a more complex and manual manner, which resulted in less graceful shutdowns.
    • DocPad will now longer output The action completed successfully., as unless an error has displayed, then evidently everything remains successful
    • ๐Ÿšš Debug log file will now only be removed if it needs to be replaced with another one
    • ๐Ÿ”ง Fixed --no-color CLI argument and color configuration option not working
      • Closes issue #938
      • Color now correctly defaults to environment support
      • Also now supports --colour and --no-colour
      • Removed --prompts CLI argument and prompts config option in favour of the --progress CLI argument and progress config option (as that is all prompts did really)
    • The CLI has been rewritten and simplified
      • The commander package has been swapped out for the cac package
      • Customisation of the out path via a CLI option now occurs via --outPath to remove ambiguity with docpad render out file customisation
      • Introduced --verbose and --debug CLI options, such that one can do --silent --debug
      • For docpad render there is no longer a delay to check for stdin, however if you are using stdin, you must now provide the --stdin CLI argument
        • stdin reading abilities has been moved into the docpad renderStdin method, and render has gained support for it, as well as support for writing an output file
      • Global CLI options are now parsed before DocPad is instantiated, to ensure configuration is correct from initiation, rather than incorrect at instantiation then made correct later
        • This removes built in support for customising this, however, no one should be customising global CLI options anyway
        • As expected, consoleSetup event fires after DocPad is ready, and commands can be added to the cac instance in the event options
          • CLI commands are executed after this event resolves
    • ๐Ÿ”ง Configuration parsing improvements
      • Paths will now be resolved when requested, rather than having their resolutions cached, this results in more reliable path resolution across configuration changes
      • Fixed user configuration never actually being applied (regression since v6.80.1)
      • Fixed user configuration never loading if it was in your home folder yet you had Dropbox present
      • Fixed the loaded user and env configuration debug messages still saying loading
      • The method loadConfigPath now receives a string as its first argument
      • The method getConfigPath has been replaced with the new getPath('config')
      • Leftover DocPad configuration and Plugin configuration will now be correctly removed, before it would linger due to new configuration always being merged into the old, now new configuration swaps out the old
    • ๐Ÿ“ฆ Plugins are now determined via your project's package.json dependencies, rather than scanning the node_modules directory
      • This new approach is dramatically faster, and also allows us to concisely warn on plugin skips
    • ๐Ÿšš Instantiation has removed unneeded complexity (and paired with the aforementioned CLI changes) this ensures DocPad always results in a valid state
      • Removed the configuration option loggers that allowed users to swap our caterpillar for something else
        • No one used it, nor is it optimal to do so. It just introduced a lot of unnecessary complexity and fragility
        • Removed the method setLoggers
      • Constructing DocPad will now always perform the load and ready actions
        • Removed the construction option action that allowed one to override the initiation actions
        • Removed the docpadLoaded event. It was poorly named, non-optimal, and only used by a single outdated plugin.
      • Fixed docpad clean not cleaning a custom outPath
        • DocPad now also outputs which paths were cleaned
        • Path cleaning now uses a more robust way of ensuring DocPad doesn't clean a parent outPath
        • Closes issue #727
    • ๐Ÿ”Œ The Plugin Loader class has been abstracted out to pluginloader and made generic
      • Removes require('docpad').PluginLoader use require('@bevry/pluginloader') instead
      • Removes the methods: loadPluginsIn, loadedPlugin
      • Removes the configuration options: pluginsPaths, enableUnlistedPlugins, skipUnsupportedPlugins, warnUncompiledPrivatePlugins, enabledPlugins
      • Closes issue #391
    • ๐Ÿšš Removed the --force CLI option, it was unnecessary customisation
      • Simplified the installer methods: initGitRepo, initNodeModules, installNodeModule, uninstallNodeModule
    • ๐Ÿšš Removed some long standing deprecations
      • Removed require('docpad').BasePlugin use require('docpad-baseplugin') instead
      • Removed require('docpad').createInstance use require('docpad').create instead
      • Removed docpadUtil.setImmediate (existed for node 0.8 compat which hasn't been there since DocPad 6.72) use setImmediate instead
    • ๐Ÿšš Renamed docpad.inspector to docpad.inspect and removed docpadUtil.inspect
    • ๐Ÿšš Removed the unstable node.js version warning from DocPad v6.55.6
    • ๐Ÿ”ง Removed leftover .babelrc file that was causing everything to be compiled against es2015 instead of what we desire from our package.json configuration
    • โšก๏ธ Updated base files and editions using boundation
  • v6.81.0 Changes

    August 21, 2018
    • ๐Ÿš€ This release accomplishes the removal of some long standing deprecations, for background reading refer to:
    • Changes:
      • Added runBefore and runAfter events
      • DocPad is now verbose about when it has to perform an mtime change
    • Migrations / Removals:
      • Progress on issue #691 and issue #391
      • Close issue #1081
        • Removed the deprecated dynamic server abilities
        • Abstracted out the static server abilities into the new serve plugin
        • Removes the properties: serverExpress, serverHttp, filesByUrl, filesBySelector, filesByOutPath
        • Removes the methods: getServer, setServer, destroyServer, getFileByUrl, getFileByRoute, getPort, getHostname, getServerUrl, getSimpleServerUrl, serverDocument, serverMiddlewareHeader, serverMiddlewareRouter, serverMiddleware404, serverMiddleware500, server
        • Removes the events: serverBefore, serverExtend, serverAfter
        • Removes the options: databaseCachePath, port, hostname, maxAge, serverHttp, serverExpress, extendServer, middlewareStandard, middlewareBodyParser, middlewareMethodOverride, middlewareExpressRouter, middleware404, middleware500
        • Removes the document properties: dynamic
        • will now default to an empty string
        • Removes the docpad-server executable, and the docpad server action
      • Removed the deprecated ability to load uncompiled plugins
      • Removed the deprecated DocPad database cache, it never worked well
        • Removes the properties: databaseTempCache
        • Removes the methods: getDatabaseSafe
        • Removes the generate event properties: cache
      • Removed the deprecated docpad-compile executable, no one used it
      • Removed leftover hashKey property
    • ๐Ÿ—„ New Deprecations:
      • require('docpad').require('testers') will be removed in an upcoming release
        • Use require('docpad-plugintester') instead
        • A warning will be outputted
      • require('docpad').BasePlugin will be removed in an upcoming release
        • Use require('docpad-baseplugin') instead
        • No warning will be outputted