All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
2.2.0 - 2021-05-10
- Add onQuery and onMutation hooks. c6031db
2.1.1 - 2021-04-02
- Update for new GitHub token format. dc7f6c7
2.1.0 - 2021-02-10
- Make http base path configurable. #661
- Remove sending of application events. 5c69883
- Fix globbing of client config. #657
2.0.0 - 2020-09-03
- Remove deprecations. #654
- Union path expressions not working with fileMatches. #653
- Fix execution of shutdown hooks. 381f0ec
- Update lodash to fix security issue. 075ea4f
1.9.2 - 2021-02-10
- Updated dependencies to address security issues.
1.9.1 - 2020-07-13
1.9.0 - 2020-03-03
- Dynamic goals. #631
- Add Apollo client identification headers to ApolloGraphClient. #633
- Atm-gql-gen fails if node_modules is not in \$PWD (e.g. using lerna + hoisted packages). #629
- Enable RegExp for intents. #637
- Support adding reviewers to PRs on Creation. #641
- Allow to disable color output. 63d5f29
- Add ability to intercept GraphQL operations. 29df6df
- Test errors with proper-lockfile 3.0.1. #225
- Remove CachingDirectoryManager (and proper-lockfile usage). #639
1.8.3 - 2020-07-13
- Add pathExpressionFileMatches astUtil function. d25af81
- Union path expressions not working with fileMatches. #653
- Update tmp-promise to fix shutdown. 40bcd1f
- Update lodash to fix security issue. bf4003d
1.8.2 - 2020-03-02
1.8.1 - 2020-03-02
- The BitBucket repo refs should throw errors on failure. #646
1.8.0 - 2019-12-06
- Introduce caching to Project API. #606
- Add exports to index. #624
- Add support for logging the callsite. 0121bce
- Make output less verbose during development. #603
- Do not create typings dir if not creating types. #609
- Clean up tmp dirs on shutdown. #614
- Clean up configuration code and docs. #615
- Switch to globby for glob matching. #618
- Consolidate on micromatch and fast-glob. #620
- Introduce caching to Project API. #606
- Use host configuration in Express listen call. #607
- Consolidates ProjectUtils files. Resolves #229. #617
- Fix retry when WS closes during startup. 5af51f1
- Invalidate file cache on content change. #622
- TargetsParams.test should filter by owner if set along with a regex. #304
1.7.0 - 2019-09-09
- Add a clone option to shallowly fetch all branches. #572
- Add support for GitHub App tokens. b58833a
- Export isRemoteRepoRef. #578
- Add support for code reloading without restart. #597
- Modify GitHub token pattern to match on app tokens. #593
- Upgrade to graphql-codegen version 1.7.1. #595
promptFor
not sending continuation message in cluster mode. #592- Fix threaded messages for responses. b782039
1.6.2 - 2019-07-11
- Add support for configuration profiles. 144fb03
- Update lodash, lodash.merge and lodash.template to fix security vulnerability. dcf21d8
1.6.1 - 2019-07-08
- Add x-request-id to apollo requests. caef74a
- Use major version for durable registrations. 46a9200
1.6.0 - 2019-07-04
- Add statsd metric to indicate WS backoff. d0701de
1.5.3 - 2019-06-04
- Allow configuration to be a
Promise<Configuration>
. #564 - Rework github helpers to not use axios. 7d854b6
- Deprecate
atomist://github/default_repo_visibility
mapped parameter. #559
1.5.2 - 2019-05-30
- Ensure query params are passed when retrieving default reviewers. #556
- Improve behavior when immediate shutdown requested. 7055ec1
1.5.1 - 2019-05-29
- Update to graphql-codegen 0.18.2. a9101f8
- Allow for normal exit with async hooks. #553
1.5.0 - 2019-05-27
- Support sending response messages back into a thread. dc005f2
- Redact outgoing messages. #527
- Expose integration point for different statsd client libraries. #533
- Improvements to message sending protocol. #546
- Add default reviewer mechanism for BitBucket. #542
- Remove remoteRepoFrom. #522
- Safely serialze response data from workers. d827034
- Messages should not be sent to "null" users. #530
- configurationValue does not allow the use of a falsey default value. #534
- Send valid statsd metrics. #532
- edit-all fails if a branch already exists on one repo. #168
- Rework cluster shutdown. #549
- Improve cluster shutdown behavior. #550
1.4.0 - 2019-04-15
- Maintain internal priority queue of command/event invocations #512
- BitBucketServerRepoRef support cloning from specific branch. #482
- Support web user_agent in source of incoming command request. #498
- Identity tokens in CommandHandlerRequest maps. #497
- Create single interface for creating RemoteRepoRef. #513
- Session ID being used as Bearer in Authorization header. #491
- Handle empty parameter list on incoming command. #490
1.3.0 - 2019-03-14
- Provide a dummy id to InMemoryProject. #438
- Allow boolean and number parameters types in command requests. #446
- Set WebSocketLifecycle on configuration. 6c009bf
- Provide a way to globally modify chat messages. #470
- Add getContentBuffer method to File. #476
- Test failure case in doWithFiles. #471
- Allow configurationValue without path. 128f8e4
- Add Namespace support for Gitlab. #477
- Allow matchIterator to be used to change matches. #442
- Various fixes to better support targeting in command handlers. #441
- Add support for latest Chooser API contract. 17549fd
- Update failure logging for failed repo creations. #461
- Fall through to no creds for cloneUrl. b31ba59
- Remove axios usage and use HttpClientFactory. #464
- Update dependencies. d68fef3
- Update all deps including graphql-code-generator. #474
- Remove addAtomistWebhook from see generator params. 4ebe315
- Errors in machine function can get swallowed and ignored . #449
- Do not swallow exceptions thrown by transforms in generators. #465
- Fix typo that crashed it. #475
- WebSocket can be destroyed before message sent. #483
- Disable TSLint on generated types. #485
1.2.0 - 2018-12-27
- Add thread_ts to MessageOptions to address threads. 49b9be7
- Disable graphql-tag fragment warning. #419
- Allow to print out configuration sources during startup. a255171
- Add HEAD method to HttpClient. 32fbc96
- Gracefully queue messages when the WS disconnects. #426
- Introduce
targets.branch
and fixproject.id
to point to correct project. #434 - Stronger typing for parameters. #437
- Tighten typing on menuForCommand and buttonForCommand. de3b582
- Update registration timeout to 30s. 65d9ba9
- Boolean parameter types are not supported. #423
- Introduce
targets.branch
and fixproject.id
to point to correct project. #434 - Fix defaulting of targetBranch when raising PR. 6c80f10
- Logging setting can cause startup hangs. #435
1.1.0 - 2018-12-08
- Add review comment sorter. #402
- Add gc stats onto statsd. 7639432
- Add initial Gitlab support. #399
- Add low-level child_process promise functions. #406
- Add autoSubmit to CommandDetails. ee0e474
- Add auth endpoints to configuration. 1680df8
- Add
GraphClientFactory
. #410 - Introduce Commit editMode and allow PR to specify base. #414
- Introduce promise pool to limit number of concurrent executions. #417
- Update to latest graphql-code-generator. #401
- Extract creation of HTTP and WS clients for registration to proper factories. #409
- Introduce Commit editMode and allow PR to specify base. #414
- Chunk editAll operations. #416
- Mark existing spawn and exec functions and interfaces as deprecated. #406
- Namespace our in process messages. d0cf724
1.0.1 - 2018-11-09
- Fingerprint api docs added. #396
1.0.0-RC.2 - 2018-10-30
- Exclude ingesters from gql-gen. #395
- Delete out-of-date documentation. #394
1.0.0-RC.1 - 2018-10-15
- Add more exports to index. #389
- BREAKING Scope wildcard exports having common names. #390
- BREAKING Clean up exports in index. #391
- Error when creating pull request under GitCommandGitProject. #387
1.0.0-M.5a - 2018-09-28
- Upgrade axios to 0.19.0-beta.1. #386
1.0.0-M.5 - 2018-09-26
- Export cross-spawn as spawn. #382
- Use os.homedir() and 127.0.0.1. #381
- Make killing processes more cross-platform. #385
1.0.0-M.4 - 2018-09-16
- Add depth for cloning the master branch. #9ed45d8
- Add startupSuccessful event. #9768eaf
- Print stack before munching error. #365
- Augment and organize export in index. #378
- Set all execute bits in makeExecutable. #345
- Don't default sha to master when cloning repos. #4410c0b
- Keep the branch from the RepoRef. #366
- BREAKING
~/.atomist/client-config.json
should take precedence overatomist-config.ts
. #371 - BREAKING Update to Winston 3 and make logging configuration explicit. #370
- Upgrade tree-path library. #375
- BREAKING Make running git commands safer. #374
- Change location of schema.json. #c6ee2b4
- Replace continuation-local-storage with async hooks for better tracking across async/await calls. #377
- BREAKING Update to more-standard node project format. #328
- Make sure Apollo propagates the GraphQL errors. #448f89a
- No such file or directory
~/.atomist/log
. #361 - Running multiple local SDMs causes port collisions. #364
- Resolve exec promise when process stdio is closed. #70145f2
1.0.0-M.3 - 2018-09-04
- On startup, tell people how to get an API key. #348
- Add ConfigurationPostProcessor type. #4dfbb0f
- Add generic return type to ConfigurationPostProcessor. #a564fce
- Add support for marking branch commits to auto merge. #4c8f677
- Cleanup own tmp directories. #0de0100
- projectUtils.gatherFromMatches to build up data based on pieces of code
- Support author as string or object. #346
- If no event handlers are found, return 404 not 500. #347
- Do not show links in startup if not registered. #da0c942
- Log under user home directory.
- Remove dimensions on metrics. #349
- BREAKING Pull up id to RepoId and remove unused code. #351
- Export all of MessageClient. #352
- BREAKING Remove all deprecations. #350
- renamed saveFromFiles to gatherFromFiles, deprecating the old function.
- Fail when tests fail, remove team/token. #354
1.0.0-M.2 - 2018-08-27
- Update Atomist dependencies to 1.0.0-M.1.
- Properly read client package.json.
1.0.0-M.1 - 2018-08-27
- Prepare for 1.0.0 release.
0.21.8 - 2018-08-24
0.21.7 - 2018-08-23
0.21.6 - 2018-08-23
- Immediately shut down when no hooks are registered. #c010ce1
0.21.5 - 2018-08-23
0.21.4 - 2018-08-21
0.21.3 - 2018-08-21
- Expose ChildProcess on ChildProcessResult to allow it to be killed. #342
- Add support for proxy authentication. #343
0.21.2 - 2018-08-21
- Get rid of deprecation warnings when installing cli. #340
0.21.1 - 2018-08-18
0.21.0 - 2018-08-17
- Install scripts in bin. #339
0.20.4 - 2018-08-17
- Move scripts to bin directory. #338
0.20.3 - 2018-08-16
- Use cross-spawn to better support Windows. #337
0.20.2 - 2018-08-16
- Fix start.gql-gen.ts script for MS Windows.
0.20.1 - 2018-08-10
- Add git-info and gql-gen scripts. #1ac65e6
- Move types to dependencies. #f9b3331
0.20.0 - 2018-08-09
- Allow local-sdm "new sdm" command to run from any directory.
0.19.7 - 2018-08-09
- Add more exports to index.ts
- BREAKING Feedback on graphClient.executeQueryFromFile versus graphClient.query. #334
0.19.6 - 2018-08-07
- Update microgrammar dependency.
- Reference to slalom
0.19.5 - 2018-08-06
- Logging initialization when
ATOMIST_DISABLE_LOGGING
is true
0.19.4 - 2018-08-02
- Updated schema.
0.19.3 - 2018-08-02
- More workspace/team ID fixes
0.19.2 - 2018-08-02
- Configuration workspaceIds will be set to teamIds if no workspaceIds are set.
0.19.1 - 2018-08-01
- Restore start.command.ts.
0.19.0 - 2018-07-31
- BREAKING Initial support for apiKeys. #329
- BREAKING Initial support for apiKeys. #329
0.18.1 - 2018-07-31
0.18.0 - 2018-07-26
- Allow to set timeout on spawned commands. #312
- Add command to install kube utilities. #311
- HTTP client and factory abstraction. #321
- Open up configuration. #320
- Remove dependency to config module. #317
- BREAKING
Project
no longer extendsAbstractScriptedFlushable
. This is no longer necessary given async/await. #318
- Github's email setting "Block command line pushes that expose my email" breaks
@atomist generate
. #322
0.17.1 - 2018-06-04
- Ingester and IngesterBuilder are deprecated in favor of GraphQL SDM definitions.
0.17.0 - 2018-06-04
- Checking out a branch sets the branch. #293
0.16.0 - 2018-05-15
- Options for Git push().
- Token-based authentication.
- Change generator seed repository parameters to include Git provider.
BitBucketServerRepoRef
.allReposInTeam()
.generatorHandler()
.
- Default @Value handling.
0.15.1 - 2018-05-09
- Repo handles both basic and token credentials.
- Default log file name is now simple client name.
- Make sure teamIds and groups are set in configuration.
- Put SDM configuration under "sdm".
0.15.0 - 2018-05-07
- The config command now probes environment for known SDM variables.
- Reduce default websocket grace period to 10 seconds.
- Default for
--install
command-line options is to install if the. - Support
ATOMIST_config_path
environment variables. - Support injection of configuration values.
- Support arbitrary top-level configuration.
- BREAKING moved
automationClientInstance()
toglobals.ts
.
0.14.1 - 2018-04-30
- Developer can control banner.
- Upgrade to TypeScript 2.8.3.
0.14.0 - 2018-04-27
- Provided automation client instance via
automationClientInstance()
. - Support for raising PR against any branch.
- Provider type to RemoteRepoRef.
- Support for AtomistLog events.
- Print stack trace if loading configuration fails.
- BREAKING
runningAutomationClient
, useautomationClientInstance()
.
- Call listeners on workers in cluster mode.
- Fix team vs chatTeam usage.
- Add enums to ingester. #276
0.13.1 - 2018-04-12
- Fix running node on MS Windows. #271
- Ensure gql-fetch works in clients.
0.13.0 - 2018-04-10
- Production and testing configurations keyed on ATOMIST_ENV or.
- Made more configuration properties optional.
- Check org webhook before adding repo webhook.
- statsd reporting in workers.
0.12.1 - 2018-04-03
- Removed removed scripts from package "bin".
0.12.0 - 2018-04-03
- reduceResults to combine handler results.
- Functions for posting Atomist webhooks.
- Remove previously deprecated command-line utilities now superseded.
0.11.2 - 2018-03-28
- ID to ingester messages.
- Clean up logging.
- Silent
atomist config
crash.
0.11.1 - 2018-03-26
- Do not immediately exit client.
0.11.0 - 2018-03-26
- Improved configuration error messages. #253
- Provide user configuration if reporting it is valid. #251
- Error and exit if any provided configuration is invalid. #254
0.10.0 - 2018-03-26
- CLI gql-fetch command to download team schema with custom types.
- Better worker shutdown behavior.
- Cleaner logs.
0.9.0 - 2018-03-21
- GraphQL calls use proxy.
- Startup banner.
- Log level for logging to file.
- GitProject revert method.
- Support for GraphQL fragments.
- Default gracePeriod of 60s.
- Export combineEditResults.
0.8.0 - 2018-03-19
- Mapped parameters for all repos.
- Print banner on successful registration.
- Branch as optional parameter in RepoRef.
- statsd support.
- Logging to file.
- Custom ingester types now use array arguments.
- At least one user/channel is required when sending messages.
- Make configuration more composable and user config more powerful.
- --version command-line option.
0.7.0 - 2018-03-07
- Variable parameters in subscriptions.
- Card support.
- config --slack-team command-line option, use --team instead. #234
0.6.6 - 2018-01-31
- Retry HTTP server startup.
- Make config command-line options optional. #208
- Git branch regular expression. #211
- Properly shutdown and restart cluster workers.
0.6.5 - 2018-01-24
- Make seed repository parameters visible to users.
0.6.4 - 2018-01-23
- Updated k8 schema.
setChatUserPreference
mutation.
0.6.3 - 2018-01-16
- Allow for GHE.
- Some log statements.
0.6.2 - 2018-01-15
- Upload files to Slack.
- Migrate from
update_only
topost_mode
when creating Slack messages. - Further decouple GitHub operations from project creation.
0.6.1 - 2018-01-12
- Slack message timestamp and TTL.
- Connecting via proxy.
0.6.0 - 2018-01-11
- Basic BitBucket support, thanks @kbristow!.
- Support for connecting via a proxy.
- Many changes to make more portable, i.e., runnable on MS Windows.
- Trying to get Git information on a non-git project will now return.
- Allow GraphQL glob pattern to return no files when generation code.
- Update to latest GraphQL data model.
0.5.2 - 2017-12-04
- GitHubUserLogin and AtomistWebhookUrlBase mapped parameter helpers.
- add support for configurable command handlers.
- remove hard dependency to heapdump; this will make
npm install
easier on Windows. - add userId to HandlerContext.
- Run all tests without GITHUB_TOKEN.
- Reduce tmp directory retention.
- keep newlines in commit messages.
0.5.0 - 2017-12-07
- Optionally add Atomist webhook to create GitHub repo.
- Generator benchmark tests.
- Caching metrics.
- afterAction to generate.
- Breaking Removed old class hierarchy for editors, generators.
- The
AllFiles
glob pattern was simplified to**
. - Move cache directory to ~/.atomist/cache.
- Generators now cache seed.
- Several improvements to reviewer interfaces.
- Scan all commands and events directories for command and event.
- RemoveSeedFiles as it was not generic nor provided much convenience.
- Issues with deleting files and directories in an InMemoryProject.
- Ensure GitHub sees a token in a clone URL as a token.
0.4.0 - 2017-11-28
- Support for parsing and manipulating JavaScript, JSX and TSX via
TypeScriptFileParser
. - Support for parsing and manipulating JSON via
jsonUtils
functions. - Support for specifying shutdown behavior with
configuration.ws.termination
.
- Breaking
editorHandler
now takes a function to create aProjectEditor
.
- Breaking Removed Spring and Java related generators and.
- Breaking Removed embedded dashboard web ui.
0.3.5 - 2017-11-22
- Moved
@types/continuation-local-storage
to dependencies since it. - Added more types to default exports in index.ts.
0.3.4 - 2017-11-22
isBinary
method onFile
interface.
- Breaking
successfulEdit
functionedited
argument is now required instead of defaulting. EditResult.edited
is now optional. An undefined value is valid.- Moved
@types/graphql
to dependencies since its types are exported. - Command parameters now provided as PARAM=VALUE on
exec
command line.
- Bug where a
SimpleProjectEditor
that did not return anEditResult
. - Add missing team ID to BuildableAutomationServer GraphQL endpoint.
0.3.3 - 2017-11-20
- Support for nested parameters via initialized object properties on parameters.
generate
utility function now takesRepoId
argument before optional params.- Split out tests into test and test-api so non-Atomist developers.
- Improve
atomist config
handling of existing config file so it. - Run
config
andgit
commands in same node process. - Added "repo" scope to GitHub personal access token created by config command.
- @Parameter() will default to empty options, so you don't have to pass {}.
0.3.2 - 2017-11-13
- Unified
atomist
CLI.
- Improved TypeScript parsing.
- atomist-cli, atomist-client, atomist-config, and git-info CLI.
- Make tests more reliable.
0.3.1 - 2017-11-13
- Reintroduced exports for backwards compatibility to 0.2.7.
0.3.0 - 2017-11-13
- Upgraded tree-path library (more support for abbreviated syntax, union path expression support, additional axis specifiers).
- Support for parsing TypeScript, including path expression support.
- allow
handle
to returnPromise<any>
. - enable graphql client-side caching.
- Fixed #86: Preserved empty directories when caching in memory project. Ability to cache a projcect in memory.
- Fix #79: Check permissions from seed project. (#83)
0.2.8 - 2017-11-07
0.2.7 - 2017-11-07
0.2.5 - 2017-10-26
- Much closer to backward compatible with 0.2.3 project operations than 0.2.4.
0.2.4 - 2017-10-26
- Project copying no longer blocks.
- Update package dependencies and scripts for portability.
- Git provider is now pluggable.
- Various generator issues.
- Handler metadata inheritance.
0.2.3 - 2017-10-24
- Generator and editor refactoring.
- Update command page.
0.2.2 - 2017-10-24
- Administrative endpoints for health, info, etc.
- Pulled up ProjectOperationCredentials and DirectoryManager.
- Create client config in proper directory on win32. #44,
0.2.1 - 2017-10-23
- Allow
CommandHandler
instances to be created from functions. - Allow a class to be passed into a command handler list, as well as.
- Add channel mutations.
- Improved reconnect handling.
- RepoId included in InMemory project. #33
- Can continue after failed attempt to load a repo. #30
- Updated docs after removal of RunOrDefer. #24
- Documentation for editors and generators. #32
0.2.0 - 2017-10-18
- Make atomist-setup script quieter and more robust.
- Align generators with ProjectEditor.
0.1.50 - 2017-10-19
- RepoId to Project.
- More currying.
- Overhauled edit and review models.
- Issue with SpringBootSeed.
0.1.49 - 2017-10-18
- Moved moveFile from AbstractProject to Project.
- Exec npm start in atomist-setup script.
0.1.48 - 2017-10-18
- Spring and Java inference improvements.
0.1.47 - 2017-10-18
- Update tree-path dependency.
0.1.46 - 2017-10-18
- Scripts to setup and configure Atomist API client.
- The client will look for config under ~/.atomist/client.config.json.
- Handlers can be called via instance or class name in addition to.
- Improve error messages.
- Various project operation improvements.
0.1.44 - 2017-10-16
- Publish master and PR builds as pre-release versions to Atomist.
- Updated @atomist/microgrammar to 0.7.0.
- Cleaned up dependencies.
- Dashboard improvements.
0.1.43 - 2017-10-11
- Mutation support in GraphQL.
- GraphClient executeFile is now executeQueryFromFile.
- Tree and path expression support moved to own module.
0.1.37 - 2017-10-02
- File replace and replaceAll.
0.1.0 - 2017-09-19
- Totally revamped command and event handler model.
- Added new
@Ingestor
automation type. - Switched to GraphQL for querying data.