martin-georgiev/postgresql-for-doctrine
Extends Doctrine with native PostgreSQL support for arrays, JSONB, ranges, PostGIS geometries, text search, ltree, uuid, and 100+ PostgreSQL-specific functions.
v4.7.0
6.1M downloads/mo
#2016 most downloaded on Packagist
martin-georgiev/postgresql-for-doctrine
What this package is like to depend on
Last release 1 months ago
01 Jul 2026
Ships fairly regularly
a new release about every 2 weeks
Some releases are documented
notes for 30 of 77 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
77 releases · first in 2015
15 releases in the last 12 months
see the full history below
Release timeline
77 releases · Jul 2015 to Jul 2026Releases
latest 60 of 77-
v4.7.001 Jul 2026Release notes
Open source → -
v4.6.029 May 2026Release notes
Open source →4.6.0 (2026-05-29)
Features
- #46: Add support for user-defined
enumDBAL type (#633) (5869318) - Add DQL support for hstore functions (#647) (1eb895b)
- Add DQL support for XML functions (#645) (769329d)
- Add support for
byteaDBAL type and its array variation (#630) (bc4324e) - Add support for
citextDBAL type and its array variation (#640) (bba3af3) - Add support for
hstoreDBAL type and its array variation (#632) (b6f7c12) - Add support for
timetzDBAL type and its array variation (#635) (d80419a) - Add support for multirange array DBAL types (#634) (131a64b)
- Add support for range array DBAL types (#638) (64027d6)
- Expand DQL support for date/time utility functions (#648) (faf1d87)
- Expand DQL support for mathematical functions with more logical and statistical aggregates (#652) (2524f96)
- Expand DQL support for string manipulation and utility functions (#651) (5e6b7c5)
Release notes
Open source →Features
- #46: Add support for user-defined
enumDBAL type (#633) (5869318) - Add DQL support for hstore functions (#647) (1eb895b)
- Add DQL support for XML functions (#645) (769329d)
- Add support for
byteaDBAL type and its array variation (#630) (bc4324e) - Add support for
citextDBAL type and its array variation (#640) (bba3af3) - Add support for
hstoreDBAL type and its array variation (#632) (b6f7c12) - Add support for
timetzDBAL type and its array variation (#635) (d80419a) - Add support for multirange array DBAL types (#634) (131a64b)
- Add support for range array DBAL types (#638) (64027d6)
- Expand DQL support for date/time utility functions (#648) (faf1d87)
- Expand DQL support for mathematical functions with more logical and statistical aggregates (#652) (2524f96)
- Expand DQL support for string manipulation and utility functions (#651) (5e6b7c5)
- #46: Add support for user-defined
-
v4.5.119 Apr 2026Release notes
Open source → -
v4.5.005 Apr 2026Release notes
Open source →4.5.0 (2026-04-05)
Features
- Add support for
bitandbit varyingDBAL types and their array variations (#608) (9f8fed1) - Add support for geometric DBAL types (
box,circle,line,lseg,path,polygon) and their array variations (#601) (5e29747) - Add support for hyperbolic, number theory, statistical and trigonometric DQL functions (#611) (9a191d0)
Release notes
Open source →Features
- Add support for
bitandbit varyingDBAL types and their array variations (#608) (9f8fed1) - Add support for geometric DBAL types (
box,circle,line,lseg,path,polygon) and their array variations (#601) (5e29747) - Add support for hyperbolic, number theory, statistical and trigonometric DQL functions (#611) (9a191d0)
- Add support for
-
v4.4.021 Mar 2026Release notes
Open source →4.4.0 (2026-03-21)
Features
- #590: Add support for
GENERATE_SERIESthrough the introduction ofGENERATE_NUMERIC_SERIESandGENERATE_TIME_SERIES(#592) (c1b8b44) - Add support for
AT TIME ZONEoperator as a DQL function (enabling timezone conversion of timestamp values) (#567) (3ab1d69) - Add support for
date[],timestamp[], andtimestamptz[]DBAL types (#597) (989771e) - Add support for
interval[]DBAL type (#591) (7fc59d0) - Add support for
intervalDBAL type (#582) (fa71e78) - Add support for
ltree[]DBAL type (#595) (29c28ef) - Add support for
money[]DBAL type (#588) (84e5163) - Add support for
moneyDBAL type (#577) (95b27a5) - Add support for
range_aggandrange_intersect_agg(#573) (c0ca299) - Add support for
tsquery[]DBAL type (#586) (f25d137) - Add support for
tsvector[]DBAL type (#587) (9d45e7d) - Add support for
xml[]DBAL type (#589) (84bfe50) - Add support for
xmlDBAL type (#578) (5c9590c) - Add support for network address DQL functions (#574) (46a622f)
- Add support for pg_trgm operators (similarity threshold and distance) (#572) (103a574)
- Add support for pg_trgm's extension functions (
SIMILARITY,STRICT_WORD_SIMILARITYzandWORD_SIMILARITY) (#571) (9715b70) - Add support for pgvector's extension
HALFVECandSPARSEVECtypes (#584) (c7d83ae) - Add support for pgvector's extension
VECTORtype and distance functions (COSINE_DISTANCE,INNER_PRODUCT,L2_DISTANCE) (#570) (43acc91) - аdd support for
datemultirange,tsmultirange, andtstzmultirangeDBAL types (#575) (fac1ff6)
Bug Fixes
Release notes
Open source →Features
- #590: Add support for
GENERATE_SERIESthrough the introduction ofGENERATE_NUMERIC_SERIESandGENERATE_TIME_SERIES(#592) (c1b8b44) - Add support for
AT TIME ZONEoperator as a DQL function (enabling timezone conversion of timestamp values) (#567) (3ab1d69) - Add support for
date[],timestamp[], andtimestamptz[]DBAL types (#597) (989771e) - Add support for
interval[]DBAL type (#591) (7fc59d0) - Add support for
intervalDBAL type (#582) (fa71e78) - Add support for
ltree[]DBAL type (#595) (29c28ef) - Add support for
money[]DBAL type (#588) (84e5163) - Add support for
moneyDBAL type (#577) (95b27a5) - Add support for
range_aggandrange_intersect_agg(#573) (c0ca299) - Add support for
tsquery[]DBAL type (#586) (f25d137) - Add support for
tsvector[]DBAL type (#587) (9d45e7d) - Add support for
xml[]DBAL type (#589) (84bfe50) - Add support for
xmlDBAL type (#578) (5c9590c) - Add support for network address DQL functions (#574) (46a622f)
- Add support for pg_trgm operators (similarity threshold and distance) (#572) (103a574)
- Add support for pg_trgm's extension functions (
SIMILARITY,STRICT_WORD_SIMILARITYzandWORD_SIMILARITY) (#571) (9715b70) - Add support for pgvector's extension
HALFVECandSPARSEVECtypes (#584) (c7d83ae) - Add support for pgvector's extension
VECTORtype and distance functions (COSINE_DISTANCE,INNER_PRODUCT,L2_DISTANCE) (#570) (43acc91) - аdd support for
datemultirange,tsmultirange, andtstzmultirangeDBAL types (#575) (fac1ff6)
Bug Fixes
- #590: Add support for
-
v4.3.001 Mar 2026Release notes
Open source →4.3.0 (2026-03-01)
Features
- #544: Add support for optional arguments to PostGIS functions (
ST_Buffer,ST_Translate,ST_Scale,ST_Rotate,ST_Subdivide,ST_CurveToLine,ST_Distance,ST_Length,ST_Area,ST_HausdorffDistance,ST_FrechetDistance,ST_Transform) (#549) (c1a6062) - Add support for
int4multirange,int8multirangeandnummultirangedata types (#555) (8773862) - Add support for
macaddr8andmacaddr8[]data types (#554) (af6678e) - Add support for
tsvectorandtsquerydata types (#553) (d45bbd8) - Extend support for PostgreSQL full-text search functions (#558) (d68a334)
Release notes
Open source →Features
- #544: Add support for optional arguments to PostGIS functions (
ST_Buffer,ST_Translate,ST_Scale,ST_Rotate,ST_Subdivide,ST_CurveToLine,ST_Distance,ST_Length,ST_Area,ST_HausdorffDistance,ST_FrechetDistance,ST_Transform) (#549) (c1a6062) - Add support for
int4multirange,int8multirangeandnummultirangedata types (#555) (8773862) - Add support for
macaddr8andmacaddr8[]data types (#554) (af6678e) - Add support for
tsvectorandtsquerydata types (#553) (d45bbd8) - Extend support for PostgreSQL full-text search functions (#558) (d68a334)
- #544: Add support for optional arguments to PostGIS functions (
-
v4.2.011 Feb 2026Release notes
Open source →4.2.0 (2026-02-11)
Features
- #538: Add support for accessing field from a composite type (#542) (34bf515)
- #538: Add support for the functions provided by
fuzzystrmatchextension (#540) (c8073c6) - Add support for
ST_GeomFromGeoJSONandST_AsGeoJSON(#545) (e7f4df1) - Support binding input arguments to several PostGIS functions (#543) (161f74b)
Release notes
Open source →Features
- #538: Add support for accessing field from a composite type (#542) (34bf515)
- #538: Add support for the functions provided by
fuzzystrmatchextension (#540) (c8073c6) - Add support for
ST_GeomFromGeoJSONandST_AsGeoJSON(#545) (e7f4df1) - Support binding input arguments to several PostGIS functions (#543) (161f74b)
-
v4.1.003 Feb 2026Release notes
Open source →4.1.0 (2026-02-03)
Features
- #522: Support bounded infinity values in range types (#523) (6e568d1)
- Add support for
AGE,DATE_PART,MAKE_DATE,MAKE_TIMESTAMP,MAKE_TIMESTAMPTZ,MAKE_TIME(#528) (5e6956a) - Add support for
ARRAY_FILL,ARRAY_LOWER,ARRAY_SAMPLE,ARRAY_UPPER,JSONB_BUILD_ARRAY,JSON_BUILD_ARRAY(#530) (a2091e8) - Add support for
CONCAT_WS,FORMAT,LEFT,REPEAT,REVERSE,RIGHT(#533) (83678f5) - Add support for
JSONB_EXTRACT_PATH,JSON_EXTRACT_PATH,JSONB_EXTRACT_PATH_TEXT,JSON_EXTRACT_PATH_TEXT,JSONB_TO_TSVECTOR,JSONB_TYPEOF(#535) (578e528)
Release notes
Open source →Features
- #522: Support bounded infinity values in range types (#523) (6e568d1)
- Add support for
AGE,DATE_PART,MAKE_DATE,MAKE_TIMESTAMP,MAKE_TIMESTAMPTZ,MAKE_TIME(#528) (5e6956a) - Add support for
ARRAY_FILL,ARRAY_LOWER,ARRAY_SAMPLE,ARRAY_UPPER,JSONB_BUILD_ARRAY,JSON_BUILD_ARRAY(#530) (a2091e8) - Add support for
CONCAT_WS,FORMAT,LEFT,REPEAT,REVERSE,RIGHT(#533) (83678f5) - Add support for
JSONB_EXTRACT_PATH,JSON_EXTRACT_PATH,JSONB_EXTRACT_PATH_TEXT,JSON_EXTRACT_PATH_TEXT,JSONB_TO_TSVECTOR,JSONB_TYPEOF(#535) (578e528)
-
v4.0.030 Dec 2025Release notes
Open source →4.0.0 (2025-12-30)
⚠ BREAKING CHANGES
- modernize with PHP 8.2 features (like read-only classes) (#503)
- drop support for PHP 8.1 (#468)
- remove deprecations scheduled for v4.0 (#469)
Features
- #510: Add support for
UUID[]data type (#511) (1c9cafb) - Add support for hashing and cryptographic functions
MD5,SHA224,SHA256,SHA384,SHA512(#507) (3e42396) - Add support for PostGIS functions
ST_ConcaveHull,ST_CurveN,ST_Letters,ST_NumCurves,ST_RemoveIrrelevantPointsForView,ST_RemoveSmallParts,ST_SimplifyPolygonHull,ST_TriangulatePolygon(#505) (2992811) - Add support for PostGIS functions
ST_HasZ,ST_HasM,ST_CoverageUnion,ST_LineExtend(#504) (826ffef) - Add the missing support for
nullvalues in the network array data types (#517) (7fb6dc7) - Drop support for PHP 8.1 (#468) (94f2ed8)
- Modernize with PHP 8.2 features (like read-only classes) (#503) (20b29b1)
- Remove deprecations scheduled for v4.0 (#469) (73585aa)
Release notes
Open source →⚠ BREAKING CHANGES
- modernize with PHP 8.2 features (like read-only classes) (#503)
- drop support for PHP 8.1 (#468)
- remove deprecations scheduled for v4.0 (#469)
Features
- #510: Add support for
UUID[]data type (#511) (1c9cafb) - Add support for hashing and cryptographic functions
MD5,SHA224,SHA256,SHA384,SHA512(#507) (3e42396) - Add support for PostGIS functions
ST_ConcaveHull,ST_CurveN,ST_Letters,ST_NumCurves,ST_RemoveIrrelevantPointsForView,ST_RemoveSmallParts,ST_SimplifyPolygonHull,ST_TriangulatePolygon(#505) (2992811) - Add support for PostGIS functions
ST_HasZ,ST_HasM,ST_CoverageUnion,ST_LineExtend(#504) (826ffef) - Add the missing support for
nullvalues in the network array data types (#517) (7fb6dc7) - Drop support for PHP 8.1 (#468) (94f2ed8)
- Modernize with PHP 8.2 features (like read-only classes) (#503) (20b29b1)
- Remove deprecations scheduled for v4.0 (#469) (73585aa)
-
v3.7.013 Dec 2025 -
v3.6.225 Nov 2025 -
v3.6.109 Nov 2025 -
v3.6.023 Oct 2025Release notes
Open source →Features
- #456: Add convenience factory methods to
WktSpatialData(#459) (7242665) - #458: Ensure Doctrine returns PostgreSQL spatial data in text format (EWKT) instead of binary format (EWKB) (#462) (8ac7a70)
- Add support for
uuid_extract_timestampanduuid_extract_version(#466) (77a513f) - Add support for some new functions from PostgreSQL 18 (#464) (118bfa3)
- #456: Add convenience factory methods to
-
v3.5.112 Sep 2025 -
v3.5.006 Sep 2025Release notes
Open source →Features
- #305, #432: Add support for PostGIS functions for topological and distance relationships (#434) (2922b63)
- #305: Add support for PostGIS measurement, overlay and geometry processing functions (#435) (9724452)
- #305: Add support for PostGIS operators (#430) (5b5583b)
- #305: Add support for PostGIS's types of
GEOGRAPHY,GEOMETRYand their array variations (#421) (d97caae) - #410: add support for
LTREEtype (#411) (5a6563d) - #440: Add support for functions to use with the
LTREEdata type (#440) (745b269) - Add support for
websearch_to_tsquery(#437) (be90545)
Bug Fixes
- #424: Address unintentional loss of string data type when retrieving PHP array item values from a stored
TextArrayvalue (#443) (bdb8df2) - Address broken escaping of array items for
JsonbArrayand preserve integer values as strings if they are outside PHP integer range (#442) (d213967)
Code Refactoring
-
v3.4.103 Aug 2025 -
v3.4.001 Aug 2025Release notes
Open source → -
v3.3.029 Jul 2025 -
v3.2.215 Jun 2025 -
v3.2.124 May 2025 -
v3.2.023 May 2025 -
v3.1.003 May 2025Release notes
Open source →Features
- Add support for
ARRAY_POSITION()andARRAY_POSITIONS()(#366) (a1dc059) - Add support for
DATE_ADD(),DATE_SUBTRACT()andDATE_BIN()(#345) (c3cb08d) - Add support for
JSONB_PATH_EXISTS(),JSONB_PATH_MATCH(),JSONB_PATH_QUERY(),JSONB_PATH_QUERY_ARRAY()andJSONB_PATH_QUERY_FIRST()(#346) (0cda902) - Add support for
POINTandPOINT[]data types (#348) (18ec906) - Add support for
REGEXP_COUNT(),REGEXP_INSTR()andREGEXP_SUBSTR()and extend support forREGEXP_REPLACE()(#352) (9959476) - Add support for distance operator
<@>(#361) (8dbbf8c) - Extend existing function support with optional boolean parameters (#347) (67265cc)
- Extend support of
REGEXP_LIKE(),REGEXP_MATCH()andREGEXP_REPLACE()while deprecating the legacy limited flagged variations ofFlaggedRegexpLike,FlaggedRegexpMatchandFlaggedRegexpReplace(#357) (ef688dc)
Code Refactoring
- Allow multiple node mapping patterns to be used and their arguments to be validated in variadic functions (#350) (e111dd2)
- Allow node mapping in variadic functions to have different patterns, thus opening the path to a combination of node types (compared to the previous single type support) (#349) (6a5ba9e)
- Stricter method argument types when handling variadic functions (#343) (553a30c)
- Add support for
-
v3.0.211 Apr 2025 -
v3.0.106 Apr 2025Release notes
Open source → -
v3.0.030 Mar 2025Release notes
Open source →⚠️🚨 BREAKING CHANGES
For detailed upgrade guide read here: UPGRADE.md
1. Type Preservation for PostgreSQL numerical and text arrays
The library now attempts to strictly preserve the type of values when converting between PostgreSQL arrays and PHP arrays. This affects all array type handlers including
TextArray, integer arrays, and boolean arrays.What changed: Previously, numeric values could lose their type information during conversion (e.g., floats might become integers, string representations of numbers might become actual numbers). With version 3.0.0, the original data types are preserved in both directions. The change comes from PR #304.
Examples:
- Integer values like
1remain integers - Float values like
1.5remain floats - String representations like
'1'remain strings - Boolean values like
true/falseremain booleans - Scientific notation like
'1.23e5'is preserved
2. Refactored Exception Handling for JsonbArray
The exception handling for
JsonbArrayhas been refactored to be more consistent with the network types approach, providing clearer error messages and better diagnostics.What changed: Previously, generic exceptions were thrown when JSON array conversion failed. With version 3.0.0, specific
InvalidJsonbArrayItemForPHPExceptionis used with more descriptive error messages about the exact nature of the failure. The change comes from PR #311.Features
Added new data types
- Add support for array of float types
real[]anddouble precision[](#307) (1db35ac) - Add support for network types
inet,inet[],cidr,cidr[],macaddr,macaddr[](#310) (ba3f9f2)
Added new functions
- Add support for
any_value()(#323) (19ee3db) - Add support for
array_shuffle()(#324) (90a9b9e) - Add support for
xmlagg()(#318) (0b4db8a)
Extended support in some existing functions
- Add support for
NULLvalue inarray_append(),array_replace(),array_prepend(),array_remove()(#322) (396856f) - Add support for
DISTINCTandORDER BYclauses tojson_agg()andjsonb_agg()(#317) (4cdc638) - Add support for
DISTINCTclause toarray_agg()(#316) (3c46021)
Code Refactoring
- Integer values like
-
v2.10.324 Mar 2025Release notes
Open source → -
v2.10.220 Mar 2025 -
v2.10.115 Mar 2025Release notes
Open source → -
v2.10.013 Mar 2025Release notes
Open source →Features
- Add (limited) support for
json_exists,json_query,json_scalar,json_serializeandjson_value(#277) (4a26400) - Add multiple arguments support for
ARRAY(#279) (7f2b05d)
Code Refactoring
- Add (limited) support for
-
v2.9.012 Mar 2025 -
v2.8.019 Dec 2024Nothing published for this version
-
v2.7.010 Oct 2024Nothing published for this version
-
v2.6.017 Aug 2024Nothing published for this version
-
v2.5.017 Apr 2024Nothing published for this version
-
v2.4.107 Mar 2024Nothing published for this version
-
v2.4.025 Feb 2024Nothing published for this version
-
v2.3.229 Jan 2024Nothing published for this version
-
v2.3.126 Jan 2024Nothing published for this version
-
v2.3.015 Jan 2024Nothing published for this version
-
v2.2.011 Jan 2024Nothing published for this version
-
v2.1.229 Aug 2023Nothing published for this version
-
v2.1.128 Aug 2023Nothing published for this version
-
v2.1.029 Jan 2023Nothing published for this version
-
v2.0.129 Dec 2022Nothing published for this version
-
v2.0.026 Dec 2022Nothing published for this version
-
v1.8.021 Aug 2022Nothing published for this version
-
v1.7.010 Feb 2022Nothing published for this version
-
v1.6.016 Nov 2021Nothing published for this version
-
v1.5.314 Nov 2021Nothing published for this version
-
v1.5.224 Jan 2021Nothing published for this version
-
v1.5.104 Dec 2020Nothing published for this version
-
v1.5.007 Jun 2020Nothing published for this version
-
v1.4.122 Apr 2020Nothing published for this version
-
v1.4.013 Apr 2020Nothing published for this version
-
v1.3.009 Mar 2020Nothing published for this version
-
v1.2.223 Nov 2019Nothing published for this version
-
v1.2.104 Aug 2019Nothing published for this version
-
v1.0.101 Feb 2019Nothing published for this version
-
0.8.122 Feb 2016Nothing published for this version
-
0.6.211 Nov 2015Nothing published for this version