Uitsmijter logo
  • Articles 
  • Tags 
  • RSS 
  1. Home
  2. Articles
  3. Version 0.9.6

Version 0.9.6

Posted on October 31, 2024 • 5 min read • 859 words
Release
 
Changelog
 
Docker
 
Tooling
 
Namespace
 
Release
 
Changelog
 
Docker
 
Tooling
 
Namespace
 
Share via
Uitsmijter
Link copied to clipboard

Uitsmijter 0.9.6 introduces support for Docker-only environments, powerful new tooling commands, enhanced namespace management, and critical performance and compatibility updates, delivering a more efficient and streamlined experience for developers and administrators alike.

Version 0.9.6
Photo by DALL-E

Uitsmijter 0.9.6 Release: New Features, Improvements, and Fixes  

We’re excited to announce Uitsmijter version 0.9.6, packed with feature additions, enhancements, fixes, and important updates. With this release, we’re pushing Uitsmijter forward with improved performance, better tooling, and compatibility enhancements.

We’ve made a significant step forward on the roadmap, streamlining and enhancing the developer experience with several key updates, new features and some fixes.

This release introduces pure Docker support, ensuring a consistent and reliable deployment environment, along with advanced Kubernetes setups. Uitsmijter supports tenant and client configurations in both installations. Under the documentation for tenants and clients it is described that the main difference for Docker is the use of the config: object and for Kubernetes it is called spec:. We’ve streamlined the process for developers and users to work with Docker environments directly with the codebase and have introduced a separate end-user repository where a docker-compose file is maintained that installs Uitsmijter from the public repository, while the files within the core repository continue to support the developer-centric needs.

The namespace management features in Kubernetes installations have been changed to allow scoped tenants and clients. Scoped resources make it possible to run Uitsmijter in a separate namespace without reading tenants and clients from the entire cluster. It is now possible to run multiple Uitsmijter instances on one Kubernetes cluster.

Developers will also benefit from the new code tooling command, which makes it easier to launch Visual Studio Code in a browser to start programming in just a few minutes. The new remove command has been introduced to quickly clean up resources from the local machine.

Additionally, this update brings important changes to improve performance and compatibility across various components, from more efficient HTTP handling to updated namings. Core frameworks like Vapor and Swift have been upgraded, keeping Uitsmijter compatible with current technologies and best practices.

With a host of improvements, Uitsmijter 0.9.6 is designed to offer a smoother, more efficient, and developer-friendly experience on the way to an official version 1.0 that will be 🥁fully Swift 6 compatible.

Here’s what’s new:  

Feature Additions

  • Namespace Scoped Tenants and Clients in Kubernetes: Uitsmijter now supports local namespace-scoped tenants and clients, making it easier to define boundaries and permissions specific for various projects working on one cluster.
  • New Tooling Commands: Two new commands have been added to streamline workflows:
    • code: Launches Visual Studio Code in a Dockerized environment directly within your browser, allowing seamless code editing without setup. Making it easier for new developers to get started with open source projects.
    • remove: Efficiently cleans up your Docker environment by removing all Docker resources and clearing the build folder.

Support for Docker-Mode installations
Starting with version 0.9.6, Uitsmijter will run seamlessly in a Docker native environment, too, while ensuring the same functionallity consistent with the kubernetes installation. This finally simplifies setups, reduces dependency conflicts and makes Uitsmijter easier to try out or use it for smaller systems.

Key Changes

  • Scripting Provider’s Fetch Method: The fetch method now leverages AsyncHTTPClient rather than FoundationNetwork’s URLSession, providing a more efficient and reliable way to handle HTTP requests.
  • Redis Database Naming: Redis instances are now clearly identified with uitsmijter-session-master and uitsmijter-session-slave, helping to avoid confusion and enhancing configuration clarity. Attention: By version 1.0, the name will change again to refer to the new terminology “-replica”.
  • End-to-End Testing in --fast Mode: End-to-end tests running in --fast mode will now default to using Chromium, ensuring consistent behavior and results across tests.
  • Images at the default login page: To improve test compatibility, we have removed the “webp” support for the default login page of Uitsmijte End-To-End-Test. The reason for this is the different way browsers lasy load the image format. The only solution we have right now to get a reliable test result in Playwright is to get rid of the webp images.

Improvements

  • Dedicated Build Folder for code Command: The code tooling command now utilizes its own build folder, streamlining the workspace and reducing cross-dependencies.
  • Filtered Testing Capability: The test command now supports an optional filter, allowing you to selectively run tests and focus on specific areas of the codebase.
  • Renaming Littleletetr to Ham: To better align documentation and reduce ambiguity, “Littleletetr” has been renamed to “Ham” across all relevant documentation and testing szenarios.

Fixes

  • Encoding Format Adjustment: The encoding date format has been switched from .iso8601 to .deferredToDate, aligning with updated standards for date handling.
  • Enhanced Error Handling for Non-existent Pages: The error message for missing pages has been updated to NOT_FOUND (replacing the prior ERRORS.NO_TENANT), creating a clearer and more consistent user experience.
  • Log Message Origins: Log entries now display the correct origin, improving traceability and making debugging easier.

Framework and Build Updates

  • Vapor Update: We’ve upgraded to Vapor 4.106.1, ensuring Uitsmijter benefits from the latest framework improvements and optimizations.
  • Buildbox 2.3.0: Our build environment now runs on Buildbox 2.3.0, enhancing build stability and efficiency.
  • Swift 5.9.2 Compatibility: Uitsmijter is now fully compatible with Swift 5.9.2, bringing improved language features and stability.

This release reflects our commitment to providing powerful, reliable, and efficient tools to support the development process. Thank you for being part of the Uitsmijter community! Enjoy version 0.9.6 and happy login!

 Uitsmijter 0.10.0: Foundation for the Future
Making it easier for new developers to get started with open source projects 
     
Uitsmijter
Code copied to clipboard