Releases: uhd-urz/elAPI
Holiday season 2024 release
[2.3.0] - 2024-12-21
This release mainly revamps and completes the bill-teams
plugin that is used for billing eLabFTW usage at the
University of Heidelberg. It also addresses one important issue with third-party
plugins about version Python version mismatch.
Added
- Revamped
bill-teams
plugins withgenerate-table
andregistry
commands - Add
TXT
format support for--format
wherever--format
is supported
Fixed
- Fix response format being incorrectly fallback-ing to
TXT
(GH #143) - Fix plugins using packages that use binary builds failing (GH #145)
Changes
- Improved how internal logic for
--export
acting as a both boolean and a string (e.g., a file path) - A third-party plugin that uses a virtual environment must use the same Python version as elAPI's own (GH #146)
In collaboration with @alexander-haller.
End of summer 2024 release
[2.2.0] - 2024-09-04
This release brings some general bugfixes, improvements, and new library APIs.
Added
- New sub-endpoint
/users/{id}/uploads
(GH #136) - Better support for third-party plugins (GH #136)
- New
plugins
configuration field for plugin-specific settings (GH #136) - Introduce
project_dir
to plugin metadata fileelapi_plugin_metadata.yml
(GH #136, 191a049) - Aggressive logging support for
elapi.loggers.add_message
; addchange_logger_state
that controls logger class
state (4aea161, 5a68585) - New and improved HTTP APIs: shared client support,
SimpleClient
,GlobalSharedSession
(GH #137) - elAPI specific user-agent string
elAPI/<elAPI version> python-httpx/<HTTPX version>
(4bde6cd) - Improved
BaseFormat
withpackage_identifier
attribute; better plugin formatter class support (GH #138) - Add
get_active_host_url_without_api_suffix
that complimentsget_active_host
(6e42a9c) - Add new elAPI logo (4ca1f1f)
Fixed
- Fix configuration not being validated when
developer_mode
is missing (GH #133) - Fix third-party plugins breaking if they used relative imports (GH #134)
Changed
- Disable
--OC/--override-config
support fordevelopment_mode
(GH #136) - All public CLI commands now use
GlobalSharedSession
(GH #137) - Use
uvloop
instead of built-inasyncio
event loop forbill-teams
plugin (8c3750b); adduvloop
as an optional
dependency touhd-urz
- Bump versions of following dependencies and optional dependencies:
rich
to13.8.0
,tenacity
to9.0
,
python-dateutil
to2.9.0.post0
Removed
- Remove
keep_session_argument
parameter from HTTP APIs, which is replaced withshared_client
parameter (GH #137)
In collaboration with @alexander-haller.
Mid-summer 2024 release
[2.1.0] - 2024-07-29
This release brings some general bugfix and improvements.
Added
Fixed
- Fix optional validation causing
TypeError
for when elAPI is used inside a script (GH #126) - Fix long JSON text not being shown (GH #128)
- Fix highlighted output breaking
jq
(GH #127) - Fix minor bugs (GH #125)
Changed
- Use
__aclose__
and__acall__
for async HTTP APIs via abstract classAPIRequest
instead of__call__
and__close__
(9c640c3) - Always validate configuration, and validate only once (GH #129, 42e0b49)
Removed
- Remove CLI
--format
type optiontext
(c5736ed)
In collaboration with @alexander-haller.
Hot-patch release
[2.0.2] - 2024-07-04
Hot-fix for README.md
.
Fixed
[2.0.1] - 2024-07-04
Mainly a few hotfixes found during FDM Münster workshop.
Added
INFO
message for when a plugin metadata file ending in.yaml
extension is found (#120)
Fixed
- Fix elAPI plugin metadata file related issues (#118, #119)
- Fix
README.md
PyPI version badge not displaying new version
In collaboration with @alexander-haller.
FDM Münster release
[2.0.0] - 2024-07-03
The first-iteration of our long-awaited 2.0. As always, in collaboration with @alexander-haller ❤️.
Added
- File path support for
--OC
,--data
,--headers
,--query
,--file
(#112) - Third-party plugin support (#111)
- Third-party plugin support with virtual environments (#114)
Fixed
Changed
- Default
timeout
is increased to90
s (52)
Development release: Hot-patch release
[1.0.7.dev8] - 2024-06-26
Part of an important change (making bill-teams
plugin
optional !53) unfortunately did not
work as expected. We release a quick fix in this development version.
Development release: 3rd-party plugin-ready release
[1.0.7.dev5] - 2024-06-25
The fourth development release was not the penultimate one before the final release. We now release the fifth
development version. This release brings lots of bug fixes, improvements, new features and architectural changes
necessary for upcoming 3rd-part plugin support.
Added
- Refactor and restructure design pattern; current design pattern observably follows "simple layered design
pattern" that allows proper 3rd-party plugin
support !55 - New global
option--override-config/--OC
!55 - Add support for new configuration
fields:enable_http2
,verify_ssl
,timeout
#55 - Add startup callback
functioncli_startup
!55- Validate configuration during startup
- Add
typer.Typer
overloaded
classelapi.plugins.commons.Typer
!55 - Add singleton class
MinimalActiveConfiguration
inelapi.configuration
that can always be used to get overloaded
configuration values !55 - Make all HTTP client APIs
configurable !55 - Add
generate-table
sub-command forbill-teams
plugin
Fixed
- Fix too many
INFO
messages #42 - Fix logger throwing an exception #45
- Fix configuration not being validated #30
- Fix "current" as valid endpoint ID #49
- Fix JSON input parser issue #48
Changed
- Move raw command panel to
RAW API commands
panel - Make
bill-teams
plugin optional. This plugin can only be installed
withpipx install elapi[uhd-urz]
!53 - Move
api.py
,endpoint.py
to its own package directoryapi/
- Relocate validator classes; add
validators.py
that aggregates all necessary validators to retain backward
compatibility - Increased default timeout to 30
seconds !59 - Remove default keyword arguments (
timeout
) from HTTP clients
Development release: Hot-patch release
[1.0.7.dev4] - 2024-06-06
Fourth development release before the next stable version. This is mainly a hot-patch release. Big thanks to
@alexanderhaller for discovering the critical bug in due time (not the first time of course).
Fixed
Development release: HeFDI Workshop release
[1.0.7.dev3] - 2024-06-04
Third development release before the next stable version. This release adds a number of improvements and bug fixes.
Added
- New
--overwrite
argument
for--export/-E
(!42) - Add
ValidationError
subclassPathValidationError
for path related validation errors only - Add
verbose
optional parameter toProperPath
class'screate
method for less noisy log messages (!44)
Fixed
- Fix
experiments
plugin not recognizing uppercase experiment--format/-F
name (#33)
Changed
- Version numbers will follow the following format:
Major.Minor.Patch.dev<Integer>
. Previously, we were
using-dev<Integer>
instead of.dev<Integer>
..dev<Integer>
is consistent with the versioning format
normalized by pip (pip show elapi
). - elAPI only shows
An attempt to create directory <path> will be made
warning when<path>
is a directory.
Development release: New bill-teams plugin
[1.0.7-dev2] - 2024-04-15
Second development release before the next stable version. This release adds a number of improvements and bug fixes.
Mostly, this release introduces the new bill-teams
plugin.