From 32c8fc1b898d5d505a55c1cb1dcdf1cc4822677c Mon Sep 17 00:00:00 2001 From: Yorhel Date: Sun, 11 May 2025 11:03:32 +0200 Subject: [PATCH] Version 1.0 + remove "experimental" notices --- ChangeLog | 19 +++++++++++++++++++ FU.pm | 15 ++++++--------- FU/Benchmarks.pod | 2 +- FU/DebugImpl.pm | 2 +- FU/Log.pm | 7 +------ FU/MultipartFormData.pm | 2 +- FU/Pg.pm | 7 +------ FU/SQL.pm | 7 +------ FU/Util.pm | 7 +------ FU/Validate.pm | 7 +------ FU/XMLWriter.pm | 7 +------ FU/XS.pm | 2 +- README.md | 4 ---- 13 files changed, 35 insertions(+), 53 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3f18b6b..29e387f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +1.0 - 2025-05-11 + - FU::Util: Fix parsing of empty sections in query_decode() + - FU::Util: Fix buffer overflow in json_format() float formatting + - FU::Util: Reject `0x1f` in utf8_decode() + - FU::Pg: Add perl<->text and bin<->text type conversion methods + - FU::Validate: Improved error messages + - FU::MultipartFormData: Various parser fixes + - FU: Include request body in verbose error logs + - FU: Add fu->log_verbose() + - FU: Extend debug_info pages with request body, response body, 'fu' + object dump, expandable query parameters and interpolated SQL queries + - FU: Improve styling of debug_info pages + - FU: Preserve headers on fu->redirect + - FU: Ignore HTTP_CONTENT_LENGTH and HTTP_CONTENT_TYPE FastCGI parameters + - FU: Suppress warning about missing files in FU::monitor_path + - FU: Reject hash character and newlines in request path + - Fix creating read-only undef/true/false in json_parse() and FU::Pg + - Benchmark updates + 0.5 - 2025-04-24 - FU::Util: Set O_CLOEXEC on fds received through `fdpass_recv()` - FU::Util: Fix interpretation of false options in `json_format()` and diff --git a/FU.pm b/FU.pm index 106322e..440a14c 100644 --- a/FU.pm +++ b/FU.pm @@ -1,4 +1,4 @@ -package FU 0.5; +package FU 1.0; use v5.36; use Carp 'confess', 'croak'; use IO::Socket; @@ -978,14 +978,6 @@ __END__ FU - A Lean and Efficient Zero-Dependency Web Framework. -=head1 EXPERIMENTAL - -This module is still in development: it's missing important functionality and -there will likely be a few breaking API changes. This framework currently -powers manned.org as a test. I'll do a stable 1.0 release once FU is used in -production for vndb.org, which will take a few months in the best case -scenario. - =head1 SYNOPSIS use v5.36; @@ -1011,6 +1003,11 @@ scenario. =head1 DESCRIPTION +FU is the backend web framework developed for L and +L, but is also perfectly suitable for other +projects. Besides a web framework, this distrubion also includes a bunch of +handy utility functions and modules. + =head2 Distribution Overview This top-level C module is a web development framework. The C diff --git a/FU/Benchmarks.pod b/FU/Benchmarks.pod index 37415ff..0762c7a 100644 --- a/FU/Benchmarks.pod +++ b/FU/Benchmarks.pod @@ -30,7 +30,7 @@ The following module versions were used: =item L 3.18.0 -=item L 0.5 +=item L 1.0 =item L 1.08 diff --git a/FU/DebugImpl.pm b/FU/DebugImpl.pm index 88e0bb5..ebf8c80 100644 --- a/FU/DebugImpl.pm +++ b/FU/DebugImpl.pm @@ -1,5 +1,5 @@ # Internal module used by FU.pm -package FU::DebugImpl 0.5; +package FU::DebugImpl 1.0; use v5.36; use utf8; use experimental 'for_list'; diff --git a/FU/Log.pm b/FU/Log.pm index e2da4a2..9606326 100644 --- a/FU/Log.pm +++ b/FU/Log.pm @@ -1,4 +1,4 @@ -package FU::Log 0.5; +package FU::Log 1.0; use v5.36; use Exporter 'import'; use POSIX 'strftime'; @@ -65,11 +65,6 @@ __END__ FU::Log - Extremely Basic Process-Wide Logging Infrastructure -=head1 EXPERIMENTAL - -This module is still in development and there will likely be a few breaking API -changes, see the main L module for details. - =head1 SYNOPSIS use FU::Log 'log_write'; diff --git a/FU/MultipartFormData.pm b/FU/MultipartFormData.pm index 7d9d77e..48ebb77 100644 --- a/FU/MultipartFormData.pm +++ b/FU/MultipartFormData.pm @@ -1,4 +1,4 @@ -package FU::MultipartFormData 0.5; +package FU::MultipartFormData 1.0; use v5.36; use Carp 'confess'; use FU::Util 'utf8_decode'; diff --git a/FU/Pg.pm b/FU/Pg.pm index ff88d60..4732daf 100644 --- a/FU/Pg.pm +++ b/FU/Pg.pm @@ -1,4 +1,4 @@ -package FU::Pg 0.5; +package FU::Pg 1.0; use v5.36; use FU::XS; @@ -35,11 +35,6 @@ __END__ FU::Pg - The Ultimate (synchronous) Interface to PostgreSQL -=head1 EXPERIMENTAL - -This module is still in development and there will likely be a few breaking API -changes, see the main L module for details. - =head1 SYNOPSYS use FU::Pg; diff --git a/FU/SQL.pm b/FU/SQL.pm index 2f8566d..db8aff1 100644 --- a/FU/SQL.pm +++ b/FU/SQL.pm @@ -1,4 +1,4 @@ -package FU::SQL 0.5; +package FU::SQL 1.0; use v5.36; use Exporter 'import'; use Carp 'confess'; @@ -103,11 +103,6 @@ __END__ FU::SQL - Small and Safe SQL Query Builder -=head1 EXPERIMENTAL - -This module is still in development and there will likely be a few breaking API -changes, see the main L module for details. - =head1 SYNOPSIS use FU::SQL; diff --git a/FU/Util.pm b/FU/Util.pm index 18db781..922747d 100644 --- a/FU/Util.pm +++ b/FU/Util.pm @@ -1,4 +1,4 @@ -package FU::Util 0.5; +package FU::Util 1.0; use v5.36; use FU::XS; @@ -98,11 +98,6 @@ __END__ FU::Util - Miscellaneous Utility Functions -=head1 EXPERIMENTAL - -This module is still in development and there will likely be a few breaking API -changes, see the main L module for details. - =head1 SYNOPSIS use FU::Util qw/json_format/; diff --git a/FU/Validate.pm b/FU/Validate.pm index 2741ee6..a4544bf 100644 --- a/FU/Validate.pm +++ b/FU/Validate.pm @@ -1,4 +1,4 @@ -package FU::Validate 0.5; +package FU::Validate 1.0; use v5.36; use experimental 'builtin', 'for_list'; @@ -447,11 +447,6 @@ __END__ FU::Validate - Data and form validation and normalization -=head1 EXPERIMENTAL - -This module is still in development and there will likely be a few breaking API -changes, see the main L module for details. - =head1 DESCRIPTION This module provides an easy and simple interface for data validation. It can diff --git a/FU/XMLWriter.pm b/FU/XMLWriter.pm index 1e9bb90..fe755f1 100644 --- a/FU/XMLWriter.pm +++ b/FU/XMLWriter.pm @@ -1,4 +1,4 @@ -package FU::XMLWriter 0.5; +package FU::XMLWriter 1.0; use v5.36; use Carp 'confess'; use Exporter 'import'; @@ -83,11 +83,6 @@ __END__ FU::XMLWriter - Convenient and efficient XML and HTML generator. -=head1 EXPERIMENTAL - -This module is still in development and there will likely be a few breaking API -changes, see the main L module for details. - =head1 SYNOPSIS use FU::XMLWriter ':html5_'; diff --git a/FU/XS.pm b/FU/XS.pm index 52cc757..b583e00 100644 --- a/FU/XS.pm +++ b/FU/XS.pm @@ -1,5 +1,5 @@ # This module is for internal use by other FU modules. -package FU::XS 0.5; +package FU::XS 1.0; use Carp; # may be called by XS. use XSLoader; XSLoader::load('FU'); diff --git a/README.md b/README.md index d29e00c..8f25140 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,6 @@ collection of handy utility modules. *Contributing:* Refer to my [contribution guidelines](https://dev.yorhel.nl/contributing). -## Project Status - -**EXPERIMENTAL**; expect breaking changes. - ## Build & Install ```sh