From 295c45a1d7ff8858db859d025e6c710b128d1d56 Mon Sep 17 00:00:00 2001 From: JohnnyT Date: Tue, 9 Sep 2025 11:46:50 -0600 Subject: [PATCH] Releases v3.5.0 --- CHANGELOG.md | 19 +++++++++++++++++++ README.md | 2 +- mix.exs | 2 +- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3a0132..ca61ec3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.5.0] - 2025-09-09 + +### Added + +#### Adds milliseconds support to duration system + +- New 'ms' unit support in lexer, parser, and evaluator +- Duration.to_milliseconds/1 function for high-precision calculations +- Pattern matching guards for automatic precision selection +- Smart DateTime arithmetic (millisecond vs second precision) +- Comprehensive test coverage with 89 new tests +- Refactors evaluator to use Duration module functions (DRY) + +#### Examples + +- 500ms ago, 2s750ms from now +- #2024-01-15T10:30:00.000Z# + 1s500ms +- Automatic precision: ms > 0 triggers millisecond precision + ## [3.4.0] - 2025-09-09 ### Added diff --git a/README.md b/README.md index 5396233..30a59a7 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Add `predicator` to your list of dependencies in `mix.exs`: ```elixir def deps do [ - {:predicator, "~> 3.4"} + {:predicator, "~> 3.5"} ] end ``` diff --git a/mix.exs b/mix.exs index 0c14589..c1fd04a 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule Predicator.MixProject do use Mix.Project @app :predicator - @version "3.4.0" + @version "3.5.0" @description "A secure, non-evaling condition (boolean predicate) engine for end users" @source_url "https://github.com/riddler/predicator-ex" @deps [