Releases: senecajs/seneca
v3.22.0
v3.7.0
v3.6.0
v3.5.0
v3.3.0
3.3.0 2017-02-07
- Action callback can omit Error parameter (hapi style): http://senecajs.org/api/#method-add
 - Minor updates for consistency with new API docs: http://senecajs.org/api
 - Updated use-plugin to 0.3.2.
 - Plugin options are now consistent with global options after plugin load.
 
3.2.1
v3.2.0
Summary
This release corrects timeout regressions in the Gate Executor which ultimately led to memory leaks. Provisional support for .inward() and .outward() api methods has been added. These will be documented at a later date.
CHANGELOG
The Change Log below can be found in /CHANGES.md.
- Added .inward() api method.
 - Added .outward() api method.
 - Made logging safely stringify input.
 - Fixed memory leak / timeout bug in gate-executor.
 
Please visit http://senecajs.org/ for more information on support and how to contribute.
v3.1.0
Summary
This release corrects log filter regressions and issues where some types of match failed even though they should succeed. Additional minor improvements have been made too.
CHANGELOG
The Change Log below can be found in /CHANGES.md.
- Correct issue with log handlers not working via command line
 - Extracted out log handling into seneca-log-filters for ease of reuse in custom loggers
 - Replaced the default logger filter logic with seneca-log-filters
 - Bumped patrun to correct incorrect matches with partial patterns due to missing catchall
 - Added error handling example in docs/examples/error-handling.js.
 - Changed boot log message from 'hello' to 'seneca-started'.
 - Updated salestax examples to work correctly.
 - Removed old legacy parsing handlers as they caused crashes
 - Added testable transport links
 
Please visit http://senecajs.org/ for more information on support and how to contribute.
V3.0.0
Summary
This release focuses on making the core smaller and more stable. All default plugins, except for seneca-transport have been removed. The head-line feature for 3.0 is the ability to add logging adaptors to Seneca and defaulting to JSON output instead of pretty logging.
CHANGELOG
The Change Log below can be found in /CHANGES.md.
- Refactored 'old' logging into it's own external plugin; seneca-legacy-logger.
 - Added new adaptor based JSON logging. External loggers can now be used with Seneca.
 - Created new 'built-in' logger which is used as the default logger if none are provided.
 - Corrected bug in Seneca.util.deepextend via Lodash version bump.
 - Updated gate-executor plugin to fix issues in load determinism and generally improve perf.
 - Replaced large swathes custom code with Lodash to improve speed and reliability.
 - Exposed parsepattern function via seneca.util.parsepattern as required by seneca-chain to function.
 - Removed 'dead' code marked legacy. Updated other parts of codebase with legacy notes for v.next.
 - Removed default settings for seneca-admin as it is not a default loaded plugin.
 - Set 
options.actcache.activeto be false by default. Disables actcache feature by default. - Moved 
close_signalsfromoptions.internaltooptions.system. - Moved 
catchallfromoptions.internaltooptions.system. - Removed 
options.schemaas it was only partially checking and needs a rethink. - Removed mem-store as a required dependency in the package.
 - Devolved store logic in 'store.js' fully to seneca-entity. Entites are now 'fully removed'.
 - Devolved chain functionality into seneca-chain and removed from library. Moved all related tests.
 - Devolved pin functionality into seneca-pin and removed from library. Moved all related tests.
 - Removed seneca-web as a default loaded plugin. Removed related tests. Removed from package.
 - Removed seneca-cluster as a default loaded plugin. Removed related tests. Removed from package.
 - Removed seneca-seneca as a default loaded plugin. Removed related tests. Removed from package.
 - Removed seneca-echo as a default loaded plugin. Removed related tests. Removed from package.
 - Removed seneca-basic as a default loaded plugin. Removed related tests. Removed from package.
 - Removed seneca-repl as a default loaded plugin. Removed related tests. Removed from package.
 - Removed seneca-parambulator as a default loaded plugin. Removed related tests, etc.
 - Removed parambulator as a default loaded plugin. Removed related tests. Removed from package.
 - Removed joi as a default loaded plugin. Removed related tests. Removed from package.
 - Moved min required version of Node to greater than 
