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