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