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