These are our internal release notes, but why wouldn't we share something this important
2.7.1 - 26/10/2022
Use Go template in SFTP step's filename
Fix local environment config
2.7.0 - 11/10/2022
Dashboard: run CI on go 1.19
App: introduce mutex lock as pointer to avoid data races in all modules
App: data sending internal refactor for "Button" type
App: HTTP client has default timeout
App: new way of Javascript timeout handling (hoping for fewer leaking objects)
App: message queue refactoring q.Delete() calls
App: on error the queue item was stuck in certain cases
Dashboard: using our fork of otto javascript engine
App: Javascript step has includes(), startsWith() endsWith()
App: SFTP step creates the path if not exists
App: MySQL connections are kept per step and not per step running, resulting less connections open/close when running
App: Stop module: fix locking up
Dashboard: update branch to what's already on live dashboard server
Dashboard: compiler to always trim (+ trim project path from binary)
Dashboard: ES search improvements and code cleanup
Dashboard: faster dashboard stats query
Dashboard: Javascript tester will not crash the server (runs as separate process)
Dashboard: eventlog detail view search field
Dashboard: show running apps as LEDs on main dashboard page
Dashboard: fix multi-tab login handling (sessionStorage became single tab)
2.6.10 - 05/10/2022
fix SFTP input unconnected ids
2.6.9 - 05/10/2022
2.6.8 - 29/06/2022
Add regexp replace template function for templating
2.6.7 - 23/05/2022
Hotfix HTTP step not crashing on output
2.6.6 - 25/03/2022
App: don't fill disk with logs if can't send stats
Dash: removed unnnecessary log entry
2.6.5 - 09/02/2022
2.6.4 - 09/03/2022
App: Go template string functions: contains, hasPrefix, hasSuffix
App: Add HTTP step: result body to error message
App: Fix queue not copying array payloads
App: Fix concurrent writing of map
Dash: Eventlog pagination will provide data ignoring timestamps
2.6.3 - 08/03/2022
App: Don't send payload with every event
2.6.2 - 10/02/2022
Dash: Add eventlog verbose errors
2.6.1 - 02/12/2021
App: Fix FTPs checking if archive folder exists
App: FTP to not delete main folder if glob is empty
App: HTTP step was breaking event flow
Dashboard : Audit log was not showing what app OTA-ed
Dashboard: Build screen now shows accurate active/inactive toggles
Dashboard: Drag and drop fixed for Firefox and Safari
Dashboard: Editor will resize to full width
Dashboard: Fix environment editor back button
Dashboard: Fix several functionalities showing 404
Dashboard: Fixed copying interfaces to empty groups
Dashboard: Group deletion
Dashboard: Loader instead of showing old data
Dashboard: New app button now resets app filtering
Dashboard: Remember selected app on refresh
Dashboard: Reordering interfaces in group now possible
2.6.0 - 25/11/2021
Dashboard: inviting users to your organisation
App: slack attachments
Dashboard: hints will show only once
Dashboard: dashboard cache expiry in 3 months
Dashboard: more user onboarding banners
App: HTTP step fix for accepted status codes
Dashboard: Fix OTA process intermittently failing
App: Fix FTPS file not deleting if duplicated
2.5.5 - 13/10/2021
App: new module: Slack
App: new module: User Reference
Dashboard: invite user basic functionality
2.5.4 - 11/10/2021
Dashboard: websocket + cookies fix
2.5.3 - 11/10/2021
App: fix data race in sync chan
App: queue naming include step names
Dashboard: Register with Google, nicer registration page
Dashboard: Log in with Google on mobile
Dashboard: fix countries list
Dashboard: new welcome banners, better handling no orgs/apps
Dashboard: welcome hints popup
2.5.2 - 07/10/2021
App: removed step sending
2.5.1 - 06/10/2021
App: queue system fix - copy payloads
Dashboard: backend tweaks
2.5.0 - 06/10/2021
App: Memory based queue system
App: Refactored dashboard communication
App: FTP Input: handle 0 size files, don't crash on connection issues
App: HTTP Step: fixed body readying
App: faster json processing
Dashboard: new frontend architecture
Dashboard: build screen new group management UI
Dashboard: eventlog will search in sql as well
Dashboard: refactored cashing of dashboard graphs
Dashboard: user list to display all users
Dashboard: alert to reload on new frontend versions
Dashboard: only save interface declaration on actual change
Dashboard: better editor hints on startup, input dropdown module descriptions
Dashboard: cron input explainer
Dashboard: show running apps LED on organisation dashboard
Dashboard: fix disappearing input frequency inputs
Dashboard: fix back button size (not full width anymore)
2.4.0 - 20/09/2021
Dashboard: Login with Google
Dashboard: check if S3 bucket already exists (reliability)
Dashboard: elasticsearch code optimisation (reliability)
App: send alert when any step has error (if on)
App: send alert if input is "down" (folder inaccessible, http poll error...)
2.3.3 - 17/09/2021
Dashboard: Editor has all versions, can click through them
Dashboard: Fix vault saving versions twice
Dashboard: display expired cached diagrams empty
Dashboard: show banner on organisation dashboard when no apps defined
2.3.2 - 16/09/2021
2.3.1 - 16/09/2021
Dashboard: build list (i) icon with last modifier and date info
2.3.0 - 16/09/2021
Dashboard: Dashboard page is faster, thanks to indexing and caching
Editor: text editors are resizable
Codebase: Vault tool to run batch jobs on every client/app/interface
2.2.7 - 13/09/2021
App: HTTP step: fix on stuck after 204 status result
App: HTTP Listen input sync handling fix
App: FTP connection handling errors, retry on failure
App: Removed unnecessary template field from Parser
App: SQL step data sending fix when not array result
Editor: tempate tester =<.config>= tag support
Editor: autofocus on search field when adding step
Editor: search based on title not module internal name
Editor: new step name based on title not internal name
Build: Fix added interface not showing in group without refresh
Dashboard: App and interface counts: do not count deleted ones
Dashboard: Fix login redirect to first organisation
App: Event log: S3 Data to be retreived from the indicated bucket
2.2.6 - 03/09/2021
App: Refactor FTP / FTPs Input to handle Archive and Errors folders
2.2.5 - 02/09/2021
2.2.4 - 02/09/2021
Dashboard: Use AWS S3 buckets to save payload data
App: Fix FTP input not renaming files
2.2.3 - 25/08/2021
App: HTTP steps to return status of last request
App: FTP(S) input handling Response step's codes (errors folder)
Dashboard: UI: Editors replaced by Monaco
Dashboard: Event log details render text better
Dashboard: Billing frontend for organisation dashboard
App: Alert (slack or/and email) on interface errors when configured
Dashboard: Build list: app interface groups
Dashboard: Event list selection showing current/last detail
2.2.2 - 16/08/2021
Codebase: fix frontend linting (internal, for CI to kick in)
2.2.1 - 16/08/2021
Dashboard: Billing backend
Dashboard: Registrations will expire
App: SQL module locking fix
App: App doesn't fully block up on one interface locking
Dashboard: Event log live mode turned off on filter change
Dashboard: Users list correctly showing on org dashboard
Dashboard: Editors changed from CodeMirror to Monaco
Dashboard: App groups backend
App: interface alerting fixed
Dashboard: Condition tester
Dashboard: Javascript and template tester fixes
2.2.0 - 29/07/2021
Dashboard: Switched to Elasticsearch: full text search in payloads
Dashboard: Event log backlinks to build
Dashboard: Event log detail view scroll behaviour fix
Dashboard: Colouring payload pills on event log detail view
Dashboard: Event log detail view now displays steps with step icons
Dashboard: Event log detail syntax highlight and full height
App: FTP poll input to read file correctly
Dashboard: Fixed version fetching for dirty builds
Dashboard: Invoicing preparations
Dashboard: New status page with real live info
Dashboard: Fix back arrows behaviour
App: Enforcing unique step labels by adding dots dynamically
App: JSON sending NaN issue fixed by using different JSON encoder
Dashboard: Show real IP in logs, switch to JSON logging for Kibana
Dashboard: Show selected row in eventlog by clipping the status icon
Dashboard: Fix dashboard timestamp issues for more accurate graphs
Dashboard: Fix event graph view
App: Loop and Jump steps fixes
App: SQL step: return last insert id and affected rows, report failed sql
Dashboard: Editor node is restarted when using too much memory
Dashboard: Ingest node a bit more silent into logs
App: SQL escaping {{sql .tag}} will encode null to NULL
2.1.11 - 21/07/2021
App: fix FTP client step error handling
Dashboard: template tester copies template to test to editor
Dashboard: eventlog error messages are well formatted
2.1.10 - 15/07/2021
App: fix FTP client step error handling
Dashboard: show html docs links on steps as well
App: remove Parsing XML: from slog
App: remove slog from m2 stock module
App: try to limit number of open files a bit
App: http listen input sends data in correct format to dashboard
Dashboard: fix event_id paginated parts in mongodb
App: new logic for generating IDs
2.1.9 - 14/07/2021
App: New module: SQLite
Dashboard: Changed name of Sync Out to Response
Dashboard: More lightweight javascript tester
App: Fix crash on queue item save erroring
App: Fix sql module output issue
2.1.8 - 12/07/2021
Dashboard: fix indexer - app hash bug
Dashboard: introduced Javascript tester (JS Tester link above javascript code)
Dashboard: correct size calculation based on mongodb overhead
2.1.7 - 09/07/2021
App: new module: Status
Dashboard: event log records errors correctly
App: app messaging cleanup
2.1.6 - 09/07/2021
App: fix file input module: check for new files
2.1.5 - 09/07/2021
App: fix file input module not picking up file content
2.1.4 - 08/07/2021
App: error sending and displaying fixes for eventlog
App: javascript step: handling errors
Dashboard: minor tweak for font size in eventlog detail header
Dashboard: data microservice is more flexible with sent data
2.1.3 - 07/07/2021
App: http step: fix messaging of errors
Dashboard: eventlog will display errors and warnings consistently
2.1.2 - 07/07/2021
App: paginate: fix interface not done
Dashboard: show all pages in data detail view
App: send data only if we have something to send
2.1.1 - 07/07/2021
App: csv reader parser handling EOF gracefully
Dashboard: File module to check for empty files and warn about them
Dashboard: data node to find paginated content for detail view
2.1.0 - 07/07/2021
Dashboard: visibility improvements: reworked event details and data sending
App: stability improvements: less ways to crash an app
App: more accurate step counting
Dashboard: handling user permissions on dashboard
Dashboard: publish and download binary buttons will be able to report compilation problems
App: handle tick input code error without crashing / send error to server
Dashboard: event log: error message has a copy to clipboard button
App: simulator queue items can be edited
App: Parser handling EOF better
App: SQL poll step simulator output fix
App: Email step: Mailgun support (EU domain) 2.0.7 - 10/06/2021
App: App reconnects a bit more gracefully
Dashboard: Ingest node doesn't crash on non paginated package ids
Dashboard: MySQL server reconnect handling is more resilient and doesn't flood server
App: File input module can handle empty error and archive folders
2.0.6 - 28/05/2021
Dashboard: Live mode now uses ids instead of timestamp
Dashboard: Ability to see payloads from eventlog screen
App: Fix several ways to crash apps
Dashboard: Help button
Dashboard: Registration screen T&C
Dashboard: UI: switches are turning green when on
2.0.5 - 27/05/2021
Dashboard: Fix newsletter table declaration
Dashboard: Fix live mode in eventlog
2.0.4 - 27/05/2021
App: Fix data sending settings
Dashboard: Adapt pagination so it will send done to ingest node
Dashboard: Newsletter subscribers will be tracked
Dashboard: Help button goes to Slite
Dashboard: UI Background behaves better
2.0.3 - 27/05/2021
Dashboard: Fix build for indexer change
2.0.2 - 27/05/2021
Dashboard: Fix indexer not starting
2.0.1 - 27/05/2021
Dashboard: Report admin/build flags on log in
Dashboard: Fix /user/client/usage/{clienthash}
endpoint declaration
Dashboard: Add admin permission to session on organisation creation
Codebade: Gitignore generated version.json file
2.0.0 - 26/05/2021
Dashboard: New UI design (Vuetify!)
App: Data sending refactored
Dashboard: Billing info based on steps and sizes (WIP)
Dashboard: New dashboard
Dashboard: Registration and user permissions control
Dashboard: Loop and If steps
Dashboard: Alerting via email or slack
1.17.25 - 18/02/2021
App: M2 Product: website ids are inserted and updated now
1.17.24 - 18/02/2021
App: M2 Product: Added flag to only insert name if new product created
1.17.23 - 15/02/2021
App: M2 Product: Changed PID to RID to fix attribute wrong insert query
1.17.22 - 12/02/2021
App: FTPS Input: updated sync handling, refactor
1.17.21 - 11/02/2021
App: Fix OTA and killing app (^C)
Dashboard: MongoDB / AWS DocumentDB support
App: FTPS Input: Fix module settings
1.17.20 - 03/02/2021
App: SQL step: fix losing data when multiple results and multiple waiting input packets
App: M2 Product: make product node compatible with M2 EE (CE will need work on)
App: M2 Price: fix several minor issues and if no website given use default store
App: M2 stock: update only warehouse manage_stock
App: FTP(s) input module sync in handling, error folder
1.17.19 - 28/01/2021
App: M2 stock: update only warehouse manage_stock
App: M2 price: index prices after setting
App: avoid stuck upgrades by lightweight stop
App: DataMapper: fix crashing datamapper on invalid payload
1.17.18 - 27/01/2021
App: M2 stock added set manage_stock functionality
Dashboard: Fixed Formatting Error and Fixed Failing Test
1.17.17 - 27/01/2021
App: M2 stock module fixed functionality
Dashboard: add updated_at to build list
Dashboard: update db on interface save
1.17.16 - 26/01/2021
App: M2 stock: fix SQL (removed ;)
1.17.15 - 26/01/2021
App: M2 Stock: adding product to website if stock is present
App: M2 Price: fix price updates
App: FTP poll: use remote FS commands instead of local ones
1.17.14 - 25/01/2021
App: M2 Price module: price update SQLs, fixed tests
App: M2 Product module: product updates using on duplicate SQLs
1.17.13 - 22/01/2021
FTP only mode in FTP poll input
1.17.12 - 22/01/2021
FTP poll input fixes
App: FTP poll input icon
1.17.11 - 18/01/2021
App: M2 Stock fix selecting old quantity
1.17.10 - 15/01/2021
App: M2 Stock new switch for incremental stock changes
1.17.9 - 14/01/2021
App: M2 Stock another small SQL fix
1.17.8 - 14/01/2021
App: M2 Stock simple SQL query fix for updates
1.17.7 - 14/01/2021
App: M2 Stock SQL query fixes
1.17.6 - 13/01/2021
Dashboard: fix editor missing update (run editor go generate an protoc)
1.17.5 - 12/01/2021
Codebase: fix release (last one was on the wrong branch)
1.17.4 - 12/01/2021
App: M2 stock module Advanced Inventory support
1.17.3 - 06/01/2021
App: added FTP(s) input step
App: fix SQL error handling
1.17.2 - 17/12/2020
App: fix jump step's locking behaviour
App: fix stopping with ^C and with OTA
1.17.1 - 16/12/2020
App: add TLS option to FTPS step
Dashboard: fix deletion-related SQL issues
Dashboard: fix editor and env editor vuex issues
1.17.0 - 16/12/2020
Dashboard: fix z-index of editor add step drawer
Dashboard: Rework app and interface deletions
Dashboard: Add indexer delete app and intf from vault + fix db funcs
Dashboard: clean up frontend pages folder a bit
Dashboard: refactor editor and move components around a bit
App: fix force refresh, add auto-save callbacks
App: ftp step using content with templates
1.16.8 - 09/12/2020
1.16.7 - 09/12/2020
Dashboard: change condition: or to and to fix empty ok check
1.16.6 - 09/12/2020
Dashboard: fixed status node for app deletion
1.16.5 - 09/12/2020
Dashboard: fixed status node behaviour, status list updates on the fly
1.16.4 - 08/12/2020
App: sql module: fix empty ok when is array set
App: send data module: add send all data option
1.16.3 - 01/12/2020
App: really fix stop debug command
Dashboard: removed stripe js from frontend until we need it
1.16.2 - 25/11/2020
App: fix stop debug command
1.16.1 - 25/11/2020
App: error handling in movepacket
Dashboard: deleting items from simulator
App: forward http status from sync out to http listen
App: sync out uses condition from now on
Dashboard: data node not to return with 401
1.16.0 - 23/11/2020
Dashboard: help bubbles with helpcenter snippets
Dashboard: build list: fix copying environments and interfaces
Dashboard: fixed debugging apps:v finding app and sending data back
1.15.12 - 16/11/2020
Dashboard: status list fixed
Dashboard: multi-line input in environment variables
Dashboard: fix deleting/renaming apps
App: debug enabled only when available, fix arguments
1.15.11 - 11/11/2020
Dashboard: fix create app button
App: make send input switch work in input modules
App: sql input module in simulator from pasted tab separated data
Dashboard: show empty apps in build list
1.15.10 - 09/11/2020
App: HTTP step: set ID for new packets
Dashboard: app node WIP
App: log read IDs from queue correctly
1.15.9 - 09/11/2020
App: fix app crash at NewQueue
1.15.8 - 09/11/2020
Dashboard: fix build list getting first interface hash
Dashboard: fix simulator deleting packet from modules
App: debug senddata and payload registry
1.15.7 - 09/11/2020
Dashboard: Editor Build List: fix app and interface renaming, interface ordering
1.15.6 - 09/11/2020
Dashboard: vault uses hashes
1.15.5 - 06/11/2020
App: queue naming fix: name queue after app binary to avoid clashing
1.15.4 - 05/11/2020
Codebase: fix last release
1.15.3 - 05/11/2020
Dashboard: fix mail sending database access
1.15.2 - 05/11/2020
1.15.1 - 04/11/2020
App: add template processing to M2 Product config
1.15.0 - 04/11/2020
Dashboard: new registration page and email activation
Dashboard: add editor steps with drag and drop
App: fixes for M2 Stock and M2 Product module
1.14.0 - 03/11/2020
App: use persistent queue in apps
App: silent mode inputs (cron and http poll auth shouldn't spam ingest node)
App: M2 Stock and M2 Product modules
Dashboard: fix for / in names (not breaking vault anymore)
App: simulator payloads can be deleted one by one
App: send disk space stats to ingest node (WIP, needs processing on server side)
Dashboard: OTA visual feedback and error reporting
1.13.11 - 30/10/2020
App: fix http step again, deleting queue item after processing
App: silent mode in inputs: not sending events if true
App: clearer app debug messages for several modules
App: check if queue list is empty before accessing the first for pushing
1.13.10 - 30/10/2020
App: fix http step fix
App: M2 product module
1.13.9 - 29/10/2020
App: critical fix for http step moving packet too late
Codebase: fix CI name for staging
1.13.8 - 29/10/2020
App: fix condition for saving into queue
App: fix config values
Dashboard: add toast for simulator errors
Dashboard: new build method for build node
1.13.7 - 26/10/2020
Dashboard: fix header editor in http
Dashboard: fix simulator steps using environment variables
1.13.6 - 22/10/2020
Dashboard: hotfix for app deployment
1.13.5 - 19/10/2020
Dashboard: fix app input step's output queue
1.13.4 - 18/10/2020
Dashboard: fixed and simplified editor styling
1.13.3 - 16/10/2020
Dashboard: fix simulator
Dashboard: UI refinements in editor
Dashboard: status node
1.13.2 - 15/10/2020
Dashboard: fixed interface creation and deletion
Dashboard: fixed recipe selector
1.13.1 - 15/10/2020
Dashboard: fixed status node
Dashboard: recipe selector WIP
Dashboard: refined UI for editor
1.13.0 - 15/10/2020
Dashboard: refactor editor handlers
Dashboard: fixed client creation
Dashboard: small developer environment sql fix
build list UI tweaks
Dashboard: experimental Recipe UI
Dashboard: rename app (don't use on all builds)
App: started "send input/output" (WIP, needs module specific code)
Dashboard: fix password saving from user admin
Dashboard: status node fixes WIP
Dashboard: minor frontend packages cleanup
Dashboard: backend for data search
App: try panic recover techniques in apps
Dashboard: simulator fixes
1.12.0 - 12/10/2020
App: send data step with data mapper
Dashboard: release before send output (reverted to 7/10/20 state)
1.11.0 - 01/10/2020
Dashboard: Fixed most build list functionality, using hashes
Dashboard: Log in with email
App: HTTP step using Parser
App: SQL step simplified and tested
App: various small fixes
Dashboard: Data mapper in use
1.10.0 - 22/09/2020
Dashboard: Vuetify based frontend
Dashboard: login with email, no more usernames
Dashboard: fixed OTA workflow
App: queue system fixes
Dashboard: mongodb fixes
Dashboard: fix in user saving
Dashboard: fix build system again
App: memory allocation reporting
App: M2Stock module using datamapper
App: TLS option for http_listen input
App: fixed xml parsing
App: fixed template parser
1.9.1 - 07/09/2020
Dashboard: Fix ingest node, if mongodb is not defined don't panic
Dashboard: Added audit log to build endpoint
1.9.0 - 04/09/2020
App: new modules: m2stock, data sending (WIP)
Codebase: CI deploying master
Dashboard: data mapper concept
App: fixed javascript array
Dashboard: frontend refactored CoreUI
Dashboard: registration process (WIP)
Dashboard: mongodb data storage
App: events sending implemented
Dashboard: events dashboard
Dashboard: organisations list
1.8.1 - 01/03/2020
Dashboard: editor node works, static (generated) jsons
Dashboard: deleted user in backend
1.8.0 - 28/02/2020
Dashboard: Editor started working
Dashboard: Build node works
Dashboard: New frontend architecture with axios and vuex
1.7.1 - 31/01/2020
Dashboard: Reimplemented on CoreUI WIP (editor broken yet)
Dashboard: new logo
Dashboard: server architecture documentation
1.7.0 - 27/01/2020
Dashboard: reflect branding changes
App: refactoring modules to use readers
Dashboard: logging changes to reflect refactoring
Dashboard: indexing payloads for search
App: file (leveldb) based queue is back
1.6.5 - 19/11/2019
App: redirect back to page after session timeout login
App: save editor into browser local storage before redirecting to login
App: warn about user creation missing setup steps (WIP)
1.6.4 - 19/11/2019
App: Fix SQL module Fetch All (one payload as array) not to send many bundles
1.6.3 - 19/11/2019
App: revert to underscore.js
1.6.2 - 19/11/2019
App: Javascript to use lodash.js instead of underscore.js
1.6.1 - 18/11/2019
UI for resetting password WIP
Javascript module
1.6.0 - 13/11/2019
Dashboard: new editor, WIP
App: HTTP GET request, return is from out_sync
Dashboard: removed CoreUI, native dashboard
1.5.1 - 06/10/2019
Dashboard: click through charts to events
Dashboard: session stays active
Dashboard: chart tooltips
1.5.0 - 05/10/2019
Dashboard: new navbar theme
Dashboard: data and errors barchart
Dashboard: date filter on dashboard for charts and counts
1.4.0 - 04/10/2019
Dashboard: microservice architecture
Dashboard: store certain data in mysql instead of mongodb
Dashboard: server environment: grafana, prometheus
Dashboard: redis session handling
1.3.1 - 19/09/2019
Dashboard: show weekly numbers in dashboard (7 days rolling)
1.3.0 - 13/09/2019
App: removed bogus sync limit
App: M2 helper: set product status
App: Add option value into eav_attribute_option_swatch
table - fixing swatch
App: better error messages in modules
App: fix SQL counter
App: sftp client error handling
App: Implement memory based queue system
App: Add template and rename template file to sftp_client step
Dashboard: Traefik based server setup
Dashboard: New editor in dashboard
Dashboard: Vault based authentication
Dashboard: Storing all client configuration in vault
1.2.0 - 26/02/2019
App: "Switch" step instead of condition
App: Lock queue to avoid write issues
App: Error handling in combine items step
1.1.1 - 21/02/2019
Dashboard: slack/email warning on broken LIM websocket
1.1.0 - 21/02/2019
App: handle empty dashboard templates better
App: pagination step based on reflect
1.0.1 - 21/02/2019
Dashboard: Logout functionality
1.0.0 - 20/02/2019
Dashboard: New dashboard design
App: Real-Time queue sizes of new LIM processes
Networking: Websocket+websocket communication (LIM->Dash->Browser)
Dashboard: Dark theme
Event log: Pagination even in search results
0.7.0 - 31/12/2018
New flow logic - experiments with flow based programming
Basic step modules (all output modules from POC)
0.6.0 - 31/12/2018
Change log for this POC (codebase will survive!)
Module structure
Experimental transformation module