Thoughts and whitespace.
- Added new variable
epkg--override-connection-class
. Users should only very seldom have to set this, but it may come in handy when investigating issues. 7f7553f - Updated tooling.
- 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 inmagit-submodule-list-mode
and inside diffs inmagit-status-mode
, and falls back to provide a default based ondefault-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
- Add support for the
sqlite-builtin
andsqlite-module
backends. See magit/emacsql#86.
- 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.
- Adjusted to breaking changes in EIEIO in Emacs 28.
- 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
.
- Fix and properly document
epkg-list-matching-packages
.
- Fix values of
url-format
andrepopage-format
slots ofepkg-minority-package
.
- Add the
epkg-elpa-core-package
class, making it possible to mirror packages that GNU Elpa imports from themaster
branch of the Emacs repository. - Rename the
gelpa-builtin-recipe
class togelpa-core-recipe
, because GNU Elpa itself uses the typecore
for such recipes. - No longer set
x-strech-cursor
globally when we only intended to set it in anepkg-list-mode
buffer.
- Require
subr-x
only at compile-time.
- Use the
:closql-table
slot property ofclosql-1.0.0
instead of the:closql-columns
property provided by older releases.
- 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 optionepkg-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
andwith-epkg-repository
from Emir. - Renamed library
epkg-util.el
toepkg-org.el
.
- 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
, andgelpa-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
andepkg-package-types
were removed. Useclosql--class-abbrevs
andclosql--list-subabbrevs
instead.
- The function
epkg-provided
no longer returns bundles libraries, unless its newinclude-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.
- The new function
epkg-provided-by
returns the package that provides a given feature. It replacesepkg--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.
- 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 toepkg
to have an effect. - The manual was updated heavily.
- 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 usingcurl
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.
- Reincarnation release.