2020-04-29 14:40:55 -04:00
|
|
|
|
TAME Release Notes
|
|
|
|
|
==================
|
|
|
|
|
This file contains notes for each release of TAME since v17.4.0.
|
|
|
|
|
|
2020-04-30 13:06:43 -04:00
|
|
|
|
TAME uses [semantic versioning][]. Any major version number increment
|
|
|
|
|
indicates that backwards-incompatible changes have been introduced in that
|
|
|
|
|
version. Each such version will be accompanied by notes that provide a
|
|
|
|
|
migration path to resolve incompatibilities.
|
2020-04-29 15:48:21 -04:00
|
|
|
|
|
|
|
|
|
[semantic versioning]: https://semver.org/
|
2020-04-29 14:40:55 -04:00
|
|
|
|
|
|
|
|
|
TAME developers: Add new changes under a "NEXT" heading as part of the
|
|
|
|
|
commits that introduce the changes. To make a new release, run
|
2020-04-30 13:06:43 -04:00
|
|
|
|
`tools/mkrelease`, which will handle updating the heading for you.
|
2020-04-29 14:40:55 -04:00
|
|
|
|
|
|
|
|
|
|
2020-07-14 16:50:08 -04:00
|
|
|
|
NEXT
|
|
|
|
|
====
|
2020-07-14 16:53:05 -04:00
|
|
|
|
This release adds support for experimental human-guided tail call
|
|
|
|
|
optimizations (TCO) to resolve issues of stack exhaustion during runtime for
|
|
|
|
|
tables with a large number of rows after having applied the first
|
|
|
|
|
predicate. This feature should not be used outside of `tame-core`, and will
|
|
|
|
|
be done automatically by TAMER in the future.
|
|
|
|
|
|
|
|
|
|
`tame-core`
|
|
|
|
|
-----------
|
|
|
|
|
- `vector/filter/mrange`, used by the table lookup system, has had its
|
|
|
|
|
mutually recursive function inlined and now uses TCO.
|
|
|
|
|
- This was the source of stack exhaustion on tables whose predicates were
|
|
|
|
|
unable to filter rows sufficiently.
|
|
|
|
|
|
2020-07-14 16:50:08 -04:00
|
|
|
|
Compiler
|
|
|
|
|
--------
|
|
|
|
|
- Experimental guided tail call optimizations (TCO) added to XSLT-based
|
|
|
|
|
compiler, allowing a human to manually indicate recursive calls in tail
|
|
|
|
|
position.
|
|
|
|
|
- This is undocumented and should only be used by `tame-core`. The
|
|
|
|
|
experimental warning will be removed in future releases if the behavior
|
|
|
|
|
proves to be sound.
|
|
|
|
|
- TAMER will add support for proper tail calls that will be detected
|
|
|
|
|
automatically.
|
|
|
|
|
|
|
|
|
|
|
2020-07-02 12:48:16 -04:00
|
|
|
|
v17.4.3 (2020-07-02)
|
|
|
|
|
====================
|
2020-07-02 12:47:12 -04:00
|
|
|
|
This release fixes a bug caused by previous refactoring that caused
|
|
|
|
|
unresolved externs to product an obscure and useless error for the end
|
|
|
|
|
user.
|
|
|
|
|
|
2020-07-01 15:40:21 -04:00
|
|
|
|
Linker
|
|
|
|
|
------
|
|
|
|
|
- Provide useful error for unresolved identifiers.
|
|
|
|
|
- This was previously falling through to an `unreachable!` block,
|
|
|
|
|
producing a very opaque and useless internal error message.
|
|
|
|
|
|
|
|
|
|
|
2020-05-13 08:09:48 -04:00
|
|
|
|
v17.4.2 (2020-05-13)
|
|
|
|
|
====================
|
2020-04-30 14:33:10 -04:00
|
|
|
|
This release adds GraphML output for linked objects to allow us to
|
2020-05-13 07:27:34 -04:00
|
|
|
|
inspect the graph.
|
2020-04-30 14:33:10 -04:00
|
|
|
|
|
|
|
|
|
Linker
|
|
|
|
|
------
|
|
|
|
|
- Add `--emit` oprion to `tamer/src/bin/tameld.rs` that allows us to specify
|
|
|
|
|
the type of output we want.
|
2020-05-13 07:27:34 -04:00
|
|
|
|
- Minor refactoring.
|
2020-04-30 14:33:10 -04:00
|
|
|
|
|
|
|
|
|
Miscellaneous
|
|
|
|
|
-------------
|
2020-05-01 13:33:41 -04:00
|
|
|
|
- Added `make` target to build linked GraphML files.
|
|
|
|
|
- Updated `make *.xmle` target to explicitly state it is emitting `xmle`.
|
2020-05-13 07:24:02 -04:00
|
|
|
|
- Added Cypher script to use in Neo4J after a GraphML file is imported.
|
2020-04-29 15:49:57 -04:00
|
|
|
|
- `RELEASES.md`
|
|
|
|
|
- Add missing link to semver.org.
|
|
|
|
|
- Fix `tame-core` heading, which was erroneously Org-mode-styled.
|
2020-04-30 13:06:43 -04:00
|
|
|
|
- Rephrase and correct formatting of an introduction paragraph.
|
2020-04-29 15:48:21 -04:00
|
|
|
|
|
|
|
|
|
|
2020-04-29 15:34:29 -04:00
|
|
|
|
v17.4.1 (2020-04-29)
|
|
|
|
|
====================
|
2020-04-29 14:40:55 -04:00
|
|
|
|
This release refactors the linker, adds additional tests, and improves
|
|
|
|
|
errors slightly. There are otherwise no functional changes.
|
|
|
|
|
|
|
|
|
|
Compiler
|
|
|
|
|
--------
|
|
|
|
|
- Refactor proof-of-concept dependency graph construction code.
|
|
|
|
|
- Improvements to error abstraction which will later aid in reporting.
|
|
|
|
|
|
|
|
|
|
Miscellaneous
|
|
|
|
|
-------------
|
|
|
|
|
- `RELEASES.md` added.
|
|
|
|
|
- `tools/mkrelease` added to help automate updating `RELEASES.md`.
|
|
|
|
|
- `build-aux/release-check` added to check releases.
|
|
|
|
|
- This is invoked both by `tools/mkrelease` and by CI via
|
|
|
|
|
`.gitlab-ci.yml` on tags.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v17.4.0 (2020-04-17)
|
|
|
|
|
====================
|
|
|
|
|
This release focuses on moving some code out of the existing XSLT-based
|
|
|
|
|
compiler so that the functionality does not need to be re-implemented in
|
|
|
|
|
TAMER. There are no user-facing changes aside form the introduction of two
|
|
|
|
|
new templates, which are not yet expected to be used directly.
|
|
|
|
|
|
2020-04-29 15:49:57 -04:00
|
|
|
|
`tame-core`
|
2020-04-29 14:40:55 -04:00
|
|
|
|
-----------
|
|
|
|
|
- New `rate-each` template to replace XSLT template in compiler.
|
|
|
|
|
- New `yields` template to replace XSLT template in compiler.
|
|
|
|
|
- Users should continue to use `rate-each` and `yields` as before rather
|
|
|
|
|
than invoking the new templates directly.
|
|
|
|
|
- The intent is to remove the `t` namespace prefix in the future so that
|
|
|
|
|
templates will be applied automatically.
|
|
|
|
|
|
|
|
|
|
Compiler
|
|
|
|
|
--------
|
|
|
|
|
- XSLT-based compiler now emits `t:rate-each` in place of the previous XSLT
|
|
|
|
|
template.
|
|
|
|
|
- XSLT-based compiler now emits `t:yields` in place of the previous XSLT
|
|
|
|
|
template.
|