Releases: YGGverse/gemini-php
1.0.1
1.0.0
Initial stable release
For optimization reasons, some experimental features like Dokuwiki
and GTK3/Pango
was dropped from 1.0.0
release, but available in previous versions. Gemtext
component re-implemented as separated library (see Extras)
Full Changelog: 0.10.1...1.0.0
0.10.1
Fixed
- Binary body detection in
Client\Response::__construct
9368310 - Exception namespace in
Client\Request::__construct
5b6e645
Added
- Missed exception message in
Client\Request::__construct
0d5db68 - Gemtext deprecation notice, use new library gemtext-php instead!
Full Changelog: 0.10.0...0.10.1
0.10.0
API changes
- Pango class now related to GTK version namespace
- Escape all URL entities
- Decode URL in alt
- Append title attribute on address does not match alt value
- Add title attribute to the links tag
Full Changelog: 0.9.0...0.10.0
0.9.0
New class
- Pango - Conversion features for GTK/Pango format
New methods
Full Changelog: 0.8.0...0.9.0
0.8.0
New methods
API update
Body
methods now receive and return line number match condition in the linked argument
Full Changelog: 0.7.0...0.8.0
0.7.0
Client::Request
method now supports resolved host as optional argument!
This feature useful to
- reduce traffic usage
- increase page loading time by DNS results cache in memory
- alternative networks resolvers, isolated of system
Update dedicated to the Yo! crawler project
Example
$request = new \Yggverse\Gemini\Client\Request(
'gemini://yggverse.cities.yesterweb.org:1965/index.gmi' // target URL
'68.133.1.71' // resolved IP, skip to use system-wide resolver
);
Alternatively, use setResolvedHost
method of Request
object before getResponse
$request->setResolvedHost(
'68.133.1.71'
)
Links
Full Changelog: 0.6.0...0.7.0
0.6.0
Add stream context options support to Request
instance
Example
$request = new \Yggverse\Gemini\Client\Request(
'gemini://yggverse.cities.yesterweb.org',
'68.133.1.71' // make direct request to the resolved host
);
$request->setOptions(
[
'ssl' =>
[
'peer_name' => 'yggverse.cities.yesterweb.org', // SNI
'verify_peer' => false,
'verify_peer_name' => false
]
]
);
Links
Full Changelog: 0.5.0...0.6.0
0.5.0
Implemented Body::skipTags
filter
Example
$request = new \Yggverse\Gemini\Client\Request(
'gemini://yggverse.cities.yesterweb.org'
);
$response = new \Yggverse\Gemini\Client\Response(
$request->getResponse()
);
$body = new \Yggverse\Gemini\Gemtext\Body(
$response->getBody()
);
var_dump(
$body->skipTags() // strip all tags
);
var_dump(
$body->skipTags(
[ // strip 1- and 2- level headers only
"##",
"###"
]
)
);
Full Changelog: 0.4.1...0.5.0
0.4.1
Correction release
- allow nullable
length
attribute - remove
chunk
settings - remove custom length value
- allow nullable response init
- fix macros name
Full Changelog: 0.4.0...0.4.1