Releases: oduwsdl/MemGator
MemGator 1.0-rc9
What's Changed
- Update BibTeX to be colorized by @machawk1 in #132
- Fix crossbuild script to continue after invalid arch. by @machawk1 in #136
- Update archives.json by @notevenaperson in #144
- Add National Library of Israel to archives.json by @machawk1 in #145
- Fix ref in README by @machawk1 in #147
- Handle escaped URI-Rs by @machawk1 in #146
New Contributors
- @notevenaperson made their first contribution in #144
Full Changelog: 1.0-rc8...1.0-rc9
MemGator 1.0-rc8
Notable Changes
A new release was long due, but it is finally here.
API
- A new
/about
endpoint is added to the server to report runtime configurations and state of aggregated upstream archives, also reported at the root of the service if a public folder of static files is not specified - CDXJ metadata lines now use
!
prefix instead of@
- Updated
!context
URI in CDXJ response X-Generator
header is replaced with the standardServer
header- Default user-agent now separates name and version number of MemGator with a
/
instead of a:
, which ia a more common style - Default contact information in the user-agent is changed from
@WebSciDL
tohttps://git.io/MemGator
- Default archives list file URL now uses HTTPS to avoid a round trip
- API endpoints now correctly report base URL behind a reverse proxy
- CLI help now correctly exits with
0
status
Archives
- Archive IDs now use their respective domain names instead of manually chosen short names
- List of archives is now sorted by ID
- Randomly assigned probabilities are removed, which were added to test the top-K functionality
- New archives added: National Records of Scotland, Library and Archives Canada, Australian Web Archive, and BAnQ
- Alexandrina Web Archive is now enabled, which was ignored for a long time due to quality of service issues
- Ignored: PRONI (moved to Archive-IT) and PastPages (DEFUNCT)
- Updated endpoints: Perma.cc and Arquivo.pt
- Update various archive endpoints to use HTTPS (when supported) to minimize redirects
Build
- Preferred Go version is changed to
1.14+
- Local packages are moved from
pkg
tovendor
folder - Utilized new Go Modules feature to simply dependency management, which no longer requires the code to reside in the Go Workspace to work with it
- Refactored
crossbuild.sh
script and updated to exit on failures - Leverages GitHub Workflow Actions to cross-build binaries for various platforms on each push/PR automatically and make these artifacts available
Dockerfile
now utilizes multi-stage builds to create a small image and allows test builds against specified versions of base images using build-args- Final Docker image is now based on
alpine
instead ofscratch
, which makes the image slightly bigger, but enables the ability to execute a Shell to inspect a running container - Leverages
.dockerignore
to minimize the build context size - Docker images now leverage standard
opencontainers
annotation labels gh-pages
branch-based static asset (primarily, the default archives list) serving is retired in favor of usingdocs
folder of themaster
branch to avoid maintaining common files in two branches
Distribution
- Changed Docker image location from
ibnesayeed
tooduwsdl
DockerHub account, which is configured to auto-build - Leverages GitHub Workflow Actions to publish Docker images to GitHub Package Registry as an alternate image registry
- Both the image registries host images with
master
tag on each push to themaster
branch and two tagslatest
and{version}
for each release, ensuring that the defaultlatest
tag always points to the latest released version, not the bleeding edgemaster
branch
Documentation
- Added project citation information with JCDL 2016 poster publication and a link to the paper
- Update README to reflect the recent API changes
- Updated Docker-related section in the README with steps to build images locally from the source, pulling from the two registries, and running containers in one-off and server modes
- Documented automated archival exclusion feature for archives that misbehave at run time
- Updated CLI usage to reflect new changes
- Updated run and build instruction from source (for developers) and cross-platform binary building
Please test it and provide feedback to push it towards the final release.
MemGator 1.0-rc7
MemGator 1.0-rc6
MemGator 1.0-rc5
Notable changes
NOTE: There are some breaking changes in the flags and endpoints. Please refer to the README for updated options.
- TimeNav and Redirect endpoint routing is redefined and both are served under Memento endpoint now. A fallback endpoint is also added for compatibility with Time Travel API.
- A configurable mechanism is implemented for automatic detection and pausing of failing archives.
- Timeout configurations are now working as expected.
- Data for benchmarking is served as SSE, if enabled. This allows service monitoring and visualization.
- An option for user-agent spoofing.
- Profile is now called Benchmark to avoid possible conflicts with the Archive Profiles (corresponding flag is also changed).
- Service flag is now called Proxy as this is useful to customize the URL in TimeMap and TimeGate responses when the service is behind a reverse proxy or load balancer.
- Option to customize the TimeMap and TimeGate URLs separately is removed.
- Static file serving is enabled if a corresponding directory is specified.
- Some fixes for Link parsing and serialization issues.
- Ability to specify a custom root path.
For a complete list of changes, please see the closed issues of the RC5
This is release in anticipation of ArchiveUnleashed hackathon in Washington DC and JCDL 2016. Please test it and provide feedback to push it towards the final release.
MemGator 1.0-rc4
Notable changes
- UTC/GMT fix in Accept-Datetime #52
- Double interpolation fixed #48
- Support for link attributes without name/value pair #49
- MemGator version header on root endpoint as well #57
This is release in anticipation of ArchiveUnleashed Canada hackathon. Please test it and provide feedback to push it towards the final release.
MemGator 1.0-rc3
Notable changes
- Latest static Linux binary is included in the repo to build a Docker Image
- Default archives list location has been changed to GitHub pages hosted JSON
- 200-style TimeGate negotiation is added
- X-Memento-Count is reported even if there are no Mementos.
Please test it and provide feedback to push it towards the final release.
MemGator 1.0-rc2
Notable changes
- A bug fixed to handle missing protocol scheme
- Two separate Dockerfiles for minimal latest release binary and complete edge build
Please test it and provide feedback to push it towards the final release.
MemGator 1.0-rc1
Notable changes
- Endpoint routing logic has been tightened with better status code and messages (#16) .
- The key in the CDXJ output is now in the
YYYYMMDDhhmmss
format instead of RFC3339 format which is still present in the JSON output (#15). - Added an ASCII art for MemGator (#11).
- Improved logging and documentation.
Please test it and provide feedback to push it towards the final release. Check the milestone for all the changes in this release.
MemGator 1.0-beta
First public release of the MemGator. It is in experimental phase and not well tested.
Update: A quick fix added for #3.