30 KiB
30 KiB
Changelog
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
0.9.0 (2022-02-12)
Features
- build: better error handling for image build (c9fd4f1)
- deps: upgrade Typescript to 4.5, improve config and rule module error handling (bdf88f0)
Bug Fixes
- build: add shebang to bundle before imaging (ee41f60)
- build: bundle during CI run (80b7f69)
- build: move project-specific targets into their own file (0fd8ea9)
- build: prevent unintentional exit from image script (189b3e2)
- build: silence package metadata warnings when jq is not installed (86aeac5)
0.9.0-0 (2022-02-06)
⚠ BREAKING CHANGES
- this is not breaking for users, but for library users, some bundling or a runtime supporting ES modules is now required.
- updates Ajv from v6 to v8, with the breaking changes included there (https://ajv.js.org/v6-to-v8-migration.html). This removes support for JSON-Schema draft-04 and adds new drafts and keywords.
- this changes how directories are listed, by replacing the recursive-readdir module with node's readdir method, and a custom implementation that is compatible with the changes to Node 16's fs implementation for testing.
Features
- build: bundle with esbuild (4188452)
- convert to ES modules, C8 for coverage (cea8c8a)
- list files using node's fs module instead of recursive-readdir (e7e42ee)
- update Ajv, schema rule usage thereof (41b5a39)
Bug Fixes
- build: build file include paths (07cd12b)
- build: interpolate bundle with version metadata (2893437)
- build: make example test script compatible with container build targets (bbadd3e)
- build: paths for API docs/types, podman and lockfile for image targets (557d285)
- build: reduce output from example tests (a6b05d9)
- build: restore codeclimate target (b6a515d)
- build: set docker TLS options (dd9023e)
- build: use node 16 for container build targets (2970837)
- build: use yarn to run release script, remove rollup ref from shebang target (a55d09e)
- docs: expand on usage, add section on log formatting (3a1275c)
- docs: make readme and GH pages more similar (ea562fa)
- docs: update broken badges (58d37a8)
- image: only copy bundle files into image (65410ce)
- lint: indentation in version metadata (8d8d3da)
- rule: improve error messaging for empty schema files (9c433fd)
- tests: correct paths to schema, test config (ed26185)
- more ES imports, some corresponding import changes, reset mock FS after every test (052ca73)
- usage of __dirname, lint rules and corresponding fixes (3b7e48a)
0.8.3 (2021-07-10)
Features
- build: configure auto merge bot (f93ccb2)
Bug Fixes
- build: build images from cached version (c615a00)
- build: correct base image name (792a355)
- group test updates, automerge dev deps (26ee49a)
- reduce renovate noise (91cea7f)
- reduce renovate noise for eslint (d9eb200)
- remove redundant rollup plugins (6baa04f)
- build: disable warnings for shadowing of private global types (c3ad926)
- build: externalize source map modules to fix requires (bd75fd0)
- build: pull dind from nexus (7926d17)
- build: pull images from nexus (caface1)
- build: update eslint for typescript-eslint 4 rules (75819b7)
- config: bundle yargs module again (bd56752)
- image: remove yargs from bundle, add to image (14a51ee)
- require commonjs version of yargs to resolve named exports (234b277)
- config: update lint to naming-convention rule (6646c32)
- test: cover includes in config (5cd1ab6)
- register new lodash exports (37b8e32)
0.8.2 (2020-04-17)
Bug Fixes
- test: leaking config load (2fc7d76)
0.8.1 (2020-03-11)
Features
- container: install bunyan and jq for log parsing (#263) (dd37262)
- make mutate an option within fix mode (fixes #144) (705af89)
- short aliases for common options (fixes #145) (f367291)
- validate config while loading (c1ff388)
- validate rules while loading (dbfe042)
- build: add sonar job (1fa6bad)
- rules: add npm package (42ddb3e)
- rules: add rules to validate json schemas (0b5fe3d)
- rules/kubernetes: add rule to prevent latest tag, rule to ensure pull policy is set (8254848)
- rules/travis: add language rule (9a50046)
Bug Fixes
- build: handle unplaced chunks (7187cac)
- config: accept S regex flag, anchor slashes (2812254)
- docs: put contents in section, use yarn-global target (84d2ba4)
- lint: selectively allow null types (899dac2)
- rules: remove min length from rule desc (8c1c45d)
- rules/gitlab: handle include (b84e7b8)
- tests: cover read config, rule module helpers (c0eb3e0)
- tests: cover rule failures through main (c053da9)
- tests: cover rule loading from file/path (85b81ea)
- tests: cover rule module error handling, exclude by level (b3fa9dd)
- tests: cover source read and write (838f87b)
- tests: mock config when listing rules (c9b6c9f)
- log schema names correctly, do not log unmatched files (02ccffd)
- manually pass argv to yargs (11b3bd0)
- update log level to use enum (13d42e8)
0.8.0 (2019-11-10)
⚠ BREAKING CHANGES
- visitor: rule errors must be grouped and returned in the rule
Bug Fixes
- build: add shebang to index (c746f62)
- build: clean up after container builds (c9a42f3)
- build: update rollup config from template (80d3cb8)
- docs: add rule options to readme (3cbf443)
- rule: allow leading directories in rule path glob (00c7b89)
- export exit statuses (e0dca3c)
- build: add full build target for local and containers (79b4c9a)
- build: adopt rollup-template makefile, CI scripts (a5bb2f4)
- build: exclude partial typedefs and test bundle from package (da0e080)
- build: include template jobs (f9d3a44)
- build: replace template jobs with extends (3ae9412)
- docs: cover loading rules from module and path (8ab6bb2)
- rules: filter gitlab jobs better (988b942)
- rules: group rule errors to trigger correct failure (#114) (0c30036)
- rules: remove redundant rule field from result (b5d4698)
- rules: validate rule check/filter against full JSON schema metaschema (afeba99)
- tests: add gitlab CI test snippet, move test snippets into test dir (247e1ab)
- tests: cover visit rules pass and errors (44b1a60)
- extract rule interface (ebe15fb)
- config: group yargs to fix result TS interface (5fefe0c)
- docs: note pretty-printing logs (a3b8341)
- rules/tsconfig: flatten target-lib using data refs (b3c66dc)
- tests: use count flag to check example errors (d2156a5)
- visitor: handle missing errors gracefully (9725685)
- visitor: include rule name and selector in error messages (fcd4740)
- visitor: log added schemas correctly (29e9462)
- visitor: remove error method from context (842006c), closes #114
- build a rule selector from args, log it in list mode (59e7c13)
- include active/loaded rule count in list mode output (05f3f2f)
- move completion into main, remove weird exit from arg parsing (a2a0fb4)
Features
- adopt rollup template index (fixes #118) (53e00c5)
- recursively load rules (fixes #135) (6f4b324)
- build: add build-in-image targets to make (f805945)
- build: replace tslint with eslint (7052096)
- rules: add item index to rule error (fixes #116) (f0b5109)
- rules: load JSON rule files when using --rule-path (5229ada)
- visitor: move jsonpath pick to context for modules to use (b99431b)
- enable data refs (2b0dc92)
- load rules from directories (#8) and modules (#6) (9fbf7cc)
- split rule and helpers, test rule (b3dc864)
0.7.1 (2019-11-01)
Bug Fixes
- build: publish npm packages to npmjs.org (b9819b8)
- docs: update readme tags (e7d1f9f)
- rule: log and apply mutation when rule has > 0 diffs (63b6e48)
0.7.0 (2019-11-01)
Bug Fixes
- build: add tslint back to rollup (6aa1cb5)
- build: pin docker/dind images (070a623)
- build: replace app with package in version data (c76781b)
- build: set a default image arch, do not suffix those tags (37b1aae)
- build: switch to relative imports (0ab6de7)
- build: switch to relative imports (45a53a9)
- build: tag images with architecture (d2c50a1)
- build: use npm mirror (c5aeac0)
- config: pass include errors as nested cause (6ab7d9c)
- config/include: handle more errors in include (4a05fcd)
- docs: disambiguate build/install headers (47fe866)
- docs: fix license section (100f9ce)
- rule: print failure message when errors are present (5160eaa)
- scripts: make example tests more shell compatible (#106) (1304cf5)
- test: set mutate option for test contexts (72920b2)
- tests: add async helpers for tests, wrap async tests, make chai external (0eb9d51)
- tests: always print actual exit status of test scenarios (77c1d0c)
- tests: begin testing friendly errors, other errors (exceptions) (a13a909)
- tests: begin testing rules (013b1d7)
- star import (93f4917)
Features
- build: add alpine image jobs (017dfd7)
- include data path in error messages (67a61f6)
- docs: add fossa badge (7aaaf29)
- test: add nyc coverage (e627a51)
- test: add source map support (489ca33)
- visitor: improve error messages (#20) (c9c1a58)
- make fix mode mutations and defaults independent (30ab437)
0.6.1 (2019-07-04)
Bug Fixes
- use global yargs to fix bundle (23b791f)
0.6.0 (2019-07-04)
Bug Fixes
- docs: remove container and package scopes (fff8155)
- print completion or rules before attempting to load source (8b9d84e)
- wrap yargs and exit after completion (8b8d669)
- build: test rules during other tests (3e3cc7d)
- container: use git tags as-is (a72597d)
- test: use ref config for example tests (25d967b)
Build System
- split jobs to fix image tagging (c438a8b)
Features
- add command completion (39c0e4b)
- test: add pragmas to examples, add example tests to build (b7d0b43)
- test: rules and tags pragmas (cce8671)
- test: start adding pragma-based tests to examples (0c7d442)
- add default rule selector (15933ba)
- rules/grafana: add rule to ensure single env, add staging alert rule (229a0c8)
BREAKING CHANGES
- the
--mode
option has been replaced by a positional command, but the options and defaults are unchanged.
0.5.0 (2019-07-01)
Bug Fixes
- make -v an alias for --version (5f5b993)
- build: actually fix mdl config (675b200)
- build: add rpt2 cache to cache rather than artifacts (0996390)
- build: artifact all output (9eacea6)
- build: attempt to fix mdl config (24ebc9e)
- build: clean up output directory between builds (30ea7d6)
- build: move sinon to vendor chunk (d02b223)
- build: run generic build target (c41d9d0)
- build: split index into its own chunk (8351fff)
- container: set up as cli tool within container (ef2a9c9)
- rules/tsconfig: correctly enforce lib/target for esnext (62d58fe)
Build System
- image build and global install targets (8368271)
- remove license from chunks (ac86e69)
- remove redundant tsconfig options (37c0dbb)
- package: set module entry point to main bundle (7e2d20e)
- split vendor chunk (96d15bb)
Features
- rules: add tsconfig rules (27843c6)
- rules: kubernetes rule to require labels (aa350cc)
- rules/tsconfig: check for suppressed errors (d11f3d6)
- test: begin testing visitor (31d1977)
- configure renovate for semantic commits (fbcc143)
- extend renovate presets (2d0b7ad)
0.4.1 (2019-06-29)
Build System
- include license, set binary, fix deps (7fce611)
0.4.0 (2019-06-29)
Bug Fixes
- build: correct runner in version info (e1d5144)
- build: validate rules during build (0129221)
- docker: move rules to app dir, tweak layer order (b6fe129)
- rules: check numeric cpu limits (aec3ea9)
- rules: ensure low CPU limits are non-0 (97d5c7a)
- rules: remove test default (e02cd67)
- rules: validate source names (4112a1d)
- scripts: use project path for status (cd3be38)
- apply schema changes to data (03b3bfa)
- delimit output documents (79c7e71)
- docker examples, container output, misc lint (670e45a)
- list modes in help (1f1faf8)
- use consistent option names in source (c09d135)
Build System
Features
- rule selector helper (a630571)
- rules: add example grafana rule (f2579d4)
- add cli help (fixes #7) (721f85f)
- add rules to image, doc (e358857)
- display diff when rule modifies data (fixes #3) (6f15d1c)
- fix mode and type coercion (719954e)
- group config & rules in help (da42749)
- list mode, fix version option (8efbd99)
- load definitions from rules (fixes #2) (9eb41fc)
- support multiple documents per source (#11) (2bd60c8)
Tests
BREAKING CHANGES
- adds a required
name
property (string) at the top level of each--rules
file, used as the schema name
0.3.0 (2019-06-16)
Bug Fixes
- source: wait for output write to finish (72bedc8)
- refactor parser into a single class (29f372d)
- build: add github status script, remove coverage jobs (5498236)
- build: fix artifacts (f61b568)
- build: fix node target (a1cf4cc)
- docker: add stderr config (8d87332)
- docker: only copy bundle into image (db47b3e)
- rules: make filter optional in meta-rules (52095ed)
- limit error count (b1ba817)
- only print parsed args (4a124eb)
Build System
- add and document target to validate rules (1b42c26)
- add CI (cec3576)
- add dockerfile (172efb9)
- fix main, do not bundle source map or vendor source dir (da85fb3)
- fix version info (0f78fa4)
- use example stderr config when validating rules (731c87e)
Features
- parser: serialize data via parser (ab40330)
- add modes, basic readme (5e05c72)
- clean rules up with a bit of a visitor pattern (9a25fb9)
- rules: add filename as tag (0876e72)
- make node selectors work (282e93d)
- make rule filters optional (fixes #4) (9a7f882)
- write to stdout or file (a68975c)
- config: stream type for bunyan config (24f91aa)
- count errors, improve error messaging (f50f2f1)
- project, build, and bundle (8be80c3)
- run schema, do everything but select nodes (29aaa93)
- working bundle, example config (e8173d4)