Releases: TekMonksGitHub/monkshu
v3.00
What's Changed
There are too many changes but some are listed below
- HTTP/2 support across the entire code base.
- Cluster memory much more stable
- Distributed blackboard with distributed computing updates
- Session failover with better JWT tokens
- Full SSL support and default SSL enabled mode for development
- Database drivers
- Remote logging
- Email module in the server
- Java support for Java based APIs
- Electron support
- PWA support
- Load balancer for native clustering
- lots and lots of bug fixes...
Contributions
- PageData FIxes by @sridharan-dlt in #35
- HTTP/2 server upgrade by @ankit-saxena-deeplogictech in #39
- Add in error response in rest api call by @ankit-saxena-deeplogictech in #40
- Fixing path in addAPI function by @ankit-saxena-deeplogictech in #41
- sslObj check for http2 by @Sasidhar-dlt in #43
- typo in cluster sh by @sid-dlt in #46
- handle 504 status by @Sasidhar-dlt in #47
- minor fix in jsondecoderencoder by @Bhaveshdhapola in #49
- Enhance error handling and timeout management in test execution by @Sasidhar-dlt in #52
- use tokenmanconf for expiryInterval by @Bhaveshdhapola in #51
New Contributors
- @sridharan-dlt made their first contribution in #35
- @ankit-saxena-deeplogictech made their first contribution in #39
- @Sasidhar-dlt made their first contribution in #43
- @sid-dlt made their first contribution in #46
- @Bhaveshdhapola made their first contribution in #49
Full Changelog: v2.95...v3.00
V3.00 Pre Release 2
Pre-release 2 for V3.0.
HTTP2 support should be much more mature now. However a dynamic HTTP1/HTTP2 client would be better.
V3.00 Pre Release 1
Pre-release 1 for v3.00.
HTTP2 upgrade is the most major feature for V3.
Release 2.95
Emergency fix release for cross-site reflection vulnerability.
Reference: GHSA-hcpx-66hq-7g4x
Release 2.90
Log is below for various fixes and new features since v2.50.
- Update README.md
- Added in Mustache function for session and makeLink was renamed to _o… …
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- Fixes to decode URL in router.
- Fixes to API manager and Web component memory subsystem.
- Fix bindData to wait for render.
- Router's pageLoadFunctions should use base URL and await.
- Allow web component module to list all instances of the element on th… …
- router's getCurrentURL should decode before sending result back.
- APIManager to send complex objects as urlencoded JSON. Router will pa… …
- Add in windows tools to create and remove links.
- Session will watch its state and auto commit. Monkshu components will… …
- Upgrade backend logger. Sync log and other fixes.
- Fix logger. If the log file is not writable, gracefully log to the co… …
- Cache control changes and backend logger fixes.
- Added ability to cache into API Manager.
- Cleamup comments for API Manager.
- Cleanup and code update for backend (#17) …
- Add caller IP, port to httpd logs for back and frontends.
- Fix launch.json for vscode.
- Fix error in truncate func LOG.js for backend, and add in recursive c… …
- Add in auto chrome profile deletion.
- Update .gitignore for mac.
- Change sh files to executable on *NIX.
- Add ability to send 302 from HTTPD on frontend.
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- Fix XHR for JSON payloads.
- Cleanup Chrome dir across Mac, Linux and Windows.
- Pass URL to load page handlers
- Add stack trace for backend API exceptions.
- On element disconnected delete it from module list.
- Add in secure options to rest.js and support command-line execution (#18 …
- Fixes to cluster memory (#20) …
- Add in cluster launchers.
- Update release file (#21) …
- Add in crashguard and service files
- Fix service name in the service file
- Capture console error to logs for backend.
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- Update API registry example - keys param corrected.
- Allow blackboard publish to be async so publisher can wait if they want.
- Added listeners for global and cluster memories. App init is now 2 ph… …
- Minor cleanup.
- Add mklink for Linux
- Add in rmlink.sh for Linux
- Add run script for Linux
- Add Linux stop script.
- Fix default replica for distributed memroy to localhost, so it at lea… …
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- Add launcher for both backend and frontends for windows.
- Better windows bat files. Added stop for windows.
- Allow i18n to figure out default session language.
- Added index navigation to router and minor cleanup.
- Ignore Chrome debug.log file.
- Router changes - refactor page load and page data functions and add s… …
- Add wildcard URL support for interceptors.
- Fixes to the router's handler functions.
- Convert console log object to string if needed.
- Allow logs to be flushed and other log fixes.
- Fix for jwttokenmanager to use clustermemory (#24) …
- README should show the dependency for Mustache.
- Update README.md
- Enable frontend API manager to call binary APIs.
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- Allow JWT token handling within apps.
- Router should add session variables to page data.
- encodeURL should return protocol as well.
- Can't store session in page data. It sets up recursive loop.
- Very minor cleanup.
- PFX Passphrase should be encrypted (#27) …
- Token managers should send valid reasons when security checks fail.
- Add in module name info if security fails.
- Fix broadcasting the reason for security check fails.
- Move sh scripts to she bang to bash.
- Better markdown formatting for code snippets (#28)
- Add in launchers for frontend cluster (#29)
- Support listening on IPv6 host out of the box (#30)
- Align input for raw and json APIs.
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- Allow listeners for JWT token manager.
- Add reload capability to Monkshu components.
- Fix timing erros due to missing awaits in render in Monkshu components.
- Remove deprecated url.parse from frontend server.
- Add in extensions support for the frontend. Move redirect to extension.
- Add in extensions docs for httpd readme.
- Add in HTTP client. Move REST to rely on it.
- Add httpClient to frontend. Fix how we logically synlink code.
- Minor cleanup.
- Cleanup of the HTTP client.
- Better REST client, better extension support. Proxied APIs.
- Add in disk caching, and proxy support - frontend.
- Update diskcache.js
- Fix crypt.js
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- Reexport main from crypt.js
- Fix launchers to find files quicker.
- Add in support for setting up httpd.conf from apps
- Fix to diskcache extension for RE matching.
- Modify docs for dontcache.
- Move backend to use URL class instead of legacy URL.
- Minor comment to clarify an APIRegistry method.
- Allow returning extensions from API registry.
- Cleanup forEach to for of
- Minor cleanup on apiregistry.js
- Fix to utils in backend server. Need OS module.
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- Fix page load and data load functions' URL parsing
- Add in LetsEncrypt renewal scripts.
- Fix SSL cert handling for HTTPDs.
- Match frontend's httpd.readme for changes to SSL.
- Minor cleanup.
- Modify letsencrypt pre & post scripts for new SSL.
- Create codeql-analysis.yml
- Update issue templates
- Modified mklink to support multiapps
- Merge branch 'master' of https://github.com/TekMonks/monkshu
- RE based proxy. Add in virtual host routing example for frontend.
- Add in README for default_app.json.
- Update default_app.json.README
- Minor cleanup.
- Add in modified app scripts
- Add in URL rewriting extension.
- Update HTTPD documentation
- Rewrite redirect extension.
- Fixes to the redirect extension
- Minor cleanup
- Minor cleanup for apiregistry.
- Better error handling. JWT token manager header injection externalized.
- JSON decoder to throw exception on bad JSON.
- Encrypter and decrypter can use custom keys.
- Better access control for JWT tokens using subs.
- Minor cleanup
- Tighten up JWT token header parsing.
- Minor cleanup - code conventions
- Minor cleanup.
- List APIs for API registry should list everything + Better JWT header… …
- Fixes to addAPI and deleteAPI functions.
Release 2.8
Log is below for various fixes and new features.
- Added in Mustache function for session and makeLink was renamed.
- Fixes to decode URL in router.
- Fix bindData to wait for render.
- Router's pageLoadFunctions should use base URL and await.
- Allow web component module to list all instances of the element on the page using getAllElementInstances
- Router's getCurrentURL should decode the URL before sending result back.
- APIManager to send complex objects as urlencoded JSON.
- Router will pass in data models used to render page, to page loaded handlers.
- Session will watch its state and auto commit.
- Monkshu components will have session memory as well which survives refreshes.
- Upgrade backend logger. Time synchronous logging.
- Fix logger. If the log file is not writable, gracefully log to the console.
- Cache control asks for revalidate by default.
- Added ability to cache results the the API Manager.
- More ES6 compatible code with cleanups.
- Add caller IP, port to httpd logs for back and frontends. servObject.env contains remote host, port and agent as properties.
- Fix error in truncate func LOG.js for backend to truncate large entries.
- Add in recursive copy in backend server utils.
- Add in various OS launches (.bat and .sh)
- Add ability to send 302 from HTTPD on frontend for easy redirect sites.
- Fix XHR library for JSON payloads.
- Pass URL to load page handlers
- Add stack trace for backend API exceptions.
- Add in secure options to rest calls
- Support direct execution
- Normalize filepath and use shared process memory
- Add in promisified rest.js
- Fix for deleteHttps method
- Modify rest.js to support callbacks and promises
- Fixes to cluster memory
Release 2.50
What's new in V2.50 aka "The InternetBaby"
Many fixes, see the commit log for the entire fix history.
(1) The backend HTTP server is much better and standards-compliant now.
(2) Ability to code RAW (non JSON) APIs.
(3) APIs can look at raw server object which contains raw incoming Request and Response objects.
(4) Ability to develop APIs which return binary or non JSON response (e.g. file downloads).
(5) Monkshu component has much richer API now to make it easier to write Web components.
(6) Small fixes to the router module for better URL handling.
(7) Monkshu components have inbuilt per component memory support now to support HTML5 sessions inside the component when there are multiple instances of the same component on the same page. Each instance will have its own session memory now.
(8) Added more error codes - 403, 429 for use cases with throttling or forbidden API calls.
(9) installApp.bat and installApp.sh are added to help to deploy Monksh apps a single step process from Git -> Prod.
And the biggest feature
Global distributed memory support with an integrated blackboard. This will allow Monkshu apps to work at Internet scale with a distributed memory that can span clusters across data centers and countries. Allows building SAS, internet-scale applications with minimal effort. See commit 1784701.
Release 2.0
Release 2.0 includes major improvements in the Web Components architecture, HTTP servers and the backend API engine.
-
The HTTP servers now include support for GZIP, easier support for HTTPS, and HTTP security headers. The effect should be in much faster performance, reduced data size due to GZIP compression and much better security.
-
Much better Web Components support with improvement to the Web Component architecture.
-
Backend API server now includes a pluggable API engine. Which allows for adding in native support for API Management. JWT tokens are now supported for validation.
Many other changes which can be ascertained by comparing with the previous release for a list of commits.
Release 2.01
Pulls in bugs for the API management engine to allow applications to extend it properly.
Needed for APIBoss to work.
Much better and almost full support for HTML web components and templates
v1.95 - has full support for Web Components. Can render in "true" mode, which uses ShadowDOM or "simulated" mode, which uses single Document, no Shadow.
- Support for HTML templates
- Full support for Web Components
- ShadowDOM support
See monksearch for an example application at this URL -> https://github.com/TekMonksGitHub/monksearch