4.0.0.10and0.12are no longer supported. - Added support for Node 
6.xwith minimal changes to account for api differences. - Removed LTS doc as it gives the wrong information. Website update to follow.
 - Updated all dependencies. Locked deps because of 
0.xsupport have been updated too. - Modified tests to account for breaking changes in both lab and code after updating to latest.
 - Updated eslint-config-seneca with local rules and removed.
 - Corrected peer dependency issues around linting plugins.
 - Annotations are no longer stored in the repo and must be generated locally.
 - Annotations are now found in 
docs/annotated - Annotations now work for the whole library, not just 
seneca.js - Coverage report now generates as 
/docs/coverage.htmland is not stored in the repo. - Coverage and Annotations can now be generated via 
npm run coverage&npm run annotate. - Paired back and updated travis file. Plugins are now tested via 
seneca-test-riginstead of with Seneca. - Moved old examples into folders & added 5 examples showing more concepts see 
docs/examples - Removed ALL redundant code files from 
test,stubs intest/stubsfolder. All tests are now in the root. - Added test for exportmap in plugins to export values and functions; see 
/test/plugin.test.js:L23 - Removed old release scripts in favour of 
docs/examples/create-a-release.md - Now using seneca-test-rig for plugin testing.
 
Important
Plugins in the /senecajs org are being updated to support 3.x. Modules that support this release will be marked as such in their README's.
We are having issues modules listed below. If you are using any of these modules we recommend you not upgrade until the next point release of each module.
- seneca-web
 - seneca-auth
 
Node support is now as follows:
- 4.x, 6.x
 
Support has been dropped for,
- 0.10, 0.12, 5.x
 
Logging adaptor examples
Documentation will come soon after release, for now we have a bunch of example adaptors to give you an idea how to use the feature for your own needs.
Plus,
- First cut log adaptors for Logstash, LogEntries & Pino
 
Upgrade Steps
Adding back in removed modules
The following packages have been removed as defaults,
- seneca-web
 - seneca-cluster
 - seneca-echo
 - seneca-basic
 - seneca-parambulator
 
In order to keep using these modules you will need to npm install them and require them into your services as seen below. Replace module-name with the name of the module(s) you wish to load
const Seneca = require('seneca')
const seneca = Seneca()
seneca.use(require('module-name'))
...New plugins for old functionality
New plugins have been created to support old, devolved, functionality,
- Chaining functionality devolved to seneca-chain
 - Pin functionality devolved to seneca-pin
 - Pretty logging functionality devolved to seneca-legacy-logger
 
In order to keep using these features you will need to npm install them and require them into your services as seen below. Replace devolved-module_name with the name of the module(s) you wish to load
const Seneca = require('seneca')
const seneca = Seneca()
seneca.use(require('devolved-module-name'))
...Settings changes
The following default settings have been changed or removed.
options.adminremoved (seneca-admin related)options.actcache.activeto be false by default. Disables actcache feature by default.options.internals.close_signalsfromoptions.internaltooptions.system.options.internals.close_signalsfromoptions.internaltooptions.system.options.schemaremoved.
Special Thanks
Please visit http://senecajs.org/ for more information on support and how to contribute.
v2.0.0
Summary
The major change is that the entity plugin is no longer installed and used by default.
Upgrade Steps
If you depend on seneca-entity you will need to add them back into your project.  Please update your package.json to include the senecia-entity module.  Afterwards, add a seneca.use statement to require it into your seneca instance.  Below is an example of what this may look like.
const Seneca = require('seneca');
const seneca = Seneca();
seneca.use(require('seneca-entity');
...Change Log
Please view the change log for a list of changes through the years.
Please visit http://senecajs.org/ for more information on support and how to contribute