forked from stanford-oval/thingtalk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHISTORY
143 lines (115 loc) · 5.36 KB
/
HISTORY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
1.6.1
=====
This is a bug fix release. Notable fixes:
* Fixed basic authentication mixins and manifest conversion [#83]
* Fixed retrieving invalid devices in SchemaRetriever [#82, #85]
* Monitor of non-monitorable queries is now correctly rejected by the typechecker [#66, #86]
* Fixed cloning of classes [#63, #87]
* Fixed monitoring of RSS feeds [#90]
* Updated dependencies
1.6.0
=====
* The language was extended to support multiple connected statements. This involved
a significant change in the compiler and runtime interface.
* New language feature: assignments. This is a new kind of statement that
invokes a query eagerly and makes the result available to later statements.
* New language feature: procedures. These are a new kind of declaration that
opens a nested scope when invoked. They can be invoked as actions.
* New language feature: `oninput`. This is a statement that declares, but does not invoke,
actions that are related to the current program. It is expected that the frontend
will represent `oninput` statements as buttons or suggestions.
* `iterateSlots` and `iteratePrimitives` API were adapted to reflect their use in slot-filling,
and will not recurse into new statements that should not be slot-filled eagerly.
* More of the Ast API were converted away from adt types to ES6 classes. This includes
the Ast.Input types and the Ast.Statement types.
* New syntax: `$?` is now a syntactic sugar for `$undefined`. Note the new syntax is
used by default, which can cause compatibility issues with the old library.
* New language operators: `sort`, indexing and slicing. These operate on queries
and can be used to sort or select an index or range of the result. These operators
are fully supported (including compiler, describe, NN syntax support)
* The `argmin` and `argmax` operators are now redundant and have been removed.
* It is now possible to build the library on windows (provided that the dependencies
are available)
* New API: `Example`s can be typechecked individually.
* Misc bug fixes
1.5.2
=====
* Fix a bug in the new nn-syntax grammar, caught by the almond-dialog-agent tests
1.5.1
=====
* Fix tarball again, missing generated files
1.5.0
=====
* BREAKING CHANGE: the SentenceGenerator module, and the associated template files, have been moved
to [genie-toolkit](https://github.com/stanford-oval/genie-toolkit),
and they are not in the library anymore.
* The NN syntax definition was redone to make it easier to extend, with a custom
domain-specific language and the ability to generate a Python parser as well.
* The formatter now supports missing or invalid parameters, and will automatically
display only the available information. In the future, this will allow for projections
on notifications.
* Minor bug fixes and code style improvements [#68]
1.4.2
=====
* Updated messaging interface to work with the latest version of thingengine-core [#67].
* Fixed syntax of argmin/argmax [#62].
* Misc bug fixes.
* Dependencies have been updated [#61].
* Build system and CI fixes.
1.4.1
=====
* Fix botched tarball in previous release, missing important files
1.4.0
=====
* New feature: aggregations and argmin/argmax are now fully implemented, including
the compiler and runtime parts [#56, #57, #60]
* New module: SentenceGenerator; used to generate programs and their associated sentences.
The generator uses a new DSL, dubbed yasgg (Yet Another Sentence Generator Generator,
a reference to the well-known parser generator YACC).
This module is epxerimental and expected to change in the future.
* Internal modules have been reorganized.
* Misc bug fixes [#47, #55, #58].
* Dependencies have been updated [#54].
1.3.1
=====
* Misc bug fixes
1.3.0
=====
* New Class syntax to replace Thingpedia manifests.
* New syntax on queries to indicate whether they are monitorable and/or lists.
* New language component: mixins and import statements.
* New language component: dataset and examples; these replace the use of declarations
for composable code snippets in Thingpedia.
* New language component: annotations; these can be applied to function declarations
in classes, to classes themselves, and to examples in datasets.
* Minor API changes in the Ast module. Ast API is still considered experimental and
is not covered by the API stability promise.
* The API of SchemaRetriever has changed significantly, following the changes in
the upstream Thingpedia API.
* The syntax of Stream Joins have changed from "$stream join $table" to "$stream => $table";
the old syntax is accepted for compatibility but not generated. Other libraries
should be updated to follow suit.
* The value type Builtin.ExampleProgram was removed. It was never meant for use
outside of the Almond platform.
* Misc bug fixes [#11, #12].
* Build system and CI fixes.
* Dependencies have been updated.
1.2.0
=====
* New API to check programs without transforming them
* Misc bug fixes
* Build system and CI fixes
1.1.1
=====
* Fix compiling of picture constants
* Build system and CI fixes
1.1.0
=====
* New feature: support for quote-free programs in NN syntax (experimental, might change)
* Compiled ThingTalk code uses native async functions instead of generator functions now
* More tests
1.0.0
=====
* First official release
* Includes the ThingTalk language, compiler, and library to manipulate ThingTalk programs
* Includes a preview (not yet stable) of the Comma extensions for ThingTalk