Skip to content

Commit

Permalink
Merge pull request #522 from bgilbert/release
Browse files Browse the repository at this point in the history
Update for release
  • Loading branch information
bgilbert committed Oct 11, 2023
2 parents 2b9d282 + 7393213 commit 615670d
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/release.md
@@ -1,6 +1,5 @@
# OpenSlide release process

- [ ] Check CI for build and test failures. Check all mosaics.
- [ ] Update `CHANGELOG.md` and `version` and `soversion` in `meson.build`
- [ ] Create and push signed tag
- [ ] Ensure Meson version is at least 0.60
Expand All @@ -9,6 +8,7 @@
- [ ] [Update openslide-winbuild](https://github.com/openslide/openslide-winbuild/issues/new?labels=release&template=release.md)
- [ ] Update website: `_data/releases.yaml`, `_includes/news.md`, `api/`
- [ ] Start a [CI build](https://github.com/openslide/openslide.github.io/actions/workflows/retile.yml) of the demo site
- [ ] Update Ubuntu PPA
- [ ] Send mail to -announce and -users
- [ ] Update Fedora and EPEL packages
- [ ] Update MacPorts package
56 changes: 53 additions & 3 deletions CHANGELOG.md
@@ -1,6 +1,56 @@
# Notable Changes in OpenSlide


## Version 4.0.0, 2023-10-11

### Breaking changes

* Update soname to `libopenslide.so.1`
* Remove all deprecated functions
* Clear `openslide_read_associated_image()` output buffer on error
* Remove undocumented NULL `dest` support in `openslide_read_associated_image()`
* Change GLib log domain to `OpenSlide`
* Convert build system to Meson (thanks, Jan Harkes)

### New features

* New format: DICOM WSI (thanks, John Cupitt and Jim O'Donnell)
* Add APIs to read ICC color profiles (thanks, John)
* Add APIs to configure tile cache size and share caches between slides
* Add properties for associated image metadata
* generic-tiff: Set MPP properties if available
* philips: Set objective power property if available
* Add `slidetool` command-line tool which supports all OpenSlide features
* Combine all command-line tools into the same binary
* Add ICC profile to PNG images written by command-line tools
* Add self-test that doesn't require sample data (run with `meson test`)

### Changes

* Require libtiff ≥ 4, OpenJPEG ≥ 2.1, GLib ≥ 2.56, SQLite ≥ 3.14
* Require libdicom ≥ 1.0, with build-time fallback for now
* Remove support for including `openslide.h` in Visual Studio \< 2013
* Fail `openslide_open()` with a broken pixman 0.38.x
* Avoid extra buffer copy in `openslide_read_region()`
* Replace `goto`-based cleanup with `g_autoptr`
* Stop using deprecated GLib slice allocator
* Use internal wrappers for file I/O
* Documentation improvements

### Bug fixes

* Use UTF-8 filenames on Windows
* Improve `openslide-write-png` performance for very large regions
* Fix assertions on JPEG decode errors when compiled with Clang
* Portability fixes (thanks, Billy Robert O'Neal III and Kleis Auke Wolthuizen)
* aperio: Set objective power property even if floating point
* hamamatsu: Fix `Restart marker not found` on VMS slides with multiple Z-layers
* hamamatsu: Fix integer overflow in VMS parsing (thanks, Adam Goode)
* mirax: Fix `Expected 1 value` error
* philips: Don't cache missing tiles
* sakura: Fix memory leak reading missing tile


## Version 3.4.1, 2015-04-20

* New formats: Philips TIFF, Ventana TIFF
Expand All @@ -13,7 +63,7 @@
* aperio: Detect OpenJPEG chroma subsampling breakage during `open`
* aperio: Fill in missing tiles with downsampled data
* aperio: Report MPP for slides scanned in locales with decimal comma
* hamamatsu: Support NDPI files &gt; 4 GB
* hamamatsu: Support NDPI files \> 4 GB
* hamamatsu: Properly detect NDPI slides produced by NDP.toolkit
* hamamatsu: Support VMS/VMU slides without a `NoLayers` key
* hamamatsu: Report MPP for VMS/VMU
Expand Down Expand Up @@ -74,7 +124,7 @@

## Version 3.3.0, 2012-09-08

* Support Leica SCN format (requires libtiff &ge; 4) (thanks, Agelos Pappas)
* Support Leica SCN format (requires libtiff 4) (thanks, Agelos Pappas)
* Allow opening MIRAX 2.2 slides (though there are seams, bug #92)
* Add standardized microns-per-pixel and objective-power properties
* Add `macro` associated image in Trestle
Expand All @@ -93,7 +143,7 @@

* Support downsampled MIRAX files
* Improve performance on MIRAX slides without tile overlaps
* Fix `openslide_read_region` for large dimensions on layer &gt; 0
* Fix `openslide_read_region` for large dimensions on layer \> 0
(3.2.5 regression)
* Correct subpixel error in MIRAX tile placement
* Fix unlikely use-after-free with Hamamatsu VMU
Expand Down
12 changes: 6 additions & 6 deletions README.md
Expand Up @@ -63,16 +63,16 @@ more details.
To build OpenSlide, you will need:

- Meson
- cairo &ge; 1.2
- cairo 1.2
- GDK-PixBuf
- glib &ge; 2.56
- libdicom &ge; 1.0 (automatically built if missing)
- glib 2.56
- libdicom 1.0 (automatically built if missing)
- libjpeg
- libpng
- libtiff &ge; 4.0
- libtiff 4.0
- libxml2
- OpenJPEG &ge; 2.1
- SQLite &ge; 3.14
- OpenJPEG 2.1
- SQLite 3.14
- zlib

Then:
Expand Down
7 changes: 3 additions & 4 deletions meson.build
@@ -1,6 +1,6 @@
project(
'openslide', 'c',
version : '3.4.1',
version : '4.0.0',
license : 'LGPL-2.1-only',
default_options : [
'buildtype=debugoptimized',
Expand All @@ -10,9 +10,8 @@ project(
# limited by Ubuntu 20.04
meson_version : '>=0.53',
)
# Shared library version. Follow SemVer rules, except that major 0 isn't
# special.
soversion = '0.4.1'
# Shared library version. Follow SemVer rules.
soversion = '1.0.0'

if not meson.is_subproject()
meson.add_dist_script(
Expand Down

0 comments on commit 615670d

Please sign in to comment.