All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add check for nil YAML config path to avoid error loading YAML file if the path is not set.
- Return true for
yaml_config_disabled?
if the configuration file has been set to nil.
- Fixed error raised when showing web UI if a configuration has set the YAML file to
false
.
- Configuration setup set prior to loading the railtie will no longer be overridden by the railtie default setup.
- Ignore base configuration classes that don't have any fields defined in the web UI.
- Allow overriding values on static fields in tests.
- Changed Web UI CSS variable scope to apply to all application elements.
- Added the
UltraSettings::ConfigHelper
module to add convenience methodsconfig
on the class and instance.
- Added logic for parsing arrays from environment variables. Array fields can now be set as comma delimited strings in an environment variable.
- Mixed case boolean values are now handled properly so that "False" is interpreted as
false
and "True" is interpreted astrue
.
- Added option for
UltraSettings.runtime_settings_url
to allow configuring a link for editing runtime settings from the web UI.
- Added option to specify the color scheme for the web UI when mounting the rack app to support dark mode.
- Times stored as strings representing the seconds since the epoch are now correctly parsed as Time objects.
- Breaking Change: Fix conflict with overridding the standard
include?
method on configuration classes. These methods are now defined asUltraSettings.added?
andUltraSettings::Configuration.include_field?
. - Breaking Change: Include namespace in autoloaded configuration names for Rails applications to avoid conflicts on classes in different namespaces.
- Use configuration class in in web UI dropdown menu.
- Added
UltraSettings::ApplicationView
which can be used to embed the web UI application showing the configuration inside your own templates. So now you can more seamlessly integrate the settings UI into your own admin tools.
- Support for deep linking to a specific configuration section in the web UI. This is done by adding a query fragment to the URL matching the configuration name.
- Changed the title on the Web UI to "Application Configuration" to better match the semantics of configuration objects.
- Revamped web UI that can now display setting values.
- Added option to specify fields as a secret in the configuration to prevent exposing sensitive information in the web interface. By default all fields are considered secrets. This can be changed per configuration by setting the
fields_secret_by_default
property tofalse
. - Added
UltraSettings::ConfigurationView
which can be used to embed the HTML table showing the configuration options and values inside other admin views. So now you can more seamlessly integrate the settings view into your own admin tools. - Add
__to_hash__
method toUltraSettings::Configuration
which can to serialize the current configuration values as a hash. This value can be used for comparing configuration between environments.
- Optimize object shapes for the Ruby interpreter by declaring instance variables in constructors.
- Initial release.