CHANGELOG (5692B)
1 - 0.3.1 2 * Add state details to end vm run output 3 * Store last failed symbol in vm for debug. 4 - 0.3.0 5 * Remove db prefix from data dumper results. 6 * Add transactional interface for db. 7 * Implement transaction rollback for postgres db on errors. 8 - 0.2.3 9 * Node navigation traversal module with pluggable code hooks. 10 * Developer tool to generate node navigation map. 11 * Expose code to manually trigger state rewind (asm: MOVE ^) 12 * Add gettext resource handler for menu and template. 13 * Fix premature close of postgres data dumper 14 * Expose session id in structured logger when using context 15 * Enable custom key-value pairs in context for structured logging 16 - 0.2.2 17 * Customizable menu separator 18 * Make available node movement direction detection in state object. 19 * Add data dumper iterator for the db interface 20 * Implement data dumper for gdbm, postgres, fs db. 21 - 0.2.1 22 * Add lateral navigation indicator in State 23 * Fix wrong key usage in postgres. 24 * Add date updated field in postgres. 25 - 0.2.0 26 * Remove Init from engine interface, allowing input to be passed in all parts of engine execution. 27 * Rename engine interface WriteResult to Flush. 28 * Remove need for Exec before Loop 29 * Add initial input option for Loop 30 * Enable alternate input validators if default validator fails. 31 * Use template as output by default on empty bytecode terminate. 32 * Extend engine execution states (execd) 33 * Automatically discard render when Exec called without Flush. 34 * Fix sizer bug not including newlines in lateral navigation alternatives. 35 - 0.1.0 36 * Data storage interface (db.Db) with implementations for memory (db.memDb), filesystem (db.fsDb), gdbm (db.gdbmDb) and Postgres (db.pgDb). 37 * Replace resource.FsResource and resource.MemResource with resource.DbResource using corresponding db.Db backend. 38 * Pre-VM EntryFunc hook to allow execution prevention (e.g. blocked access). 39 * Base HTTP server engine interface. 40 * Tool to collect templates, code, menus with translations to a single gdbm file, usable with db.GdbmDb. 41 * Invalidation option for state and cache to prevent accidental persistence when not desired. 42 * Flag parser that loads flags with string identifiers, values and descriptions from a csv file. 43 * Add preprocessor to assembler tool to enable use of flag parser (CATCH and CROAK statements). 44 * Use last cached value on clean exit without remaining code. 45 * Add missing go.sum file. 46 * Single constructor for engine with automagical handling for state, cache and persistence. 47 * State constructor returns pointer. 48 * Prevent endless state move recursion. 49 * Ensure SessionId and Language is available in context in all engine execution branches. 50 * Reduce cache usage size correctly on reset. 51 * Add flush state and cache option for persister on save. 52 * Remove dead code from asm package. 53 - 0.0.15 54 * Add comprehensive documentation with texinfo. 55 * Prevent cursor leak in sizer. 56 - 0.0.14 57 * Add language support for menus. 58 * Support for multi-page menus (only works for template renders without a sink). 59 * Executable example for multi-page menus. 60 * Fix broken menu batch instruction assembly. 61 - 0.0.13 62 * Panic instead of error when interfacing out-of-bounds state flags. 63 * Reverse catch mode, true/1 now means test set instead of reset. 64 * Make context first arg in method where it is used. 65 * Add application defined status code to external symbol result. 66 - 0.0.12 67 * Add volatile resource.MemResource implementation 68 * Enable registering error string in renderer for display. 69 - 0.0.11: 70 * Language context for external symbol and template lookups. 71 * Implement language selection via config and bytecode execution. 72 - 0.0.10: 73 * Add control symbol resolution to the MOVE instruction. 74 * Make persist properly recover non-root states. 75 * Implement persistent state engine. 76 - 0.0.9: 77 * Change module path to git.defalsify.org/vise.git (added .git postfix). 78 * Add previously missing WARN loglevel. 79 * Replace bash script with Makefile for examples compilation. 80 * Remove residual menu upon symbol change without render. 81 * Add context-sensitive logger interface. 82 - 0.0.8: 83 * Add license file 84 * Add features description in readme. 85 * Define offset visible for application for definable state flags. 86 * Add hello world example. 87 * Allow special targets for catch. 88 - 0.0.7: 89 * Restart state and engine on empty termination code (start from top). 90 * Add no-move transition option, replaying current node. 91 - 0.0.6: 92 * Flush code buffer on catch 93 * Catch empty code after init 94 * Ensure passthrough of wildcards when have match in INCMP handler. 95 * Add profile menu example. 96 * Rename project from "festive" to "vise" 97 - 0.0.5: 98 * Ensure correct entry point for persisted runner. 99 * Allow special target "ascend" ("_") in catch code. 100 * Add input to external code handler interface. 101 * Add persistent state engine runner method. 102 * Move source files to root directory. 103 - 0.0.4: 104 * Enable choice of writer for render in engine loop. 105 * Catch browser beyond start. 106 * Handle browse (pagination) inputs. 107 * Add menu render to sizer calculation. 108 - 0.0.3: 109 * Synchronize cache stack with state stack in vm runner execution. 110 * Terminate on EOF if not checking input (INCMP). 111 * Add file source alternative for external symbols in fs resource. 112 * Factor out engine loop code. 113 * Enable stateful rendering through vm object. 114 * Factor out menu handlig. 115 * Make browse menu options conditional on browse state. 116 * Add sink symbol splitting (fills remaining space). 117 - 0.0.2: 118 * Add termination handler in engine. 119 * Ensure initial display when engine first executed (output from engine.Init) 120 * Add batch menu command handling for asm. 121 - 0.0.1: 122 ยช Create base components.