# [7.18.0](https://git.datacontroller.io/dc/dc/compare/v7.17.0...v7.18.0) (2026-10-19) ### Bug Fixes * **deps:** bump @sasjs/core to 5.4.0 ([19fb032](19fb032f0d)) * **deps:** pin @sasjs/utils and drop the unused jsrsasign ([05d2d1e](05d2d1e08e)) * **editor:** own the delete-record column client-side ([56025cc](56025cc052)) * **editor:** surface the reserved-column refusal on every getdata path ([b26f557](b26f5571b6)) * **filters:** do not turn a fractional temporal value into a literal ([f710d87](f710d871ff)) * **filters:** fix the dynamic where clause deref and map its temporal values ([ece67d3](ece67d37ba)) * **filters:** keep the range field readable and cover a BETWEEN in the rewrite ([be79f3a](be79f3a1ea)) * **filters:** map an IN entry to its unformatted value before the literal ([8f98ebe](8f98ebe326)) * **filters:** stop the temporal rewrite corrupting a typed value, and bind the range dropdown to the unformatted value ([a5f61d4](a5f61d4a73)) * **filters:** use the unformatted value in every IN branch ([cc01f54](cc01f540c2)) * **makedata:** shorten the DC_MAXCELLS_WEBEDIT description to fit var_desc ([a51d9e5](a51d9e5574)) * **multi-dataset:** surface the reserved-column guard, use the name constant ([2b8a2fa](2b8a2fa103)) * **release:** emit the release body as raw text, not a JSON string ([a05554e](a05554e67a)) ### Features * **filters:** show dates as date literals in the filter query ([662d000](662d00032c))
Data Controller for SAS
Control your manual data modifications!
Alternatives to Data Controller include:
- 💾 Developing / testing / deploying / scheduling overnight batch jobs to load files from shared drives
- 🔒 Opening (and locking) datasets in Enterprise Guide or SAS® Table Viewer to perform direct updates
- ❓ Asking a #DBA to run validated code after a change management process
- 🌐 Building & maintaining your own custom web application
- 🏃 Running #SAS or #SQL updates in production
Problems with the above include:
- Legacy 'black box' solutions with little to no testing, documentation or support
- End users requiring direct write access to critical data sources in production
- Upload routines that must be manually modified when the data model changes
- Breaches due to unnecessary parties having access to the data
- Inability to trace who made a change, when, and why
- Reliance on key individuals to perform updates
- Building bespoke ETL for every new data source
- High risk of manual error / data corruption
Data Controller for SAS® solves all these issues in a simple-to-install, user-friendly, secure, documented, battle-tested web application. Available on Viya, SAS 9 EBI, and SASjs Server.
An individual Viya deploy can be done in just 2 lines of #SAS code!
filename dc url "https://git.datacontroller.io/dc/dc/releases/download/latest/viya.sas";
%inc dc;
For a multi-user deploy, using a shared system account, please see deploy docs.
For further information:
- Main site: https://datacontroller.io
- Docs: https://docs.datacontroller.io
- Code: https://code.datacontroller.io
For support, contact support@4gl.io or reach out on Matrix!
Development
Lighthouse CI
This project includes automated Lighthouse performance and accessibility checks that run on pull requests. The checks ensure:
- Accessibility Score: Minimum 1.0 (100%) median score across all tested pages
The Lighthouse CI workflow:
- Sets up the development environment with SASjs server and mocked services
- Builds and serves the Angular frontend
- Installs Chrome and runs
lhci autorun(Lighthouse CI) against key pages - Uploads results as artifacts for review
To run Lighthouse checks locally:
cd client
npm install
npm run lighthouse
Configuration is in client/lighthouserc.js (URL list, desktop preset, Chrome flags, assertions).