All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
9.0.2 (2024-10-10)
- improved tracing of resolver, for better troubleshooting of resolving issues in production (7e8de97)
- reset cache in case of thrown error during resolve (fd80f85)
- slight performance improvement (811f0b3)
9.0.1 (2024-09-04)
- when using the cache: invalidate objects on layers affected by changes (26f4e82)
9.0.0 (2023-08-23)
- BIG REWRITE, see PR #95
- Drop support for Node 12
- add option to skip statistics generation, for improved performance (3d1582b)
- BIG REWRITE (43b54da), closes #95
- Drop support for Node 12 (91d7e5b)
- export applyKeyframeContent() function (a288a9e)
- add option.dontThrowOnError (f364536)
- better explanation of what is wrong in reference strings & add unit test "validateReferenceString" (f3028ce)
- improve performance in updateNextEvents (956aa63)
- make the timeline-object.content property generic (a13df02)
- refactor: split functionality into separate functions. (0782b14)
- remove statistics
unresolvedCount
, rename and add a few other properties (ab430ae) - rename
validateIdString
tovalidateReferenceString
(2180e78) - support generic content in functions (ae6ee49)
8.3.1 (2022-11-01)
8.3.0 (2022-10-05)
- add validateIdString() function, used to ensure that id, classes and layers doesn't contain any invalid characters (ecd0ae7)
- validate ids, classes and layer string, to avoid possible crashes when resolving the timeline (e7b9114)
8.2.8 (2022-06-13)
- bug which caused unit test "too many start events" to fail (7412021)
- change all ".end || Infinity" to ".end ?? Infinity" to take into account that .end might be 0 (which means that it ends at 0, not Infinity) (218b7c5)
- don't set resolvedStates.state prematurely, instead do that after having walked through all object-instances (bd1f20e)
- sort times before verifying (296752e)
8.2.7 (2022-03-30)
8.2.6 (2022-03-30)
- bug which caused unit test "too many start events" to fail (7412021)
- change all ".end || Infinity" to ".end ?? Infinity" to take into account that .end might be 0 (which means that it ends at 0, not Infinity) (218b7c5)
8.2.5 (2022-01-26)
8.2.4 (2022-01-26)
- don't set resolvedStates.state prematurely, instead do that after having walked through all object-instances (bd1f20e)
8.2.3 (2022-01-04)
- replace some _.each with for of loops, to conform with convention (9716f86)
8.2.2 (2021-10-22)
- cap children inside of their parents (7de10d7)
- remove onlyForTime in resolveStates, as it causes issues in some situations (adbe2e6)
- remove redundant zero-length instances of children (2323d88)
- when a parent is affected, also do a check of the children (cf05ede)
8.2.1 (2021-04-26)
8.2.0 (2021-02-04)
- bug fix for when having multiple enable-expressions (5f4ebf6)
- bug fix: merge instances better for when using .seamless property. (a183f82)
- refine tests (35d6199)
8.1.2 (2020-10-15)
- rewrite capInstances(), to fix issues with instances being split across multiple parent instances (cdb5599)
- rewrite of resolveStates() to handle keyframes inside split objects (f412a9a)
8.1.1 (2020-09-11)
- in child objects; when end is a constant, it should refer to parent (independently of what start is set to be) (af66705)
8.1.0 (2020-08-14)
- support for zero-length and negative instances (0b340db)
- support for zero-length and negative instances (bc03699)
8.0.0 (2020-06-27)
- drop node 8 support
- drop node 8 support (98f42ca)
- ci: prerelease flow & optional audit skip [skip ci] (a7a4c20)
- add check in resolveAllStates, optimizing when no changes are detected at all. (6d02009)
- be able to provide enable.instances directly in the timeline. (0bd3149)
- partial resolve of timeline (eab68aa)
- don't hash content, it takes too much time (ac35795)
- optimize cleanInstances for most common situations (8b9e0b5)
- performance: cache result of interpretExpression (ea572cb)
- performance: move applyParendInstances (bb1e952)
- performance: refactor _.uniq + _.reduce + _.compact (d6d7eb5)
- performance: replace _.each for for-loops where it's most used (5d1df6a)
- performance: use typeof instead of _.isObject (14bf545)
- reworked instances to instead use arrays directly on the .enable property (ccc8452)
7.3.1 (2019-12-02)
- add reference to tslib (e2fed55)
7.3.0 (2019-11-01)
- update ci to run for node 8,10,12 (7a182c6)
- be able to reference other objects in own class or layer (3996a80)
- disregard event instances with 0 duration (678bd19)
- keyframe class from chained group (6164a6e)
- simplify expressions to allow for using arithmetics inside of parent groups (91a5a64)
7.2.4 (2019-09-03)
- keyframe class from chained group (7f5c95d)
7.2.3 (2019-08-13)
- bug fix: reference duration (de7b86c)
7.2.2 (2019-08-09)
- Handle keyframes that begin or end outside of their parents (1eb1f50)
- lookupExpression should return [], not null, when a reference yields zero results (0d6586d)
- make child in group-behaviour constistent... (95af8c3)
- while: 1 and while: '1' should return same result (7ca9452)
7.2.1 (2019-07-30)
- update dependencies, removed unused "marked" dependency (2098912)
7.2.0 (2019-07-16)
- add typings for originalStart & originalEnd (1f7af78)
- support for having negative start times in groups (9a61048)
- support for originalStart & originalEnd in instances (52b2a9b)
7.1.2 (2019-05-21)
- some expressions failing to be converted to objects (6921801)
7.1.1 (2019-05-21)
7.1.0 (2019-05-18)
- implement resolveStates (76a4ec6)
- Implement support for negations ("!") together with parentheses (efe79a6)
7.0.2 (2019-04-07)
7.0.1 (2019-04-07)
- reset ids on start of resolving (b65585a)
7.0.0 (2019-04-06)
- minor bugs in expressions (bcfe44f)
- tests and ts3 lint issues (01a537e)
- use ts 3 and update deps (0731cba)
- add reference breadcrumbs, continued work on capping-in-parent etc.. (af4380d)
- continued implementation (296729c)
- continued implementation, all (non-deprecated) tests are now ok (3f90008)
- continued implementation, validation, (f95b4ce)
- implement cap-in-parent, refactoring, rename trigger => enable (ce656a9)
- implement classes (6d1b2e0)
- implement getState & getNextEvents (c04a269)
- implement getState, groups & repeating trigger (f1753e1)
- implement keyframes (80513ea)
- mixed expressions, initial implementation. Complete rehaul (WIP) (923b2e2)
6.0.3 (2018-11-07)
- Create TimelineTrigger interface for trigger property (a497393)
6.0.2 (2018-10-30)
- Allow string llayer ids in logical triggers (cedd170)
6.0.1 (2018-09-13)
5.0.6 (2018-09-13)
- TimelineObject duration can be a string (edf3ae3)
5.0.5 (2018-09-13)
- cap startTime within parent group (4e913ba)
- changed duration interpretation to support Infinite duration properly (489fc4e)
- duration can be undefined (bc278d6)
5.0.4 (2018-09-04)
5.0.3 (2018-09-04)
- when possible, save outerDuration of group before resolving it's children (f0785a2)
5.0.2 (2018-08-29)
- bug when capping endTime several parents up (25e600d)
5.0.1 (2018-08-17)
- don't throw error (b35e955)
5.0.0 (2018-08-17)
- Major refactoring, switched out the iterative resolving for a nice recursive one (13cbace)
- removed circular, iterative resolving. Might cause unexpected issues
4.0.2 (2018-08-05)
- added referenceObjectIds, to use as trace in error messages & to determine which object is dependant of which (e50ec99)
- inefficient iteration led to terrible performance in situations with many relative objects. Rehauled the whole resolve iteration loop (3a2b847)
4.0.1 (2018-08-03)
- quick patch for when resolved property missing (66f1adf)
4.0.0 (2018-07-30)
- bugfix for passing test "relative durations object order" (31a886f)
- refactored the tests, making them all run with the data reversed as well (e823243)
- refactoring: object resolving iteration loop, so the same function is used inside groups as well as on root (36fbb58)
- test incompatible with reversed data (8fceadc)
- Add test to check order of objects in the source data has no affect on relative duration resolving (2551789)
- added ability to reference objects between groups (80bbb4a)
- added test for cross-dependencies between children (775051c)
- when referring to an object within a group, now you get the absolute time, not the local time within that group
3.0.0 (2018-07-27)
- bugfix for passing test "relative durations object order" (31a886f)
- refactored the tests, making them all run with the data reversed as well (e823243)
- refactoring: object resolving iteration loop, so the same function is used inside groups as well as on root (36fbb58)
- test incompatible with reversed data (8fceadc)
- Add test to check order of objects in the source data has no affect on relative duration resolving (2551789)
- added ability to reference objects between groups (80bbb4a)
- added test for cross-dependencies between children (775051c)
- when referring to an object within a group, now you get the absolute time, not the local time within that group
2.2.0 (2018-07-05)
- implemented support for dynamic durations (2b5c943)
2.1.0 (2018-07-02)
- fix for failing test "keyframe in a grouped object" (f80ed3d)
- fix for failing test test: "test group with duration and infinite child" (79d2b0e)
- updated test (2207624)
- Add test for duration set only on group, not child (d22d1ec)
2.0.3 (2018-06-15)
2.0.2 (2018-06-14)
2.0.1 (2018-06-09)
2.0.0 (2018-06-09)
- Empty commit, to trigger breaking version bump (9b2426e)
- some logic might have changed during the past months
1.0.317 (2018-06-06)
- set skip ci to prevent looping on release (0589e6f)
1.0.316 (2018-06-06)
1.0.315 (2018-06-06)
1.0.314 (2018-06-06)
1.0.313 (2018-06-06)
1.0.312 (2018-06-06)
1.0.311 (2018-06-06)
1.0.310 (2018-06-06)
1.0.309 (2018-06-06)
1.0.308 (2018-06-06)
1.0.307 (2018-06-06)
1.0.306 (2018-06-06)
1.0.305 (2018-06-06)
1.0.304 (2018-06-06)
1.0.303 (2018-06-06)
1.0.302 (2018-06-06)
1.0.301 (2018-06-06)
1.0.300 (2018-06-06)
1.0.299 (2018-06-06)
1.0.298 (2018-06-06)
1.0.297 (2018-06-06)
1.0.296 (2018-06-06)
1.0.295 (2018-06-06)
1.0.294 (2018-06-06)
1.0.293 (2018-06-06)
1.0.292 (2018-06-06)
1.0.291 (2018-06-06)
1.0.290 (2018-06-06)
1.0.289 (2018-06-06)
1.0.288 (2018-06-06)
1.0.287 (2018-06-06)
1.0.286 (2018-06-06)
1.0.285 (2018-06-06)
1.0.284 (2018-06-06)
1.0.283 (2018-06-06)
1.0.282 (2018-06-06)
1.0.281 (2018-06-06)
1.0.280 (2018-06-06)
1.0.279 (2018-06-06)
1.0.278 (2018-06-06)
1.0.277 (2018-06-06)
1.0.276 (2018-06-06)
1.0.275 (2018-06-06)
1.0.274 (2018-06-06)
1.0.273 (2018-06-06)
1.0.272 (2018-06-06)
1.0.271 (2018-06-06)
1.0.270 (2018-06-06)
1.0.269 (2018-06-06)
1.0.268 (2018-06-06)
1.0.267 (2018-06-06)
1.0.266 (2018-06-06)
1.0.265 (2018-06-06)
1.0.264 (2018-06-06)
1.0.263 (2018-06-06)
1.0.262 (2018-06-06)
1.0.261 (2018-06-06)
1.0.260 (2018-06-06)
1.0.259 (2018-06-06)
1.0.258 (2018-06-06)
1.0.257 (2018-06-06)
1.0.256 (2018-06-06)
1.0.255 (2018-06-06)
1.0.254 (2018-06-06)
1.0.253 (2018-06-06)
1.0.252 (2018-06-06)
1.0.251 (2018-06-06)
1.0.250 (2018-06-06)
1.0.249 (2018-06-06)
1.0.248 (2018-06-06)
1.0.247 (2018-06-06)
1.0.246 (2018-06-06)
1.0.245 (2018-06-06)
1.0.244 (2018-06-06)
1.0.243 (2018-06-06)
1.0.242 (2018-06-06)
1.0.241 (2018-06-06)
1.0.240 (2018-06-06)
1.0.239 (2018-06-06)
1.0.238 (2018-06-06)
1.0.237 (2018-06-06)
1.0.236 (2018-06-06)
1.0.235 (2018-06-06)
1.0.234 (2018-06-06)
1.0.233 (2018-06-06)
1.0.232 (2018-06-06)
1.0.231 (2018-06-06)
1.0.230 (2018-06-06)
1.0.229 (2018-06-06)
1.0.228 (2018-06-06)
1.0.227 (2018-06-06)
1.0.226 (2018-06-06)
1.0.225 (2018-06-06)
1.0.224 (2018-06-06)
1.0.223 (2018-06-06)
1.0.222 (2018-06-06)
1.0.221 (2018-06-06)
1.0.220 (2018-06-06)
1.0.219 (2018-06-06)
1.0.218 (2018-06-06)
1.0.217 (2018-06-06)
1.0.216 (2018-06-06)
1.0.215 (2018-06-06)
1.0.214 (2018-06-06)
1.0.213 (2018-06-06)
1.0.212 (2018-06-06)
1.0.211 (2018-06-06)
1.0.210 (2018-06-06)
1.0.209 (2018-06-06)
1.0.208 (2018-06-06)
1.0.207 (2018-06-06)
1.0.206 (2018-06-06)
1.0.205 (2018-06-06)
1.0.204 (2018-06-06)
1.0.203 (2018-06-06)
1.0.202 (2018-06-06)
1.0.201 (2018-06-06)
1.0.200 (2018-06-06)
1.0.199 (2018-06-06)
1.0.198 (2018-06-06)
1.0.197 (2018-06-06)
1.0.196 (2018-06-06)
1.0.195 (2018-06-06)
1.0.194 (2018-06-06)
1.0.193 (2018-06-06)
1.0.192 (2018-06-06)
1.0.191 (2018-06-06)
1.0.190 (2018-06-06)
1.0.189 (2018-06-06)
1.0.188 (2018-06-06)
1.0.187 (2018-06-06)
1.0.186 (2018-06-06)
1.0.185 (2018-06-06)
1.0.184 (2018-06-06)
1.0.183 (2018-06-06)
1.0.182 (2018-06-06)
1.0.181 (2018-06-06)
1.0.180 (2018-06-06)
1.0.179 (2018-06-06)
1.0.178 (2018-06-06)
1.0.177 (2018-06-06)
1.0.176 (2018-06-06)
1.0.175 (2018-06-06)
1.0.174 (2018-06-06)
1.0.173 (2018-06-06)
1.0.172 (2018-06-06)
1.0.171 (2018-06-06)
1.0.170 (2018-06-06)
1.0.169 (2018-06-06)
1.0.168 (2018-06-06)
1.0.167 (2018-06-06)
1.0.166 (2018-06-06)
1.0.165 (2018-06-06)
1.0.164 (2018-06-06)
1.0.163 (2018-06-05)
1.0.162 (2018-06-05)
1.0.161 (2018-06-05)
1.0.160 (2018-06-05)
1.0.159 (2018-06-05)
1.0.158 (2018-06-05)
1.0.157 (2018-06-05)
1.0.156 (2018-06-05)
1.0.155 (2018-06-05)
1.0.154 (2018-06-05)
1.0.153 (2018-06-05)
1.0.152 (2018-06-05)
1.0.151 (2018-06-05)
1.0.150 (2018-06-05)
1.0.149 (2018-06-05)
1.0.148 (2018-06-05)
1.0.147 (2018-06-05)
1.0.146 (2018-06-05)
1.0.145 (2018-06-05)
1.0.144 (2018-06-05)
1.0.143 (2018-06-05)
1.0.142 (2018-06-05)
1.0.141 (2018-06-05)
1.0.140 (2018-06-05)
1.0.139 (2018-06-05)
1.0.138 (2018-06-05)
1.0.137 (2018-06-05)
1.0.136 (2018-06-05)
1.0.135 (2018-06-05)
1.0.134 (2018-06-05)
1.0.133 (2018-06-05)
1.0.132 (2018-06-05)
1.0.131 (2018-06-05)
1.0.130 (2018-06-05)
1.0.129 (2018-06-05)
1.0.128 (2018-06-05)
1.0.127 (2018-06-05)
1.0.126 (2018-06-05)
1.0.125 (2018-06-05)
1.0.124 (2018-06-05)
1.0.123 (2018-06-05)
1.0.122 (2018-06-05)
1.0.121 (2018-06-05)
1.0.120 (2018-06-05)
1.0.119 (2018-06-05)
1.0.118 (2018-06-05)
1.0.117 (2018-06-05)
1.0.116 (2018-06-05)
1.0.115 (2018-06-05)
1.0.114 (2018-06-05)
1.0.113 (2018-06-05)
1.0.112 (2018-06-05)
1.0.111 (2018-06-05)
1.0.110 (2018-06-05)
1.0.109 (2018-06-05)
1.0.108 (2018-06-05)
1.0.107 (2018-06-05)
1.0.106 (2018-06-05)
1.0.105 (2018-06-05)
1.0.104 (2018-06-05)
1.0.103 (2018-06-05)
1.0.102 (2018-06-05)
1.0.101 (2018-06-05)
1.0.100 (2018-06-05)
1.0.99 (2018-06-05)
1.0.98 (2018-06-05)
1.0.97 (2018-06-05)
1.0.96 (2018-06-05)
1.0.95 (2018-06-05)
1.0.94 (2018-06-05)
1.0.93 (2018-06-05)
1.0.92 (2018-06-05)
1.0.91 (2018-06-05)
1.0.90 (2018-06-05)
1.0.89 (2018-06-05)
1.0.88 (2018-06-05)
1.0.87 (2018-06-05)
1.0.86 (2018-06-05)
1.0.85 (2018-06-05)
1.0.84 (2018-06-05)
1.0.83 (2018-06-05)
1.0.82 (2018-06-05)
1.0.81 (2018-06-05)
1.0.80 (2018-06-05)
1.0.79 (2018-06-05)
1.0.78 (2018-06-05)
1.0.77 (2018-06-05)
1.0.76 (2018-06-05)
1.0.75 (2018-06-05)
1.0.74 (2018-06-05)
1.0.73 (2018-06-05)
1.0.72 (2018-06-05)
1.0.71 (2018-06-05)
1.0.70 (2018-06-05)
1.0.69 (2018-06-05)
1.0.68 (2018-06-05)
1.0.67 (2018-06-05)
1.0.66 (2018-06-05)
1.0.65 (2018-06-05)
1.0.64 (2018-06-05)
1.0.63 (2018-06-05)
1.0.62 (2018-06-05)
1.0.61 (2018-06-05)
1.0.60 (2018-06-05)
1.0.59 (2018-06-05)
1.0.58 (2018-06-05)
1.0.57 (2018-06-05)
1.0.56 (2018-06-05)
1.0.55 (2018-06-05)
1.0.54 (2018-06-05)
1.0.53 (2018-06-05)
1.0.52 (2018-06-05)
1.0.51 (2018-06-05)
1.0.50 (2018-06-05)
1.0.49 (2018-06-05)
1.0.48 (2018-06-05)
1.0.47 (2018-06-05)
1.0.46 (2018-06-05)
1.0.45 (2018-06-05)
1.0.44 (2018-06-05)
1.0.43 (2018-06-05)
1.0.42 (2018-06-05)
1.0.41 (2018-06-05)
1.0.40 (2018-06-05)
1.0.39 (2018-06-05)
1.0.38 (2018-06-05)
1.0.37 (2018-06-05)
1.0.36 (2018-06-05)
1.0.35 (2018-06-05)
1.0.34 (2018-06-05)
1.0.33 (2018-06-05)
1.0.32 (2018-06-05)
1.0.31 (2018-06-05)
1.0.30 (2018-06-05)
1.0.29 (2018-06-05)
1.0.28 (2018-06-05)
1.0.27 (2018-06-05)
1.0.26 (2018-06-05)
1.0.25 (2018-06-05)
1.0.24 (2018-06-05)
1.0.23 (2018-06-05)
1.0.22 (2018-06-05)
1.0.21 (2018-06-05)
1.0.20 (2018-06-05)
1.0.19 (2018-06-05)
1.0.18 (2018-06-05)
1.0.17 (2018-06-05)
1.0.16 (2018-06-05)
1.0.15 (2018-06-05)
1.0.14 (2018-06-05)
1.0.13 (2018-06-05)
1.0.12 (2018-06-05)
1.0.11 (2018-06-05)
1.0.10 (2018-06-05)
1.0.9 (2018-06-05)
1.0.8 (2018-06-05)
1.0.7 (2018-06-05)
1.0.6 (2018-06-05)
1.0.5 (2018-06-05)
1.0.4 (2018-06-05)
1.0.3 (2018-06-05)
1.0.2 (2018-06-05)
1.0.1 (2018-06-05)
- add basic circleci config (0ce739b)
- add circleCI badge (4b508ff)
- add ssh fingerprint (35cf4e0)
- adding --detectOpenHandles to tests (7d5b056)
- seemingly a syntax error (d32fbf8)
- set correct company name (205dbd7)
- unify across libs (eeebfcb)
- update configs (1ac3bd9)
- update ignores (a70866e)
- update to circleCI enabled package.json (3a9389e)
- update typescript with better types and more (6607bad)
- add .github foler (5d793b9)
- Implemented into typescript (70b6760)
- linted the whole codebase to comply with tslint, added support for repeating groups within repeating groups, added a bunch of tests (4189cc1)
- New API, exports are done differently