Changelog
=========

2025-06-29 version 1.4.2:
-------------------------

  **Miscellaneous**:

  - Fix compatibility with PostgreSQL 18 (Georgy Shelkovy)
  - Comment and adjust index size estimation (Stefan Halfpap)
  - Documentation proofreading (Matthew D'Angelo)

2024-04-28 version 1.4.1:
-------------------------

  **Bug fixes**:

  - Fix hypothetical index names when its Oid is more than 1 billion (Julien
    Rouhaud, thanks to github user sylph520 for the report)
  - Fix hypothetical index deparsing when attributes need quoting (Julien
    Rouhaud, thanks to Daniel Lang for the report)

  **Miscellaneous**:

  - Add support for PostgreSQL 17 (Georgy Shelkovy, Julien Rouhaud)

2023-05-27 version 1.4.0:
-------------------------

  **New features**:

  - Support hypothetically hiding existing indexes, hypothetical or not (github
    user nutvii and Julien Rouhaud)

  **Miscellaneous**:

  - Have hypopg_relation_size() error out rather than returning 0 if called for
    an oid that isn't a hypothetical index oid
  - Slighthly reduce memory usage for hypothetical btree indexes without
    INCLUDE keys

2021-06-21 version 1.3.1:
-------------------------

  **Miscellaneous**:

  - Fix compatibility with PostgreSQL 14 beta 2

2021-06-04 version 1.3.0:
-------------------------

  **New features**:

  - Add support for hypothetical hash indexes (pg10+)

2021-02-26 version 1.2.0:
-------------------------

  **New features**:

  - Make hypopg work on standby servers using a new "fake" oid generator, that
    borrows Oids in the FirstBootstrapObjectId / FirstNormalObjectId range
    rather than real oids.  If necessary, the old behavior can still be used
    with the new hypopg.use_real_oids configuration option.

  **Bug fixes**

  - Check if access methods support an INCLUDE clause to avoid creating invalid
    hypothetical indexes.
  - Display hypothetical indexes on dropped table in hypopg_list_indexes.

  **Miscellaneous**

  - Change hypopg_list_indexes() to view hypopg_list_indexes.
  - Various documentation improvements.

2020-06-24 version 1.1.4:
-------------------------

  **New features**:

    - Add support for hypothetical index on partitioned tables

  **Miscellaneous**

  - Fix compatibility with PostgreSQL 13

  **Bug fixes**

  - Check that the target relation is a table or a materialized view

2019-06-16 version 1.1.3:
-------------------------

  **Miscellaneous**

  - Fix compatibility with PostgreSQL 12
  - Don't leak client_encoding change after hypopg extension is created
    (Michael Kröll)
  - Use a dedicated MemoryContext to store hypothetical objects
  - Fix compatibility on Windows (Godwottery)

  **Bug fixes**

  - Call previous explain_get_index_name_hook if it was setup
  - add hypopg_reset_index() SQL function

2018-05-30 version 1.1.2:
-------------------------

  **New features**

    - Add support for INCLUDE on hypothetical indexes (pg11+)
    - Add support for parallel hypothetical index scan (pg11+)

  **Bug fixes:**

    - Fix support for pg11, thanks to Christoph Berg for the report

2018-03-20 version 1.1.1:
-------------------------

  **Bug fixes**:

    - Fix potentially uninitialized variables, thanks to Jeremy Finzel for the
      report.
    - Support hypothetical indexes on materialized view, thanks to Andrew Kane
      for the report.

  **Miscellaneous**:

    - add support for PostgreSQL 11

2017-10-04 version 1.1.0:
-------------------------

  **New features**:

    - add support for hypothetical indexes on expression
    - add a hypopg_get_indexdef() function to get definition of a stored
      hypothetical index

  **Bug fixes**:

    - don't allow hypothetical unique or multi-column index if the AM doesn't
      support it
    - disallow hypothetical indexes on system columns (except OID)
    - fix indexes using DESC clause and default NULLS ordering, thanks to
      Andrew Kane for the report and test case.
    - fix PostgreSQL 9.6+ support, thanks to Rob Stolarz for the report

  **Miscellaneous**:

    - add support for PostgreSQL 10

2016-10-24 version 1.0.0:
-------------------------

  - fix memory leak in hypopg() function

2016-07-07 version 0.0.5:
-------------------------

  - add support for PostgreSQL 9.6, thanks to Konstantin Mosolov for fixing some
    issues
  - add support from new bloom access method (9.6+)
  - fix issue with hypothetical indexes on expression (thanks to Konstantin
    Mosolov)
  - fix possible crash in hypothetical index size estimation

2015-11-06 version 0.0.4:
-------------------------

  - remove the simplified "hypopg_add_index()" function
  - free memory when hypothetical index creation fails
  - check that number of column is suitable for a real index
  - for btree indexes, check that the estimated average row size is small
    enough to allow a real index creation.
  - handle BRIN indexes.
  - handle index storage parameters for supported index methods.
  - handle index on predicate.
  - safer handling of locks.

2015-08-08 version 0.0.3:
-------------------------

  - fix a bug when a regular query could fail after a hypothetical index have
  been created, and tested with explain.
  - hypopg_create_index() and hypopg_add_index() now returns the oid and index
  names.
  - add hypopg.enabled GUC. It allows disabling HypoPG globally or in a single
  backend. Thanks to Ronan Dunklau for the patch.

2015-07-08 version 0.0.2:
-------------------------

  - fix crash when building hypothetical index on expression, thanks to Thom
  Brown for the report.

2015-06-24 version 0.0.1:
-------------------------

  - First version of HypoPG.
