UNPKG

9.33 kBMarkdownView Raw
1### 1.2.5
2* add `lang` flag and default value for bin/parse.js
3
4### 1.2.2
5* enable reply in Promise for [reply and directReply]
6
7### 1.1.3
8
9* No longer removes `User` table on re-importing a bot script into MongoDB.
10
11### 1.1.2
12
13* Fixes an issue with doing conversations with multiline replies.
14
15### 1.1.1
16
17* Fixes a warning using the `moment` dependency.
18* Additional error message for errors within custom functions.
19
20### 1.1.0
21
22* You can now configure the number of messages in the history that are checked when seeing if replies should be exhausted or not by using the `historyCheckpoints` option (thanks @Samurais!).
23
24### 1.0.6
25
26* Mongoose now uses the global Promise object to avoid a DeprecationWarning (thanks @Lewwwk!).
27* Cleanup and parse bin scripts now accept a MONGODB_URI environment variable for easy cleanup/parsing on Heroku.
28* Parse bin script also now accepts custom MongoDB connection params.
29
30### 1.0.5
31
32* The history field on the User model now retains 500 messages (up from 15) for logging purposes. It also is now an array of objects, rather than being an object of arrays, so we can more easily iterate over the history, and allows us to slice the array easily.
33* Removed mongoose-findorcreate and replaced with native mongoose options `upsert` and `new`.
34
35### 1.0.4
36
37* Fixes issue when using {clear} with inline redirects.
38
39### 1.0.3
40
41* Fixes issue with significantly large triggers (over 1024 bytes) not being serialised into Mongo.
42* Fact system import internals have been re-written.
43
44### 1.0.2
45
46* Performance improvement by another 20% or so by using Mongoose's lean queries, and skipping an extraneous query.
47* All the internal reply logic now uses async/await instead of callbacks.
48
49### 1.0.1
50
51* Fixes GH-317 by expanding custom concepts at parse time.
52* Removes unused field in User model.
53
54### 1.0.0
55
56We're very excited to push v1 into the wild, which marks the first major release of SuperScript! In this version, we've focused mainly on cleaning up the codebase, ensuring extensibility, and squeezing performance out of the runtime to ensure that your bots are nice and snappy.
57
58An overview of the big changes include:
59
60* Parsing is now lightning fast. We're looking at over 100x faster. 🔥
61* Replying is faster too, by over 10x. These two improvements are mainly thanks to some new logic in the normalisation step, which is now supported by the [bot-lang](https://github.com/bot-ai/bot-lang) repo.
62* More reliable trigger matching and reply exhaustion.
63* An easy-to-use API to set up SuperScript. No more dealing with setting up fact systems or topic systems yourselves: just set the relevant options and we take care of it for you.
64* A brand new [PEG.js](https://github.com/pegjs/pegjs) parser to parse bot scripts, allowing us to easily extend and modify syntax in the future, and be able to reliably inform you if you've written an invalid script.
65* Moved the fact system to Mongo to be completely independent of the file system and stateless. You can now run on Heroku, AWS, or other cloud services without fear of writing to a transient file system or syncing data between servers.
66* Re-written the code to take advantage of the latest ES6+ features.
67* Windows support! 🖥️
68* Closed over 50 GitHub issues, from topic redirection issues to capturing data.
69
70We've added some cool new features like:
71
72* We've added some new ways to define how replies should be chosen: `{ordered}`, `{random}`, `{keep}`, `{exhaust}` and `{reload}`.
73* Arguments to plugin functions are now JavaScript literals, so you can pass objects, arrays, numbers and so on to your functions.
74* We now support message plugin functions to run a plugin on every message, so you can attach extra properties to your messages like 'names' to use in later plugins.
75* You can now run multiple bots from different database URIs on a single server, and also run multiple bots from a single database URI using built-in multi-tenancy.
76* You can now customise the conversation timeout from the default of 5 minutes.
77
78We've also deprecated some of the old syntax. For the full list, see the [Upgrading to v1 Guide](https://github.com/superscriptjs/superscript/wiki/Upgrading-to-v1). Some of the more important points are:
79
80* The API to use SuperScript has changed dramatically. Now, you call `superscript.setup` and pass an `options` object.
81* The old tags like `~emohello` and `~emogreetings` are deprecated. Now, you'd use the plugin `^hasTag('hello')` to check if a user has said something like `hello`.
82* Questions no longer have types or sub-types. We're looking to improve this in the future.
83
84We really hope you like v1, and we're always open to new ideas, improvements, issues and pull requests. We already have some exciting things lined up for v2, and we hope this brings SuperScript closer to being the de-facto choice of human-like bot for developers! Join us on [Slack](http://superscript-slackin.herokuapp.com/) to talk about what we have planned and anything else bot-related.
85
86A big thank you to everyone who has contributed towards our first release. We couldn't have got there without you.
87
88The SuperScript Team
89
90### 0.11.26
91* Fix for GH-262. If a concept is captured we convert it to a non-concept. ^save() will now test for 3 arguments.
92* Fix for GH-259. Harden missing filter and plugin routes, warn louder and pass errors down if hit in topicRedirect.
93
94### 0.11.25
95* This continues to build out the debugging and logging, now redirects and respond functions are more clear.
96
97### 0.11.24
98* Added a new Google Hangout Client
99* Bubbled up the internal log to the client as `debug` on the reply object.
100
101### 0.11.23
102* Wrapped User Model Create to support schema or pre-existing.
103
104### 0.11.22
105* fix/enhancement - If you have OOB data it will now persist though topicRedirect(...), OOB data will also be merged together if you have added some before and after the redirect too.
106
107### 0.11.21
108* In custom function (plugins) you can now pass back an object instead of a string providing it contains a `text` or `reply` property. All other params well become OOB data.
109
110### 0.11.20
111* Pass clearConvo {CLEAR} back though topicRedirect
112
113### 0.11.19
114* Pass matchBit forward though redirect/respond/custom function
115* Pass extraScope forward though topicRedirect function
116* Pass extraScope forward though respond function
117* Pass extraScope forward though inline redirect
118
119### 0.11.18
120* Adds Telegraph Client
121* Feature GH-243 - Filter Input now supports captured input.
122
123### 0.11.17
124* Re-added nostay topic flag
125
126### 0.11.16
127* Fixed a regression in ^respond
128* Moved some console.log to debug.error
129
130### 0.11.15
131* Adds new directReply endpoint and more cheanup on msg
132
133### 0.11.14
134* Adds `bot` to scope, this will allow plugins to create users.
135
136### 0.11.13
137* Introducded a typo bug in 0.11.12 - fixed here
138
139### 0.11.12
140* Add new logging interface for better debugging.
141
142### 0.11.11
143* Change the custom function regex (again) This time allow `:`.
144
145### 0.11.10
146* Change the custom function regex (again) This time allow `$`.
147
148### 0.11.9
149* Remove leading spaces from reply.
150
151### 0.11.8
152* Nuke MessageScope before saving the object back to the history
153
154### 0.11.7
155* Allows `;` into custom function
156
157### 0.11.6
158* Freezes moongoose, hit rangeError bug reported.
159
160### 0.11.5
161* GH-240 - Added {END} and {CONTINUE} reply flags, but failed to pass them forward though topicRedirects this has now been fixed.
162
163### 0.11.4
164* GH-239 - Scope screep issues
165* New logging output - The logs are not JSON per line with a match array showing all matches. This was a signigant change under the hood requiring lots of cleanup.
166
167### 0.11.3
168* Allow even more characters into custom function (`(`,`)`, and `&`)
169
170### 0.11.2
171* Allow more extended characters into custom function (`-`,`'`, and `"`)
172
173### 0.11.1
174* Just a tiny change to unlock the normalizer version.
175
176### 0.11.0
177* Adds a new command `%%` for dynamic conversations (gh-206).
178
179This works by setting some state in a reply for example:
180```
181+ some input
182- some reply {key=value}
183```
184
185Then later in the conversation you can create a condition by one of three methods:
186```
187// trigger is assumed to be a wildcard
188%% (key === value)
189- now say this
190
191// setting a trigger
192%% (key === value)
193+ then match this
194- now say this
195
196// Set a collection of gambits
197%% (key === value) {
198 + then match this
199 - now say this
200
201 + or that
202 - now really say this
203}
204```
205The conversation state is whiped clean when you the topic changes.
206
207
208### 0.10.25
209* Adds a new {CLEAR} flag you can append to replies to kill the conversation loop. This will reset the conversation back to the topic level on the next input cycle.
210
211### 0.10.24
212* Fix for gh-236. In some cases custom plugins were firing multiple times.
213
214### 0.10.23
215* Bumps ss-parser and includes fixes to the matching, primary around min-max wildcards (gh-231, gh-224)
216
217### 0.10.22
218* Fix for GH-227 Have a custom function and system function on the same line killed the execution cycle becuase the system function was not found in the list of plugins
219
220### 0.10.21
221* Added scope per message in the reply Object.
222
223### 0.10.20
224* Add new plugin `getGreetingTimeOfDay`
225
226### 0.10.19
227* Fixes GH-223 with chunking disabled, commas might appear as extra args in custom functions
228* Fix for GH-221 Bumps ss-parser (where fix lives) modifies regex for category tilde.