# -*- mode: org -*-
* v4.0.0    UNRELEASED

- Dropped support for Emacs 25.

- Use EmacSQL v4.0.0, which automatically picks the best available
  SQLite back-end (likely one of the new back-ends using Emacs 29.1
  new built-in support for SQLite, or a module).

- Removed support for the problematic third-party "libsqlite3"
  back-end.  dbb2d65

- For repositories that can be accessed over https or ssh, prefer the
  https url.  If that has an optional ".git" suffix, then drop it.
  This has the benefit that the same url can be used with Git and in
  browsers, and makes access issues less likely.  0349dfb

- Addressed many false-positives when warning that a package may have
  been mirrored from an insecure source.  474d028 1161cb9

- Use dedicated classes for packages from NonGNU Elpa and Codeberg and
  remove some classed that are no longer used.  541344a e46cf3d 73806fa

- Track NonGNU Elpa recipes and track more information from recipes of
  all ELPAs, essentially recording complete recipes in the database.
  40bb1f5

- Track when an upstream repository has been archived or removed.
  22426b9

- Support adding a package to the database without actually mirroring
  the respective repository in the ~emacsmirror~ organization on Github.
  This become necessary because some authors don't want their code to
  appear on Github.  cfdc4fc

- ~epkg-read-package~ now provides the appropriate default choice in
  ~magit-submodule-list-mode~ and inside diffs in ~magit-status-mode~, and
  falls back to provide a default based on ~default-directory~.  4524f9a
  ce2c7b9 4a24534

- f4dc72d epkg-update not calling epkg-db mutually recursively
- a7bc263 epkg-find-file-read-args: Fix secondary prompt
- a72903c epkg-wiki-package: Fix url-format
- 7f7137e epkg-list-columns: Fix custom type  #45

* v3.3.3    2022-02-16

- Add support for the ~sqlite-builtin~ and ~sqlite-module~ backends.
  See https://github.com/skeeto/emacsql/pull/86.

* v3.3.2    2022-01-01

- Ensure the database is accessible before pulling.

- Add support for using SQLite module via ~emacsql-libsqlite3~.

- Fix listing packages by email.

- Fix URLs of packages from the Emacswiki.

* v3.3.1    2021-06-17

- Adjusted to breaking changes in EIEIO in Emacs 28.

* v3.3.0    2021-05-30

- The database is now being distributed as a text file instead of
  in its binary form.  That results in more useful diffs and most
  importantly it shrinks the size of the repository.  Users have
  to remove the old repository and clone the new one in its place.

- Add, remove and rename several package classes, adding support
  for GNU savannah, nongnu savannah, updated GNU elpa, new nongnu
  elpa and sourcehut.

- No longer depend on ~dash~.

* v3.2.2    2019-12-05

- Fix and properly document ~epkg-list-matching-packages~.

* v3.2.1    2019-05-05

- Fix values of ~url-format~ and ~repopage-format~ slots of
  ~epkg-minority-package~.

* v3.2.0    2019-01-18

- Add the ~epkg-elpa-core-package~ class, making it possible to mirror
  packages that GNU Elpa imports from the ~master~ branch of the Emacs
  repository.

- Rename the ~gelpa-builtin-recipe~ class to ~gelpa-core-recipe~, because
  GNU Elpa itself uses the type ~core~ for such recipes.

- No longer set ~x-strech-cursor~ globally when we only intended to set
  it in an ~epkg-list-mode~ buffer.

* v3.1.2    2018-11-27

- Require ~subr-x~ only at compile-time.

* v3.1.1    2018-10-31

- Use the ~:closql-table~ slot property of ~closql-1.0.0~ instead of
  the ~:closql-columns~ property provided by older releases.

* v3.1.0    2018-07-01

- Added Melpa download counts and Github stars to package objects.
  By default this information is also displayed in package lists
  and descriptions.

- Added new option ~epkg-list-exclude-types~, generalizing and
  replacing option ~epkg-list-packages-omit-shelved~.

- The description created by ~epkg-describe-package~ now warns about
  package that are fetched over an insecure connection or from an
  insecure source.  (This is no guarantee that other packages are
  safe.)

- The command ~epkg-list-matching-packages~ now also matches against
  package names, not only their summary.

- Imported commands from Emir that visit files located inside
  ~epkg-repository~.

- Imported function ~epkg-repository~ and ~with-epkg-repository~
  from Emir.

- Renamed library ~epkg-util.el~ to ~epkg-org.el~.

* v3.0.0    2017-09-19

- Melpa and GNU Elpa recipes are now stored as objects.  These recipes
  can still be accessed as slots of Epkg objects, but they can also be
  accessed using the functions ~melpa-recipes~, ~melpa-get~, ~gelpa-recipes~,
  and ~gelpa-get~.

- Added new library ~epkg-util.el~ containing some utilities that are
  intended for use elsewhere but not by Epkg itself.  Currently this
  is limited to tools useful when generating Org tables.

- The functions ~epkg-type~ and ~epkg-package-types~ were removed.
  Use ~closql--class-abbrevs~ and ~closql--list-subabbrevs~ instead.

* v2.3.0    2017-03-01

- The function ~epkg-provided~ no longer returns bundles libraries,
  unless its new ~include-bundled~ argument is non-nil.

- The function ~epkg-reverse-dependencies~ now sorts not only the
  packages it returns, but also the features belonging to each
  of those package.

- Various documentation updates and improvements.

* v2.2.0    2017-01-31

- The new function ~epkg-provided-by~ returns the package that provides
  a given feature.  It replaces ~epkg--required~, which did the same
  thing, but also guessed the package for certain features (those
  involving autoload, version, and test libraries) in case the Epkg
  database did not contain any information about the feature.  The new
  function doesn't do that because this is no longer necessary now
  that all those features are accounted for in the database.

- ~epkg-required~ is now defined as a generic function.  Previously,
  due to a copy-paste error, ~epkg-provided~ was instead defined as
  such twice.

* v2.1.0    2016-12-31

- Repository moved to https://github.com/emacscollective/epkg.

- A misguided kludge was removed from ~epkg-list-mode-hook~, which
  prevented customizations that were loaded before to ~epkg~ to have
  an effect.

- The manual was updated heavily.

* v2.0.0    2016-11-05

- Store Melpa recipes, GNU Elpa specs and lists of built-in libraries
  which belong to a package in Epkg objects.  The respective object
  slots and database columns and tables are named ~melpa-recipes~,
  ~gelpa-recipes and ~builtin-libraries~.

- Add new package type ~minority~, which is used for packages that are
  mirrored using ~curl~ even though upstream uses some vcs repository.
  This is necessary for unsupported vcs (everything except Git and
  Mercurial) and for extremely messy Git repositories.

- Repository moved to https://gitlab.com/emacscollective/epkg.

- Updated manual and made source compatible with Org v9.0.

- Improved and extended ~make~ targets.

* v1.0.0    2016-04-15

- Reincarnation release.